inicializacion del proyecto.

This commit is contained in:
Pablinux
2025-09-28 15:02:50 -05:00
parent bb424ce537
commit 972749cee2
6 changed files with 284 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ 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);//
@@ -24,4 +25,75 @@ 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;