Función callback al recuperar un evento para rellenar el color de la inscripción normal
This commit is contained in:
parent
400d9e906a
commit
9db8d93b9b
@ -2,7 +2,7 @@ const _find = require('./find');
|
|||||||
const httpStatus = require('http-status');
|
const httpStatus = require('http-status');
|
||||||
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
||||||
|
|
||||||
function buildContext(req, config ) {
|
function buildContext(req, config) {
|
||||||
return {
|
return {
|
||||||
user: req.user,
|
user: req.user,
|
||||||
scopes: [],
|
scopes: [],
|
||||||
@ -51,7 +51,8 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
|
|||||||
return async (req, res, next) => {
|
return async (req, res, next) => {
|
||||||
const params = extractParamsFromRequest(req, res, _options.params.findOne);
|
const params = extractParamsFromRequest(req, res, _options.params.findOne);
|
||||||
try {
|
try {
|
||||||
const result = await service.fetchOne(params, buildContext(req, config));
|
let result = await service.fetchOne(params, buildContext(req, config));
|
||||||
|
result = _options.findOneCallback !== undefined ? _options.findOneCallback(result) : result;
|
||||||
return handleResultResponse(result, null, params, res, (result === null) ? httpStatus.NOT_FOUND : httpStatus.OK);
|
return handleResultResponse(result, null, params, res, (result === null) ? httpStatus.NOT_FOUND : httpStatus.OK);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
@ -61,7 +62,7 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
|
|||||||
},
|
},
|
||||||
|
|
||||||
count: (config) => {
|
count: (config) => {
|
||||||
return async(req, res, next) => {
|
return async (req, res, next) => {
|
||||||
const params = extractParamsFromRequest(req, res, _options.params.count);
|
const params = extractParamsFromRequest(req, res, _options.params.count);
|
||||||
try {
|
try {
|
||||||
const result = await service.count(params, buildContext(req, config));
|
const result = await service.count(params, buildContext(req, config));
|
||||||
@ -74,16 +75,16 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
|
|||||||
|
|
||||||
create: (config) => {
|
create: (config) => {
|
||||||
return async (req, res, next) => {
|
return async (req, res, next) => {
|
||||||
const params = extractParamsFromRequest(req, res, _options.params.count);
|
const params = extractParamsFromRequest(req, res, _options.params.count);
|
||||||
try {
|
try {
|
||||||
//Asignamos el usuario que crea el elemento si viene
|
//Asignamos el usuario que crea el elemento si viene
|
||||||
req.body.userId = (req.user)? req.user.id : null;
|
req.body.userId = (req.user) ? req.user.id : null;
|
||||||
//Añadimos los parametros que vienen por url y en el body
|
//Añadimos los parametros que vienen por url y en el body
|
||||||
let values = Object.assign({}, params.params, req.body);
|
let values = Object.assign({}, params.params, req.body);
|
||||||
//Quitamos el campo id si viniera, para que no de un conflicto con el id autoinc
|
//Quitamos el campo id si viniera, para que no de un conflicto con el id autoinc
|
||||||
if (values.id) delete values.id;
|
if (values.id) delete values.id;
|
||||||
console.log('>> SERVICE CREATE ->', values);
|
console.log('>> SERVICE CREATE ->', values);
|
||||||
const result = await service.create(values, buildContext(req, config));
|
const result = await service.create(values, buildContext(req, config));
|
||||||
return handleResultResponse(result, null, null, res, httpStatus.CREATED)
|
return handleResultResponse(result, null, null, res, httpStatus.CREATED)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return handleErrorResponse(_options.MODULE_NAME, 'create', error, res)
|
return handleErrorResponse(_options.MODULE_NAME, 'create', error, res)
|
||||||
@ -93,15 +94,15 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
|
|||||||
|
|
||||||
update: (config) => {
|
update: (config) => {
|
||||||
return async (req, res, next) => {
|
return async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
const params = extractParamsFromRequest(req, res, _options.params.update);
|
const params = extractParamsFromRequest(req, res, _options.params.update);
|
||||||
console.log('SERVICE UPDATE ->', params, req.body);
|
console.log('SERVICE UPDATE ->', params, req.body);
|
||||||
|
|
||||||
const response = await service.update(params, req.body, buildContext(req, config));
|
const response = await service.update(params, req.body, buildContext(req, config));
|
||||||
// https://sequelize.org/master/class/lib/model.js~Model.html#static-method-update
|
// https://sequelize.org/master/class/lib/model.js~Model.html#static-method-update
|
||||||
// Update devuelve un array de un elemento con el número de filas afectadas
|
// Update devuelve un array de un elemento con el número de filas afectadas
|
||||||
// por la operación. Por comodidad, devuelvo el valor, no el array.
|
// por la operación. Por comodidad, devuelvo el valor, no el array.
|
||||||
|
|
||||||
let result = response[0];
|
let result = response[0];
|
||||||
let status = httpStatus.OK;
|
let status = httpStatus.OK;
|
||||||
if (result < 1) {
|
if (result < 1) {
|
||||||
@ -123,7 +124,7 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
|
|||||||
return async (req, res, next) => {
|
return async (req, res, next) => {
|
||||||
try {
|
try {
|
||||||
const params = extractParamsFromRequest(req, res, _options.params.delete);
|
const params = extractParamsFromRequest(req, res, _options.params.delete);
|
||||||
console.log('SERVICE DELETE ->', params);
|
console.log('SERVICE DELETE ->', params);
|
||||||
const result = await service.delete(params, buildContext(req, config));
|
const result = await service.delete(params, buildContext(req, config));
|
||||||
return handleResultResponse(result, null, req.params, res, httpStatus.NO_CONTENT);
|
return handleResultResponse(result, null, req.params, res, httpStatus.NO_CONTENT);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -28,7 +28,23 @@ const userService = require("../auth/user.service");
|
|||||||
|
|
||||||
// Module Name
|
// Module Name
|
||||||
const MODULE_NAME = "[event.controller]";
|
const MODULE_NAME = "[event.controller]";
|
||||||
const controllerOptions = { MODULE_NAME };
|
|
||||||
|
const controllerOptions = {
|
||||||
|
MODULE_NAME,
|
||||||
|
findOneCallback: (result) => {
|
||||||
|
// Si hay inscripciones normales, ponerles el color por defecto 'verde'.
|
||||||
|
|
||||||
|
result.inscriptions = result.inscriptions.map((inscription) => {
|
||||||
|
const isVirtual = inscription.type === "online" || inscription.type === "online group";
|
||||||
|
if ((inscription.reservationId === null) && (!isVirtual)) {
|
||||||
|
// Inscripción normal
|
||||||
|
inscription.color = 'green';
|
||||||
|
}
|
||||||
|
return inscription;
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
function generateMemberInscription(user, inscription, reservation) {
|
function generateMemberInscription(user, inscription, reservation) {
|
||||||
let memberInscription = null;
|
let memberInscription = null;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user