Spaces:
Sleeping
Sleeping
Download app/exceptions/base.py from coder160/backend-directorio-online: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/coder160/backend-directorio-online/resolve/main/app/exceptions/base.py
- Command line
-
hf download hf://spaces/coder160/backend-directorio-online/app/exceptions/base.py
-
curl -L -o base.py https://huggingface.co/spaces/coder160/backend-directorio-online/resolve/main/app/exceptions/base.py
1.62 kB
| """Jerarquía de excepciones de la aplicación. | |
| Cada excepción declara el código HTTP con el que debe responderse. | |
| Los manejadores registrados en :mod:`app.core.exception_handlers` se | |
| encargan de traducirlas a respuestas JSON consistentes. | |
| """ | |
| from __future__ import annotations | |
| class AppException(Exception): | |
| """Excepción base para todos los errores controlados de la app.""" | |
| status_code: int = 500 | |
| detail: str = "Error interno del servidor." | |
| def __init__(self, detail: str | None = None) -> None: | |
| if detail is not None: | |
| self.detail = detail | |
| super().__init__(self.detail) | |
| class NotFoundError(AppException): | |
| """El recurso solicitado no existe.""" | |
| status_code = 404 | |
| detail = "Recurso no encontrado." | |
| class ConflictError(AppException): | |
| """Conflicto con el estado actual (p. ej. valor duplicado).""" | |
| status_code = 409 | |
| detail = "El recurso ya existe o genera un conflicto." | |
| class InvalidIdError(AppException): | |
| """El identificador proporcionado no es un ObjectId válido.""" | |
| status_code = 400 | |
| detail = "Identificador inválido." | |
| class ValidationError(AppException): | |
| """Error de validación de reglas de negocio.""" | |
| status_code = 422 | |
| detail = "Los datos proporcionados no son válidos." | |
| class AuthenticationError(AppException): | |
| """Credenciales ausentes o inválidas.""" | |
| status_code = 401 | |
| detail = "No autenticado." | |
| class AuthorizationError(AppException): | |
| """El usuario no tiene permisos suficientes.""" | |
| status_code = 403 | |
| detail = "No tienes permisos para realizar esta acción." | |