# creates a new OAuth2 application class Gitea::Oauth2::CreateService < Gitea::ClientService attr_reader :token, :params # params: # { # "name": "string", # "redirect_uris": [ # "string" # ] # } # ep: Gitea::OAuth2::CreateService.call(current_user.gitea_token, {name: 'oauth_name', redirect_uris: ['url']}) # return values example: # { # "client_id": "string", # "client_secret": "string", # "created": "2020-07-08T03:12:49.960Z", # "id": 0, # "name": "string", # "redirect_uris": [ # "string" # ] # } def initialize(token, params) @token = token @params = params end def call response = post(url, request_params) render_201_response(response) end private def url "/user/applications/oauth2".freeze end def request_params params.merge(token: token, data: params).compact end end