You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
599 B

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