Class: ForestAdminDatasourceZendesk::Collections::User
- Inherits:
-
BaseCollection
- Object
- ForestAdminDatasourceToolkit::Collection
- BaseCollection
- ForestAdminDatasourceZendesk::Collections::User
show all
- Includes:
- Searchable
- Defined in:
- lib/forest_admin_datasource_zendesk/collections/user.rb
Constant Summary
collapse
- ManyToOneSchema =
ForestAdminDatasourceToolkit::Schema::Relations::ManyToOneSchema
- OneToManySchema =
ForestAdminDatasourceToolkit::Schema::Relations::OneToManySchema
- ENUM_ROLE =
%w[end-user agent admin].freeze
- BASE_ATTR_KEYS =
%w[id email name role phone organization_id time_zone locale verified suspended
created_at updated_at].freeze
- ZENDESK_SORTABLE =
{
'created_at' => 'created_at',
'updated_at' => 'updated_at',
'name' => 'name'
}.freeze
BaseCollection::ColumnSchema, BaseCollection::DATE_OPS, BaseCollection::Leaf, BaseCollection::NUMBER_OPS, BaseCollection::Operators, BaseCollection::STRING_OPS
Instance Method Summary
collapse
Methods included from Searchable
#list
#aggregate
Constructor Details
#initialize(datasource, custom_fields: []) ⇒ User
Returns a new instance of User.
18
19
20
21
22
23
24
25
|
# File 'lib/forest_admin_datasource_zendesk/collections/user.rb', line 18
def initialize(datasource, custom_fields: [])
super(datasource, 'ZendeskUser')
@custom_fields = custom_fields
define_schema
define_relations
enable_search
enable_count
end
|
Instance Method Details
#create(_caller, data) ⇒ Object
27
28
29
30
31
|
# File 'lib/forest_admin_datasource_zendesk/collections/user.rb', line 27
def create(_caller, data)
payload = build_payload(data)
created = datasource.client.create_user(payload)
serialize(created)
end
|
#delete(caller, filter) ⇒ Object
39
40
41
|
# File 'lib/forest_admin_datasource_zendesk/collections/user.rb', line 39
def delete(caller, filter)
ids_for(caller, filter).each { |id| datasource.client.delete_user(id) }
end
|
#update(caller, filter, patch) ⇒ Object
33
34
35
36
37
|
# File 'lib/forest_admin_datasource_zendesk/collections/user.rb', line 33
def update(caller, filter, patch)
ids = ids_for(caller, filter)
payload = build_payload(patch)
ids.each { |id| datasource.client.update_user(id, payload) }
end
|