'use strict' var Especialista = require('../models/especialista.js'); function list_especialistas(req, res) { Especialista.find({}, (err, especialistas) => { if (err) { return res.status(500).send({ message: 'Error: Could not get especialistas!' }); } res.status(200).send({ especialistas }); }).populate('especialidad'); } function list_especialistas_especialidad(req, res) { let especialidad = { 'especialidad': req.params.id }; Especialista.find(especialidad, (err, especialistas) => { if (err) { return res.status(500).send({ message: 'Error: Could not get especialistas!' }); } res.status(200).send({ especialistas }); }).populate('especialidad'); } function show_especialista(req, res) { let id = { '_id': req.params.id }; Especialista.findOne(id, (err, especialista) => { if (err) { return res.status(500).send({ message: 'Error: Could not get especialista!' }); } res.status(200).send({ especialista }); }).populate('especialidad'); } function new_especialista(req, res) { try { let especialista = new Especialista(); especialista.nombre = req.body.nombre; especialista.especialidad = req.body.especialidad; especialista.save((err, especialistaSave) => { if (err) { return res.status(400).send({ message: `Error: Could not save especialista to database!> ${err}` }); } res.status(200).send({ especialista: especialistaSave }); }); } catch (error) { res.status(500).send({ message: `error: ` + error }); } } function delete_especialista(req, res) { let id = { '_id': req.params.id }; Especialista.deleteOne(id, (err, especialista) => { if (err) { return res.status(400).send({ message: `Error: Could not delete especialista from database!> ${err}` }); } if (especialista.deletedCount == 1) { res.status(200).send({ message: `Especialista deleted!` }); } else { res.status(400).send({ message: `Error: Especialista could not be deleted!` }); } }); } module.exports = { list_especialistas, list_especialistas_especialidad, show_especialista, new_especialista, delete_especialista };