summaryrefslogtreecommitdiff
path: root/ishtar_common/views_api.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-10-28 11:10:52 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-10-28 15:32:37 +0100
commit47fed5b99a86ff0c491be041a173b31d256b98ff (patch)
treef55f31e62cc293ed860bf5462e0e4c131aad9f8c /ishtar_common/views_api.py
parentb0584e863898569f63d53b4d5dd2df6b764d12e4 (diff)
downloadIshtar-47fed5b99a86ff0c491be041a173b31d256b98ff.tar.bz2
Ishtar-47fed5b99a86ff0c491be041a173b31d256b98ff.zip
✨ GIS API: verify read-only permission
Diffstat (limited to 'ishtar_common/views_api.py')
-rw-r--r--ishtar_common/views_api.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/ishtar_common/views_api.py b/ishtar_common/views_api.py
index e0226811b..71bf921da 100644
--- a/ishtar_common/views_api.py
+++ b/ishtar_common/views_api.py
@@ -65,6 +65,8 @@ class GISSourceAPI(GISAPIView):
def get(self, request, format=None):
serializer = ImporterTypeSerializer(self.get_queryset(), many=True)
+ for source in serializer.data:
+ source["access_type"] = request.auth.access_type
return Response(serializer.data)
@@ -143,6 +145,9 @@ class GISImportAPI(GISBaseImportView, GISAPIView):
if not importer:
return Response({"error": "Importer not found"},
status=status.HTTP_400_BAD_REQUEST)
+ if request.auth.access_type != "W":
+ return Response({"error": "No write permission"},
+ status=status.HTTP_403_FORBIDDEN)
data = {}
for k in request.data:
data[k] = request.data.get(k)