Files
APP-SIGMA-WEB/src/rutas/rt_apps.js
2025-09-28 15:02:50 -05:00

99 lines
4.3 KiB
JavaScript

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;