diff --git a/feature/place/controller/place.controller.js b/feature/place/controller/place.controller.js new file mode 100644 index 0000000..61ecb26 --- /dev/null +++ b/feature/place/controller/place.controller.js @@ -0,0 +1,52 @@ +const PlaceModel = require("../model/place.model") + + + +module.exports.getAll = (async (req, res)=>{ + + + res.status(200).json(res.advancedResults); +}) + +//getById +module.exports.getById = (async (req, res)=>{ + //req.params.id + const place = await PlaceModel.findById(req.params.id); + if(!place){ + res.status(200).json({success: false, data : "noData"}); + return; + } + res.status(200).json({success: true, data :place }); +}) + +//create +module.exports.create = (async (req, res)=>{ + let place = req.body; + place = await PlaceModel.create(place); + res.status(200).json({success: true, data :place }); +}) + +//update +module.exports.update = (async (req, res)=>{ + let place = await PlaceModel.findById(req.params.id); + if(!place){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await PlaceModel.updateOne({_id:req.params.id}, req.body); + place = await PlaceModel.findById(req.params.id); + res.status(200).json({success: true, data :place }); +}) + +//delete +module.exports.delete = (async (req, res)=>{ + let place = await PlaceModel.findById(req.params.id); + if(!place){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await PlaceModel.deleteOne({_id:req.params.id}); + res.status(200).json({success: true, data :{} }); +}) \ No newline at end of file diff --git a/feature/place/model/place.model.js b/feature/place/model/place.model.js new file mode 100644 index 0000000..2eacbc4 --- /dev/null +++ b/feature/place/model/place.model.js @@ -0,0 +1,40 @@ +const mongoose = require("mongoose"); + +const schema = new mongoose.Schema({ + //String, Number, Boolean, MongoObject, Object + etage: { + type:String, + default: "" + }, + taille: { + type:String, + default: "" + }, + disponibilite: { + type:String, + default: "" + }, + vehiculeOccupe: { + type:String, + default: "" + }, + dateEntree: { + type:String, + default: "" + }, + + dateSortie: { + type:String, + default: "" + }, + + proprietaire: { + type:String, + default: "" + } + + + +}, { timestamps : true}); + +module.exports = mongoose.model('place', schema, 'places'); diff --git a/feature/place/route/place.route.js b/feature/place/route/place.route.js new file mode 100644 index 0000000..9948fc2 --- /dev/null +++ b/feature/place/route/place.route.js @@ -0,0 +1,27 @@ +const express = require("express"); +const router = express.Router(); +const placeController = require("../controller/place.controller"); +const PlaceModel = require("../model/place.model"); +const advancedResults = require("../../../shared/middleware/advanced-result") + +//get All +//router.route('/').get(vehicleController.getAll); + +router + .route('/') + .get(advancedResults(PlaceModel), placeController.getAll) // path , ref et nom de l'entité + + +//getById +router.route('/:id').get(placeController.getById); + +//create +router.route('/').post(placeController.create); + +//update +router.route('/:id').put(placeController.update); + +//delete +router.route('/:id').delete(placeController.delete); + +module.exports = router \ No newline at end of file diff --git a/feature/service/controller/service.controller.js b/feature/service/controller/service.controller.js new file mode 100644 index 0000000..574377a --- /dev/null +++ b/feature/service/controller/service.controller.js @@ -0,0 +1,53 @@ +const ServiceModel = require("../model/service.model") + + +//getAll +module.exports.getAll = (async (req, res)=>{ + + + + res.status(200).json(res.advancedResults); +}) + +//getById +module.exports.getById = (async (req, res)=>{ + //req.params.id + const service = await ServiceModel.findById(req.params.id); + if(!service){ + res.status(200).json({success: false, data : "noData"}); + return; + } + res.status(200).json({success: true, data :service }); +}) + +//create +module.exports.create = (async (req, res)=>{ + let service = req.body; + service = await ServiceModel.create(service); + res.status(200).json({success: true, data :service }); +}) + +//update +module.exports.update = (async (req, res)=>{ + let service = await ServiceModel.findById(req.params.id); + if(!service){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await ServiceModel.findByIdAndUpdate({_id:req.params.id}, req.body); + service = await ServiceModel.findById(req.params.id); + res.status(200).json({success: true, data :service }); +}) + +//delete +module.exports.delete = (async (req, res)=>{ + let service = await ServiceModel.findById(req.params.id); + if(!service){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await ServiceModel.deleteOne({_id:req.params.id}); + res.status(200).json({success: true, data :{} }); +}) \ No newline at end of file diff --git a/feature/service/model/service.model.js b/feature/service/model/service.model.js new file mode 100644 index 0000000..34084cd --- /dev/null +++ b/feature/service/model/service.model.js @@ -0,0 +1,32 @@ +const mongoose = require("mongoose"); + +const schema = mongoose.Schema({ + //String, Number, Boolean, MongoObject, Object + vente: { + type:String, + default: "" + }, + financement: { + type:String, + default: "" + }, + assurance: { + type:String, + default: "" + }, + programme: { + type:String, + default: "" + }, + location: { + type:String, + default: "" + }, + + gestion: { + type:String, + default: "" + } +}, { timestamps : true}); + +module.exports = mongoose.model('service', schema, 'services'); diff --git a/feature/service/route/service.route.js b/feature/service/route/service.route.js new file mode 100644 index 0000000..d12e976 --- /dev/null +++ b/feature/service/route/service.route.js @@ -0,0 +1,27 @@ +const express = require("express"); +const router = express.Router(); +const serviceController = require("../controller/service.controller"); +const ServiceModel = require("../model/service.model"); +const advancedResults = require("../../../shared/middleware/advanced-result") + +//get All +//router.route('/').get(vehicleController.getAll); + +router + .route('/') + .get(advancedResults(ServiceModel), serviceController.getAll) // path , ref et nom de l'entité + + +//getById +router.route('/:id').get(serviceController.getById); + +//create +router.route('/').post(serviceController.create); + +//update +router.route('/:id').put(serviceController.update); + +//delete +router.route('/:id').delete(serviceController.delete); + +module.exports = router \ No newline at end of file diff --git a/server.js b/server.js index e4f4ed8..7b7f585 100644 --- a/server.js +++ b/server.js @@ -24,6 +24,12 @@ app.use("/contact",contactRoute) const problemRoute= require('./feature/problem/route/problem.route') app.use("/problem",problemRoute) +const placeRoute= require('./feature/place/route/place.route') +app.use("/place",placeRoute) + +const serviceRoute= require('./feature/service/route/service.route') +app.use("/service",serviceRoute) + const server = app.listen(5000, ()=>{ console.log('Vous êtés connecter au port 5000'.yellow.bold); })