.
This commit is contained in:
parent
050a41f0b3
commit
fb0e8a2e21
@ -81,13 +81,11 @@ const parseParamsToFindOptions = (params) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Params
|
// Params
|
||||||
|
result.where = {};
|
||||||
if (params.params) {
|
if (params.params) {
|
||||||
result.params = params.params
|
result.where = params.params
|
||||||
}
|
}
|
||||||
|
|
||||||
// Where
|
|
||||||
result.where = [];
|
|
||||||
|
|
||||||
// Paginate
|
// Paginate
|
||||||
if (params.paginate) {
|
if (params.paginate) {
|
||||||
result.offset = params.paginate.limit * (params.paginate.page - 1);
|
result.offset = params.paginate.limit * (params.paginate.page - 1);
|
||||||
@ -133,6 +131,7 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
|
|||||||
|
|
||||||
fetchOne: async (params, context) => {
|
fetchOne: async (params, context) => {
|
||||||
const findOptions = parseParamsToFindOptions(params);
|
const findOptions = parseParamsToFindOptions(params);
|
||||||
|
console.log(findOptions);
|
||||||
return await model.findOne({
|
return await model.findOne({
|
||||||
where: findOptions.where,
|
where: findOptions.where,
|
||||||
include: findOptions.include
|
include: findOptions.include
|
||||||
|
|||||||
@ -53,12 +53,42 @@ routes.get('/events/:id',
|
|||||||
eventController.findOne
|
eventController.findOne
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Comentarios
|
||||||
|
|
||||||
routes.get('/events/:id/comments',
|
routes.get('/events/:id/comments',
|
||||||
//isLoggedUser,
|
//isLoggedUser,
|
||||||
//eventController.findComments
|
//eventController.findComments
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Inscripciones
|
||||||
|
|
||||||
|
routes.get('/events/:id/inscriptions',
|
||||||
|
// Esto da las inscripciones (1) de un usuario pero si el usuario fuera el administrador podría todas las inscripciones de un evento
|
||||||
|
//isLoggedUser,
|
||||||
|
//eventController.findComments
|
||||||
|
);
|
||||||
|
|
||||||
|
routes.post('/events/:id/inscriptions',
|
||||||
|
// Hacer una inscripción
|
||||||
|
//isLoggedUser,
|
||||||
|
//eventController.findComments
|
||||||
|
);
|
||||||
|
|
||||||
|
routes.delete('/events/:id/inscriptions',
|
||||||
|
// Borrar una inscripción (poner el id de la inscripción????)
|
||||||
|
//isLoggedUser,
|
||||||
|
//eventController.findComments
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
routes.get('/events/:id/reservations/:encodedInvitationCode',
|
||||||
|
//isLoggedUser,
|
||||||
|
//eventController.findComments
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find);
|
//routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find);
|
||||||
//routes.get('/venues/:id', isLoggedUser, venueController.findOne);
|
//routes.get('/venues/:id', isLoggedUser, venueController.findOne);
|
||||||
|
|
||||||
|
|||||||
@ -11,9 +11,10 @@ const extraMethods = {
|
|||||||
fetchNext: async (params, context) => {
|
fetchNext: async (params, context) => {
|
||||||
const findOptions = parseParamsToFindOptions(params);
|
const findOptions = parseParamsToFindOptions(params);
|
||||||
|
|
||||||
findOptions.where.push({
|
findOptions.where = Object.assign({},
|
||||||
|
findOptions.where, {
|
||||||
date: {
|
date: {
|
||||||
[Sequelize.Op.gte]: moment().add(1, 'days').startOf('day').utc()
|
[Sequelize.Op.gte]: moment().add(1, 'days').startOf('day').utc()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -30,11 +31,12 @@ const extraMethods = {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Solo eventos publicados
|
findOptions.where = Object.assign({},
|
||||||
findOptions.where.push({
|
findOptions.where, {
|
||||||
state: 'publish'
|
state: 'publish'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
16
modules/speakers/speaker.controller.js
Normal file
16
modules/speakers/speaker.controller.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const generateControllers = require('../../core/controllers');
|
||||||
|
const speakerService = require('./speaker.service');
|
||||||
|
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
||||||
|
|
||||||
|
|
||||||
|
// Module Name
|
||||||
|
const MODULE_NAME = '[speaker.controller]';
|
||||||
|
|
||||||
|
const controllerOptions = { MODULE_NAME };
|
||||||
|
const extraControllers = {
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = generateControllers(speakerService, extraControllers, controllerOptions);
|
||||||
|
|
||||||
80
modules/speakers/speaker.routes.js
Normal file
80
modules/speakers/speaker.routes.js
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
const routes = require('express').Router();
|
||||||
|
|
||||||
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||||
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||||
|
|
||||||
|
const PaginateMiddleware = require('../../middlewares/paginate');
|
||||||
|
const FieldMiddleware = require('../../middlewares/fields');
|
||||||
|
const SortMiddleware = require('../../middlewares/sort');
|
||||||
|
|
||||||
|
//const entityValidation = require('./entity.validations');
|
||||||
|
const speakerController = require('./speaker.controller');
|
||||||
|
|
||||||
|
// Todos los ponentes
|
||||||
|
routes.get('/speakers',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['user', 'createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "name" }),
|
||||||
|
speakerController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
// Ponentes destacados
|
||||||
|
routes.get('/speakers/featured',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['user', 'createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "name" }),
|
||||||
|
speakerController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
// Ponentes más recientes
|
||||||
|
routes.get('/speakers/last',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['user', 'createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "-createdAt" }),
|
||||||
|
speakerController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
// Un ponente
|
||||||
|
routes.get('/speakers/:id',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['createdAt']
|
||||||
|
}),*/
|
||||||
|
speakerController.findOne
|
||||||
|
);
|
||||||
|
|
||||||
|
// Listar las preguntas hechas a un ponente
|
||||||
|
routes.get('/speakers/:id/questions',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "-createdAt" }),
|
||||||
|
speakerController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Dar ponentes similares a uno dado
|
||||||
|
routes.get('/speakers/:id/similar',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "name" }),
|
||||||
|
speakerController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = routes;
|
||||||
12
modules/speakers/speaker.service.js
Normal file
12
modules/speakers/speaker.service.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/* global Venue */
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const _ = require('lodash');
|
||||||
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||||
|
const Sequelize = require('sequelize');
|
||||||
|
const models = require('../../core/models');
|
||||||
|
|
||||||
|
const extraMethods = {
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = generateService(models.Speaker, extraMethods);
|
||||||
26
modules/values/value.controller.js
Normal file
26
modules/values/value.controller.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const generateControllers = require('../../core/controllers');
|
||||||
|
const valueService = require('./value.service');
|
||||||
|
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
||||||
|
|
||||||
|
|
||||||
|
// Module Name
|
||||||
|
const MODULE_NAME = '[value.controller]';
|
||||||
|
|
||||||
|
const controllerOptions = { MODULE_NAME };
|
||||||
|
const extraControllers = {
|
||||||
|
findSpeakers: (req, res, next) => {
|
||||||
|
const params = extractParamsFromRequest(req, res, {});
|
||||||
|
console.log(params);
|
||||||
|
try {
|
||||||
|
const result = ["hola"]; //await valueService.fetchAll(params, { user: req.user });
|
||||||
|
return handleResultResponse(result, result.count, params, res);
|
||||||
|
} catch (error) {
|
||||||
|
handleErrorResponse(MODULE_NAME, 'findNext', error, res);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = generateControllers(valueService, extraControllers, controllerOptions);
|
||||||
|
|
||||||
42
modules/values/value.routes.js
Normal file
42
modules/values/value.routes.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
const routes = require('express').Router();
|
||||||
|
|
||||||
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
||||||
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||||
|
|
||||||
|
const PaginateMiddleware = require('../../middlewares/paginate');
|
||||||
|
const FieldMiddleware = require('../../middlewares/fields');
|
||||||
|
const SortMiddleware = require('../../middlewares/sort');
|
||||||
|
|
||||||
|
//const entityValidation = require('./entity.validations');
|
||||||
|
const valueController = require('./value.controller');
|
||||||
|
|
||||||
|
routes.get('/values',
|
||||||
|
//isLoggedUser,
|
||||||
|
/*FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['user', 'createdAt']
|
||||||
|
}),*/
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "name" }),
|
||||||
|
valueController.find
|
||||||
|
);
|
||||||
|
|
||||||
|
routes.get('/values/:id',
|
||||||
|
//isLoggedUser,
|
||||||
|
FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['createdAt']
|
||||||
|
}),
|
||||||
|
valueController.findOne
|
||||||
|
);
|
||||||
|
|
||||||
|
/*routes.get('/values/:id/speakers',
|
||||||
|
//isLoggedUser,
|
||||||
|
FieldMiddleware.middleware({
|
||||||
|
invalidFields: ['createdAt']
|
||||||
|
}),
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "name" }),
|
||||||
|
valueController.findSpeakers
|
||||||
|
);*/
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = routes;
|
||||||
12
modules/values/value.service.js
Normal file
12
modules/values/value.service.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/* global Venue */
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const _ = require('lodash');
|
||||||
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||||
|
const Sequelize = require('sequelize');
|
||||||
|
const models = require('../../core/models');
|
||||||
|
|
||||||
|
const extraMethods = {
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = generateService(models.Value, extraMethods);
|
||||||
Loading…
Reference in New Issue
Block a user