from django.urls import path
from . import views

# Namespace para permitir reverses como 'datahub:...'
app_name = 'datahub'

urlpatterns = [
    # ----------------------------------------------------
    # VISTAS DE RENDERIZADO (Front-end)
    # ----------------------------------------------------
    path('', views.datahub, name='datahub'),
    
    # ----------------------------------------------------
    # APIs DE LECTURA Y CREACIÓN MASIVA
    # ----------------------------------------------------
    # GET: Obtener todas las tablas con sus campos y relaciones
    path('api/tablas/', views.get_tables_json, name='datahub_api_tablas'),
    # POST: Carga masiva de tablas/campos desde JSON
    path('api/tablas/create/', views.create_table_from_json, name='datahub_api_tablas_create'),

    # ----------------------------------------------------
    # APIs CRUD DE CAMPOS INDIVIDUALES (SIDEBAR)
    # ----------------------------------------------------
    
    # POST: Crear un nuevo campo asociado a una tabla
    # URL usada por JS: ./api/campos/create/123/
    path('api/campos/create/<int:tabla_id>/', views.crear_campo_api, name='api_campo_create'),
    
    # DELETE: Eliminar un campo por ID
    # URL usada por JS: ./api/campos/delete/456/
    path('api/campos/delete/<int:campo_id>/', views.eliminar_campo_api, name='api_campo_delete'),
    
    # PATCH: Actualizar un campo por ID (usado en el blur de edición)
    # URL usada por JS: ./api/campos/update/456/
    path('api/campos/update/<int:campo_id>/', views.actualizar_campo_api, name='api_campo_update'),
]
