]> cat aescling's git repositories - mastodon.git/blobdiff - app/controllers/api/v1/apps_controller.rb
Add whitelist mode (#11291)
[mastodon.git] / app / controllers / api / v1 / apps_controller.rb
index 2ec7280af05d00c87fca8943ca62ab279f9931d0..97177547a2b9aec652d50162472e86fe9972d7a8 100644 (file)
@@ -1,14 +1,28 @@
 # frozen_string_literal: true
 
-class Api::V1::AppsController < ApiController
-  respond_to :json
+class Api::V1::AppsController < Api::BaseController
+  skip_before_action :require_authenticated_user!
 
   def create
-    @app = Doorkeeper::Application.create!(name: app_params[:client_name], redirect_uri: app_params[:redirect_uris], scopes: (app_params[:scopes] || Doorkeeper.configuration.default_scopes), website: app_params[:website])
+    @app = Doorkeeper::Application.create!(application_options)
+    render json: @app, serializer: REST::ApplicationSerializer
   end
 
   private
 
+  def application_options
+    {
+      name: app_params[:client_name],
+      redirect_uri: app_params[:redirect_uris],
+      scopes: app_scopes_or_default,
+      website: app_params[:website],
+    }
+  end
+
+  def app_scopes_or_default
+    app_params[:scopes] || Doorkeeper.configuration.default_scopes
+  end
+
   def app_params
     params.permit(:client_name, :redirect_uris, :scopes, :website)
   end
This page took 0.034427 seconds and 3 git commands to generate.