Branch Services
Tag: branch-services
Descripción: Operaciones para gestión de servicios asociados a sucursales
1. Crear nuevo servicio (POST /branch-services)
Sección titulada «1. Crear nuevo servicio (POST /branch-services)»- Descripción: Registra un nuevo servicio para una sucursal
- Operation ID:
BranchServicesController_create - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_ADMIN)
Request Body
Sección titulada «Request Body»{ "branchId": 1, "serviceType": "elevator_maintenance", "serviceDescription": "Mantenimiento de elevadores del edificio principal", "isActive": true}Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 201 | Servicio creado exitosamente |
| 400 | Datos de entrada inválidos |
| 401 | No autorizado |
| 404 | Sucursal no encontrada |
2. Listar todos los servicios (GET /branch-services)
Sección titulada «2. Listar todos los servicios (GET /branch-services)»- Descripción: Obtiene todos los servicios de sucursal con filtros
- Operation ID:
BranchServicesController_findAll - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_MANAGER)
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) |
| branchId | integer | ❌ No | Filtrar por ID de sucursal |
| serviceType | string | ❌ No | Filtrar por tipo de servicio |
| activeOnly | boolean | ❌ No | Filtrar solo servicios activos |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Lista de servicios obtenida |
| 401 | No autorizado |
3. Obtener servicio por ID (GET /branch-services/:id)
Sección titulada «3. Obtener servicio por ID (GET /branch-services/:id)»- Descripción: Obtiene los detalles completos de un servicio específico
- Operation ID:
BranchServicesController_findOne - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_MANAGER)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del servicio |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Servicio obtenido exitosamente |
| 401 | No autorizado |
| 404 | Servicio no encontrado |
4. Actualizar servicio (PATCH /branch-services/:id)
Sección titulada «4. Actualizar servicio (PATCH /branch-services/:id)»- Descripción: Actualiza los datos de un servicio existente
- Operation ID:
BranchServicesController_update - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_ADMIN)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del servicio |
Request Body
Sección titulada «Request Body»{ "serviceDescription": "Mantenimiento de elevadores y escaleras eléctricas", "isActive": false}Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Servicio actualizado exitosamente |
| 400 | Datos de entrada inválidos |
| 401 | No autorizado |
| 404 | Servicio no encontrado |
5. Eliminar servicio (DELETE /branch-services/:id)
Sección titulada «5. Eliminar servicio (DELETE /branch-services/:id)»- Descripción: Desactiva un servicio (soft delete)
- Operation ID:
BranchServicesController_remove - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_ADMIN)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del servicio |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 204 | Servicio desactivado exitosamente |
| 401 | No autorizado |
| 404 | Servicio no encontrado |
| 409 | Servicio no puede ser desactivado (tiene recursos asociados) |
6. Obtener recursos del servicio (GET /branch-services/:id/resources)
Sección titulada «6. Obtener recursos del servicio (GET /branch-services/:id/resources)»- Descripción: Lista todos los recursos asociados a un servicio (elevadores, plantas, etc.)
- Operation ID:
BranchServicesController_findServiceResources - Autenticación requerida: 🔒 Sí (ROLE_BRANCH_MANAGER)
Path Parameters
Sección titulada «Path Parameters»| Parámetro | Tipo | Descripción |
|---|---|---|
| id | integer | ID del servicio |
Responses
Sección titulada «Responses»| Código | Descripción |
|---|---|
| 200 | Recursos obtenidos exitosamente |
| 401 | No autorizado |
| 404 | Servicio no encontrado |
Resumen de Endpoints de Branch Services
Sección titulada «Resumen de Endpoints de Branch Services»| Método | Endpoint | Descripción | Permiso Requerido |
|---|---|---|---|
| POST | /branch-services | Crear nuevo servicio | ROLE_BRANCH_ADMIN |
| GET | /branch-services | Listar servicios | ROLE_BRANCH_MANAGER |
| GET | /branch-services/:id | Obtener servicio por ID | ROLE_BRANCH_MANAGER |
| PATCH | /branch-services/:id | Actualizar servicio | ROLE_BRANCH_ADMIN |
| DELETE | /branch-services/:id | Desactivar servicio | ROLE_BRANCH_ADMIN |
| GET | /branch-services/:id/resources | Obtener recursos del servicio | ROLE_BRANCH_MANAGER |
Modelo de Datos
Sección titulada «Modelo de Datos»interface BranchService { id: number; branchId: number; serviceType: string; serviceDescription?: string; isActive: boolean; createdAt: string; // ISO 8601 updatedAt: string; // ISO 8601 branch?: Branch; // Relación opcional emergencyPlants?: EmergencyPlant[]; // Relación opcional elevators?: Elevator[]; // Relación opcional}Tipos de Servicio Disponibles
Sección titulada «Tipos de Servicio Disponibles»| Valor | Descripción |
|---|---|
| elevator_maintenance | Mantenimiento de elevadores |
| emergency_power | Plantas de emergencia |
| security_system | Sistemas de seguridad |
| other | Otros tipos de servicios |
Ejemplo de Respuesta Completa
Sección titulada «Ejemplo de Respuesta Completa»{ "id": 1, "branchId": 1, "serviceType": "elevator_maintenance", "serviceDescription": "Mantenimiento de elevadores del edificio principal", "isActive": true, "createdAt": "2023-01-10T14:30:00.000Z", "updatedAt": "2023-05-18T14:30:00.000Z", "branch": { "id": 1, "name": "Sucursal Centro" }, "elevators": [ { "id": 1, "brand": "Otis", "model": "Gen2" } ]}