This commit is contained in:
13
apps/backend_admin/actions.py
Normal file
13
apps/backend_admin/actions.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
class Admin:
|
||||||
|
def get_status_action(self):
|
||||||
|
"""
|
||||||
|
Lógica para comprobar la salud del sistema.
|
||||||
|
Devuelve el estado básico del entorno.
|
||||||
|
"""
|
||||||
|
# En el futuro, podrías usar get_parameterized aquí si quisieras
|
||||||
|
# consultar estados en la base de datos.
|
||||||
|
return {
|
||||||
|
"status": "ok",
|
||||||
|
"message": "V-Encore API System is active",
|
||||||
|
"environment": "dev" # Esto podría venir de una variable de entorno
|
||||||
|
}
|
||||||
7
apps/backend_admin/urls.py
Normal file
7
apps/backend_admin/urls.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
from django.urls import path
|
||||||
|
from .views import status_view
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
# Ruta final: /admin/status/
|
||||||
|
path('status/', status_view, name='admin_status'),
|
||||||
|
]
|
||||||
28
apps/backend_admin/views.py
Normal file
28
apps/backend_admin/views.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
from django.http import JsonResponse
|
||||||
|
from .actions import Admin
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
def status_view(request):
|
||||||
|
# BLOQUE 1: Log de iniciación
|
||||||
|
logger.info("INICIO - Ejecutando Health Check de Administración.")
|
||||||
|
|
||||||
|
# BLOQUE 2: Limpieza y validación de datos
|
||||||
|
# Para un status simple, el diccionario de limpieza está vacío
|
||||||
|
data_cleaned = {}
|
||||||
|
|
||||||
|
# BLOQUE 3: Llamada a la acción
|
||||||
|
try:
|
||||||
|
# Instanciamos la clase Admin y llamamos al método
|
||||||
|
admin_logic = Admin()
|
||||||
|
response_data = admin_logic.get_status_action()
|
||||||
|
status_code = 200
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"ERROR - Fallo en get_status_action: {str(e)}")
|
||||||
|
response_data = {"status": "error", "message": "Internal Server Error"}
|
||||||
|
status_code = 500
|
||||||
|
|
||||||
|
# BLOQUE 4: Log de cierre y retorno
|
||||||
|
logger.info(f"FIN - Health Check completado. Status: {status_code}")
|
||||||
|
return JsonResponse(response_data, status=status_code)
|
||||||
@@ -4,6 +4,5 @@ from .views import get_promocion_view, status_view
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# Capa 1: Definición del endpoint
|
# Capa 1: Definición del endpoint
|
||||||
path('obtener/', get_promocion_view, name='get_promocion'),
|
path('obtener/', get_promocion_view, name='get_promocion'),
|
||||||
path('status/', status_view, name='api_status'),
|
|
||||||
|
|
||||||
]
|
]
|
||||||
@@ -3,4 +3,5 @@ from django.urls import path, include
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# Redirigimos todas las peticiones de /api/promociones/ a nuestra app
|
# Redirigimos todas las peticiones de /api/promociones/ a nuestra app
|
||||||
path('api/promociones/', include('apps.promociones.urls')),
|
path('api/promociones/', include('apps.promociones.urls')),
|
||||||
|
path('admin/', include('apps.backend_admin.urls')), # El tuyo
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user