Sha256: 867867fd83b706e65bae8fa6ac6030f621b820053724dcbe04f6eb74cbed5eb2

Contents?: true

Size: 829 Bytes

Versions: 10

Compression:

Stored size: 829 Bytes

Contents

# frozen_string_literal: true

module Osso
  module GraphQL
    module Resolvers
      class EnterpriseAccounts < BaseResolver
        type Types::EnterpriseAccount.connection_type, null: true

        def resolve(sort_column: nil, sort_order: nil, search: nil)
          return Array(Osso::Models::EnterpriseAccount.find_by(domain: context_domain)) unless internal_authorized?

          accounts = Osso::Models::EnterpriseAccount
          accounts = accounts.where('domain ilike ? OR name ilike ?', "%#{search}%", "%#{search}%") if search
          accounts = accounts.order(sort_column.underscore => sort_order_sym(sort_order)) if sort_column && sort_order

          accounts.all
        end

        def sort_order_sym(order_string)
          order_string == 'ascend' ? :asc : :desc
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
osso-0.1.2 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.1.1 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.1.0 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.11 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.10 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.8 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.7 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.6 lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.6.alpha lib/osso/graphql/resolvers/enterprise_accounts.rb
osso-0.0.5 lib/osso/graphql/resolvers/enterprise_accounts.rb