from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
from . import views

app_name = "core"

urlpatterns = [
    path('ajax/load-cars/', views.BrandCars.as_view(), name='ajax_load_cars'),
    path('ajax/load-types/', views.CarTypes.as_view(), name='ajax_load_types'),
    path('ajax/load-products/', views.SubcategoryProducts.as_view(), name='ajax_load_products'),
    path('api/brands', views.BrandsList.as_view(), name="brands"),
    path('api/brands/<int:pk>', views.BrandDetail.as_view(), name="brand"),
    path('api/brands/<slug:english_name>', views.BrandDetailByName.as_view(), name="brand_by_name"),
    path('api/brand-<int:brand>/originality', views.BrandOriginalityList.as_view(), name="brand_originality"),
    path('api/brand-<slug:english_name>/originality', views.BrandOriginalityListByName.as_view(), name="brand_originality_by_name"),
    path('api/brand-<int:brand>/cars', views.CarsList.as_view(), name="brand_cars"),
    path('api/brand-<slug:english_name>/cars', views.CarsListByName.as_view(), name="brand_cars_by_name"),
    path('api/cars', views.CarsCompleteList.as_view(), name="cars"),
    path('api/cars/<int:pk>', views.CarDetail.as_view(), name="car"),
    path('api/brand-<slug:brand_english_name>/cars/<slug:english_name>', views.CarDetailByName.as_view(), name="car_by_name"),
    path('api/car-<int:car>/gallery', views.CarGalleryList.as_view(), name="car_gallery"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/gallery', views.CarGalleryListByName.as_view(), name="car_gallery_by_name"),
    path('api/car-<int:car>/types', views.TypesList.as_view(), name="car_types"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/types', views.TypesListByName.as_view(), name="car_types_by_name"),
    path('api/car-<int:car>/years', views.CarProductionYears.as_view(), name="car_years"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/years', views.CarProductionYearsByName.as_view(), name="car_years_by_name"),
    path('api/car-<int:car>/engine-volumes', views.CarEngineVolumes.as_view(), name="car_engine_volumes"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/engine-volumes', views.CarEngineVolumesByName.as_view(), name="car_engine_volumes_by_name"),
    path('api/categories', views.CategoriesList.as_view(), name="categories"),
    path('api/category-<int:category>/subcategories', views.GeneralSubcategoriesList.as_view(), name="category_subcategories"),
    path('api/car-<int:car>/category-<int:category>/subcategories', views.SubcategoriesList.as_view(), name="car_category_subcategories"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/category-<int:category>/subcategories', views.SubcategoriesListByName.as_view(), name="car_category_subcategories_by_name"),
    path('api/car-<int:car>/subcategories/<int:subcategory>', views.SubcategoryDetail.as_view(), name="subcategory"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/subcategories/<int:subcategory>', views.SubcategoryDetailByName.as_view(), name="subcategory"),
    path('api/subcategory-<int:subcategory>/products', views.GeneralProductsListByCategory.as_view(), name="category_products"),
    path('api/car-<int:car>/subcategory-<int:subcategory>/products', views.ProductsListByCategory.as_view(), name="car_category_products"),
    path('api/brand-<slug:brand_english_name>/car-<slug:english_name>/subcategory-<int:subcategory>/products', views.ProductsListByCategoryByName.as_view(), name="car_category_products_by_name"),
    path('api/car-<int:car>/products', views.ProductsListByCar.as_view(), name="car_products"),
    path('api/products', views.ProductsList.as_view(), name="products"),
    path('api/search', views.GlobalSearchList.as_view(), name="search"),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
