Эх сурвалжийг харах

[api] Add new /touch public api (#3615)

* [api] Add new /touch public api
Nidhi Bhat G 1 жил өмнө
parent
commit
447c45a6cb

+ 11 - 0
apps/filebrowser/src/filebrowser/api.py

@@ -97,3 +97,14 @@ def mkdir(request):
   request.fs.mkdir(request.fs.join(path, name))
   return HttpResponse(status=200)
 
+
+@error_handler
+def touch(request):
+  path = request.POST.get('path')
+  name = request.POST.get('name')
+
+  if name and (posixpath.sep in name):
+    raise Exception(_("Error creating %s file. Slashes are not allowed in filename." % name))
+  
+  request.fs.create(request.fs.join(path, name))
+  return HttpResponse(status=200)

+ 5 - 0
desktop/core/src/desktop/api_public.py

@@ -219,6 +219,11 @@ def storage_mkdir(request):
   django_request = get_django_request(request)
   return filebrowser_api.mkdir(django_request)
 
+@api_view(["POST"])
+def storage_touch(request):
+  django_request = get_django_request(request)
+  return filebrowser_api.touch(django_request)
+
 
 # Importer
 

+ 1 - 0
desktop/core/src/desktop/api_public_urls_v1.py

@@ -97,6 +97,7 @@ urlpatterns += [
   re_path(r'^storage/download=(?P<path>.*)$', api_public.storage_download, name='storage_download'),
   re_path(r'^storage/upload/file/?$', api_public.storage_upload_file, name='storage_upload_file'),
   re_path(r'^storage/mkdir$', api_public.storage_mkdir, name='storage_mkdir'),
+  re_path(r'^storage/touch$', api_public.storage_touch, name='storage_touch')
 ]
 
 urlpatterns += [