Class: Osso::GraphQL::Resolvers::EnterpriseAccounts

Inherits:
BaseResolver
  • Object
show all
Defined in:
lib/osso/graphql/resolvers/enterprise_accounts.rb

Instance Method Summary collapse

Methods inherited from BaseResolver

#admin_authorized?, #context_domain, #enterprise_authorized?, #internal_authorized?

Instance Method Details

#resolve(sort_column: nil, sort_order: nil, search: nil) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/osso/graphql/resolvers/enterprise_accounts.rb', line 9

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

#sort_order_sym(order_string) ⇒ Object



19
20
21
# File 'lib/osso/graphql/resolvers/enterprise_accounts.rb', line 19

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