2019-07-09 17:39:52 +00:00
|
|
|
const routes = require('express').Router();
|
2019-08-07 18:32:13 +00:00
|
|
|
const Joi = require('joi');
|
2019-07-09 17:39:52 +00:00
|
|
|
|
|
|
|
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
2019-07-24 21:03:10 +00:00
|
|
|
const { cacheSuccesses } = require('../../middlewares/cache');
|
|
|
|
|
|
2019-08-07 13:56:25 +00:00
|
|
|
// Uploader
|
2019-08-15 17:54:18 +00:00
|
|
|
// const uploader = require('../../middlewares/uploader.js');
|
2019-08-07 13:56:25 +00:00
|
|
|
|
2019-08-07 18:32:13 +00:00
|
|
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
2019-07-09 17:39:52 +00:00
|
|
|
|
|
|
|
|
const PaginateMiddleware = require('../../middlewares/paginate');
|
2019-08-05 18:04:29 +00:00
|
|
|
const FieldMiddleware = require('../../middlewares/fields');
|
2019-07-09 17:39:52 +00:00
|
|
|
const SortMiddleware = require('../../middlewares/sort');
|
|
|
|
|
|
|
|
|
|
const multimediaController = require('./multimedia.controller');
|
|
|
|
|
|
2019-08-05 18:04:29 +00:00
|
|
|
const generalInvalidFields = [
|
|
|
|
|
'userId', 'createdAt', 'updatedAt',
|
|
|
|
|
];
|
|
|
|
|
|
2019-07-09 17:39:52 +00:00
|
|
|
|
2019-07-30 11:15:25 +00:00
|
|
|
routes.get('/multimedias', //cacheSuccesses('24 hours'),
|
2019-08-05 17:44:16 +00:00
|
|
|
isLoggedUser,
|
2019-08-05 18:04:29 +00:00
|
|
|
FieldMiddleware.middleware({
|
|
|
|
|
invalidFields: generalInvalidFields
|
|
|
|
|
}),
|
2019-07-09 17:39:52 +00:00
|
|
|
PaginateMiddleware.middleware(),
|
2019-07-10 08:42:03 +00:00
|
|
|
//SortMiddleware.middleware({ default: "init_available_date" }),
|
2019-07-25 07:37:04 +00:00
|
|
|
multimediaController.find({
|
|
|
|
|
scopes: ['includeMultimediaFile']
|
|
|
|
|
})
|
2019-07-09 17:39:52 +00:00
|
|
|
);
|
|
|
|
|
|
2019-07-30 11:15:25 +00:00
|
|
|
routes.get('/multimedias/:id', //cacheSuccesses('24 hours'),
|
2019-08-05 17:44:16 +00:00
|
|
|
isLoggedUser,
|
2019-08-05 18:04:29 +00:00
|
|
|
FieldMiddleware.middleware({
|
|
|
|
|
invalidFields: generalInvalidFields
|
|
|
|
|
}),
|
2019-07-09 17:39:52 +00:00
|
|
|
//PaginateMiddleware.middleware(),
|
2019-07-10 08:42:03 +00:00
|
|
|
//SortMiddleware.middleware({ default: "init_available_date" }),
|
2019-07-25 07:37:04 +00:00
|
|
|
multimediaController.findOne({
|
|
|
|
|
scopes: ['includeMultimediaFile']
|
|
|
|
|
})
|
2019-07-09 17:39:52 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
2019-08-06 15:14:42 +00:00
|
|
|
/*********************************************************************************************************
|
|
|
|
|
* ADMINISTRACIÓN
|
|
|
|
|
*********************************************************************************************************
|
|
|
|
|
*/
|
|
|
|
|
|
2019-08-07 18:32:13 +00:00
|
|
|
const multimediasInputType = Joi.object().keys({
|
|
|
|
|
entityId: Joi.string().required(),
|
|
|
|
|
entityName: Joi.string().required(),
|
|
|
|
|
type: Joi.string().required(),
|
2019-08-18 15:08:18 +00:00
|
|
|
multimediafileId: Joi.string().required()
|
2019-08-07 18:32:13 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
2019-08-07 13:56:25 +00:00
|
|
|
routes.post('/admin/multimedias/',
|
2019-08-07 18:32:13 +00:00
|
|
|
isAdministratorUser,
|
2019-08-18 15:08:18 +00:00
|
|
|
SchemaValidator(multimediasInputType, true),
|
2019-08-07 18:32:13 +00:00
|
|
|
multimediaController.create()
|
2019-08-07 13:56:25 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
routes.put('/admin/multimedias/:id',
|
|
|
|
|
isAdministratorUser,
|
2019-08-07 18:32:13 +00:00
|
|
|
//SchemaValidator(multimediasInputType, true),
|
2019-08-15 17:54:18 +00:00
|
|
|
//uploader.single('file'),
|
2019-08-07 18:32:13 +00:00
|
|
|
multimediaController.update()
|
2019-08-06 15:14:42 +00:00
|
|
|
);
|
2019-07-09 17:39:52 +00:00
|
|
|
|
2019-08-19 14:35:57 +00:00
|
|
|
routes.delete('/admin/multimedias/:id',
|
|
|
|
|
isAdministratorUser,
|
|
|
|
|
//SchemaValidator(multimediasInputType, true),
|
|
|
|
|
//uploader.single('file'),
|
|
|
|
|
multimediaController.delete()
|
|
|
|
|
);
|
2019-08-07 13:56:25 +00:00
|
|
|
|
2019-07-09 17:39:52 +00:00
|
|
|
module.exports = routes;
|