zendesk2 1.9.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +30 -0
- data/.travis.yml +3 -1
- data/Gemfile +4 -5
- data/Guardfile +4 -3
- data/Rakefile +4 -3
- data/lib/zendesk2.rb +9 -6
- data/lib/zendesk2/attributes.rb +11 -8
- data/lib/zendesk2/audit_event.rb +5 -3
- data/lib/zendesk2/categories.rb +4 -3
- data/lib/zendesk2/category.rb +10 -5
- data/lib/zendesk2/client.rb +3 -3
- data/lib/zendesk2/collection.rb +35 -21
- data/lib/zendesk2/create_category.rb +10 -9
- data/lib/zendesk2/create_forum.rb +11 -10
- data/lib/zendesk2/create_group.rb +13 -12
- data/lib/zendesk2/create_membership.rb +21 -20
- data/lib/zendesk2/create_organization.rb +24 -18
- data/lib/zendesk2/create_ticket.rb +60 -56
- data/lib/zendesk2/create_ticket_field.rb +24 -22
- data/lib/zendesk2/create_topic.rb +11 -10
- data/lib/zendesk2/create_topic_comment.rb +12 -11
- data/lib/zendesk2/create_user.rb +54 -41
- data/lib/zendesk2/create_user_field.rb +22 -21
- data/lib/zendesk2/create_user_identity.rb +18 -15
- data/lib/zendesk2/create_view.rb +62 -62
- data/lib/zendesk2/destroy_category.rb +2 -1
- data/lib/zendesk2/destroy_forum.rb +2 -1
- data/lib/zendesk2/destroy_group.rb +3 -2
- data/lib/zendesk2/destroy_membership.rb +7 -5
- data/lib/zendesk2/destroy_organization.rb +3 -2
- data/lib/zendesk2/destroy_ticket.rb +3 -2
- data/lib/zendesk2/destroy_ticket_field.rb +3 -2
- data/lib/zendesk2/destroy_topic.rb +3 -2
- data/lib/zendesk2/destroy_topic_comment.rb +4 -3
- data/lib/zendesk2/destroy_user.rb +11 -10
- data/lib/zendesk2/destroy_user_field.rb +3 -2
- data/lib/zendesk2/destroy_user_identity.rb +4 -3
- data/lib/zendesk2/destroy_view.rb +3 -2
- data/lib/zendesk2/error.rb +1 -1
- data/lib/zendesk2/forum.rb +36 -18
- data/lib/zendesk2/forums.rb +4 -3
- data/lib/zendesk2/get_assignable_groups.rb +3 -2
- data/lib/zendesk2/get_categories.rb +2 -1
- data/lib/zendesk2/get_category.rb +3 -2
- data/lib/zendesk2/get_ccd_tickets.rb +4 -3
- data/lib/zendesk2/get_current_user.rb +3 -2
- data/lib/zendesk2/get_forum.rb +3 -2
- data/lib/zendesk2/get_forums.rb +2 -1
- data/lib/zendesk2/get_group.rb +3 -2
- data/lib/zendesk2/get_groups.rb +2 -1
- data/lib/zendesk2/get_membership.rb +3 -2
- data/lib/zendesk2/get_memberships.rb +3 -2
- data/lib/zendesk2/get_organization.rb +3 -2
- data/lib/zendesk2/get_organization_by_external_id.rb +8 -5
- data/lib/zendesk2/get_organization_memberships.rb +5 -2
- data/lib/zendesk2/get_organization_tickets.rb +7 -5
- data/lib/zendesk2/get_organization_users.rb +6 -5
- data/lib/zendesk2/get_organizations.rb +2 -1
- data/lib/zendesk2/get_requested_tickets.rb +5 -4
- data/lib/zendesk2/get_ticket.rb +3 -2
- data/lib/zendesk2/get_ticket_audit.rb +5 -4
- data/lib/zendesk2/get_ticket_audits.rb +4 -3
- data/lib/zendesk2/get_ticket_comments.rb +6 -5
- data/lib/zendesk2/get_ticket_field.rb +3 -2
- data/lib/zendesk2/get_ticket_fields.rb +2 -1
- data/lib/zendesk2/get_ticket_metric.rb +4 -3
- data/lib/zendesk2/get_ticket_metrics.rb +3 -2
- data/lib/zendesk2/get_tickets.rb +2 -1
- data/lib/zendesk2/get_topic.rb +3 -2
- data/lib/zendesk2/get_topic_comment.rb +4 -3
- data/lib/zendesk2/get_topic_comments.rb +5 -4
- data/lib/zendesk2/get_topics.rb +2 -1
- data/lib/zendesk2/get_user.rb +7 -7
- data/lib/zendesk2/get_user_field.rb +3 -2
- data/lib/zendesk2/get_user_fields.rb +3 -2
- data/lib/zendesk2/get_user_identities.rb +4 -3
- data/lib/zendesk2/get_user_identity.rb +4 -3
- data/lib/zendesk2/get_user_memberships.rb +4 -3
- data/lib/zendesk2/get_user_organizations.rb +5 -4
- data/lib/zendesk2/get_users.rb +3 -2
- data/lib/zendesk2/get_view.rb +3 -2
- data/lib/zendesk2/get_view_tickets.rb +19 -16
- data/lib/zendesk2/get_views.rb +2 -1
- data/lib/zendesk2/group.rb +6 -5
- data/lib/zendesk2/groups.rb +7 -6
- data/lib/zendesk2/help_center.rb +15 -0
- data/lib/zendesk2/help_center/access_policy.rb +3 -2
- data/lib/zendesk2/help_center/article.rb +10 -7
- data/lib/zendesk2/help_center/articles.rb +7 -7
- data/lib/zendesk2/help_center/categories.rb +3 -2
- data/lib/zendesk2/help_center/category.rb +8 -7
- data/lib/zendesk2/help_center/create_help_center_article.rb +31 -29
- data/lib/zendesk2/help_center/create_help_center_category.rb +17 -16
- data/lib/zendesk2/help_center/create_help_center_post.rb +37 -0
- data/lib/zendesk2/help_center/create_help_center_section.rb +32 -31
- data/lib/zendesk2/help_center/create_help_center_topic.rb +36 -0
- data/lib/zendesk2/help_center/create_help_center_translation.rb +15 -14
- data/lib/zendesk2/help_center/destroy_help_center_article.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_category.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_post.rb +15 -0
- data/lib/zendesk2/help_center/destroy_help_center_section.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_topic.rb +15 -0
- data/lib/zendesk2/help_center/destroy_help_center_translation.rb +2 -1
- data/lib/zendesk2/help_center/get_help_center_access_policy.rb +6 -5
- data/lib/zendesk2/help_center/get_help_center_article.rb +7 -9
- data/lib/zendesk2/help_center/get_help_center_articles.rb +3 -2
- data/lib/zendesk2/help_center/get_help_center_categories.rb +6 -2
- data/lib/zendesk2/help_center/get_help_center_categories_articles.rb +8 -7
- data/lib/zendesk2/help_center/get_help_center_categories_sections.rb +6 -5
- data/lib/zendesk2/help_center/get_help_center_category.rb +7 -9
- data/lib/zendesk2/help_center/get_help_center_post.rb +19 -0
- data/lib/zendesk2/help_center/get_help_center_posts.rb +28 -0
- data/lib/zendesk2/help_center/get_help_center_section.rb +8 -10
- data/lib/zendesk2/help_center/get_help_center_sections.rb +3 -2
- data/lib/zendesk2/help_center/get_help_center_sections_articles.rb +9 -8
- data/lib/zendesk2/help_center/get_help_center_topic.rb +14 -0
- data/lib/zendesk2/help_center/get_help_center_topics.rb +10 -0
- data/lib/zendesk2/help_center/get_help_center_translation.rb +5 -4
- data/lib/zendesk2/help_center/get_help_center_translations.rb +7 -6
- data/lib/zendesk2/help_center/post.rb +72 -0
- data/lib/zendesk2/help_center/posts.rb +18 -0
- data/lib/zendesk2/help_center/search_help_center_articles.rb +8 -7
- data/lib/zendesk2/help_center/section.rb +11 -11
- data/lib/zendesk2/help_center/sections.rb +7 -6
- data/lib/zendesk2/help_center/topic.rb +52 -0
- data/lib/zendesk2/help_center/topics.rb +13 -0
- data/lib/zendesk2/help_center/translation.rb +8 -5
- data/lib/zendesk2/help_center/translation_source.rb +16 -13
- data/lib/zendesk2/help_center/translations.rb +3 -2
- data/lib/zendesk2/help_center/update_help_center_access_policy.rb +8 -7
- data/lib/zendesk2/help_center/update_help_center_article.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_category.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_post.rb +20 -0
- data/lib/zendesk2/help_center/update_help_center_section.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_topic.rb +20 -0
- data/lib/zendesk2/help_center/update_help_center_translation.rb +4 -3
- data/lib/zendesk2/logger.rb +3 -2
- data/lib/zendesk2/mark_membership_default.rb +7 -6
- data/lib/zendesk2/mark_user_identity_primary.rb +7 -6
- data/lib/zendesk2/membership.rb +10 -8
- data/lib/zendesk2/memberships.rb +18 -12
- data/lib/zendesk2/mock.rb +39 -34
- data/lib/zendesk2/model.rb +14 -3
- data/lib/zendesk2/organization.rb +7 -7
- data/lib/zendesk2/organizations.rb +14 -12
- data/lib/zendesk2/paged_collection.rb +40 -36
- data/lib/zendesk2/rate_limit.rb +4 -3
- data/lib/zendesk2/real.rb +25 -22
- data/lib/zendesk2/request.rb +78 -82
- data/lib/zendesk2/search.rb +8 -7
- data/lib/zendesk2/search_organization.rb +14 -14
- data/lib/zendesk2/search_user.rb +41 -37
- data/lib/zendesk2/searchable.rb +36 -26
- data/lib/zendesk2/ticket.rb +20 -18
- data/lib/zendesk2/ticket_audit.rb +5 -4
- data/lib/zendesk2/ticket_audits.rb +10 -11
- data/lib/zendesk2/ticket_change.rb +10 -11
- data/lib/zendesk2/ticket_comment.rb +2 -1
- data/lib/zendesk2/ticket_comment_privacy_change.rb +12 -14
- data/lib/zendesk2/ticket_comments.rb +7 -6
- data/lib/zendesk2/ticket_create.rb +8 -9
- data/lib/zendesk2/ticket_field.rb +5 -4
- data/lib/zendesk2/ticket_fields.rb +4 -3
- data/lib/zendesk2/ticket_metric.rb +2 -2
- data/lib/zendesk2/ticket_metrics.rb +3 -2
- data/lib/zendesk2/ticket_notification.rb +12 -13
- data/lib/zendesk2/ticket_voice_comment.rb +28 -29
- data/lib/zendesk2/tickets.rb +8 -7
- data/lib/zendesk2/topic.rb +49 -22
- data/lib/zendesk2/topic_comment.rb +12 -9
- data/lib/zendesk2/topic_comments.rb +4 -3
- data/lib/zendesk2/topics.rb +4 -3
- data/lib/zendesk2/update_category.rb +8 -6
- data/lib/zendesk2/update_forum.rb +5 -4
- data/lib/zendesk2/update_group.rb +5 -4
- data/lib/zendesk2/update_organization.rb +18 -9
- data/lib/zendesk2/update_request.rb +6 -5
- data/lib/zendesk2/update_ticket.rb +39 -38
- data/lib/zendesk2/update_ticket_field.rb +5 -4
- data/lib/zendesk2/update_topic.rb +5 -4
- data/lib/zendesk2/update_user.rb +39 -31
- data/lib/zendesk2/update_user_field.rb +4 -3
- data/lib/zendesk2/update_user_identity.rb +7 -6
- data/lib/zendesk2/update_view.rb +38 -34
- data/lib/zendesk2/user.rb +41 -37
- data/lib/zendesk2/user_field.rb +9 -6
- data/lib/zendesk2/user_fields.rb +4 -3
- data/lib/zendesk2/user_identities.rb +4 -3
- data/lib/zendesk2/user_identity.rb +12 -9
- data/lib/zendesk2/users.rb +5 -4
- data/lib/zendesk2/version.rb +2 -1
- data/lib/zendesk2/view.rb +24 -13
- data/lib/zendesk2/views.rb +3 -2
- data/spec/categories_spec.rb +63 -60
- data/spec/client_spec.rb +6 -5
- data/spec/forums_spec.rb +64 -61
- data/spec/groups_spec.rb +7 -8
- data/spec/help_center/articles_spec.rb +22 -26
- data/spec/help_center/categories_spec.rb +26 -27
- data/spec/help_center/posts_spec.rb +39 -0
- data/spec/help_center/sections_spec.rb +32 -33
- data/spec/help_center/topics_spec.rb +13 -0
- data/spec/lib/paged_collection_spec.rb +11 -11
- data/spec/lib/rate_limit_spec.rb +9 -8
- data/spec/memberships_spec.rb +38 -27
- data/spec/organizations_spec.rb +92 -87
- data/spec/shared/zendesk_resource.rb +40 -25
- data/spec/spec_helper.rb +8 -13
- data/spec/support/client_helper.rb +5 -4
- data/spec/support/data_helper.rb +1 -0
- data/spec/ticket_fields_spec.rb +6 -7
- data/spec/tickets_spec.rb +69 -58
- data/spec/topic_comments_spec.rb +7 -8
- data/spec/topics_spec.rb +5 -6
- data/spec/user_fields_spec.rb +7 -7
- data/spec/user_identities_spec.rb +29 -25
- data/spec/users_spec.rb +88 -78
- data/spec/views_spec.rb +45 -34
- data/spec/zendesk2_spec.rb +3 -2
- data/zendesk2.gemspec +15 -14
- metadata +21 -2
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTopicComment
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,14 +6,14 @@ class Zendesk2::GetTopicComment
|
|
5
6
|
request_path { |r| "/topics/#{r.topic_id}/comments/#{r.topic_comment_id}.json" }
|
6
7
|
|
7
8
|
def topic_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('topic_comment').fetch('topic_id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def topic_comment_id
|
12
|
-
params.fetch(
|
13
|
+
params.fetch('topic_comment').fetch('id')
|
13
14
|
end
|
14
15
|
|
15
16
|
def mock
|
16
|
-
mock_response(
|
17
|
+
mock_response('topic_comment' => find!(:topic_comments, topic_comment_id))
|
17
18
|
end
|
18
19
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTopicComments
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,14 +8,14 @@ class Zendesk2::GetTopicComments
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def topic_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('topic_id')
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
|
15
|
+
find!(:topics, topic_id)
|
15
16
|
|
16
|
-
topic_comments =
|
17
|
+
topic_comments = data[:topic_comments].values.select { |c| c['topic_id'] == topic_id }
|
17
18
|
|
18
|
-
page(topic_comments, root:
|
19
|
+
page(topic_comments, root: 'topic_comments')
|
19
20
|
end
|
20
21
|
end
|
data/lib/zendesk2/get_topics.rb
CHANGED
data/lib/zendesk2/get_user.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUser
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,19 +6,18 @@ class Zendesk2::GetUser
|
|
5
6
|
request_path { |r| "/users/#{r.user_id}.json" }
|
6
7
|
|
7
8
|
def user_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('user').fetch('id').to_i
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
identities =
|
13
|
+
identities = data[:identities].values.select { |i| i['user_id'] == user_id }
|
13
14
|
body = find!(:users, user_id).dup
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
15
|
+
identity = identities.find { |i| i['type'] == 'email' && i['primary'] } ||
|
16
|
+
identities.find { |i| i['type'] == 'email' }
|
17
|
+
body['email'] = identity['value'] if identity
|
18
18
|
|
19
19
|
# @todo what happens if no identity?
|
20
20
|
|
21
|
-
mock_response(
|
21
|
+
mock_response('user' => body)
|
22
22
|
end
|
23
23
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserField
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetUserField
|
|
5
6
|
request_method :get
|
6
7
|
|
7
8
|
def user_field_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('user_field').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('user_field' => find!(:user_fields, user_field_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,12 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserFields
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path {
|
6
|
+
request_path { '/user_fields.json' }
|
6
7
|
|
7
8
|
page_params!
|
8
9
|
|
9
|
-
def mock(
|
10
|
+
def mock(_params = {})
|
10
11
|
page(:user_fields)
|
11
12
|
end
|
12
13
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserIdentities
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -6,12 +7,12 @@ class Zendesk2::GetUserIdentities
|
|
6
7
|
page_params!
|
7
8
|
|
8
9
|
def user_id
|
9
|
-
params.fetch(
|
10
|
+
params.fetch('user_id').to_i
|
10
11
|
end
|
11
12
|
|
12
13
|
def mock
|
13
|
-
identities = cistern.data[:identities].values.select { |a| a[
|
14
|
+
identities = cistern.data[:identities].values.select { |a| a['user_id'] == user_id }
|
14
15
|
|
15
|
-
page(identities, root:
|
16
|
+
page(identities, root: 'identities')
|
16
17
|
end
|
17
18
|
end
|
@@ -1,17 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserIdentity
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_path { |r| "/users/#{r.user_id}/identities/#{r.user_identity_id}.json" }
|
5
6
|
|
6
7
|
def user_identity_id
|
7
|
-
params.fetch(
|
8
|
+
params.fetch('user_identity').fetch('id').to_i
|
8
9
|
end
|
9
10
|
|
10
11
|
def user_id
|
11
|
-
params.fetch(
|
12
|
+
params.fetch('user_identity').fetch('user_id').to_i
|
12
13
|
end
|
13
14
|
|
14
15
|
def mock
|
15
|
-
mock_response(
|
16
|
+
mock_response('identity' => find!(:identities, user_identity_id))
|
16
17
|
end
|
17
18
|
end
|
@@ -1,16 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserMemberships
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path
|
6
|
+
request_path { |r| "/users/#{r.user_id}/organization_memberships.json" }
|
6
7
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def user_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('membership').fetch('user_id').to_i
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
page(
|
15
|
+
page(data[:memberships].values.select { |m| m['user_id'] == user_id }, root: 'organization_memberships')
|
15
16
|
end
|
16
17
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUserOrganizations
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,13 +8,13 @@ class Zendesk2::GetUserOrganizations
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def user_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('user_id').to_i
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
memberships =
|
15
|
-
organizations = memberships.map { |m|
|
15
|
+
memberships = data[:memberships].values.select { |m| m['user_id'] == user_id }
|
16
|
+
organizations = memberships.map { |m| data[:organizations].fetch(m['organization_id']) }
|
16
17
|
|
17
|
-
page(organizations, root:
|
18
|
+
page(organizations, root: 'organizations')
|
18
19
|
end
|
19
20
|
end
|
data/lib/zendesk2/get_users.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetUsers
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path {
|
6
|
+
request_path { '/users.json' }
|
6
7
|
|
7
8
|
page_params!
|
8
9
|
|
9
|
-
def mock(params={})
|
10
|
+
def mock(params = {})
|
10
11
|
page(:users, params)
|
11
12
|
end
|
12
13
|
end
|
data/lib/zendesk2/get_view.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetView
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetView
|
|
5
6
|
request_path { |r| "/views/#{r.view_id}.json" }
|
6
7
|
|
7
8
|
def view_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('view').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('view' => find!(:views, view_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetViewTickets
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,33 +8,35 @@ class Zendesk2::GetViewTickets
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def view_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('view_id').to_i
|
11
12
|
end
|
12
13
|
|
13
|
-
def mock(
|
14
|
-
view =
|
14
|
+
def mock(_params = {})
|
15
|
+
view = find!(:views, view_id)
|
15
16
|
|
16
|
-
|
17
|
-
operator = (
|
18
|
-
key = c.fetch(
|
19
|
-
value = c.fetch(
|
17
|
+
operators = Array(view['conditions']['all']).map do |c|
|
18
|
+
operator = ('is' == c.fetch('operator')) ? :eql? : :!=
|
19
|
+
key = c.fetch('field')
|
20
|
+
value = c.fetch('value').to_s
|
20
21
|
|
21
22
|
[operator, key, value]
|
22
|
-
|
23
|
+
end
|
24
|
+
|
25
|
+
tickets = operators.inject(data[:tickets].values) do |r, (o, k, v)|
|
23
26
|
r.select { |t| t[k].to_s.public_send(o, v) }
|
24
|
-
|
27
|
+
end
|
25
28
|
|
26
|
-
any_operators = Array(view[
|
27
|
-
operator = (
|
28
|
-
key = c.fetch(
|
29
|
-
value = c.fetch(
|
29
|
+
any_operators = Array(view['conditions']['any']).map do |c|
|
30
|
+
operator = ('is' == c.fetch('operator')) ? :eql? : :!=
|
31
|
+
key = c.fetch('field')
|
32
|
+
value = c.fetch('value').to_s
|
30
33
|
|
31
34
|
[operator, key, value]
|
32
|
-
|
35
|
+
end
|
33
36
|
|
34
37
|
any_operators.any? &&
|
35
|
-
tickets.select! { |t| any_operators.find { |(o,k,v)| t[k].to_s.public_send(o, v) } }
|
38
|
+
tickets.select! { |t| any_operators.find { |(o, k, v)| t[k].to_s.public_send(o, v) } }
|
36
39
|
|
37
|
-
page(tickets, root:
|
40
|
+
page(tickets, root: 'tickets')
|
38
41
|
end
|
39
42
|
end
|
data/lib/zendesk2/get_views.rb
CHANGED
data/lib/zendesk2/group.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::Group
|
2
3
|
include Zendesk2::Model
|
3
4
|
|
@@ -21,12 +22,12 @@ class Zendesk2::Group
|
|
21
22
|
data = if new_record?
|
22
23
|
requires :name
|
23
24
|
|
24
|
-
cistern.create_group(
|
25
|
+
cistern.create_group('group' => attributes)
|
25
26
|
else
|
26
27
|
requires :identity
|
27
28
|
|
28
|
-
cistern.update_group(
|
29
|
-
end.body[
|
29
|
+
cistern.update_group('group' => attributes)
|
30
|
+
end.body['group']
|
30
31
|
|
31
32
|
merge_attributes(data)
|
32
33
|
end
|
@@ -34,12 +35,12 @@ class Zendesk2::Group
|
|
34
35
|
def destroy!
|
35
36
|
requires :identity
|
36
37
|
|
37
|
-
cistern.destroy_group(
|
38
|
+
cistern.destroy_group('group' => { 'id' => identity })
|
38
39
|
|
39
40
|
self.deleted = true
|
40
41
|
end
|
41
42
|
|
42
43
|
def destroyed?
|
43
|
-
|
44
|
+
deleted
|
44
45
|
end
|
45
46
|
end
|
data/lib/zendesk2/groups.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::Groups
|
2
3
|
include Zendesk2::Collection
|
3
4
|
|
@@ -7,14 +8,14 @@ class Zendesk2::Groups
|
|
7
8
|
model Zendesk2::Group
|
8
9
|
|
9
10
|
self.collection_method = :get_groups
|
10
|
-
self.collection_root =
|
11
|
+
self.collection_root = 'groups'
|
11
12
|
self.model_method = :get_group
|
12
|
-
self.model_root =
|
13
|
-
self.search_type =
|
13
|
+
self.model_root = 'group'
|
14
|
+
self.search_type = 'group'
|
14
15
|
|
15
16
|
def assignable
|
16
|
-
data =
|
17
|
-
collection =
|
18
|
-
collection.merge_attributes(Cistern::Hash.slice(data,
|
17
|
+
data = cistern.get_assignable_groups.body
|
18
|
+
collection = cistern.groups.load(data['groups'])
|
19
|
+
collection.merge_attributes(Cistern::Hash.slice(data, 'next_page', 'previous_page', 'count'))
|
19
20
|
end
|
20
21
|
end
|
data/lib/zendesk2/help_center.rb
CHANGED
@@ -1,15 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module Zendesk2::HelpCenter; end
|
2
3
|
|
3
4
|
require 'zendesk2/help_center/translation_source'
|
4
5
|
|
5
6
|
require 'zendesk2/help_center/create_help_center_article'
|
6
7
|
require 'zendesk2/help_center/create_help_center_category'
|
8
|
+
require 'zendesk2/help_center/create_help_center_post'
|
7
9
|
require 'zendesk2/help_center/create_help_center_section'
|
10
|
+
require 'zendesk2/help_center/create_help_center_topic'
|
8
11
|
require 'zendesk2/help_center/create_help_center_translation'
|
9
12
|
require 'zendesk2/help_center/destroy_help_center_article'
|
10
13
|
require 'zendesk2/help_center/destroy_help_center_category'
|
14
|
+
require 'zendesk2/help_center/destroy_help_center_post'
|
11
15
|
require 'zendesk2/help_center/destroy_help_center_section'
|
12
16
|
require 'zendesk2/help_center/destroy_help_center_translation'
|
17
|
+
require 'zendesk2/help_center/destroy_help_center_topic'
|
13
18
|
require 'zendesk2/help_center/get_help_center_access_policy'
|
14
19
|
require 'zendesk2/help_center/get_help_center_article'
|
15
20
|
require 'zendesk2/help_center/get_help_center_articles'
|
@@ -17,25 +22,35 @@ require 'zendesk2/help_center/get_help_center_categories'
|
|
17
22
|
require 'zendesk2/help_center/get_help_center_categories_articles'
|
18
23
|
require 'zendesk2/help_center/get_help_center_categories_sections'
|
19
24
|
require 'zendesk2/help_center/get_help_center_category'
|
25
|
+
require 'zendesk2/help_center/get_help_center_post'
|
26
|
+
require 'zendesk2/help_center/get_help_center_posts'
|
20
27
|
require 'zendesk2/help_center/get_help_center_section'
|
21
28
|
require 'zendesk2/help_center/get_help_center_sections'
|
22
29
|
require 'zendesk2/help_center/get_help_center_sections_articles'
|
30
|
+
require 'zendesk2/help_center/get_help_center_topic'
|
31
|
+
require 'zendesk2/help_center/get_help_center_topics'
|
23
32
|
require 'zendesk2/help_center/get_help_center_translation'
|
24
33
|
require 'zendesk2/help_center/get_help_center_translations'
|
25
34
|
require 'zendesk2/help_center/search_help_center_articles'
|
26
35
|
require 'zendesk2/help_center/update_help_center_access_policy'
|
27
36
|
require 'zendesk2/help_center/update_help_center_article'
|
28
37
|
require 'zendesk2/help_center/update_help_center_category'
|
38
|
+
require 'zendesk2/help_center/update_help_center_post'
|
29
39
|
require 'zendesk2/help_center/update_help_center_section'
|
40
|
+
require 'zendesk2/help_center/update_help_center_topic'
|
30
41
|
require 'zendesk2/help_center/update_help_center_translation'
|
31
42
|
|
32
43
|
require 'zendesk2/help_center/access_policy'
|
33
44
|
require 'zendesk2/help_center/article'
|
34
45
|
require 'zendesk2/help_center/category'
|
46
|
+
require 'zendesk2/help_center/post'
|
35
47
|
require 'zendesk2/help_center/section'
|
48
|
+
require 'zendesk2/help_center/topic'
|
36
49
|
require 'zendesk2/help_center/translation'
|
37
50
|
|
38
51
|
require 'zendesk2/help_center/articles'
|
39
52
|
require 'zendesk2/help_center/categories'
|
53
|
+
require 'zendesk2/help_center/posts'
|
40
54
|
require 'zendesk2/help_center/sections'
|
55
|
+
require 'zendesk2/help_center/topics'
|
41
56
|
require 'zendesk2/help_center/translations'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::HelpCenter::AccessPolicy
|
2
3
|
include Zendesk2::Model
|
3
4
|
|
@@ -20,7 +21,7 @@ class Zendesk2::HelpCenter::AccessPolicy
|
|
20
21
|
def save!
|
21
22
|
requires :section_id
|
22
23
|
|
23
|
-
response = cistern.update_help_center_access_policy(
|
24
|
-
merge_attributes(response.body[
|
24
|
+
response = cistern.update_help_center_access_policy('access_policy' => attributes, 'section_id' => section_id)
|
25
|
+
merge_attributes(response.body['access_policy'])
|
25
26
|
end
|
26
27
|
end
|