Sha256: 46832324c3d17e8cc2f23011009440358e8ecb43b68ad216301e6aad64c53c5b

Contents?: true

Size: 1.11 KB

Versions: 13

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module Osso
  module GraphQL
    module Mutations
      class CreateIdentityProvider < BaseMutation
        null false

        argument :enterprise_account_id, ID, required: true
        argument :service, Types::IdentityProviderService, required: false

        field :identity_provider, Types::IdentityProvider, null: false
        field :errors, [String], null: false

        def resolve(service: nil, **args)
          customer = enterprise_account(**args)

          identity_provider = customer.identity_providers.build(
            service: service,
            domain: customer.domain,
            oauth_client_id: customer.oauth_client_id,
          )

          return response_data(identity_provider: identity_provider) if identity_provider.save

          response_error(identity_provider.errors)
        end

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

        def enterprise_account(enterprise_account_id:, **_args)
          @enterprise_account ||= Osso::Models::EnterpriseAccount.find(enterprise_account_id)
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
osso-0.0.5.pre.lambda lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.kappa lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.iota lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.theta lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.eta lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.zeta lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.epsilon lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.delta lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.gamma lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.beta lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.5.pre.alpha lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.4 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.27 lib/osso/graphql/mutations/create_identity_provider.rb