from django.urls import path, include
from . import views
from rest_framework.routers import DefaultRouter
from rest_framework.authtoken.views import obtain_auth_token
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

app_name = 'boulevarddosipes'

router = DefaultRouter(trailing_slash=False)

### STAR SCHEMA ###

### DIMENSIONS ###
router.register(r'dCorretores', views.dCorretoresViewSet, basename='dCorretores')
router.register(r'dEtapasFunil', views.dEtapasFunilViewSet, basename='dEtapasFunil')
router.register(r'dMidias', views.dMidiasViewSet, basename='dMidias')
router.register(r'dMotivosDePerda', views.dMotivosDePerdaViewSet, basename='dMotivosDePerda')
router.register(r'dResponsaveis', views.dResponsaveisViewSet, basename='dResponsaveis')
router.register(r'dStatus', views.dStatusViewSet, basename='dStatus')
router.register(r'dUTMs', views.dUTMsViewSet, basename='dUTMs')

### FACTS ###
router.register(r'fLeads', views.fLeadsViewSet, basename='fLeads')



urlpatterns = [
    path('', include(router.urls)),
]

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


schema_view = get_schema_view(
   openapi.Info(
      title="BI API",
      default_version='v1',
      description="API for retrieve data for Power BI use",  
      #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('boulevarddosipes/', 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/', include('django_spaghetti.urls'))]