]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/traces_controller.rb
Merge remote-tracking branch 'upstream/pull/3915'
[rails.git] / app / controllers / api / traces_controller.rb
index 8121764a1b4f7f8fb76ace6db6865613f0c500e5..07b6208af40deef2018a8beb14d33a558b5de2ef 100644 (file)
@@ -19,6 +19,35 @@ module Api
       head :forbidden unless @trace.public? || @trace.user == current_user
     end
 
+    def create
+      tags = params[:tags] || ""
+      description = params[:description] || ""
+      visibility = params[:visibility]
+
+      if visibility.nil?
+        visibility = if params[:public]&.to_i&.nonzero?
+                       "public"
+                     else
+                       "private"
+                     end
+      end
+
+      if params[:file].respond_to?(:read)
+        trace = do_create(params[:file], tags, description, visibility)
+
+        if trace.id
+          TraceImporterJob.perform_later(trace)
+          render :plain => trace.id.to_s
+        elsif trace.valid?
+          head :internal_server_error
+        else
+          head :bad_request
+        end
+      else
+        head :bad_request
+      end
+    end
+
     def update
       trace = Trace.visible.find(params[:id])
 
@@ -64,35 +93,6 @@ module Api
       end
     end
 
-    def create
-      tags = params[:tags] || ""
-      description = params[:description] || ""
-      visibility = params[:visibility]
-
-      if visibility.nil?
-        visibility = if params[:public]&.to_i&.nonzero?
-                       "public"
-                     else
-                       "private"
-                     end
-      end
-
-      if params[:file].respond_to?(:read)
-        trace = do_create(params[:file], tags, description, visibility)
-
-        if trace.id
-          TraceImporterJob.perform_later(trace)
-          render :plain => trace.id.to_s
-        elsif trace.valid?
-          head :internal_server_error
-        else
-          head :bad_request
-        end
-      else
-        head :bad_request
-      end
-    end
-
     private
 
     def do_create(file, tags, description, visibility)