From 70d00bb7db1b70928093f96d26a3b70310198666 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 9 Aug 2019 13:00:42 +0200 Subject: [PATCH] . --- core/controllers/index.js | 3 +- modules/events/event.routes.js | 70 +++++++++++++++++++++ modules/multimedia/multimedia.controller.js | 1 + 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/core/controllers/index.js b/core/controllers/index.js index d9f35a5..910bc62 100644 --- a/core/controllers/index.js +++ b/core/controllers/index.js @@ -133,4 +133,5 @@ const generateControllers = (service, extraControllers = {}, options = {}) => { } -module.exports = generateControllers; \ No newline at end of file +module.exports = generateControllers; +module.exports.buildContext = buildContext; \ No newline at end of file diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index adfb6a4..19d7de4 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -251,4 +251,74 @@ routes.get('/tickets/:id/', //routes.put('/venues/:id', isAdministratorUser, venueController.update); //routes.delete('/venues/:id', isAdministratorUser, venueController.delete); + + +/******************************************************************************************************** + * ADMINISTRACIÓN + ********************************************************************************************************* + */ + +// Todos los ponentes +routes.get('/admin/events', + isAdministratorUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "-init_date" }), + (req, res, next) => { + if (!req.body.city) + return eventController.find({ + scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeSpeakers'], + })(req, res, next) + else + return eventController.find({ + scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeSpeakers', { method: ['onlyOfCity', req.body.city] }] + })(req, res, next); + } +); + +routes.get('/admin/events/next', + isAdministratorUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "init_available_date" }), + eventController.find({ + scopes: ['defaultScope', 'next', 'includeVenue', 'includeMultimedias', 'includeSpeakers'], + }), +); + +routes.get('/admin/events/past', + isAdministratorUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "-init_date" }), + eventController.find({ + scopes: ['defaultScope', 'past', 'includeVenue', 'includeMultimedias', 'includeSpeakers'], + }), +); + +routes.get('/admin/events/current', + isAdministratorUser, + PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "-init_date" }), + eventController.find({ + scopes: ['defaultScope', 'current', 'includeVenue', 'includeMultimedias', 'includeSpeakers'], + }), +); + +routes.get('/admin/events/:id', + isAdministratorUser, + (req, res, next) => { + return eventController.findOne({ + scopes: ['defaultScope', 'includeVenue', 'includeMultimedias', 'includeSpeakers'] + })(req, res, next) + } +); + + +/*// Un ponente +routes.get('/admin/speakers/:id', + isAdministratorUser, + eventController.findOne({ + scopes: ['defaultScope', 'includeValues', 'includeMultimedias'] + }) +);*/ + + module.exports = routes; \ No newline at end of file diff --git a/modules/multimedia/multimedia.controller.js b/modules/multimedia/multimedia.controller.js index 197295f..1ecdb17 100644 --- a/modules/multimedia/multimedia.controller.js +++ b/modules/multimedia/multimedia.controller.js @@ -1,6 +1,7 @@ 'use strict'; const httpStatus = require('http-status'); const generateControllers = require('../../core/controllers'); +const { buildContext } = require('../../core/controllers'); const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper'); const multimediaService = require('./multimedia.service'); const multimediaFileService = require('./multimedia_file.service');