module RsOauthManager class IssueCode < RsOauthManagerService def initialize(user:, client_id:, redirect_uri:, permissions:, code_challenge:, code_challenge_method: "S256", expire_at: nil, user_agent: nil) @user = user @client_id = client_id @redirect_uri = redirect_uri @permissions = permissions @code_challenge = code_challenge @code_challenge_method = code_challenge_method @expire_at = expire_at @user_agent = user_agent end def call RsAuthorizationCode.create!( user: @user, client_id: @client_id, redirect_uri: @redirect_uri, permissions: @permissions, permission_expire_at: @expire_at, user_agent: @user_agent, code_challenge: @code_challenge, code_challenge_method: @code_challenge_method ) end end end