"""gmba_django URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
from app.views import (
    HomePageView, OfflinePageView, send_from_file, DemoPageView, ConfigurationPageView, get_progress, UploadView,
    ReindexPageView, RefreshPageView, ConfigurationHomePageView, SearchView, PeopleDetailView, TaxaListView,
    FieldsListView, RangesListView, ResourceListView, PeopleListView
)


FILTER_QUERIES = [ 'country', 'range', 'field', 'taxon' ]

urlpatterns = [
    path('', HomePageView.as_view(), name='home'),
    path('offline/', OfflinePageView.as_view(), name='offline'),
    path('geodata/<path:filename>/', send_from_file, name='send_geodata_file'),
    path('data/<path:filename>', send_from_file, name='send_data_file'),
    path('demo/', DemoPageView.as_view(), name='demo'),
    path('admin/', admin.site.urls, name='admin'),
    path('config-home/', ConfigurationHomePageView.as_view(), name='config_home'),
    path('config/', ConfigurationPageView.as_view(), name='config'),
    path('upload', UploadView.as_view(), name='upload'),
    path('progress', get_progress, name='progress'),
    path('reindex', ReindexPageView.as_view(), name='reindex'),
    path('refresh', RefreshPageView.as_view(), name='refresh'),
    path('api/search', SearchView.as_view(), name='api-search'),
    path('api/people/<int:people_id>', PeopleDetailView.as_view(), name='api-people-detail'),
    path('api/taxa', TaxaListView.as_view(), name='api-taxa-list'),
    path('api/fields', FieldsListView.as_view(), name='api-field-list'),
    path('api/ranges', RangesListView.as_view(), name='api-range-list'),
    path('api/resources', ResourceListView.as_view(), name='api-resource-list'),
    path('api/people', PeopleListView.as_view(), name='api-people-list'),
]
