finish taller5

This commit is contained in:
2021-11-26 21:36:26 -03:00
parent aa1848691e
commit 0232b1dcf1
29 changed files with 13885 additions and 0 deletions

View 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
};

View 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
View 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;

View 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);

View 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);

View 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"
}
}

View 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;

View 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

File diff suppressed because it is too large Load Diff