# Endpoints Inventario de los endpoints de todos los módulos, generado del filesystem en cada carga. La descripción sale del comentario de cabecera de cada archivo. ## Convenciones Los endpoints son archivos PHP sueltos que devuelven JSON. **No pasan por el enrutador**: se invocan por su ruta real. ``` modules/turnero/api/get_historial.php api/lab/save_domicilio.php ``` Cada módulo tiene su `api/_helpers.php` con lo común. Los archivos que empiezan con guión bajo son internos y no se listan acá. ### Helpers típicos | Función | Qué hace | |---|---| | `db()` | Conexión PDO | | `inputJson()` | Cuerpo de la petición como arreglo | | `jsonOk($datos)` | Respuesta correcta | | `jsonError($msg, $codigo)` | Error con código HTTP | | `adminId()` | Id del usuario de la sesión | | `requireMethod('POST')` | Corta si el método no coincide | | `requireTurnero()` | Corta si no tiene acceso al turnero | ### Reglas al agregar uno 1. **Verifique permisos en el propio endpoint.** Que la vista haya ocultado el botón no protege nada. 2. **Resuelva la identidad en el servidor.** Para saber quién hace una acción, use `adminId()`, no un valor que mande el navegador. 3. **Consultas preparadas siempre.** 4. **Deje un comentario de cabecera** describiendo qué hace y qué recibe: es lo que aparece en la tabla de abajo. ## Inventario {{endpoints}} ## Endpoints fuera de módulos `api/lab/` agrupa los del laboratorio de la generación anterior — domicilios, pacientes, formularios, configuración. Siguen las mismas convenciones y usan `api/lab/_helpers.php`.