From fa4b00372209425b18c57fe9af29a416ce36b39f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 24 Nov 2021 08:13:12 +0100 Subject: Syndication - api view & url for find, context record, warehouse, container and file --- archaeological_warehouse/urls.py | 24 ++++++++++++++++++++++-- archaeological_warehouse/views_api.py | 23 +++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 archaeological_warehouse/views_api.py (limited to 'archaeological_warehouse') diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index e737125b7..870008de4 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -18,11 +18,11 @@ # See the file COPYING for details. from django.conf.urls import url +from django.urls import path from ishtar_common.utils import check_rights -from archaeological_warehouse import views -from archaeological_warehouse import models +from archaeological_warehouse import models, views, views_api # be careful: each check_rights must be relevant with ishtar_menu @@ -241,4 +241,24 @@ urlpatterns = [ views.GenerateStatsWarehouse.as_view(), name="generate-stats-warehouse", ), + url( + r"api/facets/warehouse/$", views_api.FacetWarehouseAPIView.as_view(), + name="api-facets-warehouse" + ), + url( + r"api/search/warehouse/$", views_api.SearchWarehouseAPI.as_view(), + name="api-search-warehouse" + ), + path( + "api/get/warehouse//", views_api.GetWarehouseAPI.as_view(), + name="api-get-warehouse" + ), + url( + r"api/search/container/$", views_api.SearchContainerAPI.as_view(), + name="api-search-container" + ), + path( + "api/get/container//", views_api.GetContainerAPI.as_view(), + name="api-get-container" + ), ] diff --git a/archaeological_warehouse/views_api.py b/archaeological_warehouse/views_api.py new file mode 100644 index 000000000..468fe08c2 --- /dev/null +++ b/archaeological_warehouse/views_api.py @@ -0,0 +1,23 @@ +from ishtar_common.rest import SearchAPIView, FacetAPIView, GetAPIView +from archaeological_warehouse import models, forms + + +class FacetWarehouseAPIView(FacetAPIView): + models = [models.Warehouse, models.Container] + select_forms = [forms.WarehouseSelect, forms.ContainerSelect] + + +class SearchWarehouseAPI(SearchAPIView): + model = models.Warehouse + + +class SearchContainerAPI(SearchAPIView): + model = models.Container + + +class GetWarehouseAPI(GetAPIView): + model = models.Warehouse + + +class GetContainerAPI(GetAPIView): + model = models.Container -- cgit v1.2.3