@kl1/contracts 1.0.34 → 1.0.36
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/index.js +1030 -924
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1029 -924
- package/dist/index.mjs.map +1 -1
- package/dist/src/activity-log/index.d.ts +17 -10
- package/dist/src/activity-log/index.d.ts.map +1 -1
- package/dist/src/activity-log/schema.d.ts +17 -10
- package/dist/src/activity-log/schema.d.ts.map +1 -1
- package/dist/src/auth/index.d.ts +17 -10
- package/dist/src/auth/index.d.ts.map +1 -1
- package/dist/src/channel/index.d.ts +650 -51
- package/dist/src/channel/index.d.ts.map +1 -1
- package/dist/src/channel/schema.d.ts +18 -12
- package/dist/src/channel/schema.d.ts.map +1 -1
- package/dist/src/chat/index.d.ts +12464 -12390
- package/dist/src/chat/index.d.ts.map +1 -1
- package/dist/src/chat/schema.d.ts +227 -110
- package/dist/src/chat/schema.d.ts.map +1 -1
- package/dist/src/chat/validation.d.ts +1158 -1545
- package/dist/src/chat/validation.d.ts.map +1 -1
- package/dist/src/comment/index.d.ts +1128 -491
- package/dist/src/comment/index.d.ts.map +1 -1
- package/dist/src/comment/schema.d.ts +319 -140
- package/dist/src/comment/schema.d.ts.map +1 -1
- package/dist/src/contact/index.d.ts +77 -0
- package/dist/src/contact/index.d.ts.map +1 -1
- package/dist/src/contact/schema.d.ts +16 -0
- package/dist/src/contact/schema.d.ts.map +1 -1
- package/dist/src/contact/validation.d.ts +63 -0
- package/dist/src/contact/validation.d.ts.map +1 -1
- package/dist/src/contract.d.ts +28088 -29053
- package/dist/src/contract.d.ts.map +1 -1
- package/dist/src/cx-log/index.d.ts +243 -72
- package/dist/src/cx-log/index.d.ts.map +1 -1
- package/dist/src/cx-log/schema.d.ts +193 -56
- package/dist/src/cx-log/schema.d.ts.map +1 -1
- package/dist/src/extension/index.d.ts +29 -120
- package/dist/src/extension/index.d.ts.map +1 -1
- package/dist/src/extension/schema.d.ts +3 -0
- package/dist/src/extension/schema.d.ts.map +1 -1
- package/dist/src/extension/validation.d.ts +6 -0
- package/dist/src/extension/validation.d.ts.map +1 -1
- package/dist/src/mail/mail-contract.d.ts +7 -0
- package/dist/src/mail/mail-contract.d.ts.map +1 -1
- package/dist/src/mail/room-contract.d.ts +7 -0
- package/dist/src/mail/room-contract.d.ts.map +1 -1
- package/dist/src/mail/schemas/room.schema.d.ts +5 -0
- package/dist/src/mail/schemas/room.schema.d.ts.map +1 -1
- package/dist/src/messenger/index.d.ts +442 -100
- package/dist/src/messenger/index.d.ts.map +1 -1
- package/dist/src/telephony-agent-presence-status/index.d.ts +57 -34
- package/dist/src/telephony-agent-presence-status/index.d.ts.map +1 -1
- package/dist/src/telephony-agent-presence-status/schema.d.ts +17 -10
- package/dist/src/telephony-agent-presence-status/schema.d.ts.map +1 -1
- package/dist/src/telephony-cdr/schema.d.ts +53 -0
- package/dist/src/telephony-cdr/schema.d.ts.map +1 -1
- package/dist/src/telephony-extension/index.d.ts +2 -0
- package/dist/src/telephony-extension/index.d.ts.map +1 -1
- package/dist/src/ticket/index.d.ts +3022 -1253
- package/dist/src/ticket/index.d.ts.map +1 -1
- package/dist/src/ticket/schema.d.ts +236 -167
- package/dist/src/ticket/schema.d.ts.map +1 -1
- package/dist/src/upload/schema.d.ts +3 -0
- package/dist/src/upload/schema.d.ts.map +1 -1
- package/dist/src/user/index.d.ts +57 -34
- package/dist/src/user/index.d.ts.map +1 -1
- package/dist/src/user/schema.d.ts +11 -6
- package/dist/src/user/schema.d.ts.map +1 -1
- package/dist/src/user-presence-status-log/index.d.ts +12 -8
- package/dist/src/user-presence-status-log/index.d.ts.map +1 -1
- package/dist/src/user-presence-status-log/schema.d.ts +17 -10
- package/dist/src/user-presence-status-log/schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/src/app/index.d.ts +0 -17
- package/dist/src/app/index.d.ts.map +0 -1
- package/dist/src/mail/mail-server.d.ts +0 -216
- package/dist/src/mail/mail-server.d.ts.map +0 -1
- package/dist/src/platform-contact/schema.d.ts +0 -30
- package/dist/src/platform-contact/schema.d.ts.map +0 -1
package/dist/index.mjs
CHANGED
@@ -197,68 +197,65 @@ var attributeContract = initContract().router(
|
|
197
197
|
|
198
198
|
// src/auth/index.ts
|
199
199
|
import { initContract as initContract2 } from "@ts-rest/core";
|
200
|
-
import { z as
|
200
|
+
import { z as z8 } from "zod";
|
201
201
|
|
202
202
|
// src/user/schema.ts
|
203
|
-
import
|
203
|
+
import z7 from "zod";
|
204
204
|
|
205
|
-
// src/
|
205
|
+
// src/role/schema.ts
|
206
|
+
import z6 from "zod";
|
207
|
+
|
208
|
+
// src/permission/schema.ts
|
206
209
|
import z5 from "zod";
|
207
|
-
var
|
210
|
+
var PermissionSchema = z5.object({
|
208
211
|
id: z5.string().uuid(),
|
209
212
|
createdAt: z5.date(),
|
210
213
|
updatedAt: z5.date(),
|
211
214
|
deletedAt: z5.date().nullable(),
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
extensionId: z5.coerce.number(),
|
216
|
-
extensionName: z5.string(),
|
217
|
-
telephonySignature: z5.string().nullable()
|
215
|
+
systemName: z5.string(),
|
216
|
+
displayName: z5.string(),
|
217
|
+
description: z5.string().nullable()
|
218
218
|
});
|
219
219
|
|
220
220
|
// src/role/schema.ts
|
221
|
-
|
222
|
-
|
223
|
-
// src/permission/schema.ts
|
224
|
-
import z6 from "zod";
|
225
|
-
var PermissionSchema = z6.object({
|
221
|
+
var RoleSchema = z6.object({
|
226
222
|
id: z6.string().uuid(),
|
227
223
|
createdAt: z6.date(),
|
228
224
|
updatedAt: z6.date(),
|
229
225
|
deletedAt: z6.date().nullable(),
|
230
226
|
systemName: z6.string(),
|
231
227
|
displayName: z6.string(),
|
232
|
-
description: z6.string().nullable()
|
228
|
+
description: z6.string().nullable(),
|
229
|
+
permissions: z6.array(PermissionSchema)
|
233
230
|
});
|
234
231
|
|
235
|
-
// src/
|
236
|
-
var
|
232
|
+
// src/user/schema.ts
|
233
|
+
var UserSchema = z7.object({
|
237
234
|
id: z7.string().uuid(),
|
238
235
|
createdAt: z7.date(),
|
239
236
|
updatedAt: z7.date(),
|
240
237
|
deletedAt: z7.date().nullable(),
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
238
|
+
name: z7.string(),
|
239
|
+
email: z7.string().email(),
|
240
|
+
emailVerifiedAt: z7.date().nullable(),
|
241
|
+
password: z7.string(),
|
242
|
+
address: z7.string().nullable(),
|
243
|
+
phone: z7.string().nullable(),
|
244
|
+
notificationCount: z7.number().nullable(),
|
245
|
+
roles: z7.array(RoleSchema),
|
246
|
+
extension: z7.object({
|
247
|
+
id: z7.string().uuid(),
|
248
|
+
createdAt: z7.date(),
|
249
|
+
updatedAt: z7.date(),
|
250
|
+
deletedAt: z7.date().nullable(),
|
251
|
+
userId: z7.string().nullable(),
|
252
|
+
sipServerUrl: z7.string(),
|
253
|
+
sipUserName: z7.string(),
|
254
|
+
webphoneLoginUser: z7.string(),
|
255
|
+
extensionId: z7.coerce.number(),
|
256
|
+
extensionName: z7.string(),
|
257
|
+
telephonySignature: z7.string().nullable()
|
258
|
+
})
|
262
259
|
});
|
263
260
|
|
264
261
|
// src/auth/index.ts
|
@@ -270,8 +267,8 @@ var authContract = initContract2().router(
|
|
270
267
|
headers: DefaultHeaderSchema,
|
271
268
|
responses: {
|
272
269
|
200: DefaultSuccessResponseSchema.extend({
|
273
|
-
accessToken:
|
274
|
-
refreshToken:
|
270
|
+
accessToken: z8.string(),
|
271
|
+
refreshToken: z8.string()
|
275
272
|
}),
|
276
273
|
401: DefaultUnauthorizedSchema,
|
277
274
|
404: DefaultNotFoundSchema,
|
@@ -285,8 +282,8 @@ var authContract = initContract2().router(
|
|
285
282
|
path: "/exchange-token",
|
286
283
|
responses: {
|
287
284
|
200: DefaultSuccessResponseSchema.extend({
|
288
|
-
accessToken:
|
289
|
-
refreshToken:
|
285
|
+
accessToken: z8.string(),
|
286
|
+
refreshToken: z8.string()
|
290
287
|
}),
|
291
288
|
401: DefaultUnauthorizedSchema,
|
292
289
|
404: DefaultNotFoundSchema,
|
@@ -302,7 +299,7 @@ var authContract = initContract2().router(
|
|
302
299
|
headers: DefaultHeaderSchema,
|
303
300
|
responses: {
|
304
301
|
200: DefaultSuccessResponseSchema.extend({
|
305
|
-
message:
|
302
|
+
message: z8.string()
|
306
303
|
}),
|
307
304
|
401: DefaultUnauthorizedSchema,
|
308
305
|
404: DefaultNotFoundSchema,
|
@@ -330,9 +327,9 @@ var authContract = initContract2().router(
|
|
330
327
|
path: "/user/role",
|
331
328
|
headers: DefaultHeaderSchema,
|
332
329
|
responses: {
|
333
|
-
200:
|
334
|
-
400:
|
335
|
-
message:
|
330
|
+
200: z8.array(z8.string()),
|
331
|
+
400: z8.object({
|
332
|
+
message: z8.string()
|
336
333
|
}),
|
337
334
|
401: DefaultUnauthorizedSchema
|
338
335
|
},
|
@@ -346,28 +343,28 @@ var authContract = initContract2().router(
|
|
346
343
|
import { initContract as initContract3 } from "@ts-rest/core";
|
347
344
|
|
348
345
|
// src/aws/validation.ts
|
349
|
-
import
|
346
|
+
import z9 from "zod";
|
350
347
|
var AwsContractsValidationSchema = {
|
351
348
|
generatePresignedUrl: {
|
352
|
-
input:
|
353
|
-
fileName:
|
354
|
-
fileType:
|
355
|
-
moduleName:
|
349
|
+
input: z9.object({
|
350
|
+
fileName: z9.string(),
|
351
|
+
fileType: z9.string(),
|
352
|
+
moduleName: z9.string()
|
356
353
|
}),
|
357
|
-
output:
|
358
|
-
fileName:
|
359
|
-
fileKey:
|
360
|
-
bucketName:
|
361
|
-
url:
|
362
|
-
cfUrl:
|
354
|
+
output: z9.object({
|
355
|
+
fileName: z9.string(),
|
356
|
+
fileKey: z9.string(),
|
357
|
+
bucketName: z9.string(),
|
358
|
+
url: z9.string(),
|
359
|
+
cfUrl: z9.string().nullable()
|
363
360
|
})
|
364
361
|
},
|
365
362
|
generateSignedUrl: {
|
366
|
-
input:
|
367
|
-
fileKey:
|
363
|
+
input: z9.object({
|
364
|
+
fileKey: z9.string()
|
368
365
|
}),
|
369
|
-
output:
|
370
|
-
url:
|
366
|
+
output: z9.object({
|
367
|
+
url: z9.string()
|
371
368
|
})
|
372
369
|
}
|
373
370
|
};
|
@@ -409,72 +406,72 @@ var awsContract = initContract3().router(
|
|
409
406
|
|
410
407
|
// src/category/index.ts
|
411
408
|
import { initContract as initContract4 } from "@ts-rest/core";
|
412
|
-
import
|
409
|
+
import z13 from "zod";
|
413
410
|
|
414
411
|
// utils.ts
|
415
|
-
import { z as
|
416
|
-
var PaginationSchema =
|
417
|
-
page:
|
418
|
-
pageSize:
|
419
|
-
total:
|
420
|
-
lastPage:
|
412
|
+
import { z as z10 } from "zod";
|
413
|
+
var PaginationSchema = z10.object({
|
414
|
+
page: z10.number().default(1),
|
415
|
+
pageSize: z10.number().default(10),
|
416
|
+
total: z10.number(),
|
417
|
+
lastPage: z10.number().optional().nullable()
|
421
418
|
});
|
422
419
|
var WithPagination = (dataSchema) => {
|
423
420
|
return PaginationSchema.extend({
|
424
|
-
data:
|
421
|
+
data: z10.array(dataSchema)
|
425
422
|
});
|
426
423
|
};
|
427
424
|
|
428
425
|
// src/category/schema.ts
|
429
|
-
import { z as
|
430
|
-
var CategoryLevelSchema =
|
431
|
-
|
432
|
-
|
433
|
-
|
426
|
+
import { z as z11 } from "zod";
|
427
|
+
var CategoryLevelSchema = z11.union([
|
428
|
+
z11.literal(1),
|
429
|
+
z11.literal(2),
|
430
|
+
z11.literal(3)
|
434
431
|
]);
|
435
432
|
var CategorySchema = DefaultEntitySchema.extend({
|
436
|
-
value:
|
433
|
+
value: z11.string(),
|
437
434
|
level: CategoryLevelSchema,
|
438
|
-
parentId:
|
439
|
-
childCategoryList:
|
440
|
-
|
441
|
-
id:
|
442
|
-
value:
|
435
|
+
parentId: z11.string().nullable(),
|
436
|
+
childCategoryList: z11.array(
|
437
|
+
z11.object({
|
438
|
+
id: z11.string(),
|
439
|
+
value: z11.string(),
|
443
440
|
level: CategoryLevelSchema,
|
444
|
-
parentId:
|
445
|
-
childCategoryList:
|
446
|
-
|
447
|
-
id:
|
448
|
-
value:
|
441
|
+
parentId: z11.string().nullable(),
|
442
|
+
childCategoryList: z11.array(
|
443
|
+
z11.object({
|
444
|
+
id: z11.string(),
|
445
|
+
value: z11.string(),
|
449
446
|
level: CategoryLevelSchema,
|
450
|
-
parentId:
|
451
|
-
childCategoryList:
|
447
|
+
parentId: z11.string().nullable(),
|
448
|
+
childCategoryList: z11.array(z11.any())
|
452
449
|
// This is an empty array.
|
453
450
|
})
|
454
451
|
)
|
455
452
|
})
|
456
453
|
)
|
457
454
|
});
|
458
|
-
var CategoryLevelObjectSchema =
|
459
|
-
id:
|
460
|
-
name:
|
455
|
+
var CategoryLevelObjectSchema = z11.object({
|
456
|
+
id: z11.string(),
|
457
|
+
name: z11.string(),
|
461
458
|
level: CategoryLevelSchema
|
462
459
|
});
|
463
460
|
|
464
461
|
// src/category/validation.ts
|
465
|
-
import { z as
|
466
|
-
var CreateCategorySchema =
|
467
|
-
value:
|
462
|
+
import { z as z12 } from "zod";
|
463
|
+
var CreateCategorySchema = z12.object({
|
464
|
+
value: z12.string(),
|
468
465
|
level: CategoryLevelSchema,
|
469
|
-
parentId:
|
466
|
+
parentId: z12.string().nullable()
|
470
467
|
});
|
471
|
-
var UpdateCategorySchema =
|
472
|
-
var CreateCategoryLevelSchema =
|
473
|
-
name:
|
468
|
+
var UpdateCategorySchema = z12.object({ value: z12.string() });
|
469
|
+
var CreateCategoryLevelSchema = z12.object({
|
470
|
+
name: z12.string(),
|
474
471
|
level: CategoryLevelSchema
|
475
472
|
});
|
476
|
-
var UpdateCategoryLevelSchema =
|
477
|
-
name:
|
473
|
+
var UpdateCategoryLevelSchema = z12.object({
|
474
|
+
name: z12.string(),
|
478
475
|
level: CategoryLevelSchema
|
479
476
|
});
|
480
477
|
|
@@ -496,9 +493,9 @@ var categoryContract = initContract4().router(
|
|
496
493
|
getCategories: {
|
497
494
|
method: "GET",
|
498
495
|
path: "",
|
499
|
-
query:
|
500
|
-
page:
|
501
|
-
pageSize:
|
496
|
+
query: z13.object({
|
497
|
+
page: z13.coerce.number(),
|
498
|
+
pageSize: z13.coerce.number()
|
502
499
|
}).partial().optional(),
|
503
500
|
headers: DefaultHeaderSchema,
|
504
501
|
responses: {
|
@@ -509,7 +506,7 @@ var categoryContract = initContract4().router(
|
|
509
506
|
updateCategory: {
|
510
507
|
method: "PATCH",
|
511
508
|
path: "/:id",
|
512
|
-
pathParams:
|
509
|
+
pathParams: z13.object({ id: z13.string() }),
|
513
510
|
headers: DefaultHeaderSchema,
|
514
511
|
body: UpdateCategorySchema,
|
515
512
|
responses: {
|
@@ -520,12 +517,12 @@ var categoryContract = initContract4().router(
|
|
520
517
|
deleteCategory: {
|
521
518
|
method: "DELETE",
|
522
519
|
path: "/:id",
|
523
|
-
pathParams:
|
520
|
+
pathParams: z13.object({ id: z13.string() }),
|
524
521
|
headers: DefaultHeaderSchema,
|
525
|
-
body:
|
522
|
+
body: z13.any().optional(),
|
526
523
|
responses: {
|
527
524
|
200: DefaultSuccessResponseSchema.extend({
|
528
|
-
message:
|
525
|
+
message: z13.string().optional()
|
529
526
|
}),
|
530
527
|
500: DefaultErrorResponseSchema
|
531
528
|
}
|
@@ -547,7 +544,7 @@ var categoryContract = initContract4().router(
|
|
547
544
|
path: "/level",
|
548
545
|
responses: {
|
549
546
|
200: DefaultSuccessResponseSchema.extend({
|
550
|
-
data:
|
547
|
+
data: z13.array(CategoryLevelObjectSchema)
|
551
548
|
}),
|
552
549
|
500: DefaultErrorResponseSchema
|
553
550
|
}
|
@@ -555,7 +552,7 @@ var categoryContract = initContract4().router(
|
|
555
552
|
updateCategoryLevel: {
|
556
553
|
method: "PATCH",
|
557
554
|
path: "/level/:id",
|
558
|
-
pathParams:
|
555
|
+
pathParams: z13.object({ id: z13.string() }),
|
559
556
|
headers: DefaultHeaderSchema,
|
560
557
|
body: UpdateCategoryLevelSchema,
|
561
558
|
responses: {
|
@@ -573,43 +570,43 @@ var categoryContract = initContract4().router(
|
|
573
570
|
|
574
571
|
// src/channel/index.ts
|
575
572
|
import { initContract as initContract5 } from "@ts-rest/core";
|
576
|
-
import
|
573
|
+
import z17 from "zod";
|
577
574
|
|
578
575
|
// src/messenger/validation.ts
|
579
|
-
import
|
580
|
-
var GetFacebookPagesSchema =
|
581
|
-
data:
|
582
|
-
|
576
|
+
import z14 from "zod";
|
577
|
+
var GetFacebookPagesSchema = z14.object({
|
578
|
+
data: z14.array(
|
579
|
+
z14.object({
|
583
580
|
// biome-ignore lint/style/useNamingConvention: <explanation>
|
584
|
-
access_token:
|
585
|
-
category:
|
581
|
+
access_token: z14.string(),
|
582
|
+
category: z14.string(),
|
586
583
|
// biome-ignore lint/style/useNamingConvention: <explanation>
|
587
|
-
category_list:
|
588
|
-
|
589
|
-
id:
|
590
|
-
name:
|
584
|
+
category_list: z14.array(
|
585
|
+
z14.object({
|
586
|
+
id: z14.string(),
|
587
|
+
name: z14.string()
|
591
588
|
})
|
592
589
|
),
|
593
|
-
id:
|
594
|
-
name:
|
595
|
-
tasks:
|
590
|
+
id: z14.string(),
|
591
|
+
name: z14.string(),
|
592
|
+
tasks: z14.string().array()
|
596
593
|
})
|
597
594
|
),
|
598
|
-
paging:
|
599
|
-
cursors:
|
600
|
-
before:
|
601
|
-
after:
|
595
|
+
paging: z14.object({
|
596
|
+
cursors: z14.object({
|
597
|
+
before: z14.string().optional(),
|
598
|
+
after: z14.string().optional()
|
602
599
|
})
|
603
600
|
}).optional()
|
604
601
|
});
|
605
|
-
var GetFacebookPagesQuerySchema =
|
606
|
-
accessToken:
|
607
|
-
userId:
|
602
|
+
var GetFacebookPagesQuerySchema = z14.object({
|
603
|
+
accessToken: z14.string(),
|
604
|
+
userId: z14.string()
|
608
605
|
});
|
609
606
|
|
610
607
|
// src/channel/schema.ts
|
611
|
-
import
|
612
|
-
var ChannelTypeSchema =
|
608
|
+
import z15 from "zod";
|
609
|
+
var ChannelTypeSchema = z15.enum([
|
613
610
|
"whatsapp",
|
614
611
|
"messenger",
|
615
612
|
"telegram",
|
@@ -620,39 +617,39 @@ var ChannelTypeSchema = z16.enum([
|
|
620
617
|
"lazada",
|
621
618
|
"instagram"
|
622
619
|
]);
|
623
|
-
var ChannelStatusTypeSchema =
|
624
|
-
|
620
|
+
var ChannelStatusTypeSchema = z15.union([
|
621
|
+
z15.literal(true),
|
625
622
|
// on
|
626
|
-
|
623
|
+
z15.literal(false)
|
627
624
|
// off
|
628
625
|
]);
|
629
|
-
var ChannelMetadataSchema =
|
630
|
-
id:
|
631
|
-
name:
|
632
|
-
accessToken:
|
633
|
-
additionalCredentials:
|
626
|
+
var ChannelMetadataSchema = z15.object({
|
627
|
+
id: z15.string(),
|
628
|
+
name: z15.string(),
|
629
|
+
accessToken: z15.string(),
|
630
|
+
additionalCredentials: z15.any().optional()
|
634
631
|
});
|
635
632
|
var ChannelSchema = DefaultEntitySchema.extend({
|
636
|
-
name:
|
633
|
+
name: z15.string(),
|
637
634
|
type: ChannelTypeSchema,
|
638
635
|
metadata: ChannelMetadataSchema,
|
639
|
-
brandName:
|
640
|
-
platformId:
|
636
|
+
brandName: z15.string(),
|
637
|
+
platformId: z15.string(),
|
641
638
|
status: ChannelStatusTypeSchema,
|
642
|
-
isReloginRequired:
|
643
|
-
connectedUserName:
|
644
|
-
connectedUserId:
|
639
|
+
isReloginRequired: z15.boolean(),
|
640
|
+
connectedUserName: z15.string(),
|
641
|
+
connectedUserId: z15.string(),
|
645
642
|
actor: UserSchema
|
646
643
|
}).partial().optional();
|
647
644
|
|
648
645
|
// src/channel/validation.ts
|
649
|
-
import
|
650
|
-
var ConnectChannelSchema =
|
651
|
-
name:
|
646
|
+
import z16 from "zod";
|
647
|
+
var ConnectChannelSchema = z16.object({
|
648
|
+
name: z16.string(),
|
652
649
|
type: ChannelTypeSchema,
|
653
650
|
metadata: ChannelMetadataSchema,
|
654
|
-
platformId:
|
655
|
-
connectedUserId:
|
651
|
+
platformId: z16.string(),
|
652
|
+
connectedUserId: z16.string()
|
656
653
|
});
|
657
654
|
|
658
655
|
// src/channel/index.ts
|
@@ -691,8 +688,8 @@ var channelContract = initContract5().router(
|
|
691
688
|
disconnectChannel: {
|
692
689
|
method: "POST",
|
693
690
|
path: "/disconnect/:channelId",
|
694
|
-
pathParams:
|
695
|
-
channelId:
|
691
|
+
pathParams: z17.object({
|
692
|
+
channelId: z17.string().uuid()
|
696
693
|
}),
|
697
694
|
responses: {
|
698
695
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -701,7 +698,19 @@ var channelContract = initContract5().router(
|
|
701
698
|
408: DefaultErrorResponseSchema
|
702
699
|
},
|
703
700
|
body: null,
|
704
|
-
summary: "
|
701
|
+
summary: "Disconnect message channel"
|
702
|
+
},
|
703
|
+
reloginChannel: {
|
704
|
+
method: "POST",
|
705
|
+
path: "/relogin",
|
706
|
+
responses: {
|
707
|
+
200: DefaultSuccessResponseSchema.extend({
|
708
|
+
channel: ChannelSchema
|
709
|
+
}),
|
710
|
+
408: DefaultErrorResponseSchema
|
711
|
+
},
|
712
|
+
body: ConnectChannelSchema,
|
713
|
+
summary: "Relogin message channel"
|
705
714
|
},
|
706
715
|
getChannels: {
|
707
716
|
method: "GET",
|
@@ -723,208 +732,210 @@ var channelContract = initContract5().router(
|
|
723
732
|
|
724
733
|
// src/chat/index.ts
|
725
734
|
import { initContract as initContract6 } from "@ts-rest/core";
|
726
|
-
import
|
735
|
+
import z29 from "zod";
|
727
736
|
|
728
737
|
// src/contact/schema.ts
|
729
|
-
import
|
738
|
+
import z21 from "zod";
|
730
739
|
|
731
740
|
// src/tag/schema.ts
|
732
|
-
import
|
741
|
+
import z18 from "zod";
|
733
742
|
var TagSchema = DefaultEntitySchema.extend({
|
734
|
-
name:
|
743
|
+
name: z18.string()
|
735
744
|
});
|
736
|
-
var TagGroupSchema =
|
737
|
-
|
738
|
-
|
745
|
+
var TagGroupSchema = z18.union([
|
746
|
+
z18.literal("general"),
|
747
|
+
z18.literal("contact")
|
739
748
|
]);
|
740
749
|
|
741
750
|
// src/company/schema.ts
|
742
|
-
import
|
751
|
+
import z19 from "zod";
|
743
752
|
var CompanyCustomFieldSchema = DefaultEntitySchema.extend({
|
744
|
-
textValue:
|
745
|
-
booleanValue:
|
746
|
-
numberValue:
|
747
|
-
dateValue:
|
753
|
+
textValue: z19.string().nullable(),
|
754
|
+
booleanValue: z19.boolean().nullable(),
|
755
|
+
numberValue: z19.number().nullable(),
|
756
|
+
dateValue: z19.date().nullable(),
|
748
757
|
attribute: AttributeSchema.omit({ options: true, group: true })
|
749
758
|
});
|
750
759
|
var CompanySchema = DefaultEntitySchema.extend({
|
751
|
-
name:
|
752
|
-
phone:
|
753
|
-
address:
|
754
|
-
industry:
|
755
|
-
customFields:
|
760
|
+
name: z19.string().optional(),
|
761
|
+
phone: z19.string().nullable().optional(),
|
762
|
+
address: z19.string().nullable().optional(),
|
763
|
+
industry: z19.string().nullable().optional(),
|
764
|
+
customFields: z19.array(CompanyCustomFieldSchema).optional()
|
756
765
|
});
|
757
766
|
|
758
767
|
// src/upload/schema.ts
|
759
|
-
import
|
768
|
+
import z20 from "zod";
|
760
769
|
var UploadSchema = DefaultEntitySchema.extend({
|
761
|
-
bucketName:
|
762
|
-
fileName:
|
763
|
-
fileSize:
|
764
|
-
fileKey:
|
770
|
+
bucketName: z20.string(),
|
771
|
+
fileName: z20.string(),
|
772
|
+
fileSize: z20.number(),
|
773
|
+
fileKey: z20.string(),
|
774
|
+
fileUrl: z20.string().nullable()
|
765
775
|
});
|
766
776
|
|
767
777
|
// src/contact/schema.ts
|
768
|
-
var ContactPhonesSchema =
|
769
|
-
id:
|
770
|
-
createdAt:
|
771
|
-
updatedAt:
|
772
|
-
deletedAt:
|
773
|
-
phone:
|
774
|
-
isPrimary:
|
775
|
-
});
|
776
|
-
var ContactEmailsSchema =
|
777
|
-
id:
|
778
|
-
createdAt:
|
779
|
-
updatedAt:
|
780
|
-
deletedAt:
|
781
|
-
email:
|
782
|
-
isPrimary:
|
783
|
-
});
|
784
|
-
var ContactCustomFieldSchema =
|
785
|
-
id:
|
786
|
-
createdAt:
|
787
|
-
updatedAt:
|
788
|
-
deletedAt:
|
789
|
-
textValue:
|
790
|
-
booleanValue:
|
791
|
-
numberValue:
|
792
|
-
dateValue:
|
778
|
+
var ContactPhonesSchema = z21.object({
|
779
|
+
id: z21.string().uuid(),
|
780
|
+
createdAt: z21.date(),
|
781
|
+
updatedAt: z21.date(),
|
782
|
+
deletedAt: z21.date().nullable(),
|
783
|
+
phone: z21.string(),
|
784
|
+
isPrimary: z21.boolean()
|
785
|
+
});
|
786
|
+
var ContactEmailsSchema = z21.object({
|
787
|
+
id: z21.string().uuid(),
|
788
|
+
createdAt: z21.date(),
|
789
|
+
updatedAt: z21.date(),
|
790
|
+
deletedAt: z21.date().nullable(),
|
791
|
+
email: z21.string(),
|
792
|
+
isPrimary: z21.boolean()
|
793
|
+
});
|
794
|
+
var ContactCustomFieldSchema = z21.object({
|
795
|
+
id: z21.string().uuid(),
|
796
|
+
createdAt: z21.date(),
|
797
|
+
updatedAt: z21.date(),
|
798
|
+
deletedAt: z21.date().nullable(),
|
799
|
+
textValue: z21.string().nullable(),
|
800
|
+
booleanValue: z21.boolean().nullable(),
|
801
|
+
numberValue: z21.number().nullable(),
|
802
|
+
dateValue: z21.date().nullable(),
|
793
803
|
attribute: AttributeSchema.omit({ options: true, group: true }),
|
794
|
-
uploads:
|
804
|
+
uploads: z21.array(
|
795
805
|
DefaultEntitySchema.extend({
|
796
|
-
customFieldId:
|
806
|
+
customFieldId: z21.string(),
|
797
807
|
upload: UploadSchema
|
798
808
|
})
|
799
809
|
)
|
800
810
|
});
|
801
|
-
var ContactEntityTypesSchema =
|
802
|
-
id:
|
803
|
-
createdAt:
|
804
|
-
updatedAt:
|
805
|
-
deletedAt:
|
806
|
-
entity:
|
807
|
-
description:
|
808
|
-
});
|
809
|
-
var ContactActivitySchema =
|
810
|
-
id:
|
811
|
-
createdAt:
|
812
|
-
updatedAt:
|
813
|
-
deletedAt:
|
814
|
-
entityId:
|
815
|
-
description:
|
811
|
+
var ContactEntityTypesSchema = z21.object({
|
812
|
+
id: z21.string().uuid(),
|
813
|
+
createdAt: z21.date(),
|
814
|
+
updatedAt: z21.date(),
|
815
|
+
deletedAt: z21.date().nullable(),
|
816
|
+
entity: z21.string(),
|
817
|
+
description: z21.string().nullable()
|
818
|
+
});
|
819
|
+
var ContactActivitySchema = z21.object({
|
820
|
+
id: z21.string().uuid(),
|
821
|
+
createdAt: z21.date(),
|
822
|
+
updatedAt: z21.date(),
|
823
|
+
deletedAt: z21.date().nullable(),
|
824
|
+
entityId: z21.string(),
|
825
|
+
description: z21.string(),
|
816
826
|
entityType: ContactEntityTypesSchema
|
817
827
|
});
|
818
|
-
var ContactSchema =
|
819
|
-
id:
|
820
|
-
createdAt:
|
821
|
-
updatedAt:
|
822
|
-
deletedAt:
|
823
|
-
name:
|
824
|
-
address:
|
825
|
-
channel:
|
826
|
-
notes:
|
827
|
-
contactProfile:
|
828
|
-
socialProfileUrl:
|
829
|
-
tags:
|
828
|
+
var ContactSchema = z21.object({
|
829
|
+
id: z21.string().uuid(),
|
830
|
+
createdAt: z21.date(),
|
831
|
+
updatedAt: z21.date(),
|
832
|
+
deletedAt: z21.date().nullable(),
|
833
|
+
name: z21.string(),
|
834
|
+
address: z21.string().nullable(),
|
835
|
+
channel: z21.string().nullable(),
|
836
|
+
notes: z21.string().nullable(),
|
837
|
+
contactProfile: z21.string().nullable(),
|
838
|
+
socialProfileUrl: z21.string().nullable(),
|
839
|
+
tags: z21.array(TagSchema),
|
830
840
|
company: CompanySchema.omit({ customFields: true }).nullable(),
|
831
841
|
// room: z.array(RoomSchema).optional(),
|
832
|
-
customFields:
|
833
|
-
contactEmails:
|
834
|
-
contactPhones:
|
835
|
-
activityLogs:
|
842
|
+
customFields: z21.array(ContactCustomFieldSchema),
|
843
|
+
contactEmails: z21.array(ContactEmailsSchema),
|
844
|
+
contactPhones: z21.array(ContactPhonesSchema),
|
845
|
+
activityLogs: z21.array(ContactActivitySchema).optional()
|
836
846
|
});
|
837
847
|
|
838
848
|
// src/chat/schema.ts
|
839
|
-
import
|
849
|
+
import z26 from "zod";
|
840
850
|
|
841
851
|
// src/cx-log/schema.ts
|
842
|
-
import
|
852
|
+
import z25 from "zod";
|
843
853
|
|
844
854
|
// src/evaluate-form/schema.ts
|
845
|
-
import
|
855
|
+
import z22 from "zod";
|
846
856
|
var EvaluateFormSchema = DefaultEntitySchema.extend({
|
847
|
-
cxLogId:
|
848
|
-
sentimentScore:
|
849
|
-
csatScore:
|
857
|
+
cxLogId: z22.string().uuid(),
|
858
|
+
sentimentScore: z22.string().nullable().optional(),
|
859
|
+
csatScore: z22.string().nullable().optional()
|
850
860
|
});
|
851
861
|
|
852
862
|
// src/telephony-cdr/schema.ts
|
853
|
-
import
|
863
|
+
import z23 from "zod";
|
854
864
|
var TelephonyCdrSchema = DefaultEntitySchema.extend({
|
855
|
-
uniqueCallId:
|
856
|
-
timeStart:
|
857
|
-
callFrom:
|
858
|
-
callTo:
|
859
|
-
callDuration:
|
860
|
-
talkDuration:
|
861
|
-
srcTrunkName:
|
862
|
-
dstTrunkName:
|
863
|
-
pinCode:
|
864
|
-
status:
|
865
|
-
type:
|
866
|
-
recording:
|
867
|
-
didNumber:
|
868
|
-
agentRingTime:
|
869
|
-
uploadId:
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
865
|
+
uniqueCallId: z23.string(),
|
866
|
+
timeStart: z23.string(),
|
867
|
+
callFrom: z23.string(),
|
868
|
+
callTo: z23.string(),
|
869
|
+
callDuration: z23.number().nullable(),
|
870
|
+
talkDuration: z23.number().nullable(),
|
871
|
+
srcTrunkName: z23.string().nullable(),
|
872
|
+
dstTrunkName: z23.string().nullable(),
|
873
|
+
pinCode: z23.string().nullable(),
|
874
|
+
status: z23.string(),
|
875
|
+
type: z23.string(),
|
876
|
+
recording: z23.string().nullable(),
|
877
|
+
didNumber: z23.string().nullable(),
|
878
|
+
agentRingTime: z23.number().nullable(),
|
879
|
+
uploadId: z23.string().nullable(),
|
880
|
+
upload: UploadSchema.optional(),
|
881
|
+
serialNumber: z23.string().nullable(),
|
882
|
+
extensionId: z23.string().uuid().nullable(),
|
883
|
+
telephonyQueueId: z23.string().uuid().nullable(),
|
884
|
+
contactId: z23.string().nullable()
|
874
885
|
});
|
875
886
|
|
876
887
|
// src/wrap-up-form/schema.ts
|
877
|
-
import
|
888
|
+
import z24 from "zod";
|
878
889
|
var WrapUpFormSchema = DefaultEntitySchema.extend({
|
879
|
-
note:
|
880
|
-
disposition:
|
881
|
-
callFrom:
|
882
|
-
callTo:
|
883
|
-
tags:
|
890
|
+
note: z24.string().nullable(),
|
891
|
+
disposition: z24.string().nullable(),
|
892
|
+
callFrom: z24.string().nullable(),
|
893
|
+
callTo: z24.string().nullable(),
|
894
|
+
tags: z24.array(TagSchema)
|
884
895
|
});
|
885
896
|
|
886
897
|
// src/cx-log/schema.ts
|
887
898
|
var CxLogSchema = DefaultEntitySchema.extend({
|
888
|
-
caseId:
|
889
|
-
entityId:
|
890
|
-
entityName:
|
891
|
-
contactId:
|
892
|
-
channel:
|
893
|
-
queueId:
|
894
|
-
agentId:
|
895
|
-
direction:
|
896
|
-
startedDate:
|
897
|
-
handledTime:
|
898
|
-
firstResponseTime:
|
899
|
-
disposition:
|
899
|
+
caseId: z25.number(),
|
900
|
+
entityId: z25.string().uuid(),
|
901
|
+
entityName: z25.string(),
|
902
|
+
contactId: z25.string().uuid().nullable(),
|
903
|
+
channel: z25.string().nullable(),
|
904
|
+
queueId: z25.string().uuid().nullable(),
|
905
|
+
agentId: z25.string().uuid().nullable(),
|
906
|
+
direction: z25.string().nullable(),
|
907
|
+
startedDate: z25.date().nullable(),
|
908
|
+
handledTime: z25.number().nullable(),
|
909
|
+
firstResponseTime: z25.number().nullable(),
|
910
|
+
disposition: z25.string().nullable(),
|
900
911
|
wrapUpForm: WrapUpFormSchema.nullable()
|
901
912
|
});
|
902
913
|
var CxLogSchemaWithRelations = DefaultEntitySchema.extend({
|
903
|
-
caseId:
|
904
|
-
entityId:
|
905
|
-
entityName:
|
906
|
-
channelType:
|
907
|
-
channel:
|
908
|
-
direction:
|
909
|
-
startedDate:
|
910
|
-
handledTime:
|
911
|
-
firstResponseTime:
|
912
|
-
disposition:
|
913
|
-
slaMeet:
|
914
|
+
caseId: z25.number(),
|
915
|
+
entityId: z25.string().uuid(),
|
916
|
+
entityName: z25.string(),
|
917
|
+
channelType: z25.string().nullable(),
|
918
|
+
channel: z25.string().nullable(),
|
919
|
+
direction: z25.string().nullable(),
|
920
|
+
startedDate: z25.string().nullable(),
|
921
|
+
handledTime: z25.string().nullable(),
|
922
|
+
firstResponseTime: z25.string().nullable(),
|
923
|
+
disposition: z25.string().nullable(),
|
924
|
+
slaMeet: z25.string().nullable(),
|
914
925
|
evaluateForm: EvaluateFormSchema.nullable(),
|
915
926
|
wrapUpForm: WrapUpFormSchema.nullable(),
|
916
|
-
room:
|
917
|
-
id:
|
918
|
-
createdAt:
|
919
|
-
updatedAt:
|
920
|
-
deletedAt:
|
921
|
-
lastMessage:
|
922
|
-
handleTime:
|
923
|
-
closeAt:
|
924
|
-
unreadCount:
|
925
|
-
firstResponseAt:
|
926
|
-
firstResponseTime:
|
927
|
-
isLatest:
|
927
|
+
room: z25.object({
|
928
|
+
id: z25.string().uuid(),
|
929
|
+
createdAt: z25.date(),
|
930
|
+
updatedAt: z25.date(),
|
931
|
+
deletedAt: z25.date().nullable(),
|
932
|
+
lastMessage: z25.string(),
|
933
|
+
handleTime: z25.number(),
|
934
|
+
closeAt: z25.date(),
|
935
|
+
unreadCount: z25.number(),
|
936
|
+
firstResponseAt: z25.date(),
|
937
|
+
firstResponseTime: z25.number(),
|
938
|
+
isLatest: z25.boolean(),
|
928
939
|
direction: MessageDirectionTypeSchema,
|
929
940
|
platformContact: PlatformContactSchema,
|
930
941
|
actor: UserSchema,
|
@@ -932,20 +943,20 @@ var CxLogSchemaWithRelations = DefaultEntitySchema.extend({
|
|
932
943
|
channel: ChannelSchema
|
933
944
|
}).nullable(),
|
934
945
|
telephonyCdr: TelephonyCdrSchema.nullable(),
|
935
|
-
queue:
|
936
|
-
queueName:
|
946
|
+
queue: z25.object({
|
947
|
+
queueName: z25.string().nullable().optional()
|
937
948
|
}).nullable(),
|
938
949
|
contact: ContactSchema.nullable(),
|
939
950
|
agent: UserSchema.nullable()
|
940
951
|
});
|
941
952
|
|
942
953
|
// src/chat/schema.ts
|
943
|
-
var MessageDirectionTypeSchema =
|
954
|
+
var MessageDirectionTypeSchema = z26.enum([
|
944
955
|
"incoming",
|
945
956
|
"outgoing",
|
946
957
|
"system"
|
947
958
|
]);
|
948
|
-
var MessageTypeSchema =
|
959
|
+
var MessageTypeSchema = z26.enum([
|
949
960
|
"text",
|
950
961
|
"image",
|
951
962
|
"video",
|
@@ -965,28 +976,28 @@ var MessageTypeSchema = z27.enum([
|
|
965
976
|
"updated",
|
966
977
|
"started"
|
967
978
|
]);
|
968
|
-
var MessageLocaleTypeSchema =
|
969
|
-
var PlatformContactMetadataSchema =
|
970
|
-
id:
|
971
|
-
name:
|
972
|
-
picture:
|
973
|
-
additionalCredentials:
|
979
|
+
var MessageLocaleTypeSchema = z26.enum(["mm", "en", "th", ""]);
|
980
|
+
var PlatformContactMetadataSchema = z26.object({
|
981
|
+
id: z26.string(),
|
982
|
+
name: z26.string(),
|
983
|
+
picture: z26.string().optional(),
|
984
|
+
additionalCredentials: z26.any()
|
974
985
|
});
|
975
986
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
976
|
-
channelId:
|
977
|
-
socialPlatformId:
|
987
|
+
channelId: z26.string().uuid(),
|
988
|
+
socialPlatformId: z26.string(),
|
978
989
|
type: ChannelTypeSchema,
|
979
990
|
metadata: PlatformContactMetadataSchema,
|
980
991
|
contact: ContactSchema
|
981
992
|
});
|
982
993
|
var RoomSchema = DefaultEntitySchema.extend({
|
983
|
-
lastMessage:
|
984
|
-
handleTime:
|
985
|
-
closeAt:
|
986
|
-
unreadCount:
|
987
|
-
firstResponseAt:
|
988
|
-
firstResponseTime:
|
989
|
-
isLatest:
|
994
|
+
lastMessage: z26.string(),
|
995
|
+
handleTime: z26.number(),
|
996
|
+
closeAt: z26.date(),
|
997
|
+
unreadCount: z26.number(),
|
998
|
+
firstResponseAt: z26.date(),
|
999
|
+
firstResponseTime: z26.number(),
|
1000
|
+
isLatest: z26.boolean(),
|
990
1001
|
direction: MessageDirectionTypeSchema,
|
991
1002
|
platformContact: PlatformContactSchema,
|
992
1003
|
actor: UserSchema,
|
@@ -995,166 +1006,167 @@ var RoomSchema = DefaultEntitySchema.extend({
|
|
995
1006
|
cxlog: CxLogSchema
|
996
1007
|
});
|
997
1008
|
var MessageSchema = DefaultEntitySchema.extend({
|
998
|
-
message:
|
1009
|
+
message: z26.string(),
|
999
1010
|
direction: MessageDirectionTypeSchema,
|
1000
1011
|
type: MessageTypeSchema,
|
1001
|
-
readAt:
|
1002
|
-
metadata:
|
1003
|
-
platformId:
|
1004
|
-
platformMessageId:
|
1005
|
-
replyPlatformMessageId:
|
1006
|
-
template:
|
1012
|
+
readAt: z26.date(),
|
1013
|
+
metadata: z26.any(),
|
1014
|
+
platformId: z26.string(),
|
1015
|
+
platformMessageId: z26.string(),
|
1016
|
+
replyPlatformMessageId: z26.string(),
|
1017
|
+
template: z26.any(),
|
1007
1018
|
locale: MessageLocaleTypeSchema,
|
1008
|
-
url:
|
1009
|
-
previewUrl:
|
1010
|
-
imageSetId:
|
1019
|
+
url: z26.string(),
|
1020
|
+
previewUrl: z26.string(),
|
1021
|
+
imageSetId: z26.string(),
|
1011
1022
|
room: RoomSchema,
|
1012
1023
|
upload: UploadSchema,
|
1013
1024
|
actor: UserSchema,
|
1014
1025
|
assignee: UserSchema,
|
1015
1026
|
sender: UserSchema
|
1016
1027
|
});
|
1017
|
-
var UnreadCountsByAssigneeSchema =
|
1018
|
-
assigneeId:
|
1019
|
-
totalUnreadCount:
|
1028
|
+
var UnreadCountsByAssigneeSchema = z26.object({
|
1029
|
+
assigneeId: z26.string(),
|
1030
|
+
totalUnreadCount: z26.number()
|
1020
1031
|
});
|
1021
1032
|
|
1022
1033
|
// src/chat/validation.ts
|
1023
|
-
import
|
1034
|
+
import z28 from "zod";
|
1024
1035
|
|
1025
1036
|
// src/custom-field/schema.ts
|
1026
|
-
import
|
1037
|
+
import z27 from "zod";
|
1027
1038
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
1028
|
-
textValue:
|
1029
|
-
booleanValue:
|
1030
|
-
numberValue:
|
1031
|
-
dateValue:
|
1032
|
-
entityId:
|
1033
|
-
attributeId:
|
1039
|
+
textValue: z27.string().nullable(),
|
1040
|
+
booleanValue: z27.boolean().nullable(),
|
1041
|
+
numberValue: z27.number().nullable(),
|
1042
|
+
dateValue: z27.date().nullable(),
|
1043
|
+
entityId: z27.string().uuid(),
|
1044
|
+
attributeId: z27.string().uuid()
|
1034
1045
|
});
|
1035
1046
|
|
1036
1047
|
// src/chat/validation.ts
|
1037
|
-
var GetRoomsSchema =
|
1038
|
-
page:
|
1039
|
-
pageSize:
|
1040
|
-
contactTagIds:
|
1041
|
-
contactIds:
|
1042
|
-
agentIds:
|
1043
|
-
roomTagIds:
|
1044
|
-
keyword:
|
1045
|
-
company:
|
1046
|
-
channel:
|
1047
|
-
name:
|
1048
|
-
address:
|
1049
|
-
contactGroups:
|
1050
|
-
selectedDate:
|
1051
|
-
customFields:
|
1052
|
-
tags:
|
1053
|
-
phone:
|
1054
|
-
email:
|
1055
|
-
notes:
|
1056
|
-
tab:
|
1057
|
-
});
|
1058
|
-
var UpdateRoomTagsAndNotesSchema =
|
1059
|
-
note:
|
1048
|
+
var GetRoomsSchema = z28.object({
|
1049
|
+
page: z28.coerce.number().positive().default(1),
|
1050
|
+
pageSize: z28.coerce.number().positive().default(20),
|
1051
|
+
contactTagIds: z28.string().array().optional(),
|
1052
|
+
contactIds: z28.string().array().optional(),
|
1053
|
+
agentIds: z28.string().array().optional(),
|
1054
|
+
roomTagIds: z28.string().array().optional(),
|
1055
|
+
keyword: z28.string().optional(),
|
1056
|
+
company: z28.string().array().optional(),
|
1057
|
+
channel: z28.string().array().optional(),
|
1058
|
+
name: z28.string().optional(),
|
1059
|
+
address: z28.string().optional(),
|
1060
|
+
contactGroups: z28.string().array().optional(),
|
1061
|
+
selectedDate: z28.string().optional(),
|
1062
|
+
customFields: z28.array(CustomFieldSchema).optional(),
|
1063
|
+
tags: z28.string().array().optional(),
|
1064
|
+
phone: z28.string().optional(),
|
1065
|
+
email: z28.string().optional(),
|
1066
|
+
notes: z28.string().optional(),
|
1067
|
+
tab: z28.string().optional()
|
1068
|
+
});
|
1069
|
+
var UpdateRoomTagsAndNotesSchema = z28.object({
|
1070
|
+
note: z28.string().optional(),
|
1060
1071
|
tags: TagSchema.array().optional()
|
1061
1072
|
});
|
1062
1073
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
1063
|
-
roomId:
|
1064
|
-
});
|
1065
|
-
var MessageAttachmentSchema =
|
1066
|
-
bucketName:
|
1067
|
-
fileKey:
|
1068
|
-
fileName:
|
1069
|
-
fileSize:
|
1070
|
-
url:
|
1074
|
+
roomId: z28.string().uuid()
|
1075
|
+
});
|
1076
|
+
var MessageAttachmentSchema = z28.object({
|
1077
|
+
bucketName: z28.string(),
|
1078
|
+
fileKey: z28.string(),
|
1079
|
+
fileName: z28.string(),
|
1080
|
+
fileSize: z28.number(),
|
1081
|
+
url: z28.string(),
|
1071
1082
|
fileType: MessageTypeSchema,
|
1072
|
-
thumbnailUrl:
|
1083
|
+
thumbnailUrl: z28.string().optional()
|
1073
1084
|
});
|
1074
|
-
var SendMessageSchema =
|
1075
|
-
roomId:
|
1085
|
+
var SendMessageSchema = z28.object({
|
1086
|
+
roomId: z28.string().uuid(),
|
1076
1087
|
messageType: MessageTypeSchema,
|
1077
|
-
message:
|
1088
|
+
message: z28.string().optional(),
|
1078
1089
|
messageAttachments: MessageAttachmentSchema.optional(),
|
1079
1090
|
user: UserSchema.optional(),
|
1080
|
-
packageId:
|
1081
|
-
stickerId:
|
1091
|
+
packageId: z28.number().optional(),
|
1092
|
+
stickerId: z28.number().optional()
|
1082
1093
|
});
|
1083
|
-
var SolveRoomSchema =
|
1084
|
-
roomId:
|
1094
|
+
var SolveRoomSchema = z28.object({
|
1095
|
+
roomId: z28.string(),
|
1096
|
+
disposition: z28.string()
|
1085
1097
|
});
|
1086
1098
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
1087
|
-
assigneeId:
|
1099
|
+
assigneeId: z28.string().uuid()
|
1088
1100
|
});
|
1089
1101
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
1090
|
-
query:
|
1102
|
+
query: z28.string()
|
1091
1103
|
});
|
1092
|
-
var ChannelSchema2 =
|
1093
|
-
name:
|
1104
|
+
var ChannelSchema2 = z28.object({
|
1105
|
+
name: z28.string(),
|
1094
1106
|
type: ChannelTypeSchema,
|
1095
1107
|
metadata: ChannelMetadataSchema,
|
1096
|
-
platformId:
|
1097
|
-
brandName:
|
1108
|
+
platformId: z28.string(),
|
1109
|
+
brandName: z28.string(),
|
1098
1110
|
status: ChannelStatusTypeSchema,
|
1099
|
-
connectedUserName:
|
1100
|
-
connectedUserId:
|
1101
|
-
actor:
|
1102
|
-
id:
|
1103
|
-
name:
|
1104
|
-
email:
|
1105
|
-
address:
|
1106
|
-
phone:
|
1111
|
+
connectedUserName: z28.string().optional().nullable(),
|
1112
|
+
connectedUserId: z28.string().optional().nullable(),
|
1113
|
+
actor: z28.object({
|
1114
|
+
id: z28.string().uuid(),
|
1115
|
+
name: z28.string(),
|
1116
|
+
email: z28.string().email(),
|
1117
|
+
address: z28.string().nullable(),
|
1118
|
+
phone: z28.string().nullable()
|
1107
1119
|
})
|
1108
1120
|
});
|
1109
|
-
var SendMessageToPlatformSchema =
|
1110
|
-
room:
|
1111
|
-
id:
|
1112
|
-
lastMessage:
|
1113
|
-
handleTime:
|
1114
|
-
isLatest:
|
1121
|
+
var SendMessageToPlatformSchema = z28.object({
|
1122
|
+
room: z28.object({
|
1123
|
+
id: z28.string().uuid(),
|
1124
|
+
lastMessage: z28.string().optional(),
|
1125
|
+
handleTime: z28.number().optional(),
|
1126
|
+
isLatest: z28.boolean(),
|
1115
1127
|
direction: MessageDirectionTypeSchema,
|
1116
|
-
platformContact:
|
1117
|
-
channelId:
|
1118
|
-
socialPlatformId:
|
1128
|
+
platformContact: z28.object({
|
1129
|
+
channelId: z28.string().uuid(),
|
1130
|
+
socialPlatformId: z28.string().nullable(),
|
1119
1131
|
type: ChannelTypeSchema,
|
1120
1132
|
metadata: PlatformContactMetadataSchema,
|
1121
|
-
contact:
|
1122
|
-
name:
|
1123
|
-
address:
|
1124
|
-
channel:
|
1125
|
-
notes:
|
1126
|
-
contactProfile:
|
1127
|
-
socialProfileUrl:
|
1133
|
+
contact: z28.object({
|
1134
|
+
name: z28.string(),
|
1135
|
+
address: z28.string().nullable(),
|
1136
|
+
channel: z28.string().nullable(),
|
1137
|
+
notes: z28.string().nullable(),
|
1138
|
+
contactProfile: z28.string().nullable(),
|
1139
|
+
socialProfileUrl: z28.string().nullable()
|
1128
1140
|
})
|
1129
1141
|
}),
|
1130
|
-
actor:
|
1131
|
-
name:
|
1132
|
-
email:
|
1133
|
-
address:
|
1134
|
-
phone:
|
1142
|
+
actor: z28.object({
|
1143
|
+
name: z28.string(),
|
1144
|
+
email: z28.string().email(),
|
1145
|
+
address: z28.string().nullable(),
|
1146
|
+
phone: z28.string().nullable()
|
1135
1147
|
}).nullable(),
|
1136
1148
|
channel: ChannelSchema2
|
1137
1149
|
}),
|
1138
|
-
message:
|
1139
|
-
message:
|
1150
|
+
message: z28.object({
|
1151
|
+
message: z28.string().optional(),
|
1140
1152
|
direction: MessageDirectionTypeSchema,
|
1141
1153
|
type: MessageTypeSchema,
|
1142
|
-
readAt:
|
1143
|
-
metadata:
|
1144
|
-
platformId:
|
1145
|
-
platformMessageId:
|
1146
|
-
replyPlatformMessageId:
|
1147
|
-
template:
|
1154
|
+
readAt: z28.date().optional(),
|
1155
|
+
metadata: z28.any().optional(),
|
1156
|
+
platformId: z28.string().optional(),
|
1157
|
+
platformMessageId: z28.string().optional(),
|
1158
|
+
replyPlatformMessageId: z28.string().optional(),
|
1159
|
+
template: z28.any().optional(),
|
1148
1160
|
locale: MessageLocaleTypeSchema.optional(),
|
1149
|
-
url:
|
1150
|
-
previewUrl:
|
1151
|
-
imageSetId:
|
1161
|
+
url: z28.string().optional(),
|
1162
|
+
previewUrl: z28.string().optional(),
|
1163
|
+
imageSetId: z28.string().optional(),
|
1152
1164
|
upload: UploadSchema.optional(),
|
1153
|
-
sender:
|
1154
|
-
name:
|
1155
|
-
email:
|
1156
|
-
address:
|
1157
|
-
phone:
|
1165
|
+
sender: z28.object({
|
1166
|
+
name: z28.string(),
|
1167
|
+
email: z28.string().email(),
|
1168
|
+
address: z28.string().nullable(),
|
1169
|
+
phone: z28.string().nullable()
|
1158
1170
|
})
|
1159
1171
|
})
|
1160
1172
|
});
|
@@ -1166,11 +1178,64 @@ var ChannelServiceResponseSchema = DefaultSuccessResponseSchema.extend(
|
|
1166
1178
|
data: ChannelSchema2
|
1167
1179
|
}
|
1168
1180
|
);
|
1169
|
-
var ReceiveMessageSchema =
|
1170
|
-
message:
|
1181
|
+
var ReceiveMessageSchema = z28.object({
|
1182
|
+
message: z28.object({
|
1183
|
+
message: z28.string(),
|
1184
|
+
direction: MessageDirectionTypeSchema,
|
1185
|
+
type: MessageTypeSchema,
|
1186
|
+
metadata: z28.any(),
|
1187
|
+
platformId: z28.string(),
|
1188
|
+
platformMessageId: z28.string(),
|
1189
|
+
replyPlatformMessageId: z28.string().optional(),
|
1190
|
+
template: z28.any(),
|
1191
|
+
locale: MessageLocaleTypeSchema.nullable(),
|
1192
|
+
url: z28.string().optional(),
|
1193
|
+
previewUrl: z28.string().optional(),
|
1194
|
+
imageSetId: z28.string().optional(),
|
1195
|
+
room: z28.object({
|
1196
|
+
lastMessage: z28.string(),
|
1197
|
+
handleTime: z28.number(),
|
1198
|
+
closeAt: z28.date(),
|
1199
|
+
unreadCount: z28.number(),
|
1200
|
+
firstResponseAt: z28.date().nullable(),
|
1201
|
+
firstResponseTime: z28.number().nullable(),
|
1202
|
+
isLatest: z28.boolean(),
|
1203
|
+
direction: MessageDirectionTypeSchema,
|
1204
|
+
platformContact: PlatformContactSchema,
|
1205
|
+
actor: UserSchema,
|
1206
|
+
assignee: UserSchema,
|
1207
|
+
channel: ChannelSchema2,
|
1208
|
+
cxlog: CxLogSchema
|
1209
|
+
}).partial(),
|
1210
|
+
upload: UploadSchema.optional(),
|
1211
|
+
actor: UserSchema.optional(),
|
1212
|
+
assignee: UserSchema.optional(),
|
1213
|
+
sender: UserSchema.optional()
|
1214
|
+
})
|
1171
1215
|
});
|
1172
1216
|
|
1173
1217
|
// src/chat/index.ts
|
1218
|
+
var receiveMessageContract = initContract6().router(
|
1219
|
+
{
|
1220
|
+
receiveMessage: {
|
1221
|
+
method: "POST",
|
1222
|
+
path: "/receive",
|
1223
|
+
body: ReceiveMessageSchema,
|
1224
|
+
responses: {
|
1225
|
+
200: null,
|
1226
|
+
403: DefaultErrorResponseSchema
|
1227
|
+
},
|
1228
|
+
summary: "Receive message"
|
1229
|
+
}
|
1230
|
+
},
|
1231
|
+
{
|
1232
|
+
baseHeaders: z29.object({
|
1233
|
+
"x-code": z29.string().uuid(),
|
1234
|
+
"x-tenant": z29.string().uuid()
|
1235
|
+
}),
|
1236
|
+
pathPrefix: "message"
|
1237
|
+
}
|
1238
|
+
);
|
1174
1239
|
var mainChatContract = initContract6().router(
|
1175
1240
|
{
|
1176
1241
|
getRooms: {
|
@@ -1178,11 +1243,11 @@ var mainChatContract = initContract6().router(
|
|
1178
1243
|
path: "/rooms",
|
1179
1244
|
responses: {
|
1180
1245
|
200: DefaultSuccessResponseSchema.extend({
|
1181
|
-
total:
|
1182
|
-
page:
|
1183
|
-
pageSize:
|
1184
|
-
data:
|
1185
|
-
unreadCountsByAssignee:
|
1246
|
+
total: z29.number(),
|
1247
|
+
page: z29.number(),
|
1248
|
+
pageSize: z29.number(),
|
1249
|
+
data: z29.array(RoomSchema),
|
1250
|
+
unreadCountsByAssignee: z29.array(UnreadCountsByAssigneeSchema)
|
1186
1251
|
}),
|
1187
1252
|
401: DefaultUnauthorizedSchema
|
1188
1253
|
},
|
@@ -1192,8 +1257,8 @@ var mainChatContract = initContract6().router(
|
|
1192
1257
|
getRoomContact: {
|
1193
1258
|
method: "GET",
|
1194
1259
|
path: "/contact/:contactId",
|
1195
|
-
pathParams:
|
1196
|
-
contactId:
|
1260
|
+
pathParams: z29.object({
|
1261
|
+
contactId: z29.string().uuid()
|
1197
1262
|
}),
|
1198
1263
|
responses: {
|
1199
1264
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1225,44 +1290,35 @@ var mainChatContract = initContract6().router(
|
|
1225
1290
|
},
|
1226
1291
|
summary: "Send message to room"
|
1227
1292
|
},
|
1228
|
-
receiveMessage: {
|
1229
|
-
method: "POST",
|
1230
|
-
path: "/message/receive",
|
1231
|
-
body: ReceiveMessageSchema,
|
1232
|
-
responses: {
|
1233
|
-
200: null
|
1234
|
-
},
|
1235
|
-
summary: "Receive message"
|
1236
|
-
},
|
1237
1293
|
getRoomsByPlatformContactId: {
|
1238
1294
|
method: "GET",
|
1239
1295
|
path: "/rooms/:platformContactId",
|
1240
|
-
pathParams:
|
1241
|
-
platformContactId:
|
1296
|
+
pathParams: z29.object({
|
1297
|
+
platformContactId: z29.string()
|
1242
1298
|
}),
|
1243
1299
|
responses: {
|
1244
1300
|
200: DefaultSuccessResponseSchema.extend({
|
1245
|
-
data:
|
1246
|
-
|
1247
|
-
id:
|
1301
|
+
data: z29.array(
|
1302
|
+
z29.object({
|
1303
|
+
id: z29.string().uuid()
|
1248
1304
|
})
|
1249
1305
|
),
|
1250
|
-
total:
|
1306
|
+
total: z29.number()
|
1251
1307
|
})
|
1252
1308
|
}
|
1253
1309
|
},
|
1254
1310
|
getMessages: {
|
1255
1311
|
method: "GET",
|
1256
1312
|
path: "/message/:roomId",
|
1257
|
-
pathParams:
|
1258
|
-
roomId:
|
1313
|
+
pathParams: z29.object({
|
1314
|
+
roomId: z29.string().uuid()
|
1259
1315
|
}),
|
1260
1316
|
responses: {
|
1261
1317
|
200: DefaultSuccessResponseSchema.extend({
|
1262
|
-
total:
|
1263
|
-
page:
|
1264
|
-
pageSize:
|
1265
|
-
data:
|
1318
|
+
total: z29.number(),
|
1319
|
+
page: z29.number(),
|
1320
|
+
pageSize: z29.number(),
|
1321
|
+
data: z29.array(MessageSchema)
|
1266
1322
|
})
|
1267
1323
|
},
|
1268
1324
|
query: DefaultQueryParamsSchema,
|
@@ -1275,7 +1331,7 @@ var mainChatContract = initContract6().router(
|
|
1275
1331
|
responses: {
|
1276
1332
|
200: DefaultSuccessResponseSchema.extend({
|
1277
1333
|
data: RoomSchema.extend({
|
1278
|
-
solveMessage:
|
1334
|
+
solveMessage: z29.string()
|
1279
1335
|
})
|
1280
1336
|
}),
|
1281
1337
|
409: DefaultErrorResponseSchema
|
@@ -1296,8 +1352,8 @@ var mainChatContract = initContract6().router(
|
|
1296
1352
|
getRoom: {
|
1297
1353
|
method: "GET",
|
1298
1354
|
path: "/room/:roomId",
|
1299
|
-
pathParams:
|
1300
|
-
roomId:
|
1355
|
+
pathParams: z29.object({
|
1356
|
+
roomId: z29.string().uuid()
|
1301
1357
|
}),
|
1302
1358
|
responses: {
|
1303
1359
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1310,14 +1366,14 @@ var mainChatContract = initContract6().router(
|
|
1310
1366
|
createRoom: {
|
1311
1367
|
method: "POST",
|
1312
1368
|
path: "/room/create/:platformContactId",
|
1313
|
-
pathParams:
|
1314
|
-
platformContactId:
|
1369
|
+
pathParams: z29.object({
|
1370
|
+
platformContactId: z29.string().uuid()
|
1315
1371
|
}),
|
1316
1372
|
responses: {
|
1317
1373
|
200: DefaultSuccessResponseSchema.extend({
|
1318
1374
|
data: RoomSchema.extend({
|
1319
1375
|
contact: ContactSchema,
|
1320
|
-
openMessage:
|
1376
|
+
openMessage: z29.string()
|
1321
1377
|
})
|
1322
1378
|
})
|
1323
1379
|
},
|
@@ -1327,13 +1383,13 @@ var mainChatContract = initContract6().router(
|
|
1327
1383
|
readRoom: {
|
1328
1384
|
method: "POST",
|
1329
1385
|
path: "/room/:roomid/read",
|
1330
|
-
pathParams:
|
1331
|
-
roomId:
|
1386
|
+
pathParams: z29.object({
|
1387
|
+
roomId: z29.string().uuid()
|
1332
1388
|
}),
|
1333
1389
|
responses: {
|
1334
1390
|
200: DefaultSuccessResponseSchema.extend({
|
1335
1391
|
data: RoomSchema.extend({
|
1336
|
-
description:
|
1392
|
+
description: z29.string().nullable()
|
1337
1393
|
})
|
1338
1394
|
})
|
1339
1395
|
},
|
@@ -1345,10 +1401,10 @@ var mainChatContract = initContract6().router(
|
|
1345
1401
|
path: "/search",
|
1346
1402
|
responses: {
|
1347
1403
|
200: DefaultSuccessResponseSchema.extend({
|
1348
|
-
total:
|
1349
|
-
page:
|
1350
|
-
pageSize:
|
1351
|
-
data:
|
1404
|
+
total: z29.number(),
|
1405
|
+
page: z29.number(),
|
1406
|
+
pageSize: z29.number(),
|
1407
|
+
data: z29.array(RoomSchema)
|
1352
1408
|
})
|
1353
1409
|
},
|
1354
1410
|
query: SearchRoomsSchema,
|
@@ -1363,99 +1419,99 @@ var mainChatContract = initContract6().router(
|
|
1363
1419
|
|
1364
1420
|
// src/contact/index.ts
|
1365
1421
|
import { initContract as initContract7 } from "@ts-rest/core";
|
1366
|
-
import
|
1422
|
+
import z31 from "zod";
|
1367
1423
|
|
1368
1424
|
// src/contact/validation.ts
|
1369
|
-
import
|
1370
|
-
var BaseSchema =
|
1371
|
-
isRequired:
|
1372
|
-
attributeId:
|
1425
|
+
import z30 from "zod";
|
1426
|
+
var BaseSchema = z30.object({
|
1427
|
+
isRequired: z30.boolean(),
|
1428
|
+
attributeId: z30.string()
|
1373
1429
|
});
|
1374
1430
|
var SingleValue = {
|
1375
|
-
value:
|
1431
|
+
value: z30.string()
|
1376
1432
|
};
|
1377
1433
|
var ContactContractValidationSchema = {
|
1378
1434
|
create: {
|
1379
|
-
request:
|
1435
|
+
request: z30.object({
|
1380
1436
|
name: BaseSchema.extend(SingleValue),
|
1381
1437
|
email: BaseSchema.extend({
|
1382
|
-
value:
|
1383
|
-
|
1384
|
-
email:
|
1385
|
-
isPrimary:
|
1438
|
+
value: z30.array(
|
1439
|
+
z30.object({
|
1440
|
+
email: z30.string(),
|
1441
|
+
isPrimary: z30.boolean()
|
1386
1442
|
})
|
1387
1443
|
)
|
1388
1444
|
}),
|
1389
1445
|
channel: BaseSchema.extend(SingleValue),
|
1390
1446
|
address: BaseSchema.extend(SingleValue),
|
1391
1447
|
phone: BaseSchema.extend({
|
1392
|
-
value:
|
1393
|
-
|
1394
|
-
phone:
|
1395
|
-
isPrimary:
|
1448
|
+
value: z30.array(
|
1449
|
+
z30.object({
|
1450
|
+
phone: z30.string(),
|
1451
|
+
isPrimary: z30.boolean()
|
1396
1452
|
})
|
1397
1453
|
)
|
1398
1454
|
}).optional(),
|
1399
1455
|
notes: BaseSchema.extend(SingleValue),
|
1400
1456
|
tags: BaseSchema.extend({
|
1401
|
-
value:
|
1457
|
+
value: z30.array(z30.string())
|
1402
1458
|
}),
|
1403
1459
|
company: BaseSchema.extend(SingleValue),
|
1404
|
-
customFields:
|
1460
|
+
customFields: z30.array(
|
1405
1461
|
BaseSchema.extend({
|
1406
|
-
value:
|
1407
|
-
type:
|
1408
|
-
isDefaultAttribute:
|
1462
|
+
value: z30.union([z30.string(), z30.array(z30.string())]),
|
1463
|
+
type: z30.string(),
|
1464
|
+
isDefaultAttribute: z30.boolean()
|
1409
1465
|
})
|
1410
1466
|
)
|
1411
1467
|
}),
|
1412
|
-
response:
|
1468
|
+
response: z30.string()
|
1413
1469
|
},
|
1414
1470
|
getById: {
|
1415
|
-
request:
|
1416
|
-
id:
|
1471
|
+
request: z30.object({
|
1472
|
+
id: z30.string().uuid()
|
1417
1473
|
}),
|
1418
1474
|
response: ContactSchema
|
1419
1475
|
},
|
1420
1476
|
delete: {
|
1421
|
-
request:
|
1422
|
-
id:
|
1477
|
+
request: z30.object({
|
1478
|
+
id: z30.string().uuid()
|
1423
1479
|
}),
|
1424
|
-
response:
|
1480
|
+
response: z30.string()
|
1425
1481
|
},
|
1426
1482
|
getAll: {
|
1427
|
-
request:
|
1428
|
-
page:
|
1429
|
-
pageSize:
|
1430
|
-
keyword:
|
1431
|
-
company:
|
1432
|
-
name:
|
1433
|
-
address:
|
1434
|
-
channel:
|
1435
|
-
selectedDate:
|
1436
|
-
customFields:
|
1437
|
-
|
1438
|
-
attributeId:
|
1439
|
-
type:
|
1440
|
-
value:
|
1483
|
+
request: z30.object({
|
1484
|
+
page: z30.coerce.number().default(1),
|
1485
|
+
pageSize: z30.coerce.number().default(10),
|
1486
|
+
keyword: z30.string().optional(),
|
1487
|
+
company: z30.array(z30.string().uuid()),
|
1488
|
+
name: z30.string(),
|
1489
|
+
address: z30.string(),
|
1490
|
+
channel: z30.array(z30.string()),
|
1491
|
+
selectedDate: z30.string(),
|
1492
|
+
customFields: z30.array(
|
1493
|
+
z30.object({
|
1494
|
+
attributeId: z30.string().uuid(),
|
1495
|
+
type: z30.string(),
|
1496
|
+
value: z30.union([z30.string(), z30.array(z30.string())])
|
1441
1497
|
})
|
1442
1498
|
),
|
1443
|
-
tags:
|
1444
|
-
phone:
|
1445
|
-
email:
|
1446
|
-
notes:
|
1499
|
+
tags: z30.array(z30.string().uuid()),
|
1500
|
+
phone: z30.string(),
|
1501
|
+
email: z30.string(),
|
1502
|
+
notes: z30.string()
|
1447
1503
|
}).partial(),
|
1448
1504
|
response: {
|
1449
|
-
page:
|
1450
|
-
pageSize:
|
1451
|
-
total:
|
1452
|
-
lastPage:
|
1453
|
-
data:
|
1505
|
+
page: z30.number(),
|
1506
|
+
pageSize: z30.number(),
|
1507
|
+
total: z30.number(),
|
1508
|
+
lastPage: z30.number(),
|
1509
|
+
data: z30.array(ContactSchema)
|
1454
1510
|
}
|
1455
1511
|
},
|
1456
1512
|
createContactByPhone: {
|
1457
|
-
request:
|
1458
|
-
phoneNumber:
|
1513
|
+
request: z30.object({
|
1514
|
+
phoneNumber: z30.string().refine(
|
1459
1515
|
(value) => {
|
1460
1516
|
const numericValue = value.replace(/\s/g, "");
|
1461
1517
|
return /^\d+$/.test(numericValue);
|
@@ -1468,8 +1524,8 @@ var ContactContractValidationSchema = {
|
|
1468
1524
|
response: ContactSchema
|
1469
1525
|
},
|
1470
1526
|
updateContactByPhone: {
|
1471
|
-
request:
|
1472
|
-
phoneNumber:
|
1527
|
+
request: z30.object({
|
1528
|
+
phoneNumber: z30.string().refine(
|
1473
1529
|
(value) => {
|
1474
1530
|
const numericValue = value.replace(/\s/g, "");
|
1475
1531
|
return /^\d+$/.test(numericValue);
|
@@ -1482,68 +1538,68 @@ var ContactContractValidationSchema = {
|
|
1482
1538
|
response: ContactSchema
|
1483
1539
|
},
|
1484
1540
|
updateFromOngoingCall: {
|
1485
|
-
request:
|
1486
|
-
name:
|
1487
|
-
companyId:
|
1541
|
+
request: z30.object({
|
1542
|
+
name: z30.string(),
|
1543
|
+
companyId: z30.string().uuid()
|
1488
1544
|
}).partial(),
|
1489
1545
|
response: ContactSchema
|
1490
1546
|
},
|
1491
1547
|
merge: {
|
1492
|
-
request:
|
1493
|
-
primaryContactId:
|
1494
|
-
emails:
|
1495
|
-
|
1496
|
-
email:
|
1497
|
-
isPrimary:
|
1548
|
+
request: z30.object({
|
1549
|
+
primaryContactId: z30.string().uuid(),
|
1550
|
+
emails: z30.array(
|
1551
|
+
z30.object({
|
1552
|
+
email: z30.string(),
|
1553
|
+
isPrimary: z30.boolean()
|
1498
1554
|
})
|
1499
1555
|
),
|
1500
|
-
phones:
|
1501
|
-
|
1502
|
-
phone:
|
1503
|
-
isPrimary:
|
1556
|
+
phones: z30.array(
|
1557
|
+
z30.object({
|
1558
|
+
phone: z30.string(),
|
1559
|
+
isPrimary: z30.boolean()
|
1504
1560
|
})
|
1505
1561
|
),
|
1506
|
-
otherContacts:
|
1562
|
+
otherContacts: z30.array(z30.string().uuid())
|
1507
1563
|
}),
|
1508
1564
|
response: ContactSchema
|
1509
1565
|
},
|
1510
1566
|
checkContactPhone: {
|
1511
|
-
request:
|
1512
|
-
contactId:
|
1513
|
-
phoneNumber:
|
1567
|
+
request: z30.object({
|
1568
|
+
contactId: z30.string().uuid().optional(),
|
1569
|
+
phoneNumber: z30.string()
|
1514
1570
|
}),
|
1515
|
-
response:
|
1571
|
+
response: z30.boolean()
|
1516
1572
|
},
|
1517
1573
|
checkContactEmail: {
|
1518
|
-
request:
|
1519
|
-
contactId:
|
1520
|
-
email:
|
1574
|
+
request: z30.object({
|
1575
|
+
contactId: z30.string().uuid().optional(),
|
1576
|
+
email: z30.string()
|
1521
1577
|
}),
|
1522
|
-
response:
|
1578
|
+
response: z30.boolean()
|
1523
1579
|
},
|
1524
1580
|
filterContacts: {
|
1525
|
-
request:
|
1526
|
-
page:
|
1527
|
-
pageSize:
|
1528
|
-
keyword:
|
1581
|
+
request: z30.object({
|
1582
|
+
page: z30.coerce.number().default(1),
|
1583
|
+
pageSize: z30.coerce.number().default(10),
|
1584
|
+
keyword: z30.string()
|
1529
1585
|
}).partial(),
|
1530
1586
|
response: {
|
1531
|
-
page:
|
1532
|
-
pageSize:
|
1533
|
-
total:
|
1534
|
-
lastPage:
|
1535
|
-
data:
|
1587
|
+
page: z30.number(),
|
1588
|
+
pageSize: z30.number(),
|
1589
|
+
total: z30.number(),
|
1590
|
+
lastPage: z30.number(),
|
1591
|
+
data: z30.array(ContactSchema)
|
1536
1592
|
}
|
1537
1593
|
},
|
1538
1594
|
addAttachments: {
|
1539
|
-
request:
|
1540
|
-
attributeId:
|
1541
|
-
attachments:
|
1542
|
-
|
1543
|
-
bucketName:
|
1544
|
-
fileKey:
|
1545
|
-
fileName:
|
1546
|
-
fileSize:
|
1595
|
+
request: z30.object({
|
1596
|
+
attributeId: z30.string().uuid(),
|
1597
|
+
attachments: z30.array(
|
1598
|
+
z30.object({
|
1599
|
+
bucketName: z30.string(),
|
1600
|
+
fileKey: z30.string(),
|
1601
|
+
fileName: z30.string(),
|
1602
|
+
fileSize: z30.coerce.number()
|
1547
1603
|
})
|
1548
1604
|
).optional()
|
1549
1605
|
}),
|
@@ -1561,14 +1617,14 @@ var contactContract = initContract7().router(
|
|
1561
1617
|
201: DefaultSuccessResponseSchema.extend({
|
1562
1618
|
message: ContactContractValidationSchema.create.response
|
1563
1619
|
}),
|
1564
|
-
400:
|
1565
|
-
message:
|
1620
|
+
400: z31.object({
|
1621
|
+
message: z31.string()
|
1566
1622
|
}),
|
1567
|
-
409:
|
1568
|
-
message:
|
1623
|
+
409: z31.object({
|
1624
|
+
message: z31.string()
|
1569
1625
|
}),
|
1570
|
-
500:
|
1571
|
-
message:
|
1626
|
+
500: z31.object({
|
1627
|
+
message: z31.string()
|
1572
1628
|
}),
|
1573
1629
|
401: DefaultUnauthorizedSchema,
|
1574
1630
|
404: DefaultNotFoundSchema,
|
@@ -1585,14 +1641,14 @@ var contactContract = initContract7().router(
|
|
1585
1641
|
200: DefaultSuccessResponseSchema.extend(
|
1586
1642
|
ContactContractValidationSchema.getAll.response
|
1587
1643
|
),
|
1588
|
-
400:
|
1589
|
-
message:
|
1644
|
+
400: z31.object({
|
1645
|
+
message: z31.string()
|
1590
1646
|
}),
|
1591
|
-
409:
|
1592
|
-
message:
|
1647
|
+
409: z31.object({
|
1648
|
+
message: z31.string()
|
1593
1649
|
}),
|
1594
|
-
500:
|
1595
|
-
message:
|
1650
|
+
500: z31.object({
|
1651
|
+
message: z31.string()
|
1596
1652
|
}),
|
1597
1653
|
401: DefaultUnauthorizedSchema,
|
1598
1654
|
404: DefaultNotFoundSchema,
|
@@ -1608,14 +1664,14 @@ var contactContract = initContract7().router(
|
|
1608
1664
|
200: DefaultSuccessResponseSchema.extend(
|
1609
1665
|
ContactContractValidationSchema.filterContacts.response
|
1610
1666
|
),
|
1611
|
-
400:
|
1612
|
-
message:
|
1667
|
+
400: z31.object({
|
1668
|
+
message: z31.string()
|
1613
1669
|
}),
|
1614
|
-
409:
|
1615
|
-
message:
|
1670
|
+
409: z31.object({
|
1671
|
+
message: z31.string()
|
1616
1672
|
}),
|
1617
|
-
500:
|
1618
|
-
message:
|
1673
|
+
500: z31.object({
|
1674
|
+
message: z31.string()
|
1619
1675
|
}),
|
1620
1676
|
401: DefaultUnauthorizedSchema,
|
1621
1677
|
404: DefaultNotFoundSchema,
|
@@ -1631,14 +1687,14 @@ var contactContract = initContract7().router(
|
|
1631
1687
|
200: DefaultSuccessResponseSchema.extend({
|
1632
1688
|
data: ContactContractValidationSchema.getById.response
|
1633
1689
|
}),
|
1634
|
-
400:
|
1635
|
-
message:
|
1690
|
+
400: z31.object({
|
1691
|
+
message: z31.string()
|
1636
1692
|
}),
|
1637
|
-
409:
|
1638
|
-
message:
|
1693
|
+
409: z31.object({
|
1694
|
+
message: z31.string()
|
1639
1695
|
}),
|
1640
|
-
500:
|
1641
|
-
message:
|
1696
|
+
500: z31.object({
|
1697
|
+
message: z31.string()
|
1642
1698
|
}),
|
1643
1699
|
401: DefaultUnauthorizedSchema,
|
1644
1700
|
404: DefaultNotFoundSchema,
|
@@ -1655,14 +1711,14 @@ var contactContract = initContract7().router(
|
|
1655
1711
|
200: DefaultSuccessResponseSchema.extend({
|
1656
1712
|
message: ContactContractValidationSchema.delete.response
|
1657
1713
|
}),
|
1658
|
-
400:
|
1659
|
-
message:
|
1714
|
+
400: z31.object({
|
1715
|
+
message: z31.string()
|
1660
1716
|
}),
|
1661
|
-
409:
|
1662
|
-
message:
|
1717
|
+
409: z31.object({
|
1718
|
+
message: z31.string()
|
1663
1719
|
}),
|
1664
|
-
500:
|
1665
|
-
message:
|
1720
|
+
500: z31.object({
|
1721
|
+
message: z31.string()
|
1666
1722
|
}),
|
1667
1723
|
401: DefaultUnauthorizedSchema,
|
1668
1724
|
404: DefaultNotFoundSchema,
|
@@ -1678,14 +1734,14 @@ var contactContract = initContract7().router(
|
|
1678
1734
|
201: DefaultSuccessResponseSchema.extend({
|
1679
1735
|
data: ContactContractValidationSchema.createContactByPhone.response
|
1680
1736
|
}),
|
1681
|
-
400:
|
1682
|
-
message:
|
1737
|
+
400: z31.object({
|
1738
|
+
message: z31.string()
|
1683
1739
|
}),
|
1684
|
-
409:
|
1685
|
-
message:
|
1740
|
+
409: z31.object({
|
1741
|
+
message: z31.string()
|
1686
1742
|
}),
|
1687
|
-
500:
|
1688
|
-
message:
|
1743
|
+
500: z31.object({
|
1744
|
+
message: z31.string()
|
1689
1745
|
}),
|
1690
1746
|
401: DefaultUnauthorizedSchema,
|
1691
1747
|
404: DefaultNotFoundSchema,
|
@@ -1701,14 +1757,14 @@ var contactContract = initContract7().router(
|
|
1701
1757
|
201: DefaultSuccessResponseSchema.extend({
|
1702
1758
|
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1703
1759
|
}),
|
1704
|
-
400:
|
1705
|
-
message:
|
1760
|
+
400: z31.object({
|
1761
|
+
message: z31.string()
|
1706
1762
|
}),
|
1707
|
-
409:
|
1708
|
-
message:
|
1763
|
+
409: z31.object({
|
1764
|
+
message: z31.string()
|
1709
1765
|
}),
|
1710
|
-
500:
|
1711
|
-
message:
|
1766
|
+
500: z31.object({
|
1767
|
+
message: z31.string()
|
1712
1768
|
}),
|
1713
1769
|
401: DefaultUnauthorizedSchema,
|
1714
1770
|
404: DefaultNotFoundSchema,
|
@@ -1724,14 +1780,14 @@ var contactContract = initContract7().router(
|
|
1724
1780
|
200: DefaultSuccessResponseSchema.extend({
|
1725
1781
|
data: ContactContractValidationSchema.merge.response
|
1726
1782
|
}),
|
1727
|
-
400:
|
1728
|
-
message:
|
1783
|
+
400: z31.object({
|
1784
|
+
message: z31.string()
|
1729
1785
|
}),
|
1730
|
-
409:
|
1731
|
-
message:
|
1786
|
+
409: z31.object({
|
1787
|
+
message: z31.string()
|
1732
1788
|
}),
|
1733
|
-
500:
|
1734
|
-
message:
|
1789
|
+
500: z31.object({
|
1790
|
+
message: z31.string()
|
1735
1791
|
}),
|
1736
1792
|
401: DefaultUnauthorizedSchema,
|
1737
1793
|
404: DefaultNotFoundSchema,
|
@@ -1747,14 +1803,14 @@ var contactContract = initContract7().router(
|
|
1747
1803
|
200: DefaultSuccessResponseSchema.extend({
|
1748
1804
|
existed: ContactContractValidationSchema.checkContactPhone.response
|
1749
1805
|
}),
|
1750
|
-
400:
|
1751
|
-
message:
|
1806
|
+
400: z31.object({
|
1807
|
+
message: z31.string()
|
1752
1808
|
}),
|
1753
|
-
409:
|
1754
|
-
message:
|
1809
|
+
409: z31.object({
|
1810
|
+
message: z31.string()
|
1755
1811
|
}),
|
1756
|
-
500:
|
1757
|
-
message:
|
1812
|
+
500: z31.object({
|
1813
|
+
message: z31.string()
|
1758
1814
|
}),
|
1759
1815
|
401: DefaultUnauthorizedSchema,
|
1760
1816
|
404: DefaultNotFoundSchema,
|
@@ -1770,14 +1826,14 @@ var contactContract = initContract7().router(
|
|
1770
1826
|
200: DefaultSuccessResponseSchema.extend({
|
1771
1827
|
existed: ContactContractValidationSchema.checkContactEmail.response
|
1772
1828
|
}),
|
1773
|
-
400:
|
1774
|
-
message:
|
1829
|
+
400: z31.object({
|
1830
|
+
message: z31.string()
|
1775
1831
|
}),
|
1776
|
-
409:
|
1777
|
-
message:
|
1832
|
+
409: z31.object({
|
1833
|
+
message: z31.string()
|
1778
1834
|
}),
|
1779
|
-
500:
|
1780
|
-
message:
|
1835
|
+
500: z31.object({
|
1836
|
+
message: z31.string()
|
1781
1837
|
}),
|
1782
1838
|
401: DefaultUnauthorizedSchema,
|
1783
1839
|
404: DefaultNotFoundSchema,
|
@@ -1789,21 +1845,21 @@ var contactContract = initContract7().router(
|
|
1789
1845
|
addAttachments: {
|
1790
1846
|
method: "POST",
|
1791
1847
|
path: "/:id/attachments",
|
1792
|
-
pathParams:
|
1793
|
-
id:
|
1848
|
+
pathParams: z31.object({
|
1849
|
+
id: z31.string().uuid()
|
1794
1850
|
}),
|
1795
1851
|
responses: {
|
1796
1852
|
201: DefaultSuccessResponseSchema.extend({
|
1797
1853
|
message: ContactContractValidationSchema.addAttachments.response
|
1798
1854
|
}),
|
1799
|
-
400:
|
1800
|
-
message:
|
1855
|
+
400: z31.object({
|
1856
|
+
message: z31.string()
|
1801
1857
|
}),
|
1802
|
-
409:
|
1803
|
-
message:
|
1858
|
+
409: z31.object({
|
1859
|
+
message: z31.string()
|
1804
1860
|
}),
|
1805
|
-
500:
|
1806
|
-
message:
|
1861
|
+
500: z31.object({
|
1862
|
+
message: z31.string()
|
1807
1863
|
}),
|
1808
1864
|
401: DefaultUnauthorizedSchema,
|
1809
1865
|
404: DefaultNotFoundSchema,
|
@@ -1820,14 +1876,14 @@ var contactContract = initContract7().router(
|
|
1820
1876
|
200: DefaultSuccessResponseSchema.extend({
|
1821
1877
|
data: ContactContractValidationSchema.getById.response
|
1822
1878
|
}),
|
1823
|
-
400:
|
1824
|
-
message:
|
1879
|
+
400: z31.object({
|
1880
|
+
message: z31.string()
|
1825
1881
|
}),
|
1826
|
-
409:
|
1827
|
-
message:
|
1882
|
+
409: z31.object({
|
1883
|
+
message: z31.string()
|
1828
1884
|
}),
|
1829
|
-
500:
|
1830
|
-
message:
|
1885
|
+
500: z31.object({
|
1886
|
+
message: z31.string()
|
1831
1887
|
}),
|
1832
1888
|
401: DefaultUnauthorizedSchema,
|
1833
1889
|
404: DefaultNotFoundSchema,
|
@@ -1844,68 +1900,61 @@ var contactContract = initContract7().router(
|
|
1844
1900
|
|
1845
1901
|
// src/ticket/index.ts
|
1846
1902
|
import { initContract as initContract8 } from "@ts-rest/core";
|
1847
|
-
import
|
1903
|
+
import z34 from "zod";
|
1848
1904
|
|
1849
1905
|
// src/ticket/schema.ts
|
1850
|
-
import
|
1906
|
+
import z32 from "zod";
|
1851
1907
|
var TicketCustomFieldSchema = DefaultEntitySchema.extend({
|
1852
|
-
textValue:
|
1853
|
-
booleanValue:
|
1854
|
-
numberValue:
|
1855
|
-
dateValue:
|
1908
|
+
textValue: z32.string().nullable(),
|
1909
|
+
booleanValue: z32.boolean().nullable(),
|
1910
|
+
numberValue: z32.coerce.number().nullable(),
|
1911
|
+
dateValue: z32.date().nullable(),
|
1856
1912
|
attribute: AttributeSchema.omit({ options: true, group: true }),
|
1857
|
-
uploads:
|
1858
|
-
|
1859
|
-
|
1860
|
-
|
1861
|
-
|
1862
|
-
|
1863
|
-
|
1864
|
-
|
1865
|
-
|
1866
|
-
|
1867
|
-
|
1868
|
-
|
1869
|
-
|
1870
|
-
|
1871
|
-
|
1872
|
-
|
1873
|
-
|
1874
|
-
description: z33.string().nullable()
|
1875
|
-
});
|
1876
|
-
var TicketActivitySchema = z33.object({
|
1877
|
-
id: z33.string().uuid(),
|
1878
|
-
createdAt: z33.date(),
|
1879
|
-
updatedAt: z33.date(),
|
1880
|
-
deletedAt: z33.date().nullable(),
|
1881
|
-
entityId: z33.string(),
|
1882
|
-
description: z33.string(),
|
1913
|
+
uploads: z32.array(UploadSchema)
|
1914
|
+
});
|
1915
|
+
var TicketEntityTypesSchema = z32.object({
|
1916
|
+
id: z32.string().uuid(),
|
1917
|
+
createdAt: z32.date(),
|
1918
|
+
updatedAt: z32.date(),
|
1919
|
+
deletedAt: z32.date().nullable(),
|
1920
|
+
entity: z32.string(),
|
1921
|
+
description: z32.string().nullable()
|
1922
|
+
});
|
1923
|
+
var TicketActivitySchema = z32.object({
|
1924
|
+
id: z32.string().uuid(),
|
1925
|
+
createdAt: z32.date(),
|
1926
|
+
updatedAt: z32.date(),
|
1927
|
+
deletedAt: z32.date().nullable(),
|
1928
|
+
entityId: z32.string(),
|
1929
|
+
description: z32.string(),
|
1883
1930
|
entityType: TicketEntityTypesSchema
|
1884
1931
|
});
|
1885
1932
|
var TicketSchema = DefaultEntitySchema.extend({
|
1886
|
-
title:
|
1887
|
-
description:
|
1888
|
-
type:
|
1889
|
-
channel:
|
1890
|
-
priority:
|
1891
|
-
status:
|
1892
|
-
contactId:
|
1893
|
-
creatorId:
|
1894
|
-
assigneeId:
|
1895
|
-
reasonToAssign:
|
1896
|
-
ticketNumber:
|
1897
|
-
customFields:
|
1898
|
-
|
1899
|
-
|
1900
|
-
|
1901
|
-
|
1902
|
-
|
1903
|
-
|
1904
|
-
|
1933
|
+
title: z32.string(),
|
1934
|
+
description: z32.string().nullable(),
|
1935
|
+
type: z32.string(),
|
1936
|
+
channel: z32.string(),
|
1937
|
+
priority: z32.string(),
|
1938
|
+
status: z32.string(),
|
1939
|
+
contactId: z32.string().uuid(),
|
1940
|
+
creatorId: z32.string().uuid(),
|
1941
|
+
assigneeId: z32.string().uuid(),
|
1942
|
+
reasonToAssign: z32.string().nullable(),
|
1943
|
+
ticketNumber: z32.coerce.number().optional(),
|
1944
|
+
customFields: z32.array(TicketCustomFieldSchema),
|
1945
|
+
tags: z32.array(TagSchema),
|
1946
|
+
categories: z32.array(CategorySchema)
|
1947
|
+
});
|
1948
|
+
var TicketCountByContactSchema = z32.object({
|
1949
|
+
total: z32.coerce.number(),
|
1950
|
+
open: z32.coerce.number(),
|
1951
|
+
pending: z32.coerce.number(),
|
1952
|
+
closed: z32.coerce.number(),
|
1953
|
+
solved: z32.coerce.number()
|
1905
1954
|
});
|
1906
1955
|
|
1907
1956
|
// src/ticket/validation.ts
|
1908
|
-
import
|
1957
|
+
import z33 from "zod";
|
1909
1958
|
var addErrorMessage = (field) => {
|
1910
1959
|
return field.refine(
|
1911
1960
|
({ isRequired, value }) => {
|
@@ -1923,106 +1972,106 @@ var addErrorMessage = (field) => {
|
|
1923
1972
|
}
|
1924
1973
|
);
|
1925
1974
|
};
|
1926
|
-
var BaseSchema2 =
|
1927
|
-
isRequired:
|
1928
|
-
attributeId:
|
1975
|
+
var BaseSchema2 = z33.object({
|
1976
|
+
isRequired: z33.boolean(),
|
1977
|
+
attributeId: z33.string()
|
1929
1978
|
});
|
1930
1979
|
var SingleValue2 = addErrorMessage(
|
1931
1980
|
BaseSchema2.extend({
|
1932
|
-
value:
|
1981
|
+
value: z33.string()
|
1933
1982
|
})
|
1934
1983
|
);
|
1935
|
-
var CreateTicketValidationSchema =
|
1984
|
+
var CreateTicketValidationSchema = z33.object({
|
1936
1985
|
title: SingleValue2,
|
1937
1986
|
description: SingleValue2,
|
1938
1987
|
status: SingleValue2,
|
1939
1988
|
type: SingleValue2,
|
1940
1989
|
priority: SingleValue2,
|
1941
1990
|
contact: SingleValue2,
|
1942
|
-
assignee:
|
1943
|
-
isRequired:
|
1944
|
-
attributeId:
|
1945
|
-
value:
|
1991
|
+
assignee: z33.object({
|
1992
|
+
isRequired: z33.boolean(),
|
1993
|
+
attributeId: z33.string(),
|
1994
|
+
value: z33.string()
|
1946
1995
|
}),
|
1947
1996
|
channel: SingleValue2,
|
1948
|
-
tags: addErrorMessage(BaseSchema2.extend({ value:
|
1949
|
-
categories: BaseSchema2.extend({ value:
|
1950
|
-
customFields:
|
1997
|
+
tags: addErrorMessage(BaseSchema2.extend({ value: z33.array(z33.string()) })),
|
1998
|
+
categories: BaseSchema2.extend({ value: z33.array(z33.string()) }),
|
1999
|
+
customFields: z33.array(
|
1951
2000
|
addErrorMessage(
|
1952
2001
|
BaseSchema2.extend({
|
1953
|
-
value:
|
1954
|
-
type:
|
1955
|
-
isDefaultAttribute:
|
2002
|
+
value: z33.union([z33.string(), z33.array(z33.string())]),
|
2003
|
+
type: z33.string(),
|
2004
|
+
isDefaultAttribute: z33.boolean()
|
1956
2005
|
})
|
1957
2006
|
)
|
1958
2007
|
),
|
1959
|
-
reasonToAssign:
|
2008
|
+
reasonToAssign: z33.object({ value: z33.string() }).optional()
|
1960
2009
|
});
|
1961
2010
|
var UpdateTicketValidationSchema = CreateTicketValidationSchema;
|
1962
|
-
var TicketAttachmentRecordSchema =
|
1963
|
-
bucketName:
|
1964
|
-
fileKey:
|
1965
|
-
fileName:
|
1966
|
-
fileSize:
|
1967
|
-
url:
|
1968
|
-
});
|
1969
|
-
var CreateTicketAttachmentRecordsSchema =
|
1970
|
-
ticketId:
|
1971
|
-
attributeId:
|
1972
|
-
ticketAttachmentRecords:
|
1973
|
-
});
|
1974
|
-
var TicketParamsSchema =
|
1975
|
-
page:
|
1976
|
-
pageSize:
|
1977
|
-
});
|
1978
|
-
var CustomFieldQuery =
|
1979
|
-
attributeId:
|
1980
|
-
type:
|
1981
|
-
value:
|
1982
|
-
});
|
1983
|
-
var GetAllTicketQuerySchema =
|
1984
|
-
page:
|
1985
|
-
pageSize:
|
1986
|
-
agent:
|
1987
|
-
selectedDate:
|
1988
|
-
keyword:
|
1989
|
-
title:
|
1990
|
-
description:
|
1991
|
-
status:
|
1992
|
-
priority:
|
1993
|
-
channel:
|
1994
|
-
type:
|
1995
|
-
ticketType:
|
1996
|
-
contact:
|
1997
|
-
tags:
|
1998
|
-
categories:
|
1999
|
-
customFields:
|
2000
|
-
|
2001
|
-
attributeId:
|
2002
|
-
type:
|
2003
|
-
value:
|
2011
|
+
var TicketAttachmentRecordSchema = z33.object({
|
2012
|
+
bucketName: z33.string(),
|
2013
|
+
fileKey: z33.string(),
|
2014
|
+
fileName: z33.string(),
|
2015
|
+
fileSize: z33.coerce.number(),
|
2016
|
+
url: z33.string()
|
2017
|
+
});
|
2018
|
+
var CreateTicketAttachmentRecordsSchema = z33.object({
|
2019
|
+
ticketId: z33.string(),
|
2020
|
+
attributeId: z33.string(),
|
2021
|
+
ticketAttachmentRecords: z33.array(TicketAttachmentRecordSchema)
|
2022
|
+
});
|
2023
|
+
var TicketParamsSchema = z33.object({
|
2024
|
+
page: z33.coerce.number().default(1),
|
2025
|
+
pageSize: z33.coerce.number().default(10)
|
2026
|
+
});
|
2027
|
+
var CustomFieldQuery = z33.object({
|
2028
|
+
attributeId: z33.string(),
|
2029
|
+
type: z33.string(),
|
2030
|
+
value: z33.union([z33.string(), z33.array(z33.string())])
|
2031
|
+
});
|
2032
|
+
var GetAllTicketQuerySchema = z33.object({
|
2033
|
+
page: z33.string().transform((value) => Number(value)),
|
2034
|
+
pageSize: z33.string().transform((value) => Number(value)),
|
2035
|
+
agent: z33.array(z33.string()),
|
2036
|
+
selectedDate: z33.string(),
|
2037
|
+
keyword: z33.string(),
|
2038
|
+
title: z33.string(),
|
2039
|
+
description: z33.string(),
|
2040
|
+
status: z33.array(z33.string()),
|
2041
|
+
priority: z33.array(z33.string()),
|
2042
|
+
channel: z33.array(z33.string()),
|
2043
|
+
type: z33.array(z33.string()),
|
2044
|
+
ticketType: z33.array(z33.string()),
|
2045
|
+
contact: z33.array(z33.string()),
|
2046
|
+
tags: z33.array(z33.string()),
|
2047
|
+
categories: z33.array(z33.string()),
|
2048
|
+
customFields: z33.array(
|
2049
|
+
z33.object({
|
2050
|
+
attributeId: z33.string().uuid(),
|
2051
|
+
type: z33.string(),
|
2052
|
+
value: z33.union([z33.string(), z33.array(z33.string())])
|
2004
2053
|
})
|
2005
2054
|
)
|
2006
2055
|
}).partial();
|
2007
|
-
var ExportAllTicketQuerySchema =
|
2008
|
-
agent:
|
2009
|
-
selectedDate:
|
2010
|
-
keyword:
|
2011
|
-
title:
|
2012
|
-
description:
|
2013
|
-
status:
|
2014
|
-
priority:
|
2015
|
-
channel:
|
2016
|
-
type:
|
2017
|
-
ticketType:
|
2018
|
-
contact:
|
2019
|
-
tags:
|
2020
|
-
categories:
|
2021
|
-
customFields:
|
2022
|
-
|
2023
|
-
attributeId:
|
2024
|
-
type:
|
2025
|
-
value:
|
2056
|
+
var ExportAllTicketQuerySchema = z33.object({
|
2057
|
+
agent: z33.array(z33.string()),
|
2058
|
+
selectedDate: z33.string(),
|
2059
|
+
keyword: z33.string(),
|
2060
|
+
title: z33.string(),
|
2061
|
+
description: z33.string(),
|
2062
|
+
status: z33.array(z33.string()),
|
2063
|
+
priority: z33.array(z33.string()),
|
2064
|
+
channel: z33.array(z33.string()),
|
2065
|
+
type: z33.array(z33.string()),
|
2066
|
+
ticketType: z33.array(z33.string()),
|
2067
|
+
contact: z33.array(z33.string()),
|
2068
|
+
tags: z33.array(z33.string()),
|
2069
|
+
categories: z33.array(z33.string()),
|
2070
|
+
customFields: z33.array(
|
2071
|
+
z33.object({
|
2072
|
+
attributeId: z33.string().uuid(),
|
2073
|
+
type: z33.string(),
|
2074
|
+
value: z33.union([z33.string(), z33.array(z33.string())])
|
2026
2075
|
})
|
2027
2076
|
)
|
2028
2077
|
}).partial();
|
@@ -2038,14 +2087,14 @@ var ticketContract = initContract8().router(
|
|
2038
2087
|
201: DefaultSuccessResponseSchema.extend({
|
2039
2088
|
data: TicketSchema
|
2040
2089
|
}),
|
2041
|
-
400:
|
2042
|
-
message:
|
2090
|
+
400: z34.object({
|
2091
|
+
message: z34.string()
|
2043
2092
|
}),
|
2044
|
-
409:
|
2045
|
-
message:
|
2093
|
+
409: z34.object({
|
2094
|
+
message: z34.string()
|
2046
2095
|
}),
|
2047
|
-
500:
|
2048
|
-
message:
|
2096
|
+
500: z34.object({
|
2097
|
+
message: z34.string()
|
2049
2098
|
}),
|
2050
2099
|
401: DefaultUnauthorizedSchema,
|
2051
2100
|
404: DefaultNotFoundSchema,
|
@@ -2060,12 +2109,14 @@ var ticketContract = initContract8().router(
|
|
2060
2109
|
query: GetAllTicketQuerySchema,
|
2061
2110
|
headers: DefaultHeaderSchema,
|
2062
2111
|
responses: {
|
2063
|
-
200:
|
2064
|
-
|
2065
|
-
|
2066
|
-
|
2067
|
-
|
2068
|
-
|
2112
|
+
200: DefaultSuccessResponseSchema.extend({
|
2113
|
+
data: WithPagination(
|
2114
|
+
// The response data should contain the user relation.
|
2115
|
+
TicketSchema
|
2116
|
+
)
|
2117
|
+
}),
|
2118
|
+
400: z34.object({
|
2119
|
+
message: z34.string()
|
2069
2120
|
}),
|
2070
2121
|
401: DefaultUnauthorizedSchema,
|
2071
2122
|
500: DefaultErrorResponseSchema
|
@@ -2075,12 +2126,14 @@ var ticketContract = initContract8().router(
|
|
2075
2126
|
getTicketById: {
|
2076
2127
|
method: "GET",
|
2077
2128
|
path: "/:id",
|
2078
|
-
pathParams:
|
2129
|
+
pathParams: z34.object({ id: z34.string() }),
|
2079
2130
|
headers: DefaultHeaderSchema,
|
2080
2131
|
responses: {
|
2081
|
-
200:
|
2082
|
-
|
2083
|
-
|
2132
|
+
200: DefaultSuccessResponseSchema.extend({
|
2133
|
+
data: TicketSchema
|
2134
|
+
}),
|
2135
|
+
400: z34.object({
|
2136
|
+
message: z34.string()
|
2084
2137
|
}),
|
2085
2138
|
401: DefaultUnauthorizedSchema,
|
2086
2139
|
500: DefaultErrorResponseSchema
|
@@ -2090,13 +2143,15 @@ var ticketContract = initContract8().router(
|
|
2090
2143
|
getTicketByContactId: {
|
2091
2144
|
method: "GET",
|
2092
2145
|
path: "/contact/:id",
|
2093
|
-
pathParams:
|
2146
|
+
pathParams: z34.object({ id: z34.string() }),
|
2094
2147
|
query: TicketParamsSchema,
|
2095
2148
|
headers: DefaultHeaderSchema,
|
2096
2149
|
responses: {
|
2097
|
-
200:
|
2098
|
-
|
2099
|
-
|
2150
|
+
200: DefaultSuccessResponseSchema.extend({
|
2151
|
+
data: WithPagination(TicketSchema)
|
2152
|
+
}),
|
2153
|
+
400: z34.object({
|
2154
|
+
message: z34.string()
|
2100
2155
|
}),
|
2101
2156
|
401: DefaultUnauthorizedSchema,
|
2102
2157
|
500: DefaultErrorResponseSchema
|
@@ -2106,21 +2161,21 @@ var ticketContract = initContract8().router(
|
|
2106
2161
|
updateTicket: {
|
2107
2162
|
method: "PATCH",
|
2108
2163
|
path: "/:id",
|
2109
|
-
pathParams:
|
2164
|
+
pathParams: z34.object({ id: z34.string() }),
|
2110
2165
|
body: UpdateTicketValidationSchema,
|
2111
2166
|
headers: DefaultHeaderSchema,
|
2112
2167
|
responses: {
|
2113
2168
|
201: DefaultSuccessResponseSchema.extend({
|
2114
2169
|
message: TicketSchema
|
2115
2170
|
}),
|
2116
|
-
400:
|
2117
|
-
message:
|
2171
|
+
400: z34.object({
|
2172
|
+
message: z34.string()
|
2118
2173
|
}),
|
2119
|
-
409:
|
2120
|
-
message:
|
2174
|
+
409: z34.object({
|
2175
|
+
message: z34.string()
|
2121
2176
|
}),
|
2122
|
-
500:
|
2123
|
-
message:
|
2177
|
+
500: z34.object({
|
2178
|
+
message: z34.string()
|
2124
2179
|
}),
|
2125
2180
|
401: DefaultUnauthorizedSchema,
|
2126
2181
|
404: DefaultNotFoundSchema,
|
@@ -2131,11 +2186,11 @@ var ticketContract = initContract8().router(
|
|
2131
2186
|
deleteTicket: {
|
2132
2187
|
method: "DELETE",
|
2133
2188
|
path: "/:id",
|
2134
|
-
pathParams:
|
2189
|
+
pathParams: z34.object({ id: z34.string() }),
|
2135
2190
|
headers: DefaultHeaderSchema,
|
2136
2191
|
body: null,
|
2137
2192
|
responses: {
|
2138
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2193
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2139
2194
|
500: DefaultErrorResponseSchema
|
2140
2195
|
},
|
2141
2196
|
summary: "Delete a extension."
|
@@ -2143,19 +2198,19 @@ var ticketContract = initContract8().router(
|
|
2143
2198
|
updateDescription: {
|
2144
2199
|
method: "PATCH",
|
2145
2200
|
path: "/description/update/:id",
|
2146
|
-
pathParams:
|
2147
|
-
body:
|
2201
|
+
pathParams: z34.object({ id: z34.string() }),
|
2202
|
+
body: z34.object({ description: z34.string() }),
|
2148
2203
|
headers: DefaultHeaderSchema,
|
2149
2204
|
responses: {
|
2150
|
-
201: DefaultSuccessResponseSchema.extend({ message:
|
2151
|
-
400:
|
2152
|
-
message:
|
2205
|
+
201: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2206
|
+
400: z34.object({
|
2207
|
+
message: z34.string()
|
2153
2208
|
}),
|
2154
|
-
409:
|
2155
|
-
message:
|
2209
|
+
409: z34.object({
|
2210
|
+
message: z34.string()
|
2156
2211
|
}),
|
2157
|
-
500:
|
2158
|
-
message:
|
2212
|
+
500: z34.object({
|
2213
|
+
message: z34.string()
|
2159
2214
|
}),
|
2160
2215
|
401: DefaultUnauthorizedSchema,
|
2161
2216
|
404: DefaultNotFoundSchema,
|
@@ -2166,19 +2221,19 @@ var ticketContract = initContract8().router(
|
|
2166
2221
|
updateTitle: {
|
2167
2222
|
method: "PATCH",
|
2168
2223
|
path: "/title/update/:id",
|
2169
|
-
pathParams:
|
2170
|
-
body:
|
2224
|
+
pathParams: z34.object({ id: z34.string() }),
|
2225
|
+
body: z34.object({ title: z34.string() }),
|
2171
2226
|
headers: DefaultHeaderSchema,
|
2172
2227
|
responses: {
|
2173
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2174
|
-
400:
|
2175
|
-
message:
|
2228
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2229
|
+
400: z34.object({
|
2230
|
+
message: z34.string()
|
2176
2231
|
}),
|
2177
|
-
409:
|
2178
|
-
message:
|
2232
|
+
409: z34.object({
|
2233
|
+
message: z34.string()
|
2179
2234
|
}),
|
2180
|
-
500:
|
2181
|
-
message:
|
2235
|
+
500: z34.object({
|
2236
|
+
message: z34.string()
|
2182
2237
|
}),
|
2183
2238
|
401: DefaultUnauthorizedSchema,
|
2184
2239
|
404: DefaultNotFoundSchema,
|
@@ -2189,19 +2244,19 @@ var ticketContract = initContract8().router(
|
|
2189
2244
|
updateType: {
|
2190
2245
|
method: "PATCH",
|
2191
2246
|
path: "/type/update/:id",
|
2192
|
-
pathParams:
|
2193
|
-
body:
|
2247
|
+
pathParams: z34.object({ id: z34.string() }),
|
2248
|
+
body: z34.object({ type: z34.string() }),
|
2194
2249
|
headers: DefaultHeaderSchema,
|
2195
2250
|
responses: {
|
2196
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2197
|
-
400:
|
2198
|
-
message:
|
2251
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2252
|
+
400: z34.object({
|
2253
|
+
message: z34.string()
|
2199
2254
|
}),
|
2200
|
-
409:
|
2201
|
-
message:
|
2255
|
+
409: z34.object({
|
2256
|
+
message: z34.string()
|
2202
2257
|
}),
|
2203
|
-
500:
|
2204
|
-
message:
|
2258
|
+
500: z34.object({
|
2259
|
+
message: z34.string()
|
2205
2260
|
}),
|
2206
2261
|
401: DefaultUnauthorizedSchema,
|
2207
2262
|
404: DefaultNotFoundSchema,
|
@@ -2212,19 +2267,19 @@ var ticketContract = initContract8().router(
|
|
2212
2267
|
updateStatus: {
|
2213
2268
|
method: "PATCH",
|
2214
2269
|
path: "/status/update/:id",
|
2215
|
-
pathParams:
|
2216
|
-
body:
|
2270
|
+
pathParams: z34.object({ id: z34.string() }),
|
2271
|
+
body: z34.object({ status: z34.string() }),
|
2217
2272
|
headers: DefaultHeaderSchema,
|
2218
2273
|
responses: {
|
2219
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2220
|
-
400:
|
2221
|
-
message:
|
2274
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2275
|
+
400: z34.object({
|
2276
|
+
message: z34.string()
|
2222
2277
|
}),
|
2223
|
-
409:
|
2224
|
-
message:
|
2278
|
+
409: z34.object({
|
2279
|
+
message: z34.string()
|
2225
2280
|
}),
|
2226
|
-
500:
|
2227
|
-
message:
|
2281
|
+
500: z34.object({
|
2282
|
+
message: z34.string()
|
2228
2283
|
}),
|
2229
2284
|
401: DefaultUnauthorizedSchema,
|
2230
2285
|
404: DefaultNotFoundSchema,
|
@@ -2235,19 +2290,19 @@ var ticketContract = initContract8().router(
|
|
2235
2290
|
updatePriority: {
|
2236
2291
|
method: "PATCH",
|
2237
2292
|
path: "/priority/update/:id",
|
2238
|
-
pathParams:
|
2239
|
-
body:
|
2293
|
+
pathParams: z34.object({ id: z34.string() }),
|
2294
|
+
body: z34.object({ priority: z34.string() }),
|
2240
2295
|
headers: DefaultHeaderSchema,
|
2241
2296
|
responses: {
|
2242
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2243
|
-
400:
|
2244
|
-
message:
|
2297
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2298
|
+
400: z34.object({
|
2299
|
+
message: z34.string()
|
2245
2300
|
}),
|
2246
|
-
409:
|
2247
|
-
message:
|
2301
|
+
409: z34.object({
|
2302
|
+
message: z34.string()
|
2248
2303
|
}),
|
2249
|
-
500:
|
2250
|
-
message:
|
2304
|
+
500: z34.object({
|
2305
|
+
message: z34.string()
|
2251
2306
|
}),
|
2252
2307
|
401: DefaultUnauthorizedSchema,
|
2253
2308
|
404: DefaultNotFoundSchema,
|
@@ -2258,19 +2313,19 @@ var ticketContract = initContract8().router(
|
|
2258
2313
|
updateChannel: {
|
2259
2314
|
method: "PATCH",
|
2260
2315
|
path: "/channel/update/:id",
|
2261
|
-
pathParams:
|
2262
|
-
body:
|
2316
|
+
pathParams: z34.object({ id: z34.string() }),
|
2317
|
+
body: z34.object({ channel: z34.string() }),
|
2263
2318
|
headers: DefaultHeaderSchema,
|
2264
2319
|
responses: {
|
2265
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2266
|
-
400:
|
2267
|
-
message:
|
2320
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2321
|
+
400: z34.object({
|
2322
|
+
message: z34.string()
|
2268
2323
|
}),
|
2269
|
-
409:
|
2270
|
-
message:
|
2324
|
+
409: z34.object({
|
2325
|
+
message: z34.string()
|
2271
2326
|
}),
|
2272
|
-
500:
|
2273
|
-
message:
|
2327
|
+
500: z34.object({
|
2328
|
+
message: z34.string()
|
2274
2329
|
}),
|
2275
2330
|
401: DefaultUnauthorizedSchema,
|
2276
2331
|
404: DefaultNotFoundSchema,
|
@@ -2281,19 +2336,19 @@ var ticketContract = initContract8().router(
|
|
2281
2336
|
updateTags: {
|
2282
2337
|
method: "PATCH",
|
2283
2338
|
path: "/tags/update/:id",
|
2284
|
-
pathParams:
|
2285
|
-
body:
|
2339
|
+
pathParams: z34.object({ id: z34.string() }),
|
2340
|
+
body: z34.object({ tags: z34.array(z34.string()) }),
|
2286
2341
|
headers: DefaultHeaderSchema,
|
2287
2342
|
responses: {
|
2288
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2289
|
-
400:
|
2290
|
-
message:
|
2343
|
+
200: DefaultSuccessResponseSchema.extend({ message: z34.string() }),
|
2344
|
+
400: z34.object({
|
2345
|
+
message: z34.string()
|
2291
2346
|
}),
|
2292
|
-
409:
|
2293
|
-
message:
|
2347
|
+
409: z34.object({
|
2348
|
+
message: z34.string()
|
2294
2349
|
}),
|
2295
|
-
500:
|
2296
|
-
message:
|
2350
|
+
500: z34.object({
|
2351
|
+
message: z34.string()
|
2297
2352
|
}),
|
2298
2353
|
401: DefaultUnauthorizedSchema,
|
2299
2354
|
404: DefaultNotFoundSchema,
|
@@ -2304,19 +2359,21 @@ var ticketContract = initContract8().router(
|
|
2304
2359
|
changeAssignee: {
|
2305
2360
|
method: "PATCH",
|
2306
2361
|
path: "/assignee/update/:id",
|
2307
|
-
pathParams:
|
2308
|
-
body:
|
2362
|
+
pathParams: z34.object({ id: z34.string() }),
|
2363
|
+
body: z34.object({ ticketId: z34.string(), assigneeId: z34.string() }),
|
2309
2364
|
headers: DefaultHeaderSchema,
|
2310
2365
|
responses: {
|
2311
|
-
200:
|
2312
|
-
|
2313
|
-
message: z35.string()
|
2366
|
+
200: DefaultSuccessResponseSchema.extend({
|
2367
|
+
data: TicketSchema
|
2314
2368
|
}),
|
2315
|
-
|
2316
|
-
message:
|
2369
|
+
400: z34.object({
|
2370
|
+
message: z34.string()
|
2317
2371
|
}),
|
2318
|
-
|
2319
|
-
message:
|
2372
|
+
409: z34.object({
|
2373
|
+
message: z34.string()
|
2374
|
+
}),
|
2375
|
+
500: z34.object({
|
2376
|
+
message: z34.string()
|
2320
2377
|
}),
|
2321
2378
|
401: DefaultUnauthorizedSchema,
|
2322
2379
|
404: DefaultNotFoundSchema,
|
@@ -2327,12 +2384,14 @@ var ticketContract = initContract8().router(
|
|
2327
2384
|
getTicketCountByContact: {
|
2328
2385
|
method: "GET",
|
2329
2386
|
path: "/ticket_count/contact/:id",
|
2330
|
-
pathParams:
|
2387
|
+
pathParams: z34.object({ id: z34.string() }),
|
2331
2388
|
headers: DefaultHeaderSchema,
|
2332
2389
|
responses: {
|
2333
|
-
200:
|
2334
|
-
|
2335
|
-
|
2390
|
+
200: DefaultSuccessResponseSchema.extend({
|
2391
|
+
data: TicketCountByContactSchema
|
2392
|
+
}),
|
2393
|
+
400: z34.object({
|
2394
|
+
message: z34.string()
|
2336
2395
|
}),
|
2337
2396
|
401: DefaultUnauthorizedSchema,
|
2338
2397
|
500: DefaultErrorResponseSchema
|
@@ -2342,16 +2401,18 @@ var ticketContract = initContract8().router(
|
|
2342
2401
|
getTicketByContact: {
|
2343
2402
|
method: "GET",
|
2344
2403
|
path: "/contact/:id",
|
2345
|
-
pathParams:
|
2346
|
-
query:
|
2347
|
-
page:
|
2348
|
-
pageSize:
|
2404
|
+
pathParams: z34.object({ id: z34.string() }),
|
2405
|
+
query: z34.object({
|
2406
|
+
page: z34.coerce.number().default(1),
|
2407
|
+
pageSize: z34.coerce.number().default(10)
|
2349
2408
|
}).optional(),
|
2350
2409
|
headers: DefaultHeaderSchema,
|
2351
2410
|
responses: {
|
2352
|
-
200:
|
2353
|
-
|
2354
|
-
|
2411
|
+
200: DefaultSuccessResponseSchema.extend({
|
2412
|
+
data: WithPagination(TicketSchema)
|
2413
|
+
}),
|
2414
|
+
400: z34.object({
|
2415
|
+
message: z34.string()
|
2355
2416
|
}),
|
2356
2417
|
401: DefaultUnauthorizedSchema,
|
2357
2418
|
500: DefaultErrorResponseSchema
|
@@ -2364,15 +2425,17 @@ var ticketContract = initContract8().router(
|
|
2364
2425
|
headers: DefaultHeaderSchema,
|
2365
2426
|
body: CreateTicketAttachmentRecordsSchema,
|
2366
2427
|
responses: {
|
2367
|
-
201:
|
2368
|
-
|
2369
|
-
|
2428
|
+
201: DefaultSuccessResponseSchema.extend({
|
2429
|
+
data: TicketCustomFieldSchema
|
2430
|
+
}),
|
2431
|
+
400: z34.object({
|
2432
|
+
message: z34.string()
|
2370
2433
|
}),
|
2371
|
-
409:
|
2372
|
-
message:
|
2434
|
+
409: z34.object({
|
2435
|
+
message: z34.string()
|
2373
2436
|
}),
|
2374
|
-
500:
|
2375
|
-
message:
|
2437
|
+
500: z34.object({
|
2438
|
+
message: z34.string()
|
2376
2439
|
}),
|
2377
2440
|
401: DefaultUnauthorizedSchema,
|
2378
2441
|
404: DefaultNotFoundSchema,
|
@@ -2397,45 +2460,45 @@ var ticketContract = initContract8().router(
|
|
2397
2460
|
|
2398
2461
|
// src/cx-log/index.ts
|
2399
2462
|
import { initContract as initContract9 } from "@ts-rest/core";
|
2400
|
-
import
|
2463
|
+
import z36 from "zod";
|
2401
2464
|
|
2402
2465
|
// src/cx-log/validation.ts
|
2403
|
-
import
|
2404
|
-
var sentimentScoreSchema =
|
2405
|
-
|
2406
|
-
|
2466
|
+
import z35 from "zod";
|
2467
|
+
var sentimentScoreSchema = z35.union([
|
2468
|
+
z35.literal("positive"),
|
2469
|
+
z35.literal("negative")
|
2407
2470
|
]);
|
2408
|
-
var CustomFieldQueryParamsSchema =
|
2409
|
-
attributeId:
|
2410
|
-
value:
|
2411
|
-
type:
|
2471
|
+
var CustomFieldQueryParamsSchema = z35.object({
|
2472
|
+
attributeId: z35.string(),
|
2473
|
+
value: z35.union([z35.string(), z35.array(z35.string())]),
|
2474
|
+
type: z35.string().optional()
|
2412
2475
|
});
|
2413
2476
|
var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
|
2414
|
-
contactId:
|
2415
|
-
caseId:
|
2416
|
-
channelIds:
|
2417
|
-
queueId:
|
2418
|
-
agentIds:
|
2419
|
-
direction:
|
2420
|
-
disposition:
|
2421
|
-
sentimentScore:
|
2422
|
-
csatScore:
|
2423
|
-
sla:
|
2424
|
-
tags:
|
2477
|
+
contactId: z35.string().uuid(),
|
2478
|
+
caseId: z35.string(),
|
2479
|
+
channelIds: z35.array(z35.string().uuid()),
|
2480
|
+
queueId: z35.array(z35.string()),
|
2481
|
+
agentIds: z35.array(z35.string()),
|
2482
|
+
direction: z35.array(z35.union([z35.literal("inbound"), z35.literal("outbound")])),
|
2483
|
+
disposition: z35.array(z35.string()),
|
2484
|
+
sentimentScore: z35.array(sentimentScoreSchema),
|
2485
|
+
csatScore: z35.string(),
|
2486
|
+
sla: z35.array(z35.union([z35.literal("meet"), z35.literal("unmeet")])),
|
2487
|
+
tags: z35.array(z35.string()),
|
2425
2488
|
// General tags
|
2426
2489
|
// Default contact attributes
|
2427
|
-
name:
|
2428
|
-
contactLabels:
|
2429
|
-
email:
|
2430
|
-
channel:
|
2431
|
-
phone:
|
2432
|
-
notes:
|
2433
|
-
address:
|
2434
|
-
company:
|
2490
|
+
name: z35.string(),
|
2491
|
+
contactLabels: z35.array(z35.string()),
|
2492
|
+
email: z35.string(),
|
2493
|
+
channel: z35.array(z35.string()),
|
2494
|
+
phone: z35.string(),
|
2495
|
+
notes: z35.string(),
|
2496
|
+
address: z35.string(),
|
2497
|
+
company: z35.array(z35.string()),
|
2435
2498
|
// Custom fields
|
2436
|
-
customFields:
|
2499
|
+
customFields: z35.array(CustomFieldQueryParamsSchema),
|
2437
2500
|
// Date filter
|
2438
|
-
selectedDate:
|
2501
|
+
selectedDate: z35.string()
|
2439
2502
|
}).partial().optional();
|
2440
2503
|
|
2441
2504
|
// src/cx-log/index.ts
|
@@ -2446,10 +2509,10 @@ var cxLogContract = initContract9().router({
|
|
2446
2509
|
headers: DefaultHeaderSchema,
|
2447
2510
|
responses: {
|
2448
2511
|
200: DefaultSuccessResponseSchema.extend({
|
2449
|
-
total:
|
2450
|
-
page:
|
2451
|
-
pageSize:
|
2452
|
-
cxLogs:
|
2512
|
+
total: z36.number(),
|
2513
|
+
page: z36.number(),
|
2514
|
+
pageSize: z36.number(),
|
2515
|
+
cxLogs: z36.array(CxLogSchemaWithRelations)
|
2453
2516
|
}),
|
2454
2517
|
401: DefaultUnauthorizedSchema
|
2455
2518
|
},
|
@@ -2473,11 +2536,28 @@ var cxLogContract = initContract9().router({
|
|
2473
2536
|
import { initContract as initContract10 } from "@ts-rest/core";
|
2474
2537
|
import z39 from "zod";
|
2475
2538
|
|
2539
|
+
// src/extension/schema.ts
|
2540
|
+
import z37 from "zod";
|
2541
|
+
var ExtensionSchema = z37.object({
|
2542
|
+
id: z37.string().uuid(),
|
2543
|
+
createdAt: z37.date(),
|
2544
|
+
updatedAt: z37.date(),
|
2545
|
+
deletedAt: z37.date().nullable(),
|
2546
|
+
userId: z37.string().nullable(),
|
2547
|
+
sipServerUrl: z37.string(),
|
2548
|
+
sipUserName: z37.string(),
|
2549
|
+
webphoneLoginUser: z37.string(),
|
2550
|
+
extensionId: z37.coerce.number(),
|
2551
|
+
extensionName: z37.string(),
|
2552
|
+
telephonySignature: z37.string().nullable()
|
2553
|
+
});
|
2554
|
+
|
2476
2555
|
// src/extension/validation.ts
|
2477
2556
|
import { z as z38 } from "zod";
|
2478
2557
|
var CreateExtensionSchema = z38.object({
|
2479
2558
|
userId: z38.string().nullable(),
|
2480
2559
|
sipUserName: z38.string(),
|
2560
|
+
webphoneLoginUser: z38.string(),
|
2481
2561
|
extensionId: z38.coerce.number().nullable(),
|
2482
2562
|
extensionName: z38.string().nullable(),
|
2483
2563
|
telephonySignature: z38.string().nullable().optional()
|
@@ -2517,7 +2597,19 @@ var extensionContract = initContract10().router(
|
|
2517
2597
|
200: WithPagination(
|
2518
2598
|
// The response data should contain the user relation.
|
2519
2599
|
ExtensionSchema.extend({
|
2520
|
-
user:
|
2600
|
+
user: z39.object({
|
2601
|
+
id: z39.string().uuid(),
|
2602
|
+
createdAt: z39.date(),
|
2603
|
+
updatedAt: z39.date(),
|
2604
|
+
deletedAt: z39.date().nullable(),
|
2605
|
+
name: z39.string(),
|
2606
|
+
email: z39.string().email(),
|
2607
|
+
emailVerifiedAt: z39.date().nullable(),
|
2608
|
+
password: z39.string(),
|
2609
|
+
address: z39.string().nullable(),
|
2610
|
+
phone: z39.string().nullable(),
|
2611
|
+
notificationCount: z39.number().nullable()
|
2612
|
+
})
|
2521
2613
|
})
|
2522
2614
|
),
|
2523
2615
|
400: z39.object({
|
@@ -3318,6 +3410,16 @@ var messengerContract = initContract18().router({
|
|
3318
3410
|
400: DefaultErrorResponseSchema
|
3319
3411
|
}
|
3320
3412
|
},
|
3413
|
+
relogin: {
|
3414
|
+
method: "POST",
|
3415
|
+
path: "/relogin",
|
3416
|
+
body: ChannelSchema2.partial(),
|
3417
|
+
responses: {
|
3418
|
+
200: ChannelServiceResponseSchema,
|
3419
|
+
500: DefaultErrorResponseSchema,
|
3420
|
+
400: DefaultErrorResponseSchema
|
3421
|
+
}
|
3422
|
+
},
|
3321
3423
|
getFacebookPages: {
|
3322
3424
|
method: "GET",
|
3323
3425
|
path: "/pages",
|
@@ -5027,7 +5129,6 @@ var apiContract = initContract34().router({
|
|
5027
5129
|
permission: permissionContract,
|
5028
5130
|
role: roleContract,
|
5029
5131
|
user: userContract,
|
5030
|
-
extension: extensionContract,
|
5031
5132
|
widget: widgetContract,
|
5032
5133
|
wrapUpForm: wrapUpFormContract,
|
5033
5134
|
emailEngineWebhooks: emailEngineWebhooksEventsContract,
|
@@ -5044,6 +5145,9 @@ var apiContract = initContract34().router({
|
|
5044
5145
|
company: companyContract,
|
5045
5146
|
evaluateForm: evaluateFormContract
|
5046
5147
|
});
|
5148
|
+
var extensionContract2 = initContract34().router({
|
5149
|
+
extension: extensionContract
|
5150
|
+
});
|
5047
5151
|
var commentActivityContract = initContract34().router({
|
5048
5152
|
comment: commentContract,
|
5049
5153
|
activityLog: activityLogContract
|
@@ -5070,6 +5174,7 @@ export {
|
|
5070
5174
|
cxLogContract,
|
5071
5175
|
dashboardContract,
|
5072
5176
|
evaluateFormContract,
|
5177
|
+
extensionContract2 as extensionContract,
|
5073
5178
|
platformContract,
|
5074
5179
|
tagContract,
|
5075
5180
|
telephonyCdrContract,
|