@trii/types 2.10.721 → 2.10.723
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.
- package/dist/Tickets/Security.d.ts +145 -2
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ITicketAuditedEntity, TicketPropertyValue } from "./Common";
|
|
2
|
+
import { TicketFieldType } from "./Fields";
|
|
2
3
|
import { TicketConditionOperator } from "./Workflow";
|
|
3
4
|
export declare enum TicketSecurityResourceType {
|
|
4
5
|
TICKET = "TICKET",
|
|
@@ -145,15 +146,71 @@ export interface ITicketSecurityPolicy extends ITicketAuditedEntity {
|
|
|
145
146
|
fieldPermissions?: ITicketFieldPermission[];
|
|
146
147
|
validFrom?: Date;
|
|
147
148
|
validUntil?: Date;
|
|
149
|
+
version: number;
|
|
150
|
+
}
|
|
151
|
+
export interface ICreateTicketSecurityPolicyDto {
|
|
152
|
+
name: string;
|
|
153
|
+
description?: string;
|
|
154
|
+
enabled?: boolean;
|
|
155
|
+
priority?: number;
|
|
156
|
+
effect: TicketPolicyEffect;
|
|
157
|
+
resourceTypes: TicketSecurityResourceType[];
|
|
158
|
+
operations: TicketSecurityOperation[];
|
|
159
|
+
subjects: ITicketSecuritySubject;
|
|
160
|
+
scope?: ITicketSecurityScope;
|
|
161
|
+
conditions?: ITicketSecurityConditionGroup;
|
|
162
|
+
fieldPermissions?: ITicketFieldPermission[];
|
|
163
|
+
validFrom?: Date;
|
|
164
|
+
validUntil?: Date;
|
|
165
|
+
}
|
|
166
|
+
export interface IUpdateTicketSecurityPolicyDto {
|
|
167
|
+
expectedVersion: number;
|
|
168
|
+
name?: string;
|
|
169
|
+
description?: string;
|
|
170
|
+
enabled?: boolean;
|
|
171
|
+
priority?: number;
|
|
172
|
+
effect?: TicketPolicyEffect;
|
|
173
|
+
resourceTypes?: TicketSecurityResourceType[];
|
|
174
|
+
operations?: TicketSecurityOperation[];
|
|
175
|
+
subjects?: ITicketSecuritySubject;
|
|
176
|
+
scope?: ITicketSecurityScope;
|
|
177
|
+
conditions?: ITicketSecurityConditionGroup;
|
|
178
|
+
fieldPermissions?: ITicketFieldPermission[];
|
|
179
|
+
validFrom?: Date;
|
|
180
|
+
validUntil?: Date;
|
|
148
181
|
}
|
|
149
182
|
export interface ITicketFieldSecurityDefinition extends ITicketAuditedEntity {
|
|
150
183
|
fieldNameKey: string;
|
|
151
|
-
|
|
184
|
+
label: string;
|
|
185
|
+
type: TicketFieldType;
|
|
186
|
+
isSystem: boolean;
|
|
187
|
+
enabled: boolean;
|
|
188
|
+
classification?: TicketDataClassification;
|
|
152
189
|
containsPii: boolean;
|
|
153
190
|
maskingStrategy: TicketMaskingStrategy;
|
|
154
|
-
searchableWhenMasked
|
|
191
|
+
searchableWhenMasked: boolean;
|
|
155
192
|
exportable: boolean;
|
|
156
193
|
retentionPolicyId?: string;
|
|
194
|
+
readRoleIds?: string[];
|
|
195
|
+
writeRoleIds?: string[];
|
|
196
|
+
searchable: boolean;
|
|
197
|
+
filterable: boolean;
|
|
198
|
+
sortable: boolean;
|
|
199
|
+
version: number;
|
|
200
|
+
}
|
|
201
|
+
export interface IUpdateTicketFieldSecurityDefinitionDto {
|
|
202
|
+
expectedVersion: number;
|
|
203
|
+
classification?: TicketDataClassification;
|
|
204
|
+
containsPii?: boolean;
|
|
205
|
+
maskingStrategy?: TicketMaskingStrategy;
|
|
206
|
+
searchableWhenMasked?: boolean;
|
|
207
|
+
exportable?: boolean;
|
|
208
|
+
retentionPolicyId?: string;
|
|
209
|
+
readRoleIds?: string[];
|
|
210
|
+
writeRoleIds?: string[];
|
|
211
|
+
searchable?: boolean;
|
|
212
|
+
filterable?: boolean;
|
|
213
|
+
sortable?: boolean;
|
|
157
214
|
}
|
|
158
215
|
export interface ITicketSecurityState {
|
|
159
216
|
sensitivity: TicketSensitivityLevel;
|
|
@@ -189,6 +246,58 @@ export interface ITicketRetentionPolicy extends ITicketAuditedEntity {
|
|
|
189
246
|
dataClassifications?: TicketDataClassification[];
|
|
190
247
|
preserveAuditLog: boolean;
|
|
191
248
|
enabled: boolean;
|
|
249
|
+
version: number;
|
|
250
|
+
}
|
|
251
|
+
export interface ICreateTicketRetentionPolicyDto {
|
|
252
|
+
name: string;
|
|
253
|
+
description?: string;
|
|
254
|
+
retentionDays: number;
|
|
255
|
+
action: TicketRetentionAction;
|
|
256
|
+
categoryIds?: string[];
|
|
257
|
+
dataClassifications?: TicketDataClassification[];
|
|
258
|
+
preserveAuditLog?: boolean;
|
|
259
|
+
enabled?: boolean;
|
|
260
|
+
}
|
|
261
|
+
export interface IUpdateTicketRetentionPolicyDto {
|
|
262
|
+
expectedVersion: number;
|
|
263
|
+
name?: string;
|
|
264
|
+
description?: string;
|
|
265
|
+
retentionDays?: number;
|
|
266
|
+
action?: TicketRetentionAction;
|
|
267
|
+
categoryIds?: string[];
|
|
268
|
+
dataClassifications?: TicketDataClassification[];
|
|
269
|
+
preserveAuditLog?: boolean;
|
|
270
|
+
enabled?: boolean;
|
|
271
|
+
}
|
|
272
|
+
export interface ITicketFieldSecurityValidationIssue {
|
|
273
|
+
code: string;
|
|
274
|
+
severity: 'ERROR' | 'WARNING';
|
|
275
|
+
message: string;
|
|
276
|
+
path?: string;
|
|
277
|
+
}
|
|
278
|
+
export interface ITicketFieldSecurityValidationEntry {
|
|
279
|
+
fieldNameKey: string;
|
|
280
|
+
issues: ITicketFieldSecurityValidationIssue[];
|
|
281
|
+
}
|
|
282
|
+
export interface IValidateTicketFieldSecurityResponse {
|
|
283
|
+
fields: ITicketFieldSecurityValidationEntry[];
|
|
284
|
+
}
|
|
285
|
+
export interface ITicketFieldSecurityPreviewRequest {
|
|
286
|
+
roleIds: string[];
|
|
287
|
+
}
|
|
288
|
+
export interface ITicketFieldSecurityPreviewEntry {
|
|
289
|
+
fieldNameKey: string;
|
|
290
|
+
label: string;
|
|
291
|
+
visible: boolean;
|
|
292
|
+
editable: boolean;
|
|
293
|
+
masked: boolean;
|
|
294
|
+
maskingStrategy?: TicketMaskingStrategy;
|
|
295
|
+
searchable: boolean;
|
|
296
|
+
exportable: boolean;
|
|
297
|
+
}
|
|
298
|
+
export interface ITicketFieldSecurityPreviewResponse {
|
|
299
|
+
roleIds: string[];
|
|
300
|
+
fields: ITicketFieldSecurityPreviewEntry[];
|
|
192
301
|
}
|
|
193
302
|
export interface ITicketLegalHold {
|
|
194
303
|
id: string;
|
|
@@ -260,15 +369,49 @@ export interface ITicketAuthorizationRequest {
|
|
|
260
369
|
context?: {
|
|
261
370
|
[key: string]: TicketPropertyValue;
|
|
262
371
|
};
|
|
372
|
+
evaluatedAt?: Date;
|
|
373
|
+
subjectContext?: ITicketAuthorizationSubjectContext;
|
|
374
|
+
ticketContext?: ITicketAuthorizationTicketContext;
|
|
375
|
+
}
|
|
376
|
+
export interface ITicketAuthorizationSubjectContext {
|
|
377
|
+
isAgent?: boolean;
|
|
378
|
+
isCustomer?: boolean;
|
|
379
|
+
roleIds?: string[];
|
|
380
|
+
groupIds?: string[];
|
|
381
|
+
organizationIds?: string[];
|
|
382
|
+
contactSegmentIds?: string[];
|
|
383
|
+
}
|
|
384
|
+
export interface ITicketAuthorizationTicketContext {
|
|
385
|
+
requesterId?: string;
|
|
386
|
+
assigneeId?: string;
|
|
387
|
+
assignedGroupId?: string;
|
|
388
|
+
categoryId?: string;
|
|
389
|
+
channelId?: string;
|
|
390
|
+
brandId?: string;
|
|
391
|
+
organizationId?: string;
|
|
392
|
+
sensitivityLevel?: TicketSensitivityLevel;
|
|
393
|
+
fields?: {
|
|
394
|
+
[nameKey: string]: TicketPropertyValue;
|
|
395
|
+
};
|
|
263
396
|
}
|
|
264
397
|
export interface ITicketAuthorizationDecision {
|
|
265
398
|
allowed: boolean;
|
|
266
399
|
policyIds: string[];
|
|
400
|
+
decisivePolicyId?: string;
|
|
267
401
|
deniedFieldNameKeys?: string[];
|
|
268
402
|
maskedFieldNameKeys?: string[];
|
|
269
403
|
reason?: string;
|
|
270
404
|
evaluatedAt: Date;
|
|
271
405
|
}
|
|
406
|
+
export interface ITicketSecurityPolicyValidationIssue {
|
|
407
|
+
code: string;
|
|
408
|
+
severity: 'ERROR' | 'WARNING';
|
|
409
|
+
message: string;
|
|
410
|
+
path?: string;
|
|
411
|
+
}
|
|
412
|
+
export interface IValidateTicketSecurityPolicyResponse {
|
|
413
|
+
issues: ITicketSecurityPolicyValidationIssue[];
|
|
414
|
+
}
|
|
272
415
|
export interface ICreateTicketRedactionRequestDto {
|
|
273
416
|
expectedVersion: number;
|
|
274
417
|
fieldNameKeys?: string[];
|