Merge remote-tracking branch 'origin/master'

master^2^2
CATHERINA-LUCE 2024-08-23 13:44:40 +01:00
commit 8abdedd00e
7 changed files with 28 additions and 19 deletions

View File

@ -3,8 +3,8 @@ const ContactModel= require('../model/contact.model')
//getAll : //getAll :
module.exports.getAll =(async(req,res)=>{ module.exports.getAll =(async(req,res)=>{
const contacts= await ContactModel.find({}) // const contacts= await ContactModel.find({})
res.status(200).json({success: true, data: contacts}); res.status(200).json(res.advancedResults);
}) })
@ -58,12 +58,12 @@ module.exports.update= async(req,res)=>{
//delete : //delete :
module.exports.delete= (async(req,res)=>{ module.exports.delete= (async(req,res)=>{
let contact= await contactModel.find({}) let contact= await ContactModel.find({})
if(!contact){ if(!contact){
res.status(200).json({sucess: false,data: "NoData"}) res.status(200).json({sucess: false,data: "NoData"})
return return
} }
await contactModel.deleteOne(req.params.id) await ContactModel.deleteOne({_id: req.params.id})
res.status(200).json({success: true, data: {}}) res.status(200).json({success: true, data: {}})
}) })

View File

@ -6,7 +6,7 @@ const schema = new mongoose.Schema({
require: true, require: true,
maxLength: 70, maxLength: 70,
minLength: 2, minLength: 2,
default: "" default: ''
}, },
firstname: { firstname: {
type: String, type: String,
@ -30,10 +30,10 @@ const schema = new mongoose.Schema({
ref: 'vehicle' ref: 'vehicle'
}, },
status: String, status: String,
createdBy: { // createdBy: {
type: String, // type: String,
ref: 'user' // ref: 'user'
} // }
}, },
{ {
timestamps:true timestamps:true

View File

@ -1,10 +1,12 @@
const contactController= require('../controller/contact.controller') const contactController= require('../controller/contact.controller')
const advancedResults = require('../../../shared/middleware/advanced-result')
const ContactModel= require('../model/contact.model')
const router= require('express').Router() const router= require('express').Router()
//getAll : //getAll :
router.route('/').get(contactController.getAll) router.route('/').get(advancedResults(ContactModel),contactController.getAll)
//getById : //getById :

View File

@ -3,8 +3,8 @@ const ProblemModel= require('../model/problem.model')
//getAll : //getAll :
module.exports.getAll =(async(req,res)=>{ module.exports.getAll =(async(req,res)=>{
const problems= await ProblemModel.find({}); // const problems= await ProblemModel.find({});
res.status(200).json({success: true, data: problems}); res.status(200).json(res.advancedResults);
}) })
@ -63,7 +63,7 @@ module.exports.delete= (async(req,res)=>{
res.status(200).json({success: false,data: "NoData"}) res.status(200).json({success: false,data: "NoData"})
return return
} }
await ProblemModel.deleteOne(req.params.id) await ProblemModel.deleteOne({_id: req.params.id})
res.status(200).json({success: true, data: {}}) res.status(200).json({success: true, data: {}})
}) })

View File

@ -7,7 +7,7 @@ const schema= new mongoose.Schema({
default: "" default: ""
}, },
date: { date: {
type: Date, type: String,
default: "" default: ""
}, },
state: { state: {

View File

@ -1,10 +1,14 @@
const problemController= require('../controller/problem.controller') const problemController= require('../controller/problem.controller')
const advancedResults= require('../../../shared/middleware/advanced-result')
const ProblemModel= require('../model/problem.model')
const router= require('express').Router() const router= require('express').Router()
//getAll : //getAll :
router.route('/').get(problemController.getAll) router.route('/').get(advancedResults(ProblemModel),problemController.getAll)
//getById : //getById :

View File

@ -2,10 +2,10 @@
const advancedResult =(model)=> async (req, res, next) => { const advancedResult =(model)=> async (req, res, next) => {
//search : l'information que je cherche //search : l'information que je cherche
//fields : les colonnes je veux utiliser pour la recherche //fields : les colonnes je veux utiliser pour la recherche
const fields = req.query.fields; 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; const search = req.query.search; //Permet de récupérer la recherche
let page = req.query.page; let page = req.query.page; //Permet de récupérer la page actuelle
let limit = req.query.limit; let limit = req.query.limit; //Permet de récupérer la page de limite
let find = {} let find = {}
@ -14,6 +14,9 @@ const advancedResult =(model)=> async (req, res, next) => {
//Recherche l'element search dans le tableau de propriété fields //Recherche l'element search dans le tableau de propriété fields
const query = { 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 => ({ $or: fields.map(property => ({
[property]: {$regex: search, $options: 'i'} [property]: {$regex: search, $options: 'i'}
})) }))