Class: ForestAdminDatasourceZendesk::Client
- Inherits:
-
Object
- Object
- ForestAdminDatasourceZendesk::Client
show all
- Includes:
- Introspection, Writes
- Defined in:
- lib/forest_admin_datasource_zendesk/client.rb,
lib/forest_admin_datasource_zendesk/client/writes.rb,
lib/forest_admin_datasource_zendesk/client/introspection.rb
Defined Under Namespace
Modules: Introspection, Writes
Constant Summary
collapse
- MAX_PER_PAGE =
100
Instance Method Summary
collapse
#fetch_organization_fields, #fetch_ticket_fields, #fetch_user_fields
Methods included from Writes
#create_organization, #create_ticket, #create_user, #delete_organization, #delete_ticket, #delete_user, #update_organization, #update_ticket, #update_user
Constructor Details
#initialize(configuration) ⇒ Client
Returns a new instance of Client.
8
9
10
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 8
def initialize(configuration)
@configuration = configuration
end
|
Instance Method Details
#count(type, query:) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 17
def count(type, query:)
must_succeed("count(#{type})") do
body = api.connection.get('search/count', query: compose_query(type, query)).body
Integer(body['count'] || 0)
end
end
|
#fetch_organizations_by_ids(ids) ⇒ Object
52
53
54
55
56
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 52
def fetch_organizations_by_ids(ids)
best_effort('fetch_organizations_by_ids', default: {}) do
bulk_show_many('organizations', ids) { |o| [o['id'], o] }
end
end
|
24
25
26
27
28
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 24
def (ticket_id)
must_succeed("fetch_ticket_comments(#{ticket_id})") do
Array(api.connection.get("tickets/#{ticket_id}/comments").body['comments'])
end
end
|
#fetch_tickets_by_ids(ids) ⇒ Object
40
41
42
43
44
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 40
def fetch_tickets_by_ids(ids)
must_succeed('fetch_tickets_by_ids') do
bulk_show_many('tickets', ids) { |t| [t['id'], t] }
end
end
|
#fetch_user_emails(ids) ⇒ Object
34
35
36
37
38
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 34
def fetch_user_emails(ids)
best_effort('fetch_user_emails', default: {}) do
bulk_show_many('users', ids) { |u| [u['id'], u['email']] }
end
end
|
#fetch_users_by_ids(ids) ⇒ Object
46
47
48
49
50
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 46
def fetch_users_by_ids(ids)
best_effort('fetch_users_by_ids', default: {}) do
bulk_show_many('users', ids) { |u| [u['id'], u] }
end
end
|
#find_organization(id) ⇒ Object
32
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 32
def find_organization(id) = find_one(api.organizations, id)
|
#find_ticket(id) ⇒ Object
30
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 30
def find_ticket(id) = find_one(api.tickets, id)
|
#find_user(id) ⇒ Object
31
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 31
def find_user(id) = find_one(api.users, id)
|
#search(type, **opts) ⇒ Object
12
13
14
15
|
# File 'lib/forest_admin_datasource_zendesk/client.rb', line 12
def search(type, **opts)
params = build_search_params(type, opts)
must_succeed("search(#{type})") { api.search(params).to_a }
end
|