Sha256: cac4df9b2da6546a631c8908fcc94c5011c33f361d1f3e1d9a032f1d3b690b54

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

require 'graphql'

module Osso
  module GraphQL
    module Types
      class IdentityProvider < Types::BaseObject
        description 'Represents a SAML based IDP instance for an EnterpriseAccount'
        implements ::GraphQL::Types::Relay::Node

        global_id_field :gid
        field :id, ID, null: false
        field :enterprise_account_id, ID, null: false
        field :service, Types::IdentityProviderService, null: true
        field :domain, String, null: false
        field :acs_url, String, null: false
        field :sso_url, String, null: true
        field :sso_cert, String, null: true
        field :status, Types::IdentityProviderStatus, null: false
        field :documentation_pdf_url, String, null: true

        def documentation_pdf_url
          ENV['BASE_URL'] + '/identity_provider/documentation/' + @object.id
        end

        def self.authorized?(object, context)
          super && (context[:scope] == :admin || object.domain == context[:scope])
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
osso-0.0.3.16 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.15 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.14 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.13 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.12 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.11 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.9 lib/osso/graphql/types/identity_provider.rb
osso-0.0.3.8 lib/osso/graphql/types/identity_provider.rb