@trii/types 2.10.726 → 2.10.728

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 (136) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  3. package/dist/Conversations/Conversation.d.ts +8 -8
  4. package/dist/Conversations/InboxMongo.d.ts +12 -12
  5. package/dist/Conversations/Routing.d.ts +10 -10
  6. package/dist/Events/DomainEventTypes.d.ts +23 -23
  7. package/dist/Tickets/AdvancedApi.d.ts +55 -0
  8. package/dist/Tickets/AdvancedApi.js +17 -1
  9. package/dist/Tickets/Security.d.ts +55 -0
  10. package/dist/src/Automations/Capabilities/Capability.d.ts +81 -0
  11. package/dist/src/Automations/Capabilities/Capability.js +23 -0
  12. package/dist/src/Automations/Capabilities/index.d.ts +1 -0
  13. package/dist/src/Automations/Capabilities/index.js +17 -0
  14. package/dist/src/Automations/Common.d.ts +94 -0
  15. package/dist/src/Automations/Common.js +40 -0
  16. package/dist/src/Automations/Events/Event.d.ts +96 -0
  17. package/dist/src/Automations/Events/Event.js +19 -0
  18. package/dist/src/Automations/Events/index.d.ts +1 -0
  19. package/dist/src/Automations/Events/index.js +17 -0
  20. package/dist/src/Automations/Executions/Execution.d.ts +298 -0
  21. package/dist/src/Automations/Executions/Execution.js +76 -0
  22. package/dist/src/Automations/Executions/Testing.d.ts +166 -0
  23. package/dist/src/Automations/Executions/Testing.js +54 -0
  24. package/dist/src/Automations/Executions/index.d.ts +2 -0
  25. package/dist/src/Automations/Executions/index.js +18 -0
  26. package/dist/src/Automations/Flows/Canvas.d.ts +109 -0
  27. package/dist/src/Automations/Flows/Canvas.js +43 -0
  28. package/dist/src/Automations/Flows/Flow.d.ts +154 -0
  29. package/dist/src/Automations/Flows/Flow.js +58 -0
  30. package/dist/src/Automations/Flows/Requests.d.ts +71 -0
  31. package/dist/src/Automations/Flows/Validation.d.ts +28 -0
  32. package/dist/src/Automations/Flows/Validation.js +9 -0
  33. package/dist/src/Automations/Flows/index.d.ts +4 -0
  34. package/dist/src/Automations/Flows/index.js +20 -0
  35. package/dist/src/Automations/Nodes/Node.d.ts +116 -0
  36. package/dist/src/Automations/Nodes/Node.js +27 -0
  37. package/dist/src/Automations/Nodes/index.d.ts +1 -0
  38. package/dist/src/Automations/Nodes/index.js +17 -0
  39. package/dist/src/Automations/Triggers/Trigger.d.ts +112 -0
  40. package/dist/src/Automations/Triggers/Trigger.js +66 -0
  41. package/dist/src/Automations/Triggers/index.d.ts +1 -0
  42. package/dist/src/Automations/Triggers/index.js +17 -0
  43. package/dist/src/Automations/index.d.ts +7 -0
  44. package/dist/src/Automations/index.js +23 -0
  45. package/dist/src/Chats/Chat.d.ts +61 -0
  46. package/dist/src/Chats/Chat.js +28 -0
  47. package/dist/src/Common/Channels/Channel.d.ts +28 -1
  48. package/dist/src/Common/Channels/Email.d.ts +1 -0
  49. package/dist/src/Common/Channels/Facebook.d.ts +1 -0
  50. package/dist/src/Common/Channels/Form.d.ts +1 -0
  51. package/dist/src/Common/Channels/GoogleBusiness.d.ts +1 -0
  52. package/dist/src/Common/Channels/Instagram.d.ts +1 -0
  53. package/dist/src/Common/Channels/MercadoLibre.d.ts +1 -0
  54. package/dist/src/Common/Channels/WebChat.d.ts +1 -0
  55. package/dist/src/Contacts/CommunicationEndpoint.d.ts +107 -0
  56. package/dist/src/Contacts/CommunicationEndpoint.js +39 -0
  57. package/dist/src/Contacts/CommunicationMethod.d.ts +9 -0
  58. package/dist/src/Contacts/CommunicationMethod.js +2 -0
  59. package/dist/src/Contacts/contacts.d.ts +2 -2
  60. package/dist/src/Contacts/index.d.ts +2 -0
  61. package/dist/src/Contacts/index.js +2 -0
  62. package/dist/src/Conversations/Assignment.d.ts +181 -0
  63. package/dist/src/Conversations/Assignment.js +4 -0
  64. package/dist/src/Conversations/Conversation.d.ts +410 -48
  65. package/dist/src/Conversations/Conversation.js +14 -34
  66. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  67. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +280 -123
  68. package/dist/src/Conversations/Flows/Workflows/Workflow.js +85 -35
  69. package/dist/src/Conversations/Groups/Group.d.ts +2 -8
  70. package/dist/src/Conversations/Groups/Group.js +0 -6
  71. package/dist/src/Conversations/InboxMongo.d.ts +154 -0
  72. package/dist/src/Conversations/InboxMongo.js +128 -0
  73. package/dist/src/Conversations/InboxProjection.d.ts +162 -0
  74. package/dist/src/Conversations/InboxProjection.js +2 -0
  75. package/dist/src/Conversations/Label.d.ts +1 -1
  76. package/dist/src/Conversations/Outbox.d.ts +24 -0
  77. package/dist/src/Conversations/Outbox.js +4 -0
  78. package/dist/src/Conversations/Queue.d.ts +107 -0
  79. package/dist/src/Conversations/Queue.js +4 -0
  80. package/dist/src/Conversations/Routing.d.ts +164 -0
  81. package/dist/src/Conversations/Routing.js +2 -0
  82. package/dist/src/Conversations/Sla.d.ts +227 -0
  83. package/dist/src/Conversations/Sla.js +6 -0
  84. package/dist/src/Conversations/Transfer.d.ts +73 -0
  85. package/dist/src/Conversations/Transfer.js +2 -0
  86. package/dist/src/Conversations/WebHook.d.ts +1 -1
  87. package/dist/src/Conversations/index.d.ts +9 -1
  88. package/dist/src/Conversations/index.js +9 -1
  89. package/dist/src/Events/DomainEventTypes.d.ts +51 -0
  90. package/dist/src/Events/DomainEventTypes.js +49 -0
  91. package/dist/src/Events/index.d.ts +1 -0
  92. package/dist/src/Events/index.js +17 -0
  93. package/dist/src/Forms/API.d.ts +53 -0
  94. package/dist/src/Forms/API.js +2 -0
  95. package/dist/src/Forms/SubmittedForm.d.ts +56 -0
  96. package/dist/src/Forms/SubmittedForm.js +9 -0
  97. package/dist/src/Forms/index.d.ts +2 -0
  98. package/dist/src/Forms/index.js +18 -0
  99. package/dist/src/Presence/AgentPause.d.ts +24 -0
  100. package/dist/src/Presence/AgentPause.js +19 -0
  101. package/dist/src/Presence/QueueParticipation.d.ts +17 -0
  102. package/dist/src/Presence/QueueParticipation.js +2 -0
  103. package/dist/src/Presence/QueueRoutingState.d.ts +27 -0
  104. package/dist/src/Presence/QueueRoutingState.js +9 -0
  105. package/dist/src/Presence/index.d.ts +3 -0
  106. package/dist/src/Presence/index.js +19 -0
  107. package/dist/src/PublicAPI/apiKey.d.ts +92 -3
  108. package/dist/src/PublicAPI/apiKey.js +27 -0
  109. package/dist/src/Tickets/AI.d.ts +50 -2
  110. package/dist/src/Tickets/AdvancedApi.d.ts +142 -2
  111. package/dist/src/Tickets/AdvancedApi.js +28 -1
  112. package/dist/src/Tickets/Approval.d.ts +20 -4
  113. package/dist/src/Tickets/Automation.d.ts +46 -2
  114. package/dist/src/Tickets/Category.d.ts +18 -0
  115. package/dist/src/Tickets/Dashboard.d.ts +78 -0
  116. package/dist/src/Tickets/Dashboard.js +13 -1
  117. package/dist/src/Tickets/Fields.d.ts +4 -0
  118. package/dist/src/Tickets/Layouts.d.ts +3 -1
  119. package/dist/src/Tickets/Routing.d.ts +105 -3
  120. package/dist/src/Tickets/Routing.js +7 -1
  121. package/dist/src/Tickets/Security.d.ts +271 -4
  122. package/dist/src/Tickets/Security.js +10 -1
  123. package/dist/src/Tickets/SelfService.d.ts +190 -0
  124. package/dist/src/Tickets/Sla.d.ts +140 -0
  125. package/dist/src/Tickets/Workflow.d.ts +20 -0
  126. package/dist/src/Users/UserTrii.d.ts +10 -0
  127. package/dist/src/Users/UserTrii.js +8 -1
  128. package/dist/src/index.d.ts +4 -0
  129. package/dist/src/index.js +5 -1
  130. package/package.json +12 -12
  131. package/dist/Conversations/DashBoard/dashboardForms.d.ts +0 -44
  132. package/dist/Conversations/DashBoard/dashboardForms.js +0 -24
  133. package/dist/Conversations/InboxCounters.d.ts +0 -18
  134. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +0 -44
  135. package/dist/src/Conversations/DashBoard/dashboardForms.js +0 -24
  136. /package/dist/{Conversations/InboxCounters.js → src/Automations/Flows/Requests.js} +0 -0
@@ -1,4 +1,6 @@
1
+ import { ITicketCursorResponse } from "./Api";
1
2
  import { ITicketAuditedEntity, TicketPropertyValue } from "./Common";
3
+ import { TicketFieldType } from "./Fields";
2
4
  import { TicketConditionOperator } from "./Workflow";
3
5
  export declare enum TicketSecurityResourceType {
4
6
  TICKET = "TICKET",
@@ -92,6 +94,14 @@ export declare enum TicketDelegatedAccessStatus {
92
94
  EXPIRED = "EXPIRED",
93
95
  REJECTED = "REJECTED"
94
96
  }
97
+ export declare enum TicketLegalHoldReleaseReason {
98
+ MATTER_CLOSED = "MATTER_CLOSED",
99
+ NO_LONGER_RELEVANT = "NO_LONGER_RELEVANT",
100
+ APPLIED_IN_ERROR = "APPLIED_IN_ERROR",
101
+ SUPERSEDED = "SUPERSEDED",
102
+ OBLIGATION_EXPIRED = "OBLIGATION_EXPIRED",
103
+ OTHER = "OTHER"
104
+ }
95
105
  export interface ITicketSecuritySubject {
96
106
  /** When every selector is false or empty, the subject matches nobody. */
97
107
  allAuthenticated?: boolean;
@@ -145,15 +155,71 @@ export interface ITicketSecurityPolicy extends ITicketAuditedEntity {
145
155
  fieldPermissions?: ITicketFieldPermission[];
146
156
  validFrom?: Date;
147
157
  validUntil?: Date;
158
+ version: number;
159
+ }
160
+ export interface ICreateTicketSecurityPolicyDto {
161
+ name: string;
162
+ description?: string;
163
+ enabled?: boolean;
164
+ priority?: number;
165
+ effect: TicketPolicyEffect;
166
+ resourceTypes: TicketSecurityResourceType[];
167
+ operations: TicketSecurityOperation[];
168
+ subjects: ITicketSecuritySubject;
169
+ scope?: ITicketSecurityScope;
170
+ conditions?: ITicketSecurityConditionGroup;
171
+ fieldPermissions?: ITicketFieldPermission[];
172
+ validFrom?: Date;
173
+ validUntil?: Date;
174
+ }
175
+ export interface IUpdateTicketSecurityPolicyDto {
176
+ expectedVersion: number;
177
+ name?: string;
178
+ description?: string;
179
+ enabled?: boolean;
180
+ priority?: number;
181
+ effect?: TicketPolicyEffect;
182
+ resourceTypes?: TicketSecurityResourceType[];
183
+ operations?: TicketSecurityOperation[];
184
+ subjects?: ITicketSecuritySubject;
185
+ scope?: ITicketSecurityScope;
186
+ conditions?: ITicketSecurityConditionGroup;
187
+ fieldPermissions?: ITicketFieldPermission[];
188
+ validFrom?: Date;
189
+ validUntil?: Date;
148
190
  }
149
191
  export interface ITicketFieldSecurityDefinition extends ITicketAuditedEntity {
150
192
  fieldNameKey: string;
151
- classification: TicketDataClassification;
193
+ label: string;
194
+ type: TicketFieldType;
195
+ isSystem: boolean;
196
+ enabled: boolean;
197
+ classification?: TicketDataClassification;
152
198
  containsPii: boolean;
153
199
  maskingStrategy: TicketMaskingStrategy;
154
- searchableWhenMasked?: boolean;
200
+ searchableWhenMasked: boolean;
155
201
  exportable: boolean;
156
202
  retentionPolicyId?: string;
203
+ readRoleIds?: string[];
204
+ writeRoleIds?: string[];
205
+ searchable: boolean;
206
+ filterable: boolean;
207
+ sortable: boolean;
208
+ version: number;
209
+ }
210
+ export interface IUpdateTicketFieldSecurityDefinitionDto {
211
+ expectedVersion: number;
212
+ classification?: TicketDataClassification;
213
+ containsPii?: boolean;
214
+ maskingStrategy?: TicketMaskingStrategy;
215
+ searchableWhenMasked?: boolean;
216
+ exportable?: boolean;
217
+ retentionPolicyId?: string;
218
+ readRoleIds?: string[];
219
+ writeRoleIds?: string[];
220
+ searchable?: boolean;
221
+ filterable?: boolean;
222
+ sortable?: boolean;
157
223
  }
158
224
  export interface ITicketSecurityState {
159
225
  sensitivity: TicketSensitivityLevel;
@@ -189,6 +255,102 @@ export interface ITicketRetentionPolicy extends ITicketAuditedEntity {
189
255
  dataClassifications?: TicketDataClassification[];
190
256
  preserveAuditLog: boolean;
191
257
  enabled: boolean;
258
+ version: number;
259
+ }
260
+ export interface ICreateTicketRetentionPolicyDto {
261
+ name: string;
262
+ description?: string;
263
+ retentionDays: number;
264
+ action: TicketRetentionAction;
265
+ categoryIds?: string[];
266
+ dataClassifications?: TicketDataClassification[];
267
+ preserveAuditLog?: boolean;
268
+ enabled?: boolean;
269
+ }
270
+ export interface IUpdateTicketRetentionPolicyDto {
271
+ expectedVersion: number;
272
+ name?: string;
273
+ description?: string;
274
+ retentionDays?: number;
275
+ action?: TicketRetentionAction;
276
+ categoryIds?: string[];
277
+ dataClassifications?: TicketDataClassification[];
278
+ preserveAuditLog?: boolean;
279
+ enabled?: boolean;
280
+ }
281
+ export interface ITicketRetentionUpcomingBucket {
282
+ withinDays: number;
283
+ count: number;
284
+ }
285
+ export interface ITicketRetentionAffectedCategory {
286
+ categoryId: string;
287
+ name: string;
288
+ count: number;
289
+ }
290
+ export interface ITicketRetentionSampleTicket {
291
+ ticketId: string;
292
+ number: number;
293
+ title: string;
294
+ categoryId: string;
295
+ resolvedAt: Date;
296
+ }
297
+ export interface ITicketRetentionImpactPreview {
298
+ policyId?: string;
299
+ action: TicketRetentionAction;
300
+ retentionDays: number;
301
+ preserveAuditLog: boolean;
302
+ irreversible: boolean;
303
+ anonymizedFieldNameKeys?: string[];
304
+ evaluatedAt: Date;
305
+ alreadyReachedCount: number;
306
+ onLegalHoldCount: number;
307
+ upcoming: ITicketRetentionUpcomingBucket[];
308
+ affectedCategories: ITicketRetentionAffectedCategory[];
309
+ affectedClassifications: TicketDataClassification[];
310
+ samples: ITicketRetentionSampleTicket[];
311
+ }
312
+ export interface ITicketRetentionValidationIssue {
313
+ code: string;
314
+ severity: 'ERROR' | 'WARNING';
315
+ message: string;
316
+ path?: string;
317
+ }
318
+ export interface ITicketRetentionValidationEntry {
319
+ policyId: string;
320
+ issues: ITicketRetentionValidationIssue[];
321
+ }
322
+ export interface IValidateTicketRetentionResponse {
323
+ policies: ITicketRetentionValidationEntry[];
324
+ }
325
+ export interface ITicketFieldSecurityValidationIssue {
326
+ code: string;
327
+ severity: 'ERROR' | 'WARNING';
328
+ message: string;
329
+ path?: string;
330
+ }
331
+ export interface ITicketFieldSecurityValidationEntry {
332
+ fieldNameKey: string;
333
+ issues: ITicketFieldSecurityValidationIssue[];
334
+ }
335
+ export interface IValidateTicketFieldSecurityResponse {
336
+ fields: ITicketFieldSecurityValidationEntry[];
337
+ }
338
+ export interface ITicketFieldSecurityPreviewRequest {
339
+ roleIds: string[];
340
+ }
341
+ export interface ITicketFieldSecurityPreviewEntry {
342
+ fieldNameKey: string;
343
+ label: string;
344
+ visible: boolean;
345
+ editable: boolean;
346
+ masked: boolean;
347
+ maskingStrategy?: TicketMaskingStrategy;
348
+ searchable: boolean;
349
+ exportable: boolean;
350
+ }
351
+ export interface ITicketFieldSecurityPreviewResponse {
352
+ roleIds: string[];
353
+ fields: ITicketFieldSecurityPreviewEntry[];
192
354
  }
193
355
  export interface ITicketLegalHold {
194
356
  id: string;
@@ -202,6 +364,8 @@ export interface ITicketLegalHold {
202
364
  releasedAt?: Date;
203
365
  releasedBy?: string;
204
366
  externalMatterId?: string;
367
+ releaseReason?: TicketLegalHoldReleaseReason;
368
+ releaseNotes?: string;
205
369
  }
206
370
  export interface ITicketAccessAuditEvent {
207
371
  id: string;
@@ -221,6 +385,57 @@ export interface ITicketAccessAuditEvent {
221
385
  allowed: boolean;
222
386
  policyIds?: string[];
223
387
  denialReason?: string;
388
+ technicalContextWithheld: boolean;
389
+ }
390
+ export interface ICreateTicketAccessAuditEventDto {
391
+ actorId: string;
392
+ /** Con qué identidad se actuó. Si no hay impersonación, es el propio actor. */
393
+ effectiveUserId?: string;
394
+ action: TicketAccessAuditAction;
395
+ resourceType: TicketSecurityResourceType;
396
+ resourceId?: string;
397
+ ticketId?: string;
398
+ /** Qué campos se tocaron. NUNCA sus valores. */
399
+ fieldNameKeys?: string[];
400
+ purpose?: string;
401
+ ipAddress?: string;
402
+ userAgent?: string;
403
+ correlationId?: string;
404
+ allowed: boolean;
405
+ policyIds?: string[];
406
+ denialReason?: string;
407
+ }
408
+ export interface ITicketAccessAuditFilters {
409
+ from?: Date;
410
+ to?: Date;
411
+ userId?: string;
412
+ actorId?: string;
413
+ effectiveUserId?: string;
414
+ actions?: TicketAccessAuditAction[];
415
+ resourceTypes?: TicketSecurityResourceType[];
416
+ ticketId?: string;
417
+ fieldNameKey?: string;
418
+ allowed?: boolean;
419
+ policyId?: string;
420
+ ipAddress?: string;
421
+ correlationId?: string;
422
+ }
423
+ export interface ITicketAccessAuditSearchRequest extends ITicketAccessAuditFilters {
424
+ cursor?: string;
425
+ limit?: number;
426
+ }
427
+ export interface ITicketAccessAuditEventDetail {
428
+ event: ITicketAccessAuditEvent;
429
+ correlated: ITicketAccessAuditEvent[];
430
+ }
431
+ export interface ITicketAccessAuditExportPreview {
432
+ filters: ITicketAccessAuditFilters;
433
+ from?: Date;
434
+ to?: Date;
435
+ estimatedEventCount: number;
436
+ includesSensitiveData: boolean;
437
+ includedActions: TicketAccessAuditAction[];
438
+ wideRangeWarning?: string;
224
439
  }
225
440
  export interface ITicketImpersonationSession {
226
441
  id: string;
@@ -260,15 +475,51 @@ export interface ITicketAuthorizationRequest {
260
475
  context?: {
261
476
  [key: string]: TicketPropertyValue;
262
477
  };
478
+ evaluatedAt?: Date;
479
+ subjectContext?: ITicketAuthorizationSubjectContext;
480
+ ticketContext?: ITicketAuthorizationTicketContext;
481
+ record?: boolean;
482
+ purpose?: string;
483
+ }
484
+ export interface ITicketAuthorizationSubjectContext {
485
+ isAgent?: boolean;
486
+ isCustomer?: boolean;
487
+ roleIds?: string[];
488
+ groupIds?: string[];
489
+ organizationIds?: string[];
490
+ contactSegmentIds?: string[];
491
+ }
492
+ export interface ITicketAuthorizationTicketContext {
493
+ requesterId?: string;
494
+ assigneeId?: string;
495
+ assignedGroupId?: string;
496
+ categoryId?: string;
497
+ channelId?: string;
498
+ brandId?: string;
499
+ organizationId?: string;
500
+ sensitivityLevel?: TicketSensitivityLevel;
501
+ fields?: {
502
+ [nameKey: string]: TicketPropertyValue;
503
+ };
263
504
  }
264
505
  export interface ITicketAuthorizationDecision {
265
506
  allowed: boolean;
266
507
  policyIds: string[];
508
+ decisivePolicyId?: string;
267
509
  deniedFieldNameKeys?: string[];
268
510
  maskedFieldNameKeys?: string[];
269
511
  reason?: string;
270
512
  evaluatedAt: Date;
271
513
  }
514
+ export interface ITicketSecurityPolicyValidationIssue {
515
+ code: string;
516
+ severity: 'ERROR' | 'WARNING';
517
+ message: string;
518
+ path?: string;
519
+ }
520
+ export interface IValidateTicketSecurityPolicyResponse {
521
+ issues: ITicketSecurityPolicyValidationIssue[];
522
+ }
272
523
  export interface ICreateTicketRedactionRequestDto {
273
524
  expectedVersion: number;
274
525
  fieldNameKeys?: string[];
@@ -284,8 +535,23 @@ export interface ICreateTicketLegalHoldDto {
284
535
  }
285
536
  export interface IReleaseTicketLegalHoldDto {
286
537
  expectedVersion: number;
287
- legalHoldId: string;
288
- reason: string;
538
+ releaseReason: TicketLegalHoldReleaseReason;
539
+ releaseNotes?: string;
540
+ }
541
+ export interface ITicketSuspendedRetentionPolicy {
542
+ id: string;
543
+ name: string;
544
+ action: TicketRetentionAction;
545
+ retentionDays: number;
546
+ }
547
+ export interface ITicketLegalHoldsResponse {
548
+ onHold: boolean;
549
+ holds: ITicketLegalHold[];
550
+ suspendedPolicies: ITicketSuspendedRetentionPolicy[];
551
+ }
552
+ export interface ITicketLegalHoldListEntry extends ITicketLegalHold {
553
+ ticketNumber: number;
554
+ ticketTitle: string;
289
555
  }
290
556
  export interface ICreateTicketDelegatedAccessDto {
291
557
  delegateId: string;
@@ -300,3 +566,4 @@ export interface IStartTicketImpersonationDto {
300
566
  reason: string;
301
567
  expiresAt: Date;
302
568
  }
569
+ export type TicketAccessAuditPage = ITicketCursorResponse<ITicketAccessAuditEvent>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TicketDelegatedAccessStatus = exports.TicketAccessAuditAction = exports.TicketLegalHoldStatus = exports.TicketRetentionAction = exports.TicketRedactionStatus = exports.TicketMaskingStrategy = exports.TicketDataClassification = exports.TicketSensitivityLevel = exports.TicketPolicyConditionGroupOperator = exports.TicketPolicyEffect = exports.TicketSecurityOperation = exports.TicketSecurityResourceType = void 0;
3
+ exports.TicketLegalHoldReleaseReason = exports.TicketDelegatedAccessStatus = exports.TicketAccessAuditAction = exports.TicketLegalHoldStatus = exports.TicketRetentionAction = exports.TicketRedactionStatus = exports.TicketMaskingStrategy = exports.TicketDataClassification = exports.TicketSensitivityLevel = exports.TicketPolicyConditionGroupOperator = exports.TicketPolicyEffect = exports.TicketSecurityOperation = exports.TicketSecurityResourceType = void 0;
4
4
  var TicketSecurityResourceType;
5
5
  (function (TicketSecurityResourceType) {
6
6
  TicketSecurityResourceType["TICKET"] = "TICKET";
@@ -105,3 +105,12 @@ var TicketDelegatedAccessStatus;
105
105
  TicketDelegatedAccessStatus["EXPIRED"] = "EXPIRED";
106
106
  TicketDelegatedAccessStatus["REJECTED"] = "REJECTED";
107
107
  })(TicketDelegatedAccessStatus || (exports.TicketDelegatedAccessStatus = TicketDelegatedAccessStatus = {}));
108
+ var TicketLegalHoldReleaseReason;
109
+ (function (TicketLegalHoldReleaseReason) {
110
+ TicketLegalHoldReleaseReason["MATTER_CLOSED"] = "MATTER_CLOSED";
111
+ TicketLegalHoldReleaseReason["NO_LONGER_RELEVANT"] = "NO_LONGER_RELEVANT";
112
+ TicketLegalHoldReleaseReason["APPLIED_IN_ERROR"] = "APPLIED_IN_ERROR";
113
+ TicketLegalHoldReleaseReason["SUPERSEDED"] = "SUPERSEDED";
114
+ TicketLegalHoldReleaseReason["OBLIGATION_EXPIRED"] = "OBLIGATION_EXPIRED";
115
+ TicketLegalHoldReleaseReason["OTHER"] = "OTHER";
116
+ })(TicketLegalHoldReleaseReason || (exports.TicketLegalHoldReleaseReason = TicketLegalHoldReleaseReason = {}));
@@ -67,6 +67,46 @@ export interface ITicketPortal extends ITicketAuditedEntity {
67
67
  privacyDocumentId?: string;
68
68
  enabled: boolean;
69
69
  }
70
+ export interface ICreateTicketPortalDto {
71
+ name: string;
72
+ slug: string;
73
+ title: string;
74
+ description?: string;
75
+ logoUrl?: string;
76
+ faviconUrl?: string;
77
+ primaryColor?: string;
78
+ defaultLocale: string;
79
+ supportedLocales?: string[];
80
+ authenticationMode: TicketPortalAuthenticationMode;
81
+ allowTicketCreation?: boolean;
82
+ allowTicketTracking?: boolean;
83
+ allowComments?: boolean;
84
+ allowReopen?: boolean;
85
+ allowCancellation?: boolean;
86
+ termsDocumentId?: string;
87
+ privacyDocumentId?: string;
88
+ enabled?: boolean;
89
+ }
90
+ export interface IUpdateTicketPortalDto {
91
+ name?: string;
92
+ slug?: string;
93
+ title?: string;
94
+ description?: string | null;
95
+ logoUrl?: string | null;
96
+ faviconUrl?: string | null;
97
+ primaryColor?: string | null;
98
+ defaultLocale?: string;
99
+ supportedLocales?: string[] | null;
100
+ authenticationMode?: TicketPortalAuthenticationMode;
101
+ allowTicketCreation?: boolean;
102
+ allowTicketTracking?: boolean;
103
+ allowComments?: boolean;
104
+ allowReopen?: boolean;
105
+ allowCancellation?: boolean;
106
+ termsDocumentId?: string | null;
107
+ privacyDocumentId?: string | null;
108
+ enabled?: boolean;
109
+ }
70
110
  export interface ITicketRequestType extends ITicketAuditedEntity {
71
111
  name: string;
72
112
  description?: string;
@@ -84,6 +124,40 @@ export interface ITicketRequestType extends ITicketAuditedEntity {
84
124
  audiencePolicyId?: string;
85
125
  enabled: boolean;
86
126
  }
127
+ export interface ICreateTicketRequestTypeDto {
128
+ name: string;
129
+ description?: string;
130
+ categoryId: string;
131
+ icon?: string;
132
+ formId: string;
133
+ formVersion?: number;
134
+ workflowId?: string;
135
+ defaultPriority?: TicketPriority;
136
+ defaultAssignedGroupId?: string;
137
+ slaPolicyId?: string;
138
+ publicStatusSchemeId?: string;
139
+ fieldDefinitionIds?: string[];
140
+ layoutIds?: string[];
141
+ audiencePolicyId?: string;
142
+ enabled?: boolean;
143
+ }
144
+ export interface IUpdateTicketRequestTypeDto {
145
+ name?: string;
146
+ description?: string | null;
147
+ categoryId?: string;
148
+ icon?: string | null;
149
+ formId?: string;
150
+ formVersion?: number | null;
151
+ workflowId?: string | null;
152
+ defaultPriority?: TicketPriority | null;
153
+ defaultAssignedGroupId?: string | null;
154
+ slaPolicyId?: string | null;
155
+ publicStatusSchemeId?: string | null;
156
+ fieldDefinitionIds?: string[] | null;
157
+ layoutIds?: string[] | null;
158
+ audiencePolicyId?: string | null;
159
+ enabled?: boolean;
160
+ }
87
161
  export interface IServiceCatalog extends ITicketAuditedEntity {
88
162
  portalId: string;
89
163
  name: string;
@@ -91,6 +165,20 @@ export interface IServiceCatalog extends ITicketAuditedEntity {
91
165
  order?: number;
92
166
  enabled: boolean;
93
167
  }
168
+ export interface ICreateServiceCatalogDto {
169
+ portalId: string;
170
+ name: string;
171
+ description?: string;
172
+ order?: number;
173
+ enabled?: boolean;
174
+ }
175
+ export interface IUpdateServiceCatalogDto {
176
+ portalId?: string;
177
+ name?: string;
178
+ description?: string | null;
179
+ order?: number | null;
180
+ enabled?: boolean;
181
+ }
94
182
  export interface IServiceCatalogSection extends ITicketAuditedEntity {
95
183
  catalogId: string;
96
184
  parentSectionId?: string;
@@ -100,6 +188,24 @@ export interface IServiceCatalogSection extends ITicketAuditedEntity {
100
188
  order: number;
101
189
  enabled: boolean;
102
190
  }
191
+ export interface ICreateServiceCatalogSectionDto {
192
+ catalogId: string;
193
+ parentSectionId?: string;
194
+ name: string;
195
+ description?: string;
196
+ icon?: string;
197
+ order?: number;
198
+ enabled?: boolean;
199
+ }
200
+ export interface IUpdateServiceCatalogSectionDto {
201
+ catalogId?: string;
202
+ parentSectionId?: string | null;
203
+ name?: string;
204
+ description?: string | null;
205
+ icon?: string | null;
206
+ order?: number;
207
+ enabled?: boolean;
208
+ }
103
209
  export interface IServiceCatalogItem extends ITicketAuditedEntity {
104
210
  catalogId: string;
105
211
  sectionId?: string;
@@ -112,6 +218,30 @@ export interface IServiceCatalogItem extends ITicketAuditedEntity {
112
218
  audiencePolicyId?: string;
113
219
  enabled: boolean;
114
220
  }
221
+ export interface ICreateServiceCatalogItemDto {
222
+ catalogId: string;
223
+ sectionId?: string;
224
+ requestTypeId: string;
225
+ name: string;
226
+ shortDescription?: string;
227
+ imageUrl?: string;
228
+ order?: number;
229
+ estimatedDeliveryMinutes?: number;
230
+ audiencePolicyId?: string;
231
+ enabled?: boolean;
232
+ }
233
+ export interface IUpdateServiceCatalogItemDto {
234
+ catalogId?: string;
235
+ sectionId?: string | null;
236
+ requestTypeId?: string;
237
+ name?: string;
238
+ shortDescription?: string | null;
239
+ imageUrl?: string | null;
240
+ order?: number;
241
+ estimatedDeliveryMinutes?: number | null;
242
+ audiencePolicyId?: string | null;
243
+ enabled?: boolean;
244
+ }
115
245
  export interface ITicketAudienceRule {
116
246
  id: string;
117
247
  effect: TicketAudienceRuleEffect;
@@ -129,6 +259,20 @@ export interface ITicketAudiencePolicy extends ITicketAuditedEntity {
129
259
  rules: ITicketAudienceRule[];
130
260
  enabled: boolean;
131
261
  }
262
+ export interface ICreateTicketAudiencePolicyDto {
263
+ name: string;
264
+ description?: string;
265
+ defaultEffect: TicketAudienceRuleEffect;
266
+ rules?: ITicketAudienceRule[];
267
+ enabled?: boolean;
268
+ }
269
+ export interface IUpdateTicketAudiencePolicyDto {
270
+ name?: string;
271
+ description?: string | null;
272
+ defaultEffect?: TicketAudienceRuleEffect;
273
+ rules?: ITicketAudienceRule[];
274
+ enabled?: boolean;
275
+ }
132
276
  export interface ITicketRequestDraft {
133
277
  id: string;
134
278
  spaceId: string;
@@ -191,6 +335,28 @@ export interface ITicketKnowledgeReference extends ITicketAuditedEntity {
191
335
  order?: number;
192
336
  enabled: boolean;
193
337
  }
338
+ export interface ICreateTicketKnowledgeReferenceDto {
339
+ referenceType: TicketKnowledgeReferenceType;
340
+ documentId: string;
341
+ portalIds?: string[];
342
+ requestTypeIds?: string[];
343
+ categoryIds?: string[];
344
+ locales?: string[];
345
+ audiencePolicyId?: string;
346
+ order?: number;
347
+ enabled?: boolean;
348
+ }
349
+ export interface IUpdateTicketKnowledgeReferenceDto {
350
+ referenceType?: TicketKnowledgeReferenceType;
351
+ documentId?: string;
352
+ portalIds?: string[] | null;
353
+ requestTypeIds?: string[] | null;
354
+ categoryIds?: string[] | null;
355
+ locales?: string[] | null;
356
+ audiencePolicyId?: string | null;
357
+ order?: number | null;
358
+ enabled?: boolean;
359
+ }
194
360
  /** Rules may work globally at portal level and become more specific by request type/category. */
195
361
  export interface ITicketDeflectionRule extends ITicketAuditedEntity {
196
362
  name: string;
@@ -204,6 +370,30 @@ export interface ITicketDeflectionRule extends ITicketAuditedEntity {
204
370
  audiencePolicyId?: string;
205
371
  enabled: boolean;
206
372
  }
373
+ export interface ICreateTicketDeflectionRuleDto {
374
+ name: string;
375
+ portalId: string;
376
+ requestTypeIds?: string[];
377
+ categoryIds?: string[];
378
+ knowledgeReferenceIds?: string[];
379
+ includeKnownIssues?: boolean;
380
+ minimumScore?: number;
381
+ maximumSuggestions?: number;
382
+ audiencePolicyId?: string;
383
+ enabled?: boolean;
384
+ }
385
+ export interface IUpdateTicketDeflectionRuleDto {
386
+ name?: string;
387
+ portalId?: string;
388
+ requestTypeIds?: string[] | null;
389
+ categoryIds?: string[] | null;
390
+ knowledgeReferenceIds?: string[] | null;
391
+ includeKnownIssues?: boolean;
392
+ minimumScore?: number | null;
393
+ maximumSuggestions?: number | null;
394
+ audiencePolicyId?: string | null;
395
+ enabled?: boolean;
396
+ }
207
397
  export interface ITicketDeflectionSuggestion {
208
398
  knowledgeReferenceId?: string;
209
399
  knownIssueTicketId?: string;