This commit is contained in:
David Arranz 2024-08-28 18:25:50 +02:00
parent 85588ffb41
commit 1e701ffbde
3 changed files with 29 additions and 8 deletions

View File

@ -35,20 +35,27 @@ const generateControllers = (service, extraControllers = {}, options = {}) => {
const defaultControllers = {
find: (config) => {
return async (req, res, next) => {
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
config = config || {
scopes: [],
};
const params = extractParamsFromRequest(req, res, _options.params.find);
try {
const result = await service.fetchAll(params, buildContext(req, config));
//Comprobamos si hay que remover campos
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', res.locals);
if (res.locals.fields['removeFields'])
console.log('quito>>>>', res.locals.fields['removeFields'])
else
console.log('NO HAGOI NADA');
//Tratamos resultado, si hay que remover campos para API4 web
if (res.locals.v4){
const arrayFieldsremove = res.locals.v4.removeFields;
result.rows.map((row)=>{
arrayFieldsremove.forEach(campo => {
if (campo in row) {
delete row[campo];
}
});
});
};
return handleResultResponse(result.rows, result.count, params, res);
} catch (error) {

View File

@ -362,9 +362,21 @@ routes.get(
}),
// PaginateMiddleware.middleware(),
// SortMiddleware.middleware({ default: "init_available_date" }),
/*
(req, res, next) => {
res.locals.v4 = {removeFields : ["partners", "speakers", "details", "multimedias"]};
eventController.find({
scopes: ["defaultScope", "withOpenInscriptions"],
})(req,res,next);
}
*/
eventController.find({
scopes: ["defaultScope", "withOpenInscriptions"],
})
);
// Hacer una inscripción por la web

View File

@ -102,13 +102,15 @@ routes.get(
FieldMiddleware.middleware({
validFields: ["id", "name"],
}),
(req, res, next) => {
res.locals.fields['removeFields'] = ["partners"],
res.locals.v4 = {removeFields : ["partners", "speakers", "details", "multimedias"]};
eventController.find({
scopes: ["defaultScope", "withOpenInscriptions"],
})
})(req,res,next);
}
);
/**