class Osso::GraphQL::Mutations::SetRedirectUris
Public Instance Methods
create_new(oauth_client, redirect_uris)
click to toggle source
# File lib/osso/graphql/mutations/set_redirect_uris.rb, line 46 def create_new(oauth_client, redirect_uris) redirect_uris.map do |uri| oauth_client.redirect_uris.create!(uri.to_h.without(:id)) end end
ready?(*)
click to toggle source
# File lib/osso/graphql/mutations/set_redirect_uris.rb, line 28 def ready?(*) admin_ready? end
resolve(id:, redirect_uris:)
click to toggle source
# File lib/osso/graphql/mutations/set_redirect_uris.rb, line 15 def resolve(id:, redirect_uris:) oauth_client = Osso::Models::OauthClient.find(id) update_existing(oauth_client, redirect_uris) create_new(oauth_client, redirect_uris) Osso::Analytics.capture(email: context[:email], event: self.class.name.demodulize, properties: redirect_uris) response_data(oauth_client: oauth_client.reload) rescue StandardError => e response_error(e) end
update_existing(oauth_client, redirect_uris)
click to toggle source
# File lib/osso/graphql/mutations/set_redirect_uris.rb, line 32 def update_existing(oauth_client, redirect_uris) oauth_client.redirect_uris.each do |redirect| updating_index = redirect_uris.index { |incoming| incoming[:id] == redirect.id } if updating_index updating = redirect_uris.delete_at(updating_index) redirect.update!(updating.to_h) next end redirect.destroy! end end