from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include, re_path
from django.views.generic import TemplateView
from rest_framework import views

from django.conf.urls import url
from django.views.static import serve

from rest_framework.schemas import get_schema_view
from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='Kohinoor Backend')

urlpatterns = [
                  path('admin/', admin.site.urls),

                  url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
                  url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
                  
                  re_path('(^(?!(api|admin|media|static)).*$)', TemplateView.as_view(template_name='index.html')),


               #    re_path(r'^.*', TemplateView.as_view(template_name='index.html')),

                  path('api/home/', include('home.urls', namespace='home')),
                  path('api/csr/', include('csr.urls', namespace='csr')),
                  path('api/aboutus/', include('about_us.urls', namespace='aboutus')),
                  path('api/contactus/', include('contact_us.urls', namespace='contactus')),
                  path('api/groupcompany/', include('group_company.urls', namespace='groupcompany')),
                  path('api/productandtechnology/',
                       include('product_and_technology.urls', namespace='productandtechnology')),
                  path('api/quality/',
                       include('quality.urls', namespace='quality')),
                  path('api/team/',
                       include('team.urls', namespace='team')),

                  path('summernote/', include('django_summernote.urls')),

                  # api doc

                  path('openapi/', get_schema_view(title='Kohinoor Backend',
                                                  description='KOHINOOR BACKEND', version='1.0.0'), name='openapi'),
                  path('swagger-ui/', TemplateView.as_view(template_name='api-doc.html',
                                                           extra_context={'schema_url': 'openapi'})),
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
