Elevators
Tag: elevators
Descripción: Operaciones para gestión de elevadores asociados a servicios de sucursal
1. Crear nuevo elevador (POST /elevators)
Sección titulada «1. Crear nuevo elevador (POST /elevators)»- Descripción: Registra un nuevo elevador en el sistema
- Operation ID:
ElevatorsController_create - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_MANAGER)
Request Body
Sección titulada «Request Body»{ "branchServiceId": 1, "brand": "Otis", "model": "Gen2", "serialNumber": "OTIS-2023-001", "capacity": 1000, "installationDate": "2023-01-15", "lastMaintenanceDate": "2023-05-01", "nextMaintenanceDate": "2023-11-01"}Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 201 | Elevador creado exitosamente |
| 400 | Datos de entrada inválidos |
| 401 | No autorizado |
| 404 | Servicio de sucursal no encontrado |
2. Listar todos los elevadores (GET /elevators)
Sección titulada «2. Listar todos los elevadores (GET /elevators)»- Descripción: Obtiene todos los elevadores con filtros avanzados
- Operation ID:
ElevatorsController_findAll - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_TECH)
Query Parameters
Sección titulada «Query Parameters»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | ❌ No | Número de página (default: 1) |
| limit | integer | ❌ No | Límite por página (default: 20) |
| branchServiceId | integer | ❌ No | Filtrar por ID de servicio |
| brand | string | ❌ No | Filtrar por marca |
| activeOnly | boolean | ❌ No | Filtrar solo activos |
| needsMaintenance | boolean | ❌ No | Filtrar por mantenimiento pendiente |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Lista de elevadores obtenida |
| 401 | No autorizado |
3. Obtener elevador por ID (GET /elevators/:id)
Sección titulada «3. Obtener elevador por ID (GET /elevators/:id)»- Descripción: Obtiene los detalles completos de un elevador específico
- Operation ID:
ElevatorsController_findOne - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_TECH)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del elevador |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Elevador obtenido exitosamente |
| 401 | No autorizado |
| 404 | Elevador no encontrado |
4. Actualizar elevador (PATCH /elevators/:id)
Sección titulada «4. Actualizar elevador (PATCH /elevators/:id)»- Descripción: Actualiza los datos de un elevador existente
- Operation ID:
ElevatorsController_update - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_MANAGER)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del elevador |
Request Body
Sección titulada «Request Body»{ "lastMaintenanceDate": "2023-06-01", "nextMaintenanceDate": "2023-12-01", "isActive": true}Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Elevador actualizado exitosamente |
| 400 | Datos de entrada inválidos |
| 401 | No autorizado |
| 404 | Elevador no encontrado |
5. Eliminar elevador (DELETE /elevators/:id)
Sección titulada «5. Eliminar elevador (DELETE /elevators/:id)»- Descripción: Desactiva un elevador (soft delete)
- Operation ID:
ElevatorsController_remove - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_ADMIN)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del elevador |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 204 | Elevador desactivado exitosamente |
| 401 | No autorizado |
| 404 | Elevador no encontrado |
6. Registrar mantenimiento (POST /elevators/:id/maintenance)
Sección titulada «6. Registrar mantenimiento (POST /elevators/:id/maintenance)»- Descripción: Registra una acción de mantenimiento en un elevador
- Operation ID:
ElevatorsController_recordMaintenance - Autenticación requerida: 🔒 Sí (ROLE_MAINTENANCE_TECH)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del elevador |
Request Body
Sección titulada «Request Body»{ "maintenanceType": "preventive", "technician": "John Doe", "notes": "Lubricación y revisión de frenos", "nextMaintenanceDate": "2023-12-01"}Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Mantenimiento registrado |
| 400 | Datos de entrada inválidos |
| 401 | No autorizado |
| 404 | Elevador no encontrado |
Resumen de Endpoints de Elevators
Sección titulada «Resumen de Endpoints de Elevators»| Método | Endpoint | Descripción | Permiso Requerido |
|---|---|---|---|
| POST | /elevators | Crear nuevo elevador | ROLE_MAINTENANCE_MANAGER |
| GET | /elevators | Listar elevadores | ROLE_MAINTENANCE_TECH |
| GET | /elevators/:id | Obtener elevador por ID | ROLE_MAINTENANCE_TECH |
| PATCH | /elevators/:id | Actualizar elevador | ROLE_MAINTENANCE_MANAGER |
| DELETE | /elevators/:id | Desactivar elevador | ROLE_MAINTENANCE_ADMIN |
| POST | /elevators/:id/maintenance | Registrar mantenimiento | ROLE_MAINTENANCE_TECH |
Modelo de Datos
Sección titulada «Modelo de Datos»interface Elevator { id: number; branchServiceId: number; brand: string; model: string; serialNumber: string; capacity: number; installationDate: string; // ISO 8601 lastMaintenanceDate?: string; // ISO 8601 nextMaintenanceDate?: string; // ISO 8601 isActive: boolean; createdAt: string; // ISO 8601 updatedAt: string; // ISO 8601 branchService?: BranchService; // Relación opcional}Ejemplo de Respuesta Completa
Sección titulada «Ejemplo de Respuesta Completa»{ "id": 1, "branchServiceId": 1, "brand": "Otis", "model": "Gen2", "serialNumber": "OTIS-2023-001", "capacity": 1000, "installationDate": "2023-01-15T00:00:00.000Z", "lastMaintenanceDate": "2023-06-01T00:00:00.000Z", "nextMaintenanceDate": "2023-12-01T00:00:00.000Z", "isActive": true, "createdAt": "2023-01-10T14:30:00.000Z", "updatedAt": "2023-06-02T09:15:00.000Z", "branchService": { "id": 1, "name": "Servicio de Edificio Principal" }}