Saltearse al contenido

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)
{
"branchId": 1,
"serviceType": "elevator_maintenance",
"serviceDescription": "Mantenimiento de elevadores del edificio principal",
"isActive": true
}
CódigoDescripción
201Servicio creado exitosamente
400Datos de entrada inválidos
401No autorizado
404Sucursal 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)
ParámetroTipoRequeridoDescripción
pageinteger❌ NoNúmero de página (default: 1)
limitinteger❌ NoLímite por página (default: 20)
branchIdinteger❌ NoFiltrar por ID de sucursal
serviceTypestring❌ NoFiltrar por tipo de servicio
activeOnlyboolean❌ NoFiltrar solo servicios activos
CódigoDescripción
200Lista de servicios obtenida
401No 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)
ParámetroTipoDescripción
idintegerID del servicio
CódigoDescripción
200Servicio obtenido exitosamente
401No autorizado
404Servicio 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)
ParámetroTipoDescripción
idintegerID del servicio
{
"serviceDescription": "Mantenimiento de elevadores y escaleras eléctricas",
"isActive": false
}
CódigoDescripción
200Servicio actualizado exitosamente
400Datos de entrada inválidos
401No autorizado
404Servicio 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)
ParámetroTipoDescripción
idintegerID del servicio
CódigoDescripción
204Servicio desactivado exitosamente
401No autorizado
404Servicio no encontrado
409Servicio 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)
ParámetroTipoDescripción
idintegerID del servicio
CódigoDescripción
200Recursos obtenidos exitosamente
401No autorizado
404Servicio no encontrado

MétodoEndpointDescripciónPermiso Requerido
POST/branch-servicesCrear nuevo servicioROLE_BRANCH_ADMIN
GET/branch-servicesListar serviciosROLE_BRANCH_MANAGER
GET/branch-services/:idObtener servicio por IDROLE_BRANCH_MANAGER
PATCH/branch-services/:idActualizar servicioROLE_BRANCH_ADMIN
DELETE/branch-services/:idDesactivar servicioROLE_BRANCH_ADMIN
GET/branch-services/:id/resourcesObtener recursos del servicioROLE_BRANCH_MANAGER
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
}
ValorDescripción
elevator_maintenanceMantenimiento de elevadores
emergency_powerPlantas de emergencia
security_systemSistemas de seguridad
otherOtros tipos de servicios
{
"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"
}
]
}