from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import *
from schema_graph.views import Schema
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from django_spaghetti.views import Plate
from rest_framework import permissions

router = DefaultRouter()
#router.register(r'justanydata', JustAnyDataViewSet, basename='justanydata')
router.register(r'register', AuthViewSet, basename='actions')
router.register(r'access', UserAccessViewSet, basename='access')

urlpatterns = [
    path('', include(router.urls)),
    path('login/', AuthViewSet.as_view({'post': 'login'}), name='login'),
    path('logout/', AuthViewSet.as_view({'post': 'logout'}), name='logout'),
    path('check/', AuthViewSet.as_view({'post': 'check'}), name='check'),
    path('refresh/', AuthViewSet.as_view({'post': 'refresh'}), name='refresh'),
]


urlpatterns += [
    path("schema/", Schema.as_view()),
]


schema_view = get_schema_view(
   openapi.Info(
      title="Portal RE/Max Auth API",
      default_version='1.0',
      description="API for auth data",  
      #terms_of_service="https://www.google.com/policies/terms/",
      #contact=openapi.Contact(name="TEste", url="", email="contact@snippets.local"),
      #license=openapi.License(name="BSD License", url="", version="1.0.1"),
      version="1.0.1",
   ),
   public=False,
   permission_classes=(permissions.IsAuthenticated,),
   patterns=[path('auth/', include(router.urls))],
   
)


urlpatterns += [
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    path('swagger<format>/', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]


urlpatterns += [
    path("plate/", Plate.as_view()),
]