/** * API Constants - SSOT (Single Source of Truth) * * Todas las rutas de API, versiones y endpoints. * NO hardcodear rutas en controllers o frontend. * * @module @shared/constants/api */ /** * API Version */ export declare const API_VERSION = "v1"; export declare const API_PREFIX = "/api/v1"; /** * API Routes organized by Module */ export declare const API_ROUTES: { readonly ROOT: "/"; readonly HEALTH: "/health"; readonly DOCS: "/api/v1/docs"; readonly AUTH: { readonly BASE: "/api/v1/auth"; readonly LOGIN: "/api/v1/auth/login"; readonly LOGOUT: "/api/v1/auth/logout"; readonly REFRESH: "/api/v1/auth/refresh"; readonly REGISTER: "/api/v1/auth/register"; readonly FORGOT_PASSWORD: "/api/v1/auth/forgot-password"; readonly RESET_PASSWORD: "/api/v1/auth/reset-password"; readonly ME: "/api/v1/auth/me"; readonly CHANGE_PASSWORD: "/api/v1/auth/change-password"; }; readonly USERS: { readonly BASE: "/api/v1/users"; readonly BY_ID: (id: string) => string; readonly ROLES: (id: string) => string; }; readonly TENANTS: { readonly BASE: "/api/v1/tenants"; readonly BY_ID: (id: string) => string; readonly CURRENT: "/api/v1/tenants/current"; }; readonly PROYECTOS: { readonly BASE: "/api/v1/proyectos"; readonly BY_ID: (id: string) => string; readonly FRACCIONAMIENTOS: (id: string) => string; readonly DASHBOARD: (id: string) => string; readonly PROGRESS: (id: string) => string; }; readonly FRACCIONAMIENTOS: { readonly BASE: "/api/v1/fraccionamientos"; readonly BY_ID: (id: string) => string; readonly ETAPAS: (id: string) => string; readonly MANZANAS: (id: string) => string; readonly LOTES: (id: string) => string; }; readonly PRESUPUESTOS: { readonly BASE: "/api/v1/presupuestos"; readonly BY_ID: (id: string) => string; readonly PARTIDAS: (id: string) => string; readonly COMPARE: (id: string) => string; readonly VERSIONS: (id: string) => string; }; readonly AVANCES: { readonly BASE: "/api/v1/avances"; readonly BY_ID: (id: string) => string; readonly BY_PROYECTO: (proyectoId: string) => string; readonly CURVA_S: (proyectoId: string) => string; readonly FOTOS: (id: string) => string; }; readonly EMPLOYEES: { readonly BASE: "/api/v1/employees"; readonly BY_ID: (id: string) => string; readonly ASISTENCIAS: (id: string) => string; readonly CAPACITACIONES: (id: string) => string; }; readonly ASISTENCIAS: { readonly BASE: "/api/v1/asistencias"; readonly BY_ID: (id: string) => string; readonly CHECK_IN: "/api/v1/asistencias/check-in"; readonly CHECK_OUT: "/api/v1/asistencias/check-out"; readonly BY_PROYECTO: (proyectoId: string) => string; }; readonly CUADRILLAS: { readonly BASE: "/api/v1/cuadrillas"; readonly BY_ID: (id: string) => string; readonly MIEMBROS: (id: string) => string; }; readonly INCIDENTES: { readonly BASE: "/api/v1/incidentes"; readonly BY_ID: (id: string) => string; readonly INVOLUCRADOS: (id: string) => string; readonly ACCIONES: (id: string) => string; readonly BY_PROYECTO: (proyectoId: string) => string; }; readonly CAPACITACIONES: { readonly BASE: "/api/v1/capacitaciones"; readonly BY_ID: (id: string) => string; readonly PARTICIPANTES: (id: string) => string; readonly CERTIFICADOS: (id: string) => string; }; readonly INSPECCIONES: { readonly BASE: "/api/v1/inspecciones"; readonly BY_ID: (id: string) => string; readonly HALLAZGOS: (id: string) => string; }; readonly EPP: { readonly BASE: "/api/v1/epp"; readonly BY_ID: (id: string) => string; readonly ASIGNACIONES: "/api/v1/epp/asignaciones"; readonly ENTREGAS: "/api/v1/epp/entregas"; readonly STOCK: "/api/v1/epp/stock"; }; readonly ESTIMACIONES: { readonly BASE: "/api/v1/estimaciones"; readonly BY_ID: (id: string) => string; readonly CONCEPTOS: (id: string) => string; readonly GENERADORES: (id: string) => string; readonly WORKFLOW: (id: string) => string; readonly SUBMIT: (id: string) => string; readonly APPROVE: (id: string) => string; readonly REJECT: (id: string) => string; }; readonly INFONAVIT: { readonly BASE: "/api/v1/infonavit"; readonly REGISTRO: "/api/v1/infonavit/registro"; readonly OFERTA: "/api/v1/infonavit/oferta"; readonly DERECHOHABIENTES: "/api/v1/infonavit/derechohabientes"; readonly ASIGNACIONES: "/api/v1/infonavit/asignaciones"; readonly ACTAS: "/api/v1/infonavit/actas"; readonly REPORTES: "/api/v1/infonavit/reportes"; }; readonly ALMACENES: { readonly BASE: "/api/v1/almacenes"; readonly BY_ID: (id: string) => string; readonly BY_PROYECTO: (proyectoId: string) => string; readonly STOCK: (id: string) => string; }; readonly REQUISICIONES: { readonly BASE: "/api/v1/requisiciones"; readonly BY_ID: (id: string) => string; readonly LINEAS: (id: string) => string; readonly SUBMIT: (id: string) => string; readonly APPROVE: (id: string) => string; }; readonly COMPRAS: { readonly BASE: "/api/v1/compras"; readonly BY_ID: (id: string) => string; readonly LINEAS: (id: string) => string; readonly COMPARATIVO: "/api/v1/compras/comparativo"; readonly RECEPCIONES: (id: string) => string; }; readonly PROVEEDORES: { readonly BASE: "/api/v1/proveedores"; readonly BY_ID: (id: string) => string; readonly COTIZACIONES: (id: string) => string; }; readonly CONTRATOS: { readonly BASE: "/api/v1/contratos"; readonly BY_ID: (id: string) => string; readonly PARTIDAS: (id: string) => string; readonly ESTIMACIONES: (id: string) => string; }; readonly REPORTS: { readonly BASE: "/api/v1/reports"; readonly DASHBOARD: "/api/v1/reports/dashboard"; readonly AVANCE_FISICO: "/api/v1/reports/avance-fisico"; readonly AVANCE_FINANCIERO: "/api/v1/reports/avance-financiero"; readonly CURVA_S: "/api/v1/reports/curva-s"; readonly PRESUPUESTO_VS_REAL: "/api/v1/reports/presupuesto-vs-real"; readonly KPI_HSE: "/api/v1/reports/kpi-hse"; readonly EXPORT: "/api/v1/reports/export"; }; }; /** * HTTP Methods */ export declare const HTTP_METHODS: { readonly GET: "GET"; readonly POST: "POST"; readonly PUT: "PUT"; readonly PATCH: "PATCH"; readonly DELETE: "DELETE"; }; /** * HTTP Status Codes */ export declare const HTTP_STATUS: { readonly OK: 200; readonly CREATED: 201; readonly NO_CONTENT: 204; readonly BAD_REQUEST: 400; readonly UNAUTHORIZED: 401; readonly FORBIDDEN: 403; readonly NOT_FOUND: 404; readonly CONFLICT: 409; readonly UNPROCESSABLE_ENTITY: 422; readonly INTERNAL_SERVER_ERROR: 500; readonly SERVICE_UNAVAILABLE: 503; }; /** * Content Types */ export declare const CONTENT_TYPES: { readonly JSON: "application/json"; readonly FORM_URLENCODED: "application/x-www-form-urlencoded"; readonly MULTIPART: "multipart/form-data"; readonly PDF: "application/pdf"; readonly EXCEL: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; }; //# sourceMappingURL=api.constants.d.ts.map