Sha256: 58650d651f17635c516fb293e5c8230e0b610012d2613a4454001711ef1f9260

Contents?: true

Size: 985 Bytes

Versions: 10

Compression:

Stored size: 985 Bytes

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(enterprise_account_id:, service: nil)
          enterprise_account = Osso::Models::EnterpriseAccount.find(enterprise_account_id)
          identity_provider = enterprise_account.identity_providers.build(
            enterprise_account_id: enterprise_account_id,
            service: service,
            domain: enterprise_account.domain,
          )

          return response_data(identity_provider: identity_provider) if identity_provider.save

          response_error(errors: identity_provider.errors.full_messages)
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
osso-0.0.3.16 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.15 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.14 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.13 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.12 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.11 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.9 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.8 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.7 lib/osso/graphql/mutations/create_identity_provider.rb
osso-0.0.3.6 lib/osso/graphql/mutations/create_identity_provider.rb