Skip to content

Commit

Permalink
Merge pull request #131 from fga-eps-mds/devel
Browse files Browse the repository at this point in the history
Atualizar main
  • Loading branch information
carlinhos-pinheiro authored Apr 6, 2021
2 parents ff4cba7 + acf21cb commit a339a3f
Show file tree
Hide file tree
Showing 4 changed files with 144 additions and 0 deletions.
78 changes: 78 additions & 0 deletions src/controllers/VacineController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
const { response } = require('express');
const express = require('express');
const Vacine = require('../models/Vacine');

async function createVacine(request, response){

try{
const newVacine = new Vacine(request.body);
const savedVacine = await newVacine.save();
response.send({savedVacine: savedVacine});

}
catch(error){
response.status(500).send({error: error});
}

}


//
async function listVacines(request, response){
try{
const vacines = await Vacine.find({});
response.send({vacines: vacines});
}
catch(error){
response.status(500).send({error: error})
}
}

async function getVacineById(request, response){

try {
const vacine = await Vacine.findById(request.params.vacineId);

if(vacine!=null)
response.send({ vacine });

else
response.status(400).send({error:'Vacine not found'});

} catch (error) {
response.status(400).send({error: 'Vacine ID is wrong format'});
}
}

async function updateVacine(request, response){
try{

//updating vacine

const id = request.params.vacineId;
const update = request.body;
const options = {new: true};
const updtedVacine = await Vacine.findByIdAndUpdate(id, update, options);
if(updtedVacine!=null)
response.send({updtedVacine});

else
response.status(400).send({error: 'Vacine not found, check id again'});

}catch(error){
response.status(400).send({error: 'Failed to update vacine, maybe the id is wrong format: ' + error.message});
}
}

async function deleteVacine(request, response){
try{
const id = request.params.vacineId;
await Vacine.findByIdAndDelete(id);
response.send({message: 'Successfully deleted use with id: ' + id});
}
catch(error){
response.status(400).send({error: 'Failed to delete Vacine : ' + error.message});
}
}

module.exports = {createVacine, getVacineById, listVacines, updateVacine, deleteVacine};
46 changes: 46 additions & 0 deletions src/models/Vacine.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
const mongoose = require('mongoose');

const VacineSchema = new mongoose.Schema({

name: {
type: String,
required: true,
unique: true,
},

description: {
type: String,
required: true,
},

numberOfDoses:{
type: Number,
required: true
},

numberOfDosesTaken:{
type: Number,
required: true
},

preventDeseases:{
type: [String],
required: true,
},

recommendations:{
type: [String],
required: true,
},

periodicity:{
type: Number,
required: true,
}

});


const Vacine = mongoose.model("Vacine", VacineSchema);

module.exports = Vacine;
3 changes: 3 additions & 0 deletions src/routes/BaseRoute.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ const { Router } = require('express');
// importar rotas
const userRoutes = require('./UserRoute');
const authRoutes = require('./AuthRoute');
const vacineRoutes = require('./VacineRoute');
//

const routes = Router();

routes.use('/user', userRoutes);
routes.use('/auth', authRoutes);
routes.use('/vacine', vacineRoutes);




Expand Down
17 changes: 17 additions & 0 deletions src/routes/VacineRoute.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { response } = require('express');
const express = require('express');

const VacineController = require('../controllers/VacineController');


const routes = express.Router();


routes.post('/', VacineController.createVacine);
routes.get('/', VacineController.listVacines);
routes.get('/:vacineId', VacineController.getVacineById);
routes.put('/:vacineId', VacineController.updateVacine);
routes.delete('/:vacineId', VacineController.deleteVacine);


module.exports = routes;

0 comments on commit a339a3f

Please sign in to comment.