210 lines
7.6 KiB
TypeScript
210 lines
7.6 KiB
TypeScript
/**
|
|
* 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
|