from django.urls import path, include
from rest_framework import routers
# from api import views
from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region, rol, rolaplicacion
from api.views import mapa, linea, letrero_lur, operador,red_transporte,gtfs_archivo
from api.views import paradero, paradero_imagen, linea_paradero, tipo_cargo
from api.views import dispositivo
from api.views import rol_operador
from api.views import upload

router = routers.DefaultRouter()
router.register('aplicaciones', aplicacion.AplicacionViewSet)
router.register('usuarios', usuario.UsuarioViewSet)
router.register('personas', persona.PersonaViewSet)
router.register('dispositivos', dispositivo.DispositivoViewSet)
router.register('tipos/persona', tipo.TipoTratamientoPersonaViewSet)
router.register('tipos/transporte', tipo.TipoTransporteViewSet)
router.register('tipos/dispositivo', tipo.TipoDispositivoViewSet)
router.register('tipos/paradero', tipo.TipoParaderoViewSet)
router.register('tipos/vehiculo', tipo.TipoVehiculoViewSet)
router.register('comunas', comuna.ComunaViewSet)
router.register('regiones', region.RegionViewSet)
router.register('paraderos', paradero.ParaderoViewSet)
router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basename='paradero_imagen')
router.register('lineas', linea.LineaViewSet)
router.register('lineas-paradero', linea_paradero.LineaParaderoViewSet)
router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
router.register('operadores', operador.OperadorViewSet, basename='operadores')
router.register('red-transporte', red_transporte.RedTransporteViewSet)
router.register('gtfs-archivo', gtfs_archivo.GtfsArchivoViewSet)
router.register('roles', rol.RolViewSet)
router.register('rolyaplicacion', rolaplicacion.RolAplicacionViewSet, basename='rol_aplicacion')
router.register('roles-operadores', rol_operador.RolOperadorViewSet, basename='rol_operador')
router.register('tipo-cargo', tipo_cargo.TipoCargoViewSet)

urlpatterns = [
    path('', include(router.urls)),
    path('auth/', auth.jwt_login, name='auth_login'),
    path('auth/recuperar/', auth.recuperar, name='auth_recuperar'),
    path('auth/info/', auth.info_token, name='auth_info'),
    path('auth/nueva-contrasena/', auth.nueva_contrasena, name='auth_contrasena'),
    path('mapas/paraderos/', mapa.paraderos, name='mapa-paraderos'),
    path('mapas/rutas/', mapa.rutas, name='mapa-rutas'),
    path('upload/zip/', upload.upload_zip, name='upload_zip'),  
]
