finish taller5
This commit is contained in:
49
taller5/backend/controllers/autoController.js
Normal file
49
taller5/backend/controllers/autoController.js
Normal file
@@ -0,0 +1,49 @@
|
||||
var Auto = require('../models/auto.js');
|
||||
|
||||
function list_autos(req, res) {
|
||||
Auto.find({}, (err, auto) => {
|
||||
if (err) {
|
||||
return res.status(500).send({ message: 'Error: Could not get autos!' });
|
||||
}
|
||||
res.status(200).send({ auto });
|
||||
}).populate('marca')
|
||||
}
|
||||
|
||||
function new_auto(req, res) {
|
||||
try{
|
||||
let auto = new Auto();
|
||||
auto.patente = req.body.patente;
|
||||
auto.anio = req.body.anio;
|
||||
auto.marca = req.body.marca;
|
||||
auto.save((err, autoSave) => {
|
||||
if (err) {
|
||||
return res.status(400).send({ message: `Error: Could not save auto to database!> ${err}` });
|
||||
}
|
||||
res.status(200).send({ auto: autoSave });
|
||||
})
|
||||
}
|
||||
catch (error) {
|
||||
res.status(500).send({ message: `error: ` + error });
|
||||
}
|
||||
}
|
||||
|
||||
function delete_auto(req, res) {
|
||||
let id = { '_id': req.params.id };
|
||||
Auto.deleteOne(id, (err, auto) => {
|
||||
if (err) {
|
||||
return res.status(400).send({ message: `Error: Could not delete auto from database!> ${err}` });
|
||||
}
|
||||
if (auto.deletedCount == 1) {
|
||||
res.status(200).send({ message: `Auto deleted!` });
|
||||
}
|
||||
else {
|
||||
res.status(400).send({ message: `Error: Auto could not be deleted!` });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
list_autos,
|
||||
new_auto,
|
||||
delete_auto
|
||||
};
|
47
taller5/backend/controllers/marcaController.js
Normal file
47
taller5/backend/controllers/marcaController.js
Normal file
@@ -0,0 +1,47 @@
|
||||
var Marca = require('../models/marca.js');
|
||||
|
||||
function list_marcas(req, res) {
|
||||
Marca.find({}, (err, marca) => {
|
||||
if (err) {
|
||||
return res.status(500).send({ message: 'Error: Could not get marcas!' });
|
||||
}
|
||||
res.status(200).send({ marca });
|
||||
})
|
||||
}
|
||||
|
||||
function new_marca(req, res) {
|
||||
try{
|
||||
let marca = new Marca();
|
||||
marca.descripcion = req.body.descripcion;
|
||||
marca.save((err, marcaSave) => {
|
||||
if (err) {
|
||||
return res.status(400).send({ message: `Error: Could not save marca to database!> ${err}` });
|
||||
}
|
||||
res.status(200).send({ marca: marcaSave });
|
||||
})
|
||||
}
|
||||
catch (error) {
|
||||
res.status(500).send({ message: `error: ` + error });
|
||||
}
|
||||
}
|
||||
|
||||
function delete_marca(req, res) {
|
||||
let id = { '_id': req.params.id };
|
||||
Marca.deleteOne(id, (err, marca) => {
|
||||
if (err) {
|
||||
return res.status(400).send({ message: `Error: Could not delete marca from database!> ${err}` });
|
||||
}
|
||||
if (marca.deletedCount == 1) {
|
||||
res.status(200).send({ message: `Marca deleted!` });
|
||||
}
|
||||
else {
|
||||
res.status(400).send({ message: `Error: Marca could not be deleted!` });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
list_marcas,
|
||||
new_marca,
|
||||
delete_marca
|
||||
};
|
44
taller5/backend/index.js
Normal file
44
taller5/backend/index.js
Normal file
@@ -0,0 +1,44 @@
|
||||
'use strict'
|
||||
require('dotenv').config();
|
||||
const express = require('express');
|
||||
const bodyParser = require('body-parser');
|
||||
const app = express();
|
||||
|
||||
var cors = require('cors');
|
||||
app.use(cors());
|
||||
app.options('*', cors());
|
||||
|
||||
var marca_route = require('./routes/marcaRoute');
|
||||
var auto_route = require('./routes/autoRoute');
|
||||
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
app.use(bodyParser.json());
|
||||
|
||||
app.use('/api', marca_route);
|
||||
app.use('/api', auto_route);
|
||||
|
||||
const options = {
|
||||
useNewUrlParser: true,
|
||||
useCreateIndex: true,
|
||||
autoIndex: true,
|
||||
keepAlive: true,
|
||||
poolSize: 10,
|
||||
bufferMaxEntries: 0,
|
||||
connectTimeoutMS: 10000,
|
||||
socketTimeoutMS: 45000,
|
||||
family: 4,
|
||||
useFindAndModify: false,
|
||||
useUnifiedTopology: true
|
||||
}
|
||||
|
||||
mongoose.connect(`mongodb://192.99.144.232:27017/grupo12?security=false`, options)
|
||||
.then(() => console.log('> Successfully connected to DB'))
|
||||
.catch(err => console.log(err));
|
||||
|
||||
app.listen(5000, () => {
|
||||
console.log('> Service running on port 5000');
|
||||
})
|
||||
|
||||
module.exports = app;
|
10
taller5/backend/models/auto.js
Normal file
10
taller5/backend/models/auto.js
Normal file
@@ -0,0 +1,10 @@
|
||||
'use strict'
|
||||
const mongoose = require('mongoose');
|
||||
const Schema = mongoose.Schema;
|
||||
const AutoSchema = Schema({
|
||||
patente: String,
|
||||
anio: Number,
|
||||
marca: { type: Schema.ObjectId, ref: "marca" }
|
||||
});
|
||||
|
||||
module.exports = mongoose.model('auto', AutoSchema);
|
8
taller5/backend/models/marca.js
Normal file
8
taller5/backend/models/marca.js
Normal file
@@ -0,0 +1,8 @@
|
||||
'use strict'
|
||||
const mongoose = require('mongoose');
|
||||
const Schema = mongoose.Schema;
|
||||
const MarcaSchema = Schema({
|
||||
descripcion: String
|
||||
});
|
||||
|
||||
module.exports = mongoose.model('marca', MarcaSchema);
|
22
taller5/backend/package.json
Normal file
22
taller5/backend/package.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "nodemon index.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^10.0.0",
|
||||
"express": "^4.17.1",
|
||||
"mongoose": "5.9.24"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.15"
|
||||
}
|
||||
}
|
12
taller5/backend/routes/autoRoute.js
Normal file
12
taller5/backend/routes/autoRoute.js
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict'
|
||||
var express = require('express');
|
||||
|
||||
var autoController = require('../controllers/autoController');
|
||||
|
||||
var api = express.Router();
|
||||
|
||||
api.get('/auto', autoController.list_autos);
|
||||
api.post('/auto', autoController.new_auto);
|
||||
api.delete('/auto/:id', autoController.delete_auto);
|
||||
|
||||
module.exports = api;
|
12
taller5/backend/routes/marcaRoute.js
Normal file
12
taller5/backend/routes/marcaRoute.js
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict'
|
||||
var express = require('express');
|
||||
|
||||
var marcaController = require('../controllers/marcaController');
|
||||
|
||||
var api = express.Router();
|
||||
|
||||
api.get('/marca', marcaController.list_marcas);
|
||||
api.post('/marca', marcaController.new_marca);
|
||||
api.delete('/marca/:id', marcaController.delete_marca);
|
||||
|
||||
module.exports = api;
|
1336
taller5/backend/yarn.lock
Normal file
1336
taller5/backend/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user