Class: Osso::GraphQL::Mutations::SetRedirectUris
- Inherits:
-
BaseMutation
- Object
- GraphQL::Schema::RelayClassicMutation
- BaseMutation
- Osso::GraphQL::Mutations::SetRedirectUris
show all
- Defined in:
- lib/osso/graphql/mutations/set_redirect_uris.rb
Instance Method Summary
collapse
#account_domain, #admin_ready?, #domain_ready?, #field_errors, #internal_ready?, #provider_domain, #response_data, #response_error
Instance Method Details
#create_new(oauth_client, redirect_uris) ⇒ Object
46
47
48
49
50
|
# 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? ⇒ Boolean
28
29
30
|
# File 'lib/osso/graphql/mutations/set_redirect_uris.rb', line 28
def ready?(*)
admin_ready?
end
|
#resolve(id:, redirect_uris:) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
|
# 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) ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# 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
|