From e0ca0f360789f0f98aeb45d05a4b6432fd08629f Mon Sep 17 00:00:00 2001 From: Okandze-Diessy Date: Thu, 22 Aug 2024 12:09:30 +0100 Subject: [PATCH] Diessy Okandze --- feature/contact/controller/contact.controller.js | 8 ++++---- feature/contact/model/contact.model.js | 8 ++++---- feature/contact/route/contact.route.js | 4 +++- feature/problem/controller/problem.controller.js | 6 +++--- feature/problem/model/problem.model.js | 2 +- feature/problem/route/problem.route.js | 6 +++++- shared/middleware/advanced-result.js | 11 +++++++---- 7 files changed, 27 insertions(+), 18 deletions(-) diff --git a/feature/contact/controller/contact.controller.js b/feature/contact/controller/contact.controller.js index f338853..7154448 100644 --- a/feature/contact/controller/contact.controller.js +++ b/feature/contact/controller/contact.controller.js @@ -3,8 +3,8 @@ const ContactModel= require('../model/contact.model') //getAll : module.exports.getAll =(async(req,res)=>{ - const contacts= await ContactModel.find({}) - res.status(200).json({success: true, data: contacts}); + // const contacts= await ContactModel.find({}) + res.status(200).json(res.advancedResults); }) @@ -58,12 +58,12 @@ module.exports.update= async(req,res)=>{ //delete : module.exports.delete= (async(req,res)=>{ - let contact= await contactModel.find({}) + let contact= await ContactModel.find({}) if(!contact){ res.status(200).json({sucess: false,data: "NoData"}) return } - await contactModel.deleteOne(req.params.id) + await ContactModel.deleteOne({_id: req.params.id}) res.status(200).json({success: true, data: {}}) }) diff --git a/feature/contact/model/contact.model.js b/feature/contact/model/contact.model.js index 5270679..0d3e1e7 100644 --- a/feature/contact/model/contact.model.js +++ b/feature/contact/model/contact.model.js @@ -30,10 +30,10 @@ const schema = new mongoose.Schema({ ref: 'vehicle' }, status: String, - createdBy: { - type: String, - ref: 'user' - } + // createdBy: { + // type: String, + // ref: 'user' + // } }, { timestamps:true diff --git a/feature/contact/route/contact.route.js b/feature/contact/route/contact.route.js index 1ea0368..4ee6b19 100644 --- a/feature/contact/route/contact.route.js +++ b/feature/contact/route/contact.route.js @@ -1,10 +1,12 @@ const contactController= require('../controller/contact.controller') +const advancedResults = require('../../../shared/middleware/advanced-result') +const ContactModel= require('../model/contact.model') const router= require('express').Router() //getAll : -router.route('/').get(contactController.getAll) +router.route('/').get(advancedResults(ContactModel),contactController.getAll) //getById : diff --git a/feature/problem/controller/problem.controller.js b/feature/problem/controller/problem.controller.js index 6a7cbea..91d017e 100644 --- a/feature/problem/controller/problem.controller.js +++ b/feature/problem/controller/problem.controller.js @@ -3,8 +3,8 @@ const ProblemModel= require('../model/problem.model') //getAll : module.exports.getAll =(async(req,res)=>{ - const problems= await ProblemModel.find({}); - res.status(200).json({success: true, data: problems}); + // const problems= await ProblemModel.find({}); + res.status(200).json(res.advancedResults); }) @@ -63,7 +63,7 @@ module.exports.delete= (async(req,res)=>{ res.status(200).json({success: false,data: "NoData"}) return } - await ProblemModel.deleteOne(req.params.id) + await ProblemModel.deleteOne({_id: req.params.id}) res.status(200).json({success: true, data: {}}) }) diff --git a/feature/problem/model/problem.model.js b/feature/problem/model/problem.model.js index 98004fb..0fdd6b3 100644 --- a/feature/problem/model/problem.model.js +++ b/feature/problem/model/problem.model.js @@ -7,7 +7,7 @@ const schema= new mongoose.Schema({ default: "" }, date: { - type: Date, + type: String, default: "" }, state: { diff --git a/feature/problem/route/problem.route.js b/feature/problem/route/problem.route.js index 4f7df49..fbc36c8 100644 --- a/feature/problem/route/problem.route.js +++ b/feature/problem/route/problem.route.js @@ -1,10 +1,14 @@ const problemController= require('../controller/problem.controller') +const advancedResults= require('../../../shared/middleware/advanced-result') + +const ProblemModel= require('../model/problem.model') + const router= require('express').Router() //getAll : -router.route('/').get(problemController.getAll) +router.route('/').get(advancedResults(ProblemModel),problemController.getAll) //getById : diff --git a/shared/middleware/advanced-result.js b/shared/middleware/advanced-result.js index 7578503..cc6609b 100644 --- a/shared/middleware/advanced-result.js +++ b/shared/middleware/advanced-result.js @@ -2,10 +2,10 @@ const advancedResult =(model)=> async (req, res, next) => { //search : l'information que je cherche //fields : les colonnes je veux utiliser pour la recherche - const fields = req.query.fields; - const search = req.query.search; - let page = req.query.page; - let limit = req.query.limit; + const fields = req.query.fields; //Permet de récupérer les champs qu'on va effectuer la recherche du front. + const search = req.query.search; //Permet de récupérer la recherche + let page = req.query.page; //Permet de récupérer la page actuelle + let limit = req.query.limit; //Permet de récupérer la page de limite let find = {} @@ -14,6 +14,9 @@ const advancedResult =(model)=> async (req, res, next) => { //Recherche l'element search dans le tableau de propriété fields const query = { + //$or: c'est pour faire la recherche sur plusieurs champs, $regex : permet de stocker la recherche + //i : c'est pour mettre le texte insensible à la casse. + //-i: sensible à la casse. $or: fields.map(property => ({ [property]: {$regex: search, $options: 'i'} }))