coryas-formation-api/feature/vehicle/controller/vehicle.controller.js

59 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

2024-08-15 17:46:07 +00:00
const VehicleModel = require("../model/vehicle.model")
//getAll
module.exports.getAll = (async (req, res)=>{
2024-08-20 17:14:47 +00:00
//const vehicles = await VehicleModel.find({ mark: { $regex: search, $options: 'i' }});
/*
const search = req.query.search
const vehicles = await VehicleModel.find({ $or:[{mark: { $regex: search, $options: 'i' }},
{model: { $regex: search, $options: 'i' }}, {matricule: { $regex: search, $options: 'i' }}] });
*/
//res.status(200).json({success: true, data : vehicles});
res.status(200).json(res.advancedResults);
2024-08-15 17:46:07 +00:00
})
//getById
module.exports.getById = (async (req, res)=>{
//req.params.id
const vehicle = await VehicleModel.findById(req.params.id);
if(!vehicle){
res.status(200).json({success: false, data : "noData"});
return;
}
res.status(200).json({success: true, data :vehicle });
})
//create
module.exports.create = (async (req, res)=>{
let vehicle = req.body;
vehicle = await VehicleModel.create(vehicle);
res.status(200).json({success: true, data :vehicle });
})
//update
module.exports.update = (async (req, res)=>{
let vehicle = await VehicleModel.findById(req.params.id);
if(!vehicle){
res.status(200).json({success: false, data : "noData"});
return;
}
await VehicleModel.updateOne({_id:req.params.id}, req.body);
vehicle = await VehicleModel.findById(req.params.id);
res.status(200).json({success: true, data :vehicle });
})
//delete
module.exports.delete = (async (req, res)=>{
let vehicle = await VehicleModel.findById(req.params.id);
if(!vehicle){
res.status(200).json({success: false, data : "noData"});
return;
}
2024-08-20 17:14:47 +00:00
await VehicleModel.deleteOne({_id:req.params.id});
2024-08-15 17:46:07 +00:00
res.status(200).json({success: true, data :{} });
})