From 050a41f0b39df52b34b22c354c1acb5e9ddbf04b Mon Sep 17 00:00:00 2001 From: david Date: Tue, 9 Jul 2019 19:39:52 +0200 Subject: [PATCH] . --- helpers/controller.helper.js | 2 +- modules/events/event.controller.js | 1 + modules/events/event.model.js | 3 ++ modules/events/event.routes.js | 23 +++++++--- modules/multimedia/multimedia.controller.js | 14 ++++++ ...ltimedias.model.js => multimedia.model.js} | 3 +- modules/multimedia/multimedia.routes.js | 45 +++++++++++++++++++ modules/multimedia/multimedia.service.js | 10 +++++ 8 files changed, 92 insertions(+), 9 deletions(-) create mode 100644 modules/multimedia/multimedia.controller.js rename modules/multimedia/{multimedias.model.js => multimedia.model.js} (95%) create mode 100644 modules/multimedia/multimedia.routes.js create mode 100644 modules/multimedia/multimedia.service.js diff --git a/helpers/controller.helper.js b/helpers/controller.helper.js index 2cacd4d..1522cec 100644 --- a/helpers/controller.helper.js +++ b/helpers/controller.helper.js @@ -107,7 +107,7 @@ function extractParamsFromRequest(req, res, extraParams = {}) { const result = {}; result.params = (req && req.params) ? req.params : null; - result.query = (req && req.query) ? req.params : null; + result.query = (req && req.query) ? req.query : null; if (res && res.locals) { Object.keys(res.locals).forEach(key => { diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 682a005..821e8cc 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -21,6 +21,7 @@ const extraControllers = { } }, + //findComments: as }; diff --git a/modules/events/event.model.js b/modules/events/event.model.js index 5f33af1..0e8df29 100644 --- a/modules/events/event.model.js +++ b/modules/events/event.model.js @@ -95,6 +95,9 @@ module.exports = function (sequelize, DataTypes) { Event.Venue = Event.belongsTo(models.Venue, { foreignKey: 'venueId' }); Event.Schedule = Event.hasMany(models.EventSchedule, { foreignKey: 'eventId' }); + + + Event.EventReservations = Event.hasMany(models.EventReservation, { foreignKey: 'eventId' }); Event.EventInscriptions = Event.hasMany(models.EventInscription, { foreignKey: 'eventId' }); Event.EventQuestions = Event.hasMany(models.EventQuestion, { foreignKey: 'eventId' }); diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index a464bdd..b16e8d2 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -22,9 +22,9 @@ routes.get('/events', routes.get('/events/next', //isLoggedUser, - FieldMiddleware.middleware({ + /*FieldMiddleware.middleware({ invalidFields: ['user', 'createdAt'] - }), + }), */ PaginateMiddleware.middleware(), SortMiddleware.middleware({ default: "init_avalible_date" }), eventController.findNext @@ -32,23 +32,32 @@ routes.get('/events/next', routes.get('/events/pass', //isLoggedUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "-date" }), eventController.find ); routes.get('/events/current', //isLoggedUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "init_avalible_date" }), eventController.find ); -/*routes.get('/events/:id', - isLoggedUser, +routes.get('/events/:id', + //isLoggedUser, FieldMiddleware.middleware({ - invalidFields: ['updatedAt', 'createdAt'] + invalidFields: ['createdAt'] }), + eventController.findOne +); + +routes.get('/events/:id/comments', + //isLoggedUser, + //eventController.findComments +); - eventController.finOne -);*/ //routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find); //routes.get('/venues/:id', isLoggedUser, venueController.findOne); diff --git a/modules/multimedia/multimedia.controller.js b/modules/multimedia/multimedia.controller.js new file mode 100644 index 0000000..2354049 --- /dev/null +++ b/modules/multimedia/multimedia.controller.js @@ -0,0 +1,14 @@ +'use strict'; + +const generateControllers = require('../../core/controllers'); +const multimediaService = require('./multimedia.service'); + + +// Module Name +const MODULE_NAME = '[multimedia.controller]'; + +const controllerOptions = { MODULE_NAME }; +const extraControllers = {}; + +module.exports = generateControllers(multimediaService, extraControllers, controllerOptions); + diff --git a/modules/multimedia/multimedias.model.js b/modules/multimedia/multimedia.model.js similarity index 95% rename from modules/multimedia/multimedias.model.js rename to modules/multimedia/multimedia.model.js index 729e082..725c5b8 100644 --- a/modules/multimedia/multimedias.model.js +++ b/modules/multimedia/multimedia.model.js @@ -33,6 +33,7 @@ module.exports = function (sequelize, DataTypes) { case 'post': modelName = 'Post'; break; + case 'speaker': modelName = 'Speaker' break; @@ -45,7 +46,7 @@ module.exports = function (sequelize, DataTypes) { break; } - return sequelize.models[modelName].findOne(id); + return sequelize.models[modelName].findByPk(id); } } }, { diff --git a/modules/multimedia/multimedia.routes.js b/modules/multimedia/multimedia.routes.js new file mode 100644 index 0000000..ff4952a --- /dev/null +++ b/modules/multimedia/multimedia.routes.js @@ -0,0 +1,45 @@ +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 VenueValidation = require('./venue.validations'); +const multimediaController = require('./multimedia.controller'); + + +routes.get('/multimedias', + PaginateMiddleware.middleware(), + //SortMiddleware.middleware({ default: "init_avalible_date" }), + multimediaController.find +); + +routes.get('/multimedias/:id', + //PaginateMiddleware.middleware(), + //SortMiddleware.middleware({ default: "init_avalible_date" }), + multimediaController.findOne +); + + +routes.get('/multimedias/:entityId', + //PaginateMiddleware.middleware(), + //SortMiddleware.middleware({ default: "init_avalible_date" }), + multimediaController.find +); + + + + + +//routes.get('/venues', true, SortMiddleware.middleware({ default: "name" }), venueController.find); +//routes.get('/venues', isLoggedUser, SortMiddleware.middleware({ default: "name" }), venueController.find); +//routes.get('/venues/:id', isLoggedUser, venueController.findOne); + + +//routes.put('/venues/:id', isAdministratorUser, venueController.update); +//routes.delete('/venues/:id', isAdministratorUser, venueController.delete); + +module.exports = routes; \ No newline at end of file diff --git a/modules/multimedia/multimedia.service.js b/modules/multimedia/multimedia.service.js new file mode 100644 index 0000000..6029a3b --- /dev/null +++ b/modules/multimedia/multimedia.service.js @@ -0,0 +1,10 @@ +/* global Venue */ +'use strict'; + +const _ = require('lodash'); +const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper'); +const models = require('../../core/models'); + +const extraMethods = {}; + +module.exports = generateService(models.Multimedia, extraMethods); \ No newline at end of file