apps_controller.rb 693 B

1234567891011121314151617181920212223242526272829
  1. # frozen_string_literal: true
  2. class Api::V1::AppsController < Api::BaseController
  3. skip_before_action :require_authenticated_user!
  4. def create
  5. @app = Doorkeeper::Application.create!(application_options)
  6. render json: @app, serializer: REST::ApplicationSerializer
  7. end
  8. private
  9. def application_options
  10. {
  11. name: app_params[:client_name],
  12. redirect_uri: app_params[:redirect_uris],
  13. scopes: app_scopes_or_default,
  14. website: app_params[:website],
  15. }
  16. end
  17. def app_scopes_or_default
  18. app_params[:scopes] || Doorkeeper.configuration.default_scopes
  19. end
  20. def app_params
  21. params.permit(:client_name, :redirect_uris, :scopes, :website)
  22. end
  23. end