Sha256: 29e150f7c3c46392f1ecccc8de50bbb40ba9652a25efc0dceb9bc2bb4247fab3

Contents?: true

Size: 912 Bytes

Versions: 2

Compression:

Stored size: 912 Bytes

Contents

# frozen_string_literal: true

module Osso
  module GraphQL
    module Mutations
      class ConfigureIdentityProvider < BaseMutation
        null false
        argument :id, ID, required: true
        argument :service, Types::IdentityProviderService, required: false
        argument :sso_url, String, required: false
        argument :sso_cert, String, required: false

        field :identity_provider, Types::IdentityProvider, null: true

        def resolve(**args)
          provider = identity_provider(**args)

          return response_data(identity_provider: provider) if provider.update(args)
          
          response_error(provider.errors)
        end

        def domain(**args)
          identity_provider(**args)&.domain
        end

        def identity_provider(id:, **_args)
          @identity_provider ||= Osso::Models::IdentityProvider.find(id)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
osso-0.0.4 lib/osso/graphql/mutations/configure_identity_provider.rb
osso-0.0.3.27 lib/osso/graphql/mutations/configure_identity_provider.rb