gitlab-customer-support-operations_zendesk 1.0.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.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/lib/support_ops_zendesk/packages.rb +89 -0
  3. data/lib/support_ops_zendesk/zendesk/app_installations.rb +62 -0
  4. data/lib/support_ops_zendesk/zendesk/app_job_statuses.rb +157 -0
  5. data/lib/support_ops_zendesk/zendesk/apps.rb +476 -0
  6. data/lib/support_ops_zendesk/zendesk/articles.rb +362 -0
  7. data/lib/support_ops_zendesk/zendesk/audit_logs.rb +166 -0
  8. data/lib/support_ops_zendesk/zendesk/automations.rb +390 -0
  9. data/lib/support_ops_zendesk/zendesk/base.rb +472 -0
  10. data/lib/support_ops_zendesk/zendesk/brands.rb +172 -0
  11. data/lib/support_ops_zendesk/zendesk/client.rb +91 -0
  12. data/lib/support_ops_zendesk/zendesk/comments.rb +37 -0
  13. data/lib/support_ops_zendesk/zendesk/configuration.rb +138 -0
  14. data/lib/support_ops_zendesk/zendesk/custom_roles.rb +224 -0
  15. data/lib/support_ops_zendesk/zendesk/dynamic_content.rb +297 -0
  16. data/lib/support_ops_zendesk/zendesk/dynamic_content_variants.rb +309 -0
  17. data/lib/support_ops_zendesk/zendesk/group_memberships.rb +337 -0
  18. data/lib/support_ops_zendesk/zendesk/groups.rb +385 -0
  19. data/lib/support_ops_zendesk/zendesk/help_center_categories.rb +332 -0
  20. data/lib/support_ops_zendesk/zendesk/help_center_content_tags.rb +237 -0
  21. data/lib/support_ops_zendesk/zendesk/help_center_management_permission_groups.rb +271 -0
  22. data/lib/support_ops_zendesk/zendesk/help_center_sections.rb +378 -0
  23. data/lib/support_ops_zendesk/zendesk/help_center_topics.rb +274 -0
  24. data/lib/support_ops_zendesk/zendesk/help_center_user_segments.rb +279 -0
  25. data/lib/support_ops_zendesk/zendesk/job_statuses.rb +231 -0
  26. data/lib/support_ops_zendesk/zendesk/locales.rb +326 -0
  27. data/lib/support_ops_zendesk/zendesk/macros.rb +407 -0
  28. data/lib/support_ops_zendesk/zendesk/oauth_clients.rb +186 -0
  29. data/lib/support_ops_zendesk/zendesk/oauth_tokens.rb +114 -0
  30. data/lib/support_ops_zendesk/zendesk/organization_fields.rb +282 -0
  31. data/lib/support_ops_zendesk/zendesk/organization_memberships.rb +336 -0
  32. data/lib/support_ops_zendesk/zendesk/organizations.rb +568 -0
  33. data/lib/support_ops_zendesk/zendesk/requester_roles.rb +58 -0
  34. data/lib/support_ops_zendesk/zendesk/satisfaction_reasons.rb +161 -0
  35. data/lib/support_ops_zendesk/zendesk/schedule_holidays.rb +27 -0
  36. data/lib/support_ops_zendesk/zendesk/schedules.rb +192 -0
  37. data/lib/support_ops_zendesk/zendesk/search.rb +185 -0
  38. data/lib/support_ops_zendesk/zendesk/sla_policies.rb +302 -0
  39. data/lib/support_ops_zendesk/zendesk/targets.rb +96 -0
  40. data/lib/support_ops_zendesk/zendesk/theme_job_statuses.rb +154 -0
  41. data/lib/support_ops_zendesk/zendesk/themes.rb +328 -0
  42. data/lib/support_ops_zendesk/zendesk/ticket_field_options.rb +154 -0
  43. data/lib/support_ops_zendesk/zendesk/ticket_fields.rb +357 -0
  44. data/lib/support_ops_zendesk/zendesk/ticket_forms.rb +370 -0
  45. data/lib/support_ops_zendesk/zendesk/ticket_user_types.rb +67 -0
  46. data/lib/support_ops_zendesk/zendesk/tickets.rb +837 -0
  47. data/lib/support_ops_zendesk/zendesk/translations.rb +310 -0
  48. data/lib/support_ops_zendesk/zendesk/trigger_categories.rb +275 -0
  49. data/lib/support_ops_zendesk/zendesk/triggers.rb +427 -0
  50. data/lib/support_ops_zendesk/zendesk/user_field_options.rb +153 -0
  51. data/lib/support_ops_zendesk/zendesk/user_fields.rb +312 -0
  52. data/lib/support_ops_zendesk/zendesk/users.rb +889 -0
  53. data/lib/support_ops_zendesk/zendesk/via_types.rb +137 -0
  54. data/lib/support_ops_zendesk/zendesk/views.rb +636 -0
  55. data/lib/support_ops_zendesk/zendesk/webhooks.rb +206 -0
  56. data/lib/support_ops_zendesk/zendesk.rb +66 -0
  57. data/lib/support_ops_zendesk.rb +29 -0
  58. metadata +274 -0
@@ -0,0 +1,137 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Defines the module SupportOps.
4
+ module SupportOps
5
+ # Defines the module Zendesk
6
+ module Zendesk
7
+ ##
8
+ # Defines the class ViaTypes within the module {SupportOps::Zendesk}.
9
+ #
10
+ # @author Jason Colyer
11
+ # @since 1.0.0
12
+ # @attr [Integer] id An auto-generated id
13
+ # @attr [String] name Theh name of the via type
14
+ class ViaTypes < SupportOps::Zendesk::Base
15
+ define_attributes :id, :name
16
+ readonly_attributes :id, :name
17
+
18
+ ##
19
+ # Lists via types
20
+ #
21
+ # @author Jason Colyer
22
+ # @since 1.0.0
23
+ # @return [Array]
24
+ # @example
25
+ # require 'support_ops_zendesk'
26
+ # types = SupportOps::Zendesk::ViaTypes.list
27
+ # pp types.first.name
28
+ # # => "Web form"
29
+ def self.list
30
+ [
31
+ { 'id' => 0, 'name' => 'Web form' },
32
+ { 'id' => 4, 'name' => 'Email' },
33
+ { 'id' => 5, 'name' => 'Web service (API)' },
34
+ { 'id' => 8, 'name' => 'Trigger, automation' },
35
+ { 'id' => 9, 'name' => 'Linked problem' },
36
+ { 'id' => 10, 'name' => 'Group deletion' },
37
+ { 'id' => 11, 'name' => 'Change user' },
38
+ { 'id' => 12, 'name' => 'Delete user' },
39
+ { 'id' => 13, 'name' => 'Change group' },
40
+ { 'id' => 14, 'name' => 'Push resource' },
41
+ { 'id' => 15, 'name' => 'iPhone' },
42
+ { 'id' => 16, 'name' => 'Get Satisfaction' },
43
+ { 'id' => 17, 'name' => 'Feedback tab' },
44
+ { 'id' => 19, 'name' => 'Merge' },
45
+ { 'id' => 20, 'name' => 'Batch' },
46
+ { 'id' => 21, 'name' => 'Recover from suspended ticket' },
47
+ { 'id' => 22, 'name' => 'Automatic Solution Suggestions' },
48
+ { 'id' => 23, 'name' => 'X (formerly Twitter) like' },
49
+ { 'id' => 24, 'name' => 'Topic' },
50
+ { 'id' => 25, 'name' => 'Merge user' },
51
+ { 'id' => 26, 'name' => 'X DM' },
52
+ { 'id' => 27, 'name' => 'Closed ticket' },
53
+ { 'id' => 28, 'name' => 'LogMeIn Rescue' },
54
+ { 'id' => 29, 'name' => 'Chat' },
55
+ { 'id' => 30, 'name' => 'X' },
56
+ { 'id' => 31, 'name' => 'Ticket sharing' },
57
+ { 'id' => 32, 'name' => 'Macro reference' },
58
+ { 'id' => 33, 'name' => 'Voicemail' },
59
+ { 'id' => 34, 'name' => 'Phone call (incoming)' },
60
+ { 'id' => 35, 'name' => 'Phone call (outbound)' },
61
+ { 'id' => 36, 'name' => 'Blog' },
62
+ { 'id' => 37, 'name' => 'Text message' },
63
+ { 'id' => 38, 'name' => 'Facebook post' },
64
+ { 'id' => 39, 'name' => 'Import' },
65
+ { 'id' => 40, 'name' => 'GitHub' },
66
+ { 'id' => 41, 'name' => 'Facebook private message' },
67
+ { 'id' => 42, 'name' => 'Lotus' },
68
+ { 'id' => 43, 'name' => 'Monitor event' },
69
+ { 'id' => 44, 'name' => 'CTI* voicemail' },
70
+ { 'id' => 45, 'name' => 'CTI phone call (inbound)' },
71
+ { 'id' => 46, 'name' => 'CTI phone call (outbound)' },
72
+ { 'id' => 47, 'name' => 'Churned account' },
73
+ { 'id' => 48, 'name' => 'Web Widget' },
74
+ { 'id' => 49, 'name' => 'Mobile SDK' },
75
+ { 'id' => 50, 'name' => 'Help center post' },
76
+ { 'id' => 51, 'name' => 'Sample ticket' },
77
+ { 'id' => 52, 'name' => 'Sample interactive ticket' },
78
+ { 'id' => 53, 'name' => 'Admin setting' },
79
+ { 'id' => 54, 'name' => 'Satisfaction prediction' },
80
+ { 'id' => 55, 'name' => 'Channel framework' },
81
+ { 'id' => 56, 'name' => 'Mobile' },
82
+ { 'id' => 57, 'name' => 'SMS text messages (through Talk)' },
83
+ { 'id' => 58, 'name' => 'Ticket tagging' },
84
+ { 'id' => 59, 'name' => 'Connect IPM' },
85
+ { 'id' => 60, 'name' => 'Connect Mail' },
86
+ { 'id' => 61, 'name' => 'Connect SMS' },
87
+ { 'id' => 62, 'name' => 'Rule revision' },
88
+ { 'id' => 63, 'name' => 'Answer Bot for agents' },
89
+ { 'id' => 64, 'name' => 'Answer Bot for Slack' },
90
+ { 'id' => 65, 'name' => 'Answer Bot for SDK' },
91
+ { 'id' => 66, 'name' => 'Answer Bot API' },
92
+ { 'id' => 67, 'name' => 'Answer Bot for Web Widget' },
93
+ { 'id' => 68, 'name' => 'Symphony' },
94
+ { 'id' => 69, 'name' => 'Side conversation' },
95
+ { 'id' => 70, 'name' => 'Answer Bot' },
96
+ { 'id' => 71, 'name' => 'Omnichannel' },
97
+ { 'id' => 72, 'name' => 'LINE' },
98
+ { 'id' => 73, 'name' => 'WeChat' },
99
+ { 'id' => 74, 'name' => 'WhatsApp' },
100
+ { 'id' => 75, 'name' => 'Native messaging' },
101
+ { 'id' => 76, 'name' => 'Mailgun' },
102
+ { 'id' => 77, 'name' => 'MessageBird SMS' },
103
+ { 'id' => 78, 'name' => 'Sunshine Conversations Facebook Messenger' },
104
+ { 'id' => 79, 'name' => 'Telegram messenger' },
105
+ { 'id' => 80, 'name' => 'Sunshine Conversations Twilio SMS' },
106
+ { 'id' => 81, 'name' => 'Viber messenger' },
107
+ { 'id' => 82, 'name' => 'Google RCS messaging' },
108
+ { 'id' => 83, 'name' => 'Apple Messages for Business' },
109
+ { 'id' => 84, 'name' => 'Google Business Messages' },
110
+ { 'id' => 85, 'name' => 'KakaoTalk messenger' },
111
+ { 'id' => 86, 'name' => 'Instagram Direct Messenger' },
112
+ { 'id' => 87, 'name' => 'Sunshine Conversations API' },
113
+ { 'id' => 88, 'name' => 'Sunshine Conversations X DM' },
114
+ { 'id' => 89, 'name' => 'Offline Chat Message' },
115
+ { 'id' => 90, 'name' => 'Chat transcript' },
116
+ { 'id' => 91, 'name' => 'Slack Connect Business Messaging' }
117
+ ].map { |v| ViaTypes.new(v) }
118
+ end
119
+
120
+ ##
121
+ # Locates a via type within Zendesk by name
122
+ #
123
+ # @author Jason Colyer
124
+ # @since 1.0.0
125
+ # @param name [String] The via type name to look for
126
+ # @return [Object] An instance of {SupportOps::Zendesk::ViaTypes}
127
+ # @example
128
+ # require 'support_ops_zendesk'
129
+ # type = SupportOps::Zendesk::ViaTypes.find_by_name('Web form')
130
+ # pp type.id
131
+ # # => 0
132
+ def self.find_by_name(name)
133
+ ViaTypes.list.detect { |v| v.name == name }
134
+ end
135
+ end
136
+ end
137
+ end