commit init

master
Smile 2024-08-15 18:46:07 +01:00
commit 4fa7ba527b
15 changed files with 1459 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/node_modules

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/coryas-api.iml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/coryas-api.iml" filepath="$PROJECT_DIR$/.idea/coryas-api.iml" />
</modules>
</component>
</project>

19
.idea/php.xml Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

7
READ_ME.md Normal file
View File

@ -0,0 +1,7 @@
vehicle
****
mark
model
matricule
slug

View File

@ -0,0 +1,51 @@
const VehicleModel = require("../model/vehicle.model")
//getAll
module.exports.getAll = (async (req, res)=>{
const vehicles = await VehicleModel.find();
res.status(200).json({success: true, data : vehicles});
})
//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;
}
await VehicleModel.deleteOne(req.params.id);
res.status(200).json({success: true, data :{} });
})

View File

@ -0,0 +1,27 @@
const mongoose = require("mongoose");
const schema = mongoose.Schema({
//String, Number, Boolean, MongoObject, Object
mark: {
type:String,
default: ""
},
model: {
type:String,
default: ""
},
year: {
type:Number,
default: 1988
},
matricule: {
type:String,
default: ""
},
isMazout: {
type:Boolean,
default: false
}
}, { timestamps : true});
module.exports = mongoose.model('vehicle', schema, 'vehicles');

View File

@ -0,0 +1,21 @@
const express = require("express");
const router = express.Router();
const vehicleController = require("../controller/vehicle.controller")
//get All
router.route('/').get(vehicleController.getAll);
//getById
router.route('/').get(vehicleController.getById);
//create
router.route('/').post(vehicleController.create);
//update
router.route('/').put(vehicleController.update);
//delete
router.route('/').delete(vehicleController.delete);
module.exports = router

1256
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

19
package.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "coryas-api",
"version": "1.0.0",
"description": "Courses",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon server"
},
"author": "Coryas",
"license": "ISC",
"dependencies": {
"colors": "^1.4.0",
"cors": "^2.8.5",
"express": "^4.19.2",
"mongoose": "^8.5.3",
"nodemon": "^3.1.4"
}
}

20
server.js Normal file
View File

@ -0,0 +1,20 @@
const express = require('express');
const app = express();
const cors = require("cors");
const colors = require("colors");
const connectedDB = require("./shared/config/db");
//define sending data json
app.use(express.json({limit:"50mb"}));
//define cors eligible
app.use(cors());
// route vehicle
const vehicleRoute = require("./feature/vehicle/route/vehicle.route");
app.use("/vehicle", vehicleRoute);
const server = app.listen(5000, ()=>{
console.log('Vous êtés connecter au port 5000'.yellow.bold);
})

0
shared/config/config.env Normal file
View File

8
shared/config/db.js Normal file
View File

@ -0,0 +1,8 @@
const mongoose = require("mongoose");
const connectDB = async ()=>{
const conn = await mongoose.connect("mongodb://127.0.0.1:27017/coryas");
console.log(`MongoDB Connecter: ${conn.connection.host}`.cyan.bold)
}
module.exports = connectDB();