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

View File

@ -362,9 +362,21 @@ routes.get(
}), }),
// PaginateMiddleware.middleware(), // PaginateMiddleware.middleware(),
// SortMiddleware.middleware({ default: "init_available_date" }), // 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({ eventController.find({
scopes: ["defaultScope", "withOpenInscriptions"], scopes: ["defaultScope", "withOpenInscriptions"],
}) })
); );
// Hacer una inscripción por la web // Hacer una inscripción por la web

View File

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