const express = require('express'); const rutas = express.Router(); const controlador_init = require('../controladores/controlador_Apps'); const controlador_videos = require('../controladores/controlador_videos'); // Controlador para videos const controlador_sinc_docs = require('../controladores/controlador_sincronizacion_docs'); // NUEVO: Controlador para documentos electrónicos rutas.get('/app_restaurant', controlador_init.app_restaurant);//login testing css / dev //rutas.get('/usuarios', controlador_init.user);// rutas.get('/dash_board', controlador_init.dashboard);// rutas.get('/users', controlador_init.user);//devuelve usuaios con el el ROL meseros rutas.get('/speedtest', controlador_init.speedtest);//testing velocimetro server /*** CONFIGURACION DE UN PAGINA QUE CONFIGURE EL ARCHIVO config.js ***/ rutas.get('/configuracion', controlador_init.config);//llama a un view de configuracion del archivo config.js rutas.get('/video', controlador_videos.video_v1);//videos sigma server rutas.get('/video_upload', controlador_videos.upload_v1);//(GET) Muestra el formulario de subida V1 (antiguo) rutas.post('/video_upload', controlador_videos.uploadVideoV1); //(POST) Procesa la subida del formulario V1 (antiguo) rutas.get('/videos', controlador_videos.videos_v2);//videos sigma server rutas.get('/videos_upload', controlador_videos.upload_v2);//videos sigma server (version nueva) rutas.post('/videos_upload', controlador_videos.uploadVideo); // Nueva ruta para manejar la subida // --- API para Sincronización de Documentos Electrónicos (desde n8n) --- /** * @swagger * /api/documentos-electronicos: * post: * summary: Registra un nuevo documento electrónico para ser procesado. * tags: [Sincronización Documentos] * requestBody: * required: true * content: * application/json: * schema: * type: object * required: [tipo_documento, entidad_emisora, entidad_receptora, numero_autorizacion, fecha_registrada] * properties: * tipo_documento: { type: string, example: "01" } * entidad_emisora: { type: string, example: "RUC_EMISOR" } * entidad_receptora: { type: string, example: "RUC_RECEPTOR" } * numero_autorizacion: { type: string, example: "1234567890123456789012345678901234567890123456789" } * fecha_registrada: { type: string, format: date-time, example: "2023-10-27T10:00:00Z" } * responses: * 201: { description: Documento registrado exitosamente. } * 400: { description: Datos de entrada inválidos. } * 409: { description: El documento ya existe (conflicto). } * 500: { description: Error del servidor. } * get: * summary: Lista todos los documentos electrónicos registrados. * tags: [Sincronización Documentos] * parameters: * - in: query * name: estado * schema: * type: string * enum: [pendiente, procesado, error] * description: Filtra los documentos por su estado de sincronización. * responses: * 200: { description: Lista de documentos. } * 500: { description: Error del servidor. } */ rutas.post('/api/documentos-electronicos', controlador_sinc_docs.crearDocumento); rutas.get('/api/documentos-electronicos', controlador_sinc_docs.listarDocumentos); /** * @swagger * /api/documentos-electronicos/{id}/estado: * put: * summary: Actualiza el estado de sincronización de un documento. * tags: [Sincronización Documentos] * parameters: * - in: path * name: id * required: true * schema: { type: integer } * requestBody: * required: true * content: * application/json: * schema: * type: object * required: [estado_sincronizacion] * properties: * estado_sincronizacion: { type: string, enum: [pendiente, procesado, error], example: "procesado" } * responses: * 200: { description: Estado actualizado correctamente. } * 400: { description: Estado inválido. } * 404: { description: Documento no encontrado. } * 500: { description: Error del servidor. } */ rutas.put('/api/documentos-electronicos/:id/estado', controlador_sinc_docs.actualizarEstadoDocumento); module.exports = rutas;