UNPKG

imagina.productora

Version:

Imagina es una productora de entretenimiento que te brinda un servicio completamente personalizable para tus eventos, acompañándote en todas las fases de este proceso para que logres sentirte cómodo y festejes con tus seres queridos, te hacemos parte

160 lines (145 loc) 4.27 kB
const express =require ('express'); const router = express.Router(); const testimonioModel= require('../models/testimonios') /** * @swagger * components: * schemas: * Testimonios: * type: object * properties: * nombre: * type: string, * required: true * testimonio: * type: string, * required: true * fecha: * type: string * format: date * required: true * required: * -nombre * -testimonio * -fecha * */ //Obtener una lista con todos los testimonios /** * @swagger * /api/testimonios: * get: * summary: Obtiene una lista con todos los testimonios * tags: [Testimonios de nuestros clientes] * responses: * 200: * description: Lista de testimonios obtenida con éxito * content: * application/json: * schema: * type: array * items: * $ref: '#/components/schemas/Testimonios' * 500: * description: Error en el servidor */ router.get('/testimonios', (req, res) => { testimonioModel.find() .then((data) => res.json(data)) .catch((error) => res.status(500).json({ mensaje: error })); }); //Crear un nuevo testimonio /** * @swagger * /api/testimonios: * post: * summary: Agrega tu testimonio * tags: [Testimonios de nuestros clientes] * requestBody: * required: true * content: * application/json: * schema: * $ref: '#/components/schemas/Testimonios' * responses: * 200: * description: Testimonio agregado con éxito * 500: * description: Error en el servidor */ router.post('/testimonios', (req, res) => { const {nombre, testimonio} = req.body; const nuevoTestimonio = new testimonioModel({ nombre, testimonio, fecha: new Date() }); nuevoTestimonio .save() .then((data) => res.json(data)) .catch((error) => res.status(500).json({ mensaje: error })); }); //actualiza tu comentario /** * @swagger * /api/testimonios/{id}: * put: * summary: Actualiza un testimonio existente por su ID * tags: [Testimonios de nuestros clientes] * parameters: * - in: path * name: id * description: ID del testimonio a actualizar * schema: * type: string * required: true * requestBody: * required: true * content: * application/json: * schema: * $ref: '#/components/schemas/Testimonios' * responses: * 200: * description: Testimonio actualizado con éxito * 404: * description: Testimonio no encontrado * 500: * description: Error en el servidor */ router.put('/testimonios/:id', (req, res)=>{ const {id} = req.params; const {nombre, testimonio}= req.body; testimonioModel.findByIdAndUpdate(id, {nombre, testimonio }, { new: true }) .then((data) => res.json(data)) .catch((error) => res.status(500).json({mensaje: error.message })) }); //Borrar testimonio por ID /** * @swagger * /api/testimonios: * delete: * summary: Elimina un testimonio por su ID * tags: [Testimonios de nuestros clientes] * parameters: * - in: query * name: id * description: ID del testimonio a eliminar * schema: * type: string * required: true * responses: * 200: * description: Testimonio eliminado con éxito * 404: * description: Testimonio no encontrado * 500: * description: Error en el servidor */ router.delete('/testimonios/:id', (req, res) => { const { id } = req.query; testimonioModel.findByIdAndRemove(id) .then((data) => res.json(data)) .catch((error) => res.json({mensaje:error})) }); module.exports = router;