clarion-shared-types 1.0.90 → 1.0.92

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 (56) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +27 -0
  4. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  5. package/dist/cjs/modules/permission/enums/permissions-moudule.enum.js +1 -0
  6. package/dist/cjs/modules/permission/enums/permissions-moudule.enum.js.map +1 -1
  7. package/dist/cjs/modules/support/enums/support-enums.js +375 -0
  8. package/dist/cjs/modules/support/enums/support-enums.js.map +1 -0
  9. package/dist/cjs/modules/support/index.js +27 -0
  10. package/dist/cjs/modules/support/index.js.map +1 -0
  11. package/dist/cjs/modules/support/interfaces/customer-feedback.dto.js +3 -0
  12. package/dist/cjs/modules/support/interfaces/customer-feedback.dto.js.map +1 -0
  13. package/dist/cjs/modules/support/interfaces/support-configuration.dto.js +3 -0
  14. package/dist/cjs/modules/support/interfaces/support-configuration.dto.js.map +1 -0
  15. package/dist/cjs/modules/support/interfaces/support-reports.dto.js +3 -0
  16. package/dist/cjs/modules/support/interfaces/support-reports.dto.js.map +1 -0
  17. package/dist/cjs/modules/support/interfaces/support-sync.dto.js +3 -0
  18. package/dist/cjs/modules/support/interfaces/support-sync.dto.js.map +1 -0
  19. package/dist/cjs/modules/support/interfaces/support-ticket.dto.js +3 -0
  20. package/dist/cjs/modules/support/interfaces/support-ticket.dto.js.map +1 -0
  21. package/dist/cjs/modules/support/utils/support-display.util.js +364 -0
  22. package/dist/cjs/modules/support/utils/support-display.util.js.map +1 -0
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/modules/permission/enums/permission-actions.enum.js +27 -0
  26. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  27. package/dist/esm/modules/permission/enums/permissions-moudule.enum.js +1 -0
  28. package/dist/esm/modules/permission/enums/permissions-moudule.enum.js.map +1 -1
  29. package/dist/esm/modules/support/enums/support-enums.js +372 -0
  30. package/dist/esm/modules/support/enums/support-enums.js.map +1 -0
  31. package/dist/esm/modules/support/index.js +11 -0
  32. package/dist/esm/modules/support/index.js.map +1 -0
  33. package/dist/esm/modules/support/interfaces/customer-feedback.dto.js +2 -0
  34. package/dist/esm/modules/support/interfaces/customer-feedback.dto.js.map +1 -0
  35. package/dist/esm/modules/support/interfaces/support-configuration.dto.js +2 -0
  36. package/dist/esm/modules/support/interfaces/support-configuration.dto.js.map +1 -0
  37. package/dist/esm/modules/support/interfaces/support-reports.dto.js +2 -0
  38. package/dist/esm/modules/support/interfaces/support-reports.dto.js.map +1 -0
  39. package/dist/esm/modules/support/interfaces/support-sync.dto.js +2 -0
  40. package/dist/esm/modules/support/interfaces/support-sync.dto.js.map +1 -0
  41. package/dist/esm/modules/support/interfaces/support-ticket.dto.js +2 -0
  42. package/dist/esm/modules/support/interfaces/support-ticket.dto.js.map +1 -0
  43. package/dist/esm/modules/support/utils/support-display.util.js +351 -0
  44. package/dist/esm/modules/support/utils/support-display.util.js.map +1 -0
  45. package/dist/types/index.d.ts +1 -0
  46. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +22 -1
  47. package/dist/types/modules/permission/enums/permissions-moudule.enum.d.ts +2 -1
  48. package/dist/types/modules/support/enums/support-enums.d.ts +341 -0
  49. package/dist/types/modules/support/index.d.ts +7 -0
  50. package/dist/types/modules/support/interfaces/customer-feedback.dto.d.ts +151 -0
  51. package/dist/types/modules/support/interfaces/support-configuration.dto.d.ts +244 -0
  52. package/dist/types/modules/support/interfaces/support-reports.dto.d.ts +180 -0
  53. package/dist/types/modules/support/interfaces/support-sync.dto.d.ts +92 -0
  54. package/dist/types/modules/support/interfaces/support-ticket.dto.d.ts +289 -0
  55. package/dist/types/modules/support/utils/support-display.util.d.ts +67 -0
  56. package/package.json +1 -1
@@ -0,0 +1,351 @@
1
+ import { CustomerFeedbackChannel, CustomerFeedbackSentiment, CustomerFeedbackStatus, CustomerFeedbackType, SupportMessageAuthorType, SupportProviderCapability, SupportProviderCode, SupportQueueAssignmentStrategy, SupportRelatedEntityType, SupportRoutingMatchType, SupportSlaClock, SupportSlaState, SupportSlaTarget, SupportSyncFailureReason, SupportSyncOperation, SupportSyncStatus, SupportTeamMemberRole, SupportTicketChannel, SupportTicketMessageType, SupportTicketPriority, SupportTicketSource, SupportTicketStatus, SupportWebhookStatus, } from '../enums/support-enums';
2
+ /**
3
+ * Human labels for the support enums.
4
+ *
5
+ * Kept in the shared package rather than in the admin app so every screen that
6
+ * shows a ticket - the list, the detail page, the queue board, the customer's
7
+ * own screen - names the same state the same way. An operator reading "Waiting
8
+ * on customer" in one place and "Pending reply" in another would reasonably
9
+ * assume they were different things.
10
+ */
11
+ export const SUPPORT_TICKET_STATUS_LABELS = {
12
+ [SupportTicketStatus.NEW]: 'New',
13
+ [SupportTicketStatus.OPEN]: 'Open',
14
+ [SupportTicketStatus.ASSIGNED]: 'Assigned',
15
+ [SupportTicketStatus.IN_PROGRESS]: 'In progress',
16
+ [SupportTicketStatus.WAITING_ON_CUSTOMER]: 'Waiting on customer',
17
+ [SupportTicketStatus.WAITING_ON_INTERNAL_TEAM]: 'Waiting on our team',
18
+ [SupportTicketStatus.RESOLVED]: 'Resolved',
19
+ [SupportTicketStatus.CLOSED]: 'Closed',
20
+ [SupportTicketStatus.REOPENED]: 'Reopened',
21
+ [SupportTicketStatus.CANCELLED]: 'Cancelled',
22
+ };
23
+ export const SUPPORT_TICKET_PRIORITY_LABELS = {
24
+ [SupportTicketPriority.CRITICAL]: 'Critical',
25
+ [SupportTicketPriority.URGENT]: 'Urgent',
26
+ [SupportTicketPriority.HIGH]: 'High',
27
+ [SupportTicketPriority.NORMAL]: 'Normal',
28
+ [SupportTicketPriority.LOW]: 'Low',
29
+ };
30
+ export const SUPPORT_TICKET_CHANNEL_LABELS = {
31
+ [SupportTicketChannel.MOBILE_APP]: 'Mobile app',
32
+ [SupportTicketChannel.WEB_APP]: 'Web app',
33
+ [SupportTicketChannel.AGENT_PORTAL]: 'Raised by agent',
34
+ [SupportTicketChannel.PROVIDER]: 'Helpdesk',
35
+ [SupportTicketChannel.EMAIL]: 'Email',
36
+ [SupportTicketChannel.PHONE]: 'Phone',
37
+ [SupportTicketChannel.SMS]: 'SMS',
38
+ [SupportTicketChannel.CHAT]: 'Chat',
39
+ [SupportTicketChannel.SYSTEM]: 'System',
40
+ [SupportTicketChannel.API]: 'API',
41
+ };
42
+ export const SUPPORT_TICKET_SOURCE_LABELS = {
43
+ [SupportTicketSource.CUSTOMER]: 'Customer',
44
+ [SupportTicketSource.AGENT]: 'Agent',
45
+ [SupportTicketSource.SYSTEM]: 'System',
46
+ [SupportTicketSource.FEEDBACK_CONVERSION]: 'From feedback',
47
+ [SupportTicketSource.PROVIDER_SYNC]: 'From helpdesk',
48
+ [SupportTicketSource.CHAT_ESCALATION]: 'Escalated from chat',
49
+ };
50
+ export const SUPPORT_TICKET_MESSAGE_TYPE_LABELS = {
51
+ [SupportTicketMessageType.CUSTOMER_MESSAGE]: 'Customer',
52
+ [SupportTicketMessageType.AGENT_REPLY]: 'Reply to customer',
53
+ [SupportTicketMessageType.INTERNAL_NOTE]: 'Internal note',
54
+ [SupportTicketMessageType.SYSTEM_MESSAGE]: 'System',
55
+ [SupportTicketMessageType.STATUS_MESSAGE]: 'Status change',
56
+ };
57
+ export const SUPPORT_MESSAGE_AUTHOR_TYPE_LABELS = {
58
+ [SupportMessageAuthorType.CUSTOMER]: 'Customer',
59
+ [SupportMessageAuthorType.AGENT]: 'Agent',
60
+ [SupportMessageAuthorType.SYSTEM]: 'System',
61
+ [SupportMessageAuthorType.PROVIDER_AGENT]: 'Helpdesk agent',
62
+ };
63
+ export const SUPPORT_SLA_STATE_LABELS = {
64
+ [SupportSlaState.ON_TRACK]: 'On track',
65
+ [SupportSlaState.WARNING]: 'Due soon',
66
+ [SupportSlaState.BREACHED]: 'Breached',
67
+ [SupportSlaState.PAUSED]: 'Paused',
68
+ [SupportSlaState.MET]: 'Met',
69
+ [SupportSlaState.NOT_APPLICABLE]: 'No target',
70
+ };
71
+ export const SUPPORT_SLA_TARGET_LABELS = {
72
+ [SupportSlaTarget.FIRST_RESPONSE]: 'First response',
73
+ [SupportSlaTarget.RESOLUTION]: 'Resolution',
74
+ };
75
+ export const SUPPORT_SLA_CLOCK_LABELS = {
76
+ [SupportSlaClock.CALENDAR]: 'Around the clock',
77
+ [SupportSlaClock.BUSINESS]: 'Working hours',
78
+ };
79
+ export const CUSTOMER_FEEDBACK_TYPE_LABELS = {
80
+ [CustomerFeedbackType.BUG_REPORT]: 'Bug report',
81
+ [CustomerFeedbackType.FEATURE_REQUEST]: 'Feature request',
82
+ [CustomerFeedbackType.COMPLAINT]: 'Complaint',
83
+ [CustomerFeedbackType.COMPLIMENT]: 'Compliment',
84
+ [CustomerFeedbackType.GENERAL]: 'General',
85
+ [CustomerFeedbackType.SERVICE_RATING]: 'Service rating',
86
+ [CustomerFeedbackType.SUPPORT_RATING]: 'Support rating',
87
+ };
88
+ export const CUSTOMER_FEEDBACK_STATUS_LABELS = {
89
+ [CustomerFeedbackStatus.NEW]: 'New',
90
+ [CustomerFeedbackStatus.UNDER_REVIEW]: 'Under review',
91
+ [CustomerFeedbackStatus.ACKNOWLEDGED]: 'Acknowledged',
92
+ [CustomerFeedbackStatus.RESPONDED]: 'Responded',
93
+ [CustomerFeedbackStatus.CONVERTED_TO_TICKET]: 'Became a ticket',
94
+ [CustomerFeedbackStatus.CLOSED]: 'Closed',
95
+ [CustomerFeedbackStatus.DISMISSED]: 'Dismissed',
96
+ };
97
+ export const CUSTOMER_FEEDBACK_CHANNEL_LABELS = {
98
+ [CustomerFeedbackChannel.MOBILE_APP]: 'Mobile app',
99
+ [CustomerFeedbackChannel.WEB_APP]: 'Web app',
100
+ [CustomerFeedbackChannel.AGENT_PORTAL]: 'Agent portal',
101
+ [CustomerFeedbackChannel.API]: 'API',
102
+ };
103
+ export const CUSTOMER_FEEDBACK_SENTIMENT_LABELS = {
104
+ [CustomerFeedbackSentiment.POSITIVE]: 'Positive',
105
+ [CustomerFeedbackSentiment.NEUTRAL]: 'Neutral',
106
+ [CustomerFeedbackSentiment.NEGATIVE]: 'Negative',
107
+ [CustomerFeedbackSentiment.UNKNOWN]: 'Unknown',
108
+ };
109
+ export const SUPPORT_PROVIDER_LABELS = {
110
+ [SupportProviderCode.ZAMMAD]: 'Zammad',
111
+ [SupportProviderCode.FRESHDESK]: 'Freshdesk',
112
+ [SupportProviderCode.NONE]: 'Clarion only',
113
+ };
114
+ export const SUPPORT_PROVIDER_CAPABILITY_LABELS = {
115
+ [SupportProviderCapability.CREATE_TICKET]: 'Create tickets',
116
+ [SupportProviderCapability.UPDATE_TICKET]: 'Update tickets',
117
+ [SupportProviderCapability.PUBLIC_REPLY]: 'Reply to customers',
118
+ [SupportProviderCapability.INTERNAL_NOTE]: 'Internal notes',
119
+ [SupportProviderCapability.ASSIGN_TICKET]: 'Assign agents',
120
+ [SupportProviderCapability.CHANGE_STATUS]: 'Change status',
121
+ [SupportProviderCapability.CLOSE_REOPEN]: 'Close and reopen',
122
+ [SupportProviderCapability.ATTACHMENTS]: 'Attachments',
123
+ [SupportProviderCapability.CONTACTS]: 'Customer contacts',
124
+ [SupportProviderCapability.SEARCH]: 'Search',
125
+ [SupportProviderCapability.WEBHOOKS]: 'Webhooks',
126
+ [SupportProviderCapability.FETCH_TICKET]: 'Re-read a ticket',
127
+ };
128
+ export const SUPPORT_SYNC_STATUS_LABELS = {
129
+ [SupportSyncStatus.PENDING]: 'Queued',
130
+ [SupportSyncStatus.IN_PROGRESS]: 'Sending',
131
+ [SupportSyncStatus.SUCCEEDED]: 'Synced',
132
+ [SupportSyncStatus.FAILED]: 'Failed, will retry',
133
+ [SupportSyncStatus.DEAD_LETTER]: 'Needs attention',
134
+ [SupportSyncStatus.SKIPPED]: 'Not applicable',
135
+ [SupportSyncStatus.SUPERSEDED]: 'Superseded',
136
+ };
137
+ export const SUPPORT_SYNC_OPERATION_LABELS = {
138
+ [SupportSyncOperation.UPSERT_CONTACT]: 'Sync customer',
139
+ [SupportSyncOperation.CREATE_TICKET]: 'Create ticket',
140
+ [SupportSyncOperation.UPDATE_TICKET]: 'Update ticket',
141
+ [SupportSyncOperation.ADD_PUBLIC_REPLY]: 'Send reply',
142
+ [SupportSyncOperation.ADD_INTERNAL_NOTE]: 'Add internal note',
143
+ [SupportSyncOperation.ASSIGN_TICKET]: 'Assign agent',
144
+ [SupportSyncOperation.CHANGE_STATUS]: 'Change status',
145
+ [SupportSyncOperation.ADD_ATTACHMENT]: 'Attach file',
146
+ [SupportSyncOperation.CLOSE_TICKET]: 'Close ticket',
147
+ [SupportSyncOperation.REOPEN_TICKET]: 'Reopen ticket',
148
+ [SupportSyncOperation.FETCH_TICKET]: 'Re-read ticket',
149
+ };
150
+ /**
151
+ * Failure reasons in words an operator can act on.
152
+ *
153
+ * Each one says what to DO, not just what happened. "Provider rejected the
154
+ * request" tells nobody anything; "the helpdesk refused the request - check the
155
+ * ticket's category mapping" is a next step.
156
+ */
157
+ export const SUPPORT_SYNC_FAILURE_REASON_LABELS = {
158
+ [SupportSyncFailureReason.AUTHENTICATION_FAILED]: 'The helpdesk refused the credential - check the configured secret',
159
+ [SupportSyncFailureReason.AUTHORIZATION_FAILED]: 'The helpdesk account is not allowed to do this - check its role',
160
+ [SupportSyncFailureReason.INVALID_PAYLOAD]: 'The helpdesk could not read the request - a field mapping is wrong',
161
+ [SupportSyncFailureReason.NOT_FOUND]: 'The record no longer exists in the helpdesk',
162
+ [SupportSyncFailureReason.PROVIDER_REJECTED]: 'The helpdesk declined the request',
163
+ [SupportSyncFailureReason.RATE_LIMITED]: 'Throttled by the helpdesk - it will retry shortly',
164
+ [SupportSyncFailureReason.PROVIDER_UNAVAILABLE]: 'The helpdesk could not be reached',
165
+ [SupportSyncFailureReason.TIMEOUT]: 'The helpdesk did not answer in time',
166
+ [SupportSyncFailureReason.CIRCUIT_OPEN]: 'Paused after repeated failures - it will resume on its own',
167
+ [SupportSyncFailureReason.PROVIDER_NOT_CONFIGURED]: 'No helpdesk is configured for this deployment',
168
+ [SupportSyncFailureReason.UNREADABLE_SUCCESS]: 'The helpdesk accepted it but the reply could not be read - check the helpdesk before retrying',
169
+ [SupportSyncFailureReason.UNKNOWN]: 'Unrecognised failure - it will retry',
170
+ };
171
+ export const SUPPORT_WEBHOOK_STATUS_LABELS = {
172
+ [SupportWebhookStatus.RECEIVED]: 'Received',
173
+ [SupportWebhookStatus.PROCESSED]: 'Applied',
174
+ [SupportWebhookStatus.DUPLICATE]: 'Duplicate',
175
+ [SupportWebhookStatus.IGNORED]: 'Ignored',
176
+ [SupportWebhookStatus.REJECTED]: 'Rejected - bad signature',
177
+ [SupportWebhookStatus.FAILED]: 'Failed',
178
+ };
179
+ export const SUPPORT_RELATED_ENTITY_TYPE_LABELS = {
180
+ [SupportRelatedEntityType.INCIDENT]: 'Incident',
181
+ [SupportRelatedEntityType.BILLING_SUBSCRIPTION]: 'Subscription',
182
+ [SupportRelatedEntityType.BILLING_INVOICE]: 'Invoice',
183
+ [SupportRelatedEntityType.BILLING_PAYMENT]: 'Payment',
184
+ [SupportRelatedEntityType.BILLING_PACKAGE]: 'Package',
185
+ [SupportRelatedEntityType.CHAT_CONVERSATION]: 'Chat',
186
+ [SupportRelatedEntityType.NEWSFEED_POST]: 'Newsfeed post',
187
+ [SupportRelatedEntityType.NEWSFEED_COMMENT]: 'Newsfeed comment',
188
+ [SupportRelatedEntityType.PARTNER_DISPATCH]: 'Partner dispatch',
189
+ [SupportRelatedEntityType.RESPONSE_UNIT]: 'Response unit',
190
+ [SupportRelatedEntityType.ORGANIZATION]: 'Organization',
191
+ [SupportRelatedEntityType.USER]: 'User',
192
+ [SupportRelatedEntityType.APP_SCREEN]: 'App screen',
193
+ [SupportRelatedEntityType.SUPPORT_TICKET]: 'Support ticket',
194
+ [SupportRelatedEntityType.CUSTOMER_FEEDBACK]: 'Customer feedback',
195
+ [SupportRelatedEntityType.OTHER]: 'Other',
196
+ };
197
+ export const SUPPORT_QUEUE_ASSIGNMENT_STRATEGY_LABELS = {
198
+ [SupportQueueAssignmentStrategy.MANUAL]: 'Assigned by a supervisor',
199
+ [SupportQueueAssignmentStrategy.ROUND_ROBIN]: 'Round robin (not yet available)',
200
+ [SupportQueueAssignmentStrategy.LEAST_BUSY]: 'Least busy agent (not yet available)',
201
+ };
202
+ export const SUPPORT_ROUTING_MATCH_TYPE_LABELS = {
203
+ [SupportRoutingMatchType.ANY]: 'Every ticket',
204
+ [SupportRoutingMatchType.CATEGORY]: 'Category',
205
+ [SupportRoutingMatchType.PRIORITY]: 'Priority',
206
+ [SupportRoutingMatchType.CHANNEL]: 'Channel',
207
+ [SupportRoutingMatchType.COUNTRY]: 'Country',
208
+ [SupportRoutingMatchType.CONTROL_CENTRE]: 'Control centre',
209
+ [SupportRoutingMatchType.APP_ID]: 'Application',
210
+ [SupportRoutingMatchType.RELATED_ENTITY_TYPE]: 'What it is about',
211
+ };
212
+ export const SUPPORT_TEAM_MEMBER_ROLE_LABELS = {
213
+ [SupportTeamMemberRole.AGENT]: 'Agent',
214
+ [SupportTeamMemberRole.SUPERVISOR]: 'Supervisor',
215
+ [SupportTeamMemberRole.MANAGER]: 'Manager',
216
+ };
217
+ export function supportTicketStatusTone(status) {
218
+ switch (status) {
219
+ case SupportTicketStatus.RESOLVED:
220
+ case SupportTicketStatus.CLOSED:
221
+ return 'success';
222
+ case SupportTicketStatus.WAITING_ON_CUSTOMER:
223
+ case SupportTicketStatus.WAITING_ON_INTERNAL_TEAM:
224
+ return 'warn';
225
+ case SupportTicketStatus.REOPENED:
226
+ return 'danger';
227
+ case SupportTicketStatus.CANCELLED:
228
+ return 'neutral';
229
+ default:
230
+ return 'info';
231
+ }
232
+ }
233
+ export function supportTicketPriorityTone(priority) {
234
+ switch (priority) {
235
+ case SupportTicketPriority.CRITICAL:
236
+ case SupportTicketPriority.URGENT:
237
+ return 'danger';
238
+ case SupportTicketPriority.HIGH:
239
+ return 'warn';
240
+ case SupportTicketPriority.LOW:
241
+ return 'neutral';
242
+ default:
243
+ return 'info';
244
+ }
245
+ }
246
+ export function supportSlaStateTone(state) {
247
+ switch (state) {
248
+ case SupportSlaState.MET:
249
+ return 'success';
250
+ case SupportSlaState.WARNING:
251
+ return 'warn';
252
+ case SupportSlaState.BREACHED:
253
+ return 'danger';
254
+ case SupportSlaState.PAUSED:
255
+ case SupportSlaState.NOT_APPLICABLE:
256
+ return 'neutral';
257
+ default:
258
+ return 'info';
259
+ }
260
+ }
261
+ export function supportSyncStatusTone(status) {
262
+ switch (status) {
263
+ case SupportSyncStatus.SUCCEEDED:
264
+ return 'success';
265
+ case SupportSyncStatus.FAILED:
266
+ return 'warn';
267
+ case SupportSyncStatus.DEAD_LETTER:
268
+ return 'danger';
269
+ case SupportSyncStatus.SKIPPED:
270
+ case SupportSyncStatus.SUPERSEDED:
271
+ return 'neutral';
272
+ default:
273
+ return 'info';
274
+ }
275
+ }
276
+ export function customerFeedbackStatusTone(status) {
277
+ switch (status) {
278
+ case CustomerFeedbackStatus.RESPONDED:
279
+ case CustomerFeedbackStatus.CLOSED:
280
+ return 'success';
281
+ case CustomerFeedbackStatus.NEW:
282
+ case CustomerFeedbackStatus.UNDER_REVIEW:
283
+ return 'warn';
284
+ case CustomerFeedbackStatus.DISMISSED:
285
+ return 'neutral';
286
+ default:
287
+ return 'info';
288
+ }
289
+ }
290
+ export function customerFeedbackSentimentTone(sentiment) {
291
+ switch (sentiment) {
292
+ case CustomerFeedbackSentiment.POSITIVE:
293
+ return 'success';
294
+ case CustomerFeedbackSentiment.NEGATIVE:
295
+ return 'danger';
296
+ case CustomerFeedbackSentiment.NEUTRAL:
297
+ return 'info';
298
+ default:
299
+ return 'neutral';
300
+ }
301
+ }
302
+ /**
303
+ * How a deadline reads on screen.
304
+ *
305
+ * Returns a phrase rather than a number so a paused clock does not render as a
306
+ * countdown that is not counting - the single most misleading thing an SLA chip
307
+ * can do.
308
+ */
309
+ export function describeSupportSlaDeadline(state, remainingMinutes) {
310
+ if (state === SupportSlaState.NOT_APPLICABLE)
311
+ return 'No target';
312
+ if (state === SupportSlaState.MET)
313
+ return 'Met';
314
+ if (state === SupportSlaState.PAUSED)
315
+ return 'Paused - waiting on the customer';
316
+ if (remainingMinutes == null)
317
+ return SUPPORT_SLA_STATE_LABELS[state];
318
+ if (remainingMinutes < 0)
319
+ return `${formatSupportDuration(-remainingMinutes)} overdue`;
320
+ return `${formatSupportDuration(remainingMinutes)} left`;
321
+ }
322
+ /** Minutes as a short human duration: 45m, 3h 20m, 2d 4h. */
323
+ export function formatSupportDuration(minutes) {
324
+ if (minutes == null || !Number.isFinite(minutes))
325
+ return '-';
326
+ const total = Math.max(0, Math.round(minutes));
327
+ if (total < 60)
328
+ return `${total}m`;
329
+ const hours = Math.floor(total / 60);
330
+ const remainderMinutes = total % 60;
331
+ if (hours < 24) {
332
+ return remainderMinutes === 0 ? `${hours}h` : `${hours}h ${remainderMinutes}m`;
333
+ }
334
+ const days = Math.floor(hours / 24);
335
+ const remainderHours = hours % 24;
336
+ return remainderHours === 0 ? `${days}d` : `${days}d ${remainderHours}h`;
337
+ }
338
+ /**
339
+ * Whether an adapter can do something.
340
+ *
341
+ * The admin gates every button on this rather than assuming, so an action a
342
+ * helpdesk cannot perform is never offered to an operator as if it worked.
343
+ */
344
+ export function supportProviderSupports(capabilities, capability) {
345
+ return Array.isArray(capabilities) && capabilities.includes(capability);
346
+ }
347
+ /** True for the message types a customer is allowed to see. */
348
+ export function isCustomerVisibleSupportMessage(type) {
349
+ return type !== SupportTicketMessageType.INTERNAL_NOTE;
350
+ }
351
+ //# sourceMappingURL=support-display.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-display.util.js","sourceRoot":"","sources":["../../../../../src/modules/support/utils/support-display.util.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,6 @@ export * from './modules/tracking/index';
20
20
  export * from './modules/entitlement/index';
21
21
  export * from './modules/alert-dispatch/index';
22
22
  export * from './modules/partner/index';
23
+ export * from './modules/support/index';
23
24
  export * from './modules/common/interfaces/server-message';
24
25
  export * from './modules/common/interfaces/pagination';
@@ -37,5 +37,26 @@ export declare enum PermissionActions {
37
37
  CREATE_RESPONSE_UNIT = "create:response-unit",
38
38
  READ_RESPONSE_UNIT = "read:response-unit",
39
39
  UPDATE_RESPONSE_UNIT = "update:response-unit",
40
- DELETE_RESPONSE_UNIT = "delete:response-unit"
40
+ DELETE_RESPONSE_UNIT = "delete:response-unit",
41
+ CREATE_SUPPORT_TICKET = "create:support-ticket",
42
+ READ_SUPPORT_TICKET = "read:support-ticket",
43
+ UPDATE_SUPPORT_TICKET = "update:support-ticket",
44
+ ASSIGN_SUPPORT_TICKET = "assign:support-ticket",
45
+ REPLY_SUPPORT_TICKET = "reply:support-ticket",
46
+ NOTE_SUPPORT_TICKET = "note:support-ticket",
47
+ CHANGE_STATUS_SUPPORT_TICKET = "change-status:support-ticket",
48
+ CHANGE_PRIORITY_SUPPORT_TICKET = "change-priority:support-ticket",
49
+ CLOSE_SUPPORT_TICKET = "close:support-ticket",
50
+ REOPEN_SUPPORT_TICKET = "reopen:support-ticket",
51
+ READ_SUPPORT_FEEDBACK = "read:support-feedback",
52
+ REVIEW_SUPPORT_FEEDBACK = "review:support-feedback",
53
+ RESPOND_SUPPORT_FEEDBACK = "respond:support-feedback",
54
+ CONVERT_SUPPORT_FEEDBACK = "convert:support-feedback",
55
+ MANAGE_SUPPORT_QUEUE = "manage:support-queue",
56
+ MANAGE_SUPPORT_TEAM = "manage:support-team",
57
+ MANAGE_SUPPORT_SLA = "manage:support-sla",
58
+ MANAGE_SUPPORT_CONFIGURATION = "manage:support-configuration",
59
+ READ_SUPPORT_REPORT = "read:support-report",
60
+ READ_SUPPORT_SYNC = "read:support-sync",
61
+ MANAGE_SUPPORT_SYNC = "manage:support-sync"
41
62
  }
@@ -5,5 +5,6 @@ export declare enum PermissionsModule {
5
5
  USER = "User",
6
6
  ROLE = "Role",
7
7
  INCIDENT = "Grievance",
8
- RESPONSE_UNIT = "Response Unit"
8
+ RESPONSE_UNIT = "Response Unit",
9
+ SUPPORT = "Support"
9
10
  }