diff --git a/feature/carburant/controller/carburant.controller.js b/feature/carburant/controller/carburant.controller.js new file mode 100644 index 0000000..77cad2e --- /dev/null +++ b/feature/carburant/controller/carburant.controller.js @@ -0,0 +1,53 @@ +const CarburantModel = require("../model/carburant.model") + + +//getAll +module.exports.getAll = (async (req, res)=>{ + + + //res.status(200).json({success: true, data : carburant}); + res.status(200).json(res.advancedResults); +}) + +//getById +module.exports.getById = (async (req, res)=>{ + //req.params.id + const carburant = await CarburantModel.findById(req.params.id); + if(!carburant){ + res.status(200).json({success: false, data : "noData"}); + return; + } + res.status(200).json({success: true, data :carburant }); +}) + +//create +module.exports.create = (async (req, res)=>{ + let carburant = req.body; + carburant = await CarburantModel.create(carburant); + res.status(200).json({success: true, data :carburant }); +}) + +//update +module.exports.update = (async (req, res)=>{ + let carburant = await CarburantModel.findById(req.params.id); + if(!carburant){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await CarburantModel.updateOne({_id:req.params.id}, req.body); + carburant = await CarburantModel.findById(req.params.id); + res.status(200).json({success: true, data :carburant }); +}) + +//delete +module.exports.delete = (async (req, res)=>{ + let carburant = await CarburantModel.findById(req.params.id); + if(!carburant){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await CarburantModel.deleteOne({_id:req.params.id}); + res.status(200).json({success: true, data :{} }); +}) \ No newline at end of file diff --git a/feature/carburant/model/carburant.model.js b/feature/carburant/model/carburant.model.js new file mode 100644 index 0000000..f572e7b --- /dev/null +++ b/feature/carburant/model/carburant.model.js @@ -0,0 +1,20 @@ +const mongoose = require("mongoose"); + +const schema= mongoose.Schema({ + //String, Number, Boolean, MongoObject, Object + type: { + type: String, + default: "" + }, + prix: { + type: String, + default: "" + } +}, { timestamps : true}); + + + + +module.exports = mongoose.model('carburant', schema, 'carburants'); + + diff --git a/feature/carburant/route/carburant.route.js b/feature/carburant/route/carburant.route.js new file mode 100644 index 0000000..ab4de98 --- /dev/null +++ b/feature/carburant/route/carburant.route.js @@ -0,0 +1,27 @@ +const express = require("express"); +const router = express.Router(); +const carburantController = require("../controller/carburant.controller"); +const carburantModel = require("../model/carburant.model"); +const advancedResults = require("../../../shared/middleware/advanced-result") + +//get All +//router.route('/').get(carburantController.getAll); + +router + .route('/') + .get(advancedResults(carburantModel), carburantController.getAll) // path , ref et nom de l'entité + + +//getById +router.route('/:id').get(carburantController.getById); + +//create +router.route('/').post(carburantController.create); + +//update +router.route('/:id').put(carburantController.update); + +//delete +router.route('/:id').delete(carburantController.delete); + +module.exports = router \ No newline at end of file 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/feature/utilisateur/controller/utilisateur.controller.js b/feature/utilisateur/controller/utilisateur.controller.js new file mode 100644 index 0000000..a672b5c --- /dev/null +++ b/feature/utilisateur/controller/utilisateur.controller.js @@ -0,0 +1,53 @@ +const UtilisateurModel = require("../model/utilisateur.model") + + +//getAll +module.exports.getAll = (async (req, res)=>{ + + + //res.status(200).json({success: true, data : utilisateur}); + res.status(200).json(res.advancedResults); +}) + +//getById +module.exports.getById = (async (req, res)=>{ + //req.params.id + const utilisateur = await UtilisateurModel.findById(req.params.id); + if(!utilisateur){ + res.status(200).json({success: false, data : "noData"}); + return; + } + res.status(200).json({success: true, data :utilisateur }); +}) + +//create +module.exports.create = (async (req, res)=>{ + let utilisateur = req.body; + utilisateur = await UtilisateurModel.create(utilisateur); + res.status(200).json({success: true, data :utilisateur }); +}) + +//update +module.exports.update = (async (req, res)=>{ + let utilisateur = await UtilisateurModel.findById(req.params.id); + if(!utilisateur){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await UtilisateurModel.updateOne({_id:req.params.id}, req.body); + utilisateur = await UtilisateurModel.findById(req.params.id); + res.status(200).json({success: true, data :utilisateur }); +}) + +//delete +module.exports.delete = (async (req, res)=>{ + let utilisateur = await UtilisateurModel.findById(req.params.id); + if(!utilisateur){ + res.status(200).json({success: false, data : "noData"}); + return; + } + + await UtilisateurModel.deleteOne({_id:req.params.id}); + res.status(200).json({success: true, data :{} }); +}) \ No newline at end of file diff --git a/feature/utilisateur/model/utilisateur.model.js b/feature/utilisateur/model/utilisateur.model.js new file mode 100644 index 0000000..6e6e43c --- /dev/null +++ b/feature/utilisateur/model/utilisateur.model.js @@ -0,0 +1,29 @@ +const mongoose = require("mongoose"); +const string_decoder = require("string_decoder"); + +const schema= mongoose.Schema({ + //String, Number, Boolean, MongoObject, Object + name: { + type: String, + default: "" + }, + firstname: { + type: String, + default: "" + }, + country: { + type: String, + default: "" + }, + city: { + type: String, + default: "" + } +}, { timestamps : true}); + + + + +module.exports = mongoose.model('utilisateur', schema, 'utilisateurs'); + + diff --git a/feature/utilisateur/route/utilisateur.route.js b/feature/utilisateur/route/utilisateur.route.js new file mode 100644 index 0000000..694e87f --- /dev/null +++ b/feature/utilisateur/route/utilisateur.route.js @@ -0,0 +1,27 @@ +const express = require("express"); +const router = express.Router(); +const utilisateurController = require("../controller/utilisateur.controller"); +const utilisateurModel = require("../model/utilisateur.model"); +const advancedResults = require("../../../shared/middleware/advanced-result") + +//get All +//router.route('/').get(utilisateurController.getAll); + +router + .route('/') + .get(advancedResults(utilisateurModel), utilisateurController.getAll) // path , ref et nom de l'entité + + +//getById +router.route('/:id').get(utilisateurController.getById); + +//create +router.route('/').post(utilisateurController.create); + +//update +router.route('/:id').put(utilisateurController.update); + +//delete +router.route('/:id').delete(utilisateurController.delete); + +module.exports = router \ No newline at end of file diff --git a/server.js b/server.js index e4f4ed8..d5241cf 100644 --- a/server.js +++ b/server.js @@ -24,6 +24,19 @@ 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) + +// route carburant +const carburantRoute = require("./feature/carburant/route/carburant.route"); +app.use("/carburant", carburantRoute); +// route utilisateur +const utilisateurRoute = require("./feature/utilisateur/route/utilisateur.route"); +app.use("/utilisateur", utilisateurRoute); + const server = app.listen(5000, ()=>{ console.log('Vous êtés connecter au port 5000'.yellow.bold); })