70 lines
2.2 KiB
JavaScript
70 lines
2.2 KiB
JavaScript
const routes = require('express').Router();
|
|
// Uploader
|
|
const cdnUpload = require('../../middlewares/uploader.js');
|
|
const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessValidator');
|
|
const { cacheSuccesses } = require('../../middlewares/cache');
|
|
|
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
|
|
|
const PaginateMiddleware = require('../../middlewares/paginate');
|
|
const FieldMiddleware = require('../../middlewares/fields');
|
|
const SortMiddleware = require('../../middlewares/sort');
|
|
const multimediaFileController = require('./multimedia_file.controller');
|
|
const { multimediaFilesInputType } = require('./multimedia_file.validations');
|
|
|
|
const generalInvalidFields = [
|
|
'userId', 'createdAt', 'updatedAt',
|
|
];
|
|
|
|
routes.get('/multimediafiles', cacheSuccesses('24 hours'),
|
|
FieldMiddleware.middleware({
|
|
invalidFields: generalInvalidFields
|
|
}),
|
|
PaginateMiddleware.middleware(),
|
|
//SortMiddleware.middleware({ default: "init_available_date" }),
|
|
multimediaFileController.find({
|
|
scopes: ['includeMultimedias']
|
|
})
|
|
);
|
|
|
|
routes.get('/multimediafiles/:id', cacheSuccesses('24 hours'),
|
|
FieldMiddleware.middleware({
|
|
invalidFields: generalInvalidFields
|
|
}),
|
|
//SortMiddleware.middleware({ default: "init_available_date" }),
|
|
multimediaFileController.findOne({
|
|
scopes: ['includeMultimedias']
|
|
})
|
|
);
|
|
|
|
/*********************************************************************************************************
|
|
* ADMINISTRACIÓN
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
// Nuevo
|
|
routes.post('/admin/multimediafiles/',
|
|
isAdministratorUser,
|
|
SchemaValidator(multimediaFilesInputType, true),
|
|
cdnUpload().single('file'),
|
|
multimediaFileController.create()
|
|
);
|
|
|
|
// Modificación
|
|
routes.put('/admin/multimediafiles/:id',
|
|
isAdministratorUser,
|
|
SchemaValidator(multimediaFilesInputType, true),
|
|
cdnUpload().single('file'),
|
|
multimediaFileController.update()
|
|
);
|
|
|
|
// Borrado
|
|
routes.delete('/admin/multimediafiles/:id',
|
|
isAdministratorUser,
|
|
SchemaValidator(multimediaFilesInputType, true),
|
|
cdnUpload().single('file'),
|
|
multimediaFileController.delete()
|
|
);
|
|
|
|
|
|
module.exports = routes; |