← Volver a CajerosController

🗑️ Eliminar Cajero (JWT)

Elimina permanentemente un cajero del sistema utilizando autenticación JWT. Esta operación es irreversible y eliminará todos los datos asociados al cajero, incluyendo su historial de operaciones.

⚠️ Advertencia

Esta operación es irreversible. Una vez eliminado el cajero, no se puede recuperar. Se recomienda verificar que el cajero no tenga operaciones activas antes de proceder.

📋 Información del Endpoint

DELETE /api/cajeros/jwt/{id}

Elimina permanentemente un cajero del sistema utilizando autenticación JWT.

🔐 Headers de Autenticación

Header Tipo Requerido Descripción
Authorization string Token JWT en formato "Bearer {token}"

📥 Parámetros de Ruta

Parámetro Tipo Requerido Descripción
id int ID único del cajero a eliminar

📥 Parámetros de Consulta (Opcionales)

Parámetro Tipo Requerido Descripción
force boolean No Si es true, fuerza la eliminación incluso si hay operaciones asociadas

📤 Códigos de Respuesta

Código Descripción Ejemplo
200 OK Cajero eliminado correctamente Se devuelve el objeto cajero eliminado
401 Unauthorized Token JWT inválido o expirado Token no proporcionado o inválido
403 Forbidden Sin permisos para eliminar cajeros El usuario no tiene los permisos necesarios
404 Not Found Cajero no encontrado El ID del cajero no existe en el sistema
409 Conflict Cajero con operaciones activas No se puede eliminar por operaciones pendientes
500 Internal Server Error Error interno del servidor Error en la base de datos o procesamiento

🔧 Ejemplos de Uso

Ejemplo 1: Eliminar Cajero con JWT

Petición
DELETE /api/cajeros/jwt/5
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero eliminado correctamente",
  "data": {
    "id": 5,
    "nombre": "Pedro",
    "apellidos": "González",
    "estado": "B",
    "fechaAlta": "2023-01-15T00:00:00",
    "fechaBaja": "2024-11-30T00:00:00",
    "observaciones": "Cajero eliminado del sistema"
  }
}

Ejemplo 2: Eliminar Cajero con Operaciones Activas (Forzado)

Petición
DELETE /api/cajeros/jwt/3?force=true
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero eliminado correctamente (eliminación forzada)",
  "data": {
    "id": 3,
    "nombre": "Carlos",
    "apellidos": "Rodríguez",
    "estado": "A",
    "fechaAlta": "2022-06-01T00:00:00",
    "fechaBaja": null,
    "observaciones": "Cajero eliminado con operaciones activas"
  },
  "warnings": [
    "Se eliminaron 15 operaciones asociadas al cajero"
  ]
}

Ejemplo 3: Error - Token JWT Inválido

Petición
DELETE /api/cajeros/jwt/5
Authorization: Bearer invalid_token
Respuesta de Error (401 Unauthorized)
{
  "success": false,
  "message": "Token JWT inválido o expirado",
  "error": "Invalid token format"
}

ℹ️ Notas Importantes

  • Autenticación JWT: Este endpoint requiere un token JWT válido en el header Authorization.
  • Formato del token: Debe incluirse como "Bearer {token}" en el header Authorization.
  • Permisos: El usuario debe tener permisos para eliminar cajeros en el sistema.
  • Operación irreversible: Una vez eliminado el cajero, no se puede recuperar.
  • Verificación de operaciones: El sistema verifica si el cajero tiene operaciones activas antes de eliminar.
  • Parámetro force: Si se establece en true, fuerza la eliminación incluso con operaciones activas.
  • Auditoría: Se registra la eliminación para fines de auditoría.
  • Integridad referencial: Se eliminan todas las referencias al cajero en otras tablas.
  • Backup recomendado: Se recomienda hacer backup antes de eliminar cajeros importantes.

🔒 Seguridad

  • Autenticación: Requiere token JWT válido
  • Autorización: Verifica permisos del usuario para eliminar cajeros
  • Confirmación: Se recomienda confirmar la eliminación en el frontend
  • Auditoría: Se registra quién y cuándo eliminó el cajero
  • Validación: Se valida que el cajero exista antes de eliminar
  • Integridad: Verifica operaciones activas antes de eliminar