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.

27 lines
642 B

  1. # frozen_string_literal: true
  2. class Api::V1::AppsController < Api::BaseController
  3. def create
  4. @app = Doorkeeper::Application.create!(application_options)
  5. render json: @app, serializer: REST::ApplicationSerializer
  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