From b50975fda6b36abf394aa3cc4827687e8332d411 Mon Sep 17 00:00:00 2001 From: Charles Dufour Date: Thu, 19 Dec 2024 16:29:26 +0100 Subject: [PATCH] [TRELLO-2598] Filter categories for mobile --- .../src/controllers/categories.controller.ts | 2 +- .../src/services/categories.service.ts | 48 +++++++++++-------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/mobile-tools/src/controllers/categories.controller.ts b/mobile-tools/src/controllers/categories.controller.ts index f0dbab568..c7d45aaac 100644 --- a/mobile-tools/src/controllers/categories.controller.ts +++ b/mobile-tools/src/controllers/categories.controller.ts @@ -10,7 +10,7 @@ const CategoriesController = Router() CategoriesController.get('/', async (req: Request<{}, {}, {}, QueryParams>, res, next) => { try { const lang = req.query.lang ?? 'fr' - return res.status(200).send(categories[lang].sort((a, b) => Number(a.id) - Number(b.id))) + return res.status(200).send(categories[lang]) } catch (err) { next(err) } diff --git a/mobile-tools/src/services/categories.service.ts b/mobile-tools/src/services/categories.service.ts index 8567e1872..325acef5d 100644 --- a/mobile-tools/src/services/categories.service.ts +++ b/mobile-tools/src/services/categories.service.ts @@ -16,27 +16,35 @@ const anomaliesEn = JSON.parse(fs.readFileSync('../shared/anomalies/json/anomali export const minimizedAnomaliesFr = JSON.parse(fs.readFileSync('../shared/anomalies/json/minimized-anomalies_fr.json', 'utf-8')) export const minimizedAnomaliesEn = JSON.parse(fs.readFileSync('../shared/anomalies/json/minimized-anomalies_en.json', 'utf-8')) -const categoriesFr: Category[] = anomaliesFr.map((anomaly: any) => { - return { - category: anomaly.title, - description: anomaly.description, - id: anomaly.id, - path: anomaly.path, - img: `${Config.websiteUrl}/image/pictos/${anomaly.img}.png`, - } -}) +const specialCategories = ['OpenFoodFacts', 'RappelConso'] -const categoriesEn: Category[] = anomaliesEn.map((anomaly: any) => { - return { - category: anomaly.title, - description: anomaly.description, - id: anomaly.id, - path: anomaly.path, - img: `${Config.websiteUrl}/image/pictos/${anomaly.img}.png`, - } -}) +const categoriesFr: Category[] = anomaliesFr + .filter((anomaly: any) => !anomaly.hidden && !anomaly.isHiddenDemoCategory) + .filter((anomaly: any) => !anomaly.specialCategory) + .map((anomaly: any) => { + return { + category: anomaly.title, + description: anomaly.description, + id: anomaly.id, + path: anomaly.path, + img: `${Config.websiteUrl}/image/pictos/${anomaly.img}.png`, + } + }) + +const categoriesEn: Category[] = anomaliesEn + .filter((anomaly: any) => !anomaly.hidden && !anomaly.isHiddenDemoCategory) + .filter((anomaly: any) => !anomaly.specialCategory) + .map((anomaly: any) => { + return { + category: anomaly.title, + description: anomaly.description, + id: anomaly.id, + path: anomaly.path, + img: `${Config.websiteUrl}/image/pictos/${anomaly.img}.png`, + } + }) export const categories = { - fr: categoriesFr, - en: categoriesEn, + fr: categoriesFr.sort((a, b) => parseInt(a.id, 10) - parseInt(b.id, 10)), + en: categoriesEn.sort((a, b) => parseInt(a.id, 10) - parseInt(b.id, 10)), }