@kl1/contracts 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/index.js +1474 -1068
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +1470 -1067
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/src/auth/index.d.ts +34 -24
  6. package/dist/src/auth/index.d.ts.map +1 -1
  7. package/dist/src/aws/index.d.ts +4 -4
  8. package/dist/src/aws/validation.d.ts +2 -2
  9. package/dist/src/channel/index.d.ts +1357 -0
  10. package/dist/src/channel/index.d.ts.map +1 -0
  11. package/dist/src/channel/schema.d.ts +385 -0
  12. package/dist/src/channel/schema.d.ts.map +1 -0
  13. package/dist/src/channel/validation.d.ts +337 -0
  14. package/dist/src/channel/validation.d.ts.map +1 -0
  15. package/dist/src/chat/index.d.ts +25911 -10496
  16. package/dist/src/chat/index.d.ts.map +1 -1
  17. package/dist/src/chat/schema.d.ts +6196 -1168
  18. package/dist/src/chat/schema.d.ts.map +1 -1
  19. package/dist/src/chat/validation.d.ts +7755 -479
  20. package/dist/src/chat/validation.d.ts.map +1 -1
  21. package/dist/src/company/schema.d.ts +197 -12
  22. package/dist/src/company/schema.d.ts.map +1 -1
  23. package/dist/src/contact/index.d.ts +2667 -0
  24. package/dist/src/contact/index.d.ts.map +1 -0
  25. package/dist/src/contact/schema.d.ts +1070 -6
  26. package/dist/src/contact/schema.d.ts.map +1 -1
  27. package/dist/src/contact/validation.d.ts +1029 -0
  28. package/dist/src/contact/validation.d.ts.map +1 -0
  29. package/dist/src/contract.d.ts +51287 -23157
  30. package/dist/src/contract.d.ts.map +1 -1
  31. package/dist/src/custom-field-upload/schema.d.ts +2 -2
  32. package/dist/src/cx-log/index.d.ts +4 -4
  33. package/dist/src/cx-log/schema.d.ts +2 -2
  34. package/dist/src/extension/index.d.ts +220 -54
  35. package/dist/src/extension/index.d.ts.map +1 -1
  36. package/dist/src/extension/schema.d.ts +6 -6
  37. package/dist/src/extension/schema.d.ts.map +1 -1
  38. package/dist/src/extension/validation.d.ts +6 -12
  39. package/dist/src/extension/validation.d.ts.map +1 -1
  40. package/dist/src/index.d.ts +1 -0
  41. package/dist/src/index.d.ts.map +1 -1
  42. package/dist/src/mail/account-contract.d.ts +2 -2
  43. package/dist/src/mail/mail-contract.d.ts +2865 -3701
  44. package/dist/src/mail/mail-contract.d.ts.map +1 -1
  45. package/dist/src/mail/message-contract.d.ts +18 -18
  46. package/dist/src/mail/room-contract.d.ts +2854 -3690
  47. package/dist/src/mail/room-contract.d.ts.map +1 -1
  48. package/dist/src/mail/schemas/account-validation.schema.d.ts +2 -2
  49. package/dist/src/mail/schemas/message-validation.schema.d.ts +12 -12
  50. package/dist/src/mail/schemas/message.schema.d.ts +4 -4
  51. package/dist/src/mail/schemas/room-validation.schema.d.ts +64 -64
  52. package/dist/src/mail/schemas/room.schema.d.ts +50 -50
  53. package/dist/src/messenger/index.d.ts +7617 -0
  54. package/dist/src/messenger/index.d.ts.map +1 -0
  55. package/dist/src/messenger/schema.d.ts +2 -0
  56. package/dist/src/messenger/schema.d.ts.map +1 -0
  57. package/dist/src/messenger/validation.d.ts +2 -0
  58. package/dist/src/messenger/validation.d.ts.map +1 -0
  59. package/dist/src/permission/index.d.ts +2 -0
  60. package/dist/src/permission/index.d.ts.map +1 -1
  61. package/dist/src/permission/schema.d.ts.map +1 -1
  62. package/dist/src/role/schema.d.ts.map +1 -1
  63. package/dist/src/telephony-agent-presence-status/index.d.ts +1376 -0
  64. package/dist/src/telephony-agent-presence-status/index.d.ts.map +1 -0
  65. package/dist/src/telephony-agent-presence-status/schema.d.ts +366 -0
  66. package/dist/src/telephony-agent-presence-status/schema.d.ts.map +1 -0
  67. package/dist/src/telephony-agent-presence-status/validation.d.ts +18 -0
  68. package/dist/src/telephony-agent-presence-status/validation.d.ts.map +1 -0
  69. package/dist/src/telephony-extension/index.d.ts +5 -5
  70. package/dist/src/telephony-extension/schema.d.ts +5 -5
  71. package/dist/src/tenant/schema.d.ts +36 -0
  72. package/dist/src/tenant/schema.d.ts.map +1 -0
  73. package/dist/src/upload/schema.d.ts +4 -4
  74. package/dist/src/user/index.d.ts +119 -85
  75. package/dist/src/user/index.d.ts.map +1 -1
  76. package/dist/src/user/schema.d.ts +22 -16
  77. package/dist/src/user/schema.d.ts.map +1 -1
  78. package/dist/src/user/validation.d.ts +5 -5
  79. package/dist/src/user-presence-status-log/index.d.ts +342 -0
  80. package/dist/src/user-presence-status-log/index.d.ts.map +1 -0
  81. package/dist/src/user-presence-status-log/schema.d.ts +382 -0
  82. package/dist/src/user-presence-status-log/schema.d.ts.map +1 -0
  83. package/dist/src/user-presence-status-log/validation.d.ts +15 -0
  84. package/dist/src/user-presence-status-log/validation.d.ts.map +1 -0
  85. package/dist/src/widget/index.d.ts +28 -26
  86. package/dist/src/widget/index.d.ts.map +1 -1
  87. package/dist/src/widget/schema.d.ts +3 -3
  88. package/dist/src/wrap-up-form/index.d.ts +3 -3
  89. package/dist/src/wrap-up-form/validation.d.ts +3 -3
  90. package/package.json +46 -46
  91. package/dist/src/app/index.d.ts +0 -17
  92. package/dist/src/app/index.d.ts.map +0 -1
  93. package/dist/src/mail/mail-server.d.ts +0 -216
  94. package/dist/src/mail/mail-server.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/contract.ts
2
- import { initContract as initContract22 } from "@ts-rest/core";
2
+ import { initContract as initContract27 } from "@ts-rest/core";
3
3
 
4
4
  // src/attribute/index.ts
5
5
  import { initContract } from "@ts-rest/core";
@@ -199,45 +199,63 @@ import { z as z9 } from "zod";
199
199
  // src/user/schema.ts
200
200
  import z8 from "zod";
201
201
 
202
- // src/role/schema.ts
203
- import z6 from "zod";
204
-
205
- // src/permission/schema.ts
202
+ // src/extension/schema.ts
206
203
  import z5 from "zod";
207
- var PermissionSchema = DefaultEntitySchema.extend({
208
- systemName: z5.string(),
209
- displayName: z5.string(),
210
- description: z5.string().nullable()
204
+ var ExtensionSchema = z5.object({
205
+ id: z5.string().uuid(),
206
+ createdAt: z5.date(),
207
+ updatedAt: z5.date(),
208
+ deletedAt: z5.date().nullable(),
209
+ userId: z5.string().nullable(),
210
+ sipServerUrl: z5.string(),
211
+ sipUserName: z5.string(),
212
+ extensionId: z5.coerce.number(),
213
+ extensionName: z5.string(),
214
+ telephonySignature: z5.string().nullable()
211
215
  });
212
216
 
213
217
  // src/role/schema.ts
214
- var RoleSchema = DefaultEntitySchema.extend({
218
+ import z7 from "zod";
219
+
220
+ // src/permission/schema.ts
221
+ import z6 from "zod";
222
+ var PermissionSchema = z6.object({
223
+ id: z6.string().uuid(),
224
+ createdAt: z6.date(),
225
+ updatedAt: z6.date(),
226
+ deletedAt: z6.date().nullable(),
215
227
  systemName: z6.string(),
216
228
  displayName: z6.string(),
217
- description: z6.string().nullable(),
218
- permissions: z6.array(PermissionSchema)
229
+ description: z6.string().nullable()
219
230
  });
220
231
 
221
- // src/extension/schema.ts
222
- import z7 from "zod";
223
- var ExtensionSchema = DefaultEntitySchema.extend({
224
- userId: z7.string().nullable(),
225
- sipServerUrl: z7.string(),
226
- sipUserName: z7.string(),
227
- extensionId: z7.coerce.number().nullable(),
228
- extensionName: z7.string().nullable(),
229
- telephonySignature: z7.string().nullable()
232
+ // src/role/schema.ts
233
+ var RoleSchema = z7.object({
234
+ id: z7.string().uuid(),
235
+ createdAt: z7.date(),
236
+ updatedAt: z7.date(),
237
+ deletedAt: z7.date().nullable(),
238
+ systemName: z7.string(),
239
+ displayName: z7.string(),
240
+ description: z7.string().nullable(),
241
+ permissions: z7.array(PermissionSchema)
230
242
  });
231
243
 
232
244
  // src/user/schema.ts
233
- var UserSchema = DefaultEntitySchema.extend({
245
+ var UserSchema = z8.object({
246
+ id: z8.string().uuid(),
247
+ createdAt: z8.date(),
248
+ updatedAt: z8.date(),
249
+ deletedAt: z8.date().nullable(),
234
250
  name: z8.string(),
235
251
  email: z8.string().email(),
252
+ emailVerifiedAt: z8.date().nullable(),
253
+ password: z8.string(),
236
254
  address: z8.string().nullable(),
237
255
  phone: z8.string().nullable(),
238
256
  notificationCount: z8.number().nullable(),
239
257
  roles: z8.array(RoleSchema),
240
- extension: ExtensionSchema
258
+ extension: ExtensionSchema.optional()
241
259
  });
242
260
 
243
261
  // src/auth/index.ts
@@ -321,79 +339,144 @@ var authContract = initContract2().router(
321
339
  { pathPrefix: "auth" }
322
340
  );
323
341
 
324
- // src/category/index.ts
342
+ // src/aws/index.ts
325
343
  import { initContract as initContract3 } from "@ts-rest/core";
326
- import z13 from "zod";
344
+
345
+ // src/aws/validation.ts
346
+ import z10 from "zod";
347
+ var AwsContractsValidationSchema = {
348
+ generatePresignedUrl: {
349
+ input: z10.object({
350
+ fileName: z10.string(),
351
+ fileType: z10.string(),
352
+ moduleName: z10.string()
353
+ }),
354
+ output: z10.object({
355
+ fileName: z10.string(),
356
+ fileKey: z10.string(),
357
+ bucketName: z10.string(),
358
+ url: z10.string(),
359
+ cfUrl: z10.string().nullable()
360
+ })
361
+ },
362
+ generateSignedUrl: {
363
+ input: z10.object({
364
+ fileKey: z10.string()
365
+ }),
366
+ output: z10.object({
367
+ url: z10.string()
368
+ })
369
+ }
370
+ };
371
+
372
+ // src/aws/index.ts
373
+ var awsContract = initContract3().router(
374
+ {
375
+ generatePresignedUrl: {
376
+ method: "POST",
377
+ path: "/presigned-url",
378
+ responses: {
379
+ 200: DefaultSuccessResponseSchema.extend({
380
+ data: AwsContractsValidationSchema.generatePresignedUrl.output
381
+ }),
382
+ ...DefaultResponses,
383
+ 500: DefaultErrorResponseSchema
384
+ },
385
+ body: AwsContractsValidationSchema.generatePresignedUrl.input,
386
+ summary: "Generate a presigned url"
387
+ },
388
+ generateSignedUrl: {
389
+ method: "POST",
390
+ path: "/signed-url",
391
+ responses: {
392
+ 200: DefaultSuccessResponseSchema.extend({
393
+ data: AwsContractsValidationSchema.generateSignedUrl.output
394
+ }),
395
+ ...DefaultResponses,
396
+ 500: DefaultErrorResponseSchema
397
+ },
398
+ body: AwsContractsValidationSchema.generateSignedUrl.input,
399
+ summary: "Generate a signed url using file key"
400
+ }
401
+ },
402
+ {
403
+ pathPrefix: "aws/s3"
404
+ }
405
+ );
406
+
407
+ // src/category/index.ts
408
+ import { initContract as initContract4 } from "@ts-rest/core";
409
+ import z14 from "zod";
327
410
 
328
411
  // utils.ts
329
- import { z as z10 } from "zod";
330
- var PaginationSchema = z10.object({
331
- page: z10.number().default(1),
332
- pageSize: z10.number().default(10),
333
- total: z10.number(),
334
- lastPage: z10.number().optional().nullable()
412
+ import { z as z11 } from "zod";
413
+ var PaginationSchema = z11.object({
414
+ page: z11.number().default(1),
415
+ pageSize: z11.number().default(10),
416
+ total: z11.number(),
417
+ lastPage: z11.number().optional().nullable()
335
418
  });
336
419
  var WithPagination = (dataSchema) => {
337
420
  return PaginationSchema.extend({
338
- data: z10.array(dataSchema)
421
+ data: z11.array(dataSchema)
339
422
  });
340
423
  };
341
424
 
342
425
  // src/category/schema.ts
343
- import { z as z11 } from "zod";
344
- var CategoryLevelSchema = z11.union([
345
- z11.literal(1),
346
- z11.literal(2),
347
- z11.literal(3)
426
+ import { z as z12 } from "zod";
427
+ var CategoryLevelSchema = z12.union([
428
+ z12.literal(1),
429
+ z12.literal(2),
430
+ z12.literal(3)
348
431
  ]);
349
432
  var CategorySchema = DefaultEntitySchema.extend({
350
- value: z11.string(),
433
+ value: z12.string(),
351
434
  level: CategoryLevelSchema,
352
- parentId: z11.string().nullable(),
353
- childCategoryList: z11.array(
354
- z11.object({
355
- id: z11.string(),
356
- value: z11.string(),
435
+ parentId: z12.string().nullable(),
436
+ childCategoryList: z12.array(
437
+ z12.object({
438
+ id: z12.string(),
439
+ value: z12.string(),
357
440
  level: CategoryLevelSchema,
358
- parentId: z11.string().nullable(),
359
- childCategoryList: z11.array(
360
- z11.object({
361
- id: z11.string(),
362
- value: z11.string(),
441
+ parentId: z12.string().nullable(),
442
+ childCategoryList: z12.array(
443
+ z12.object({
444
+ id: z12.string(),
445
+ value: z12.string(),
363
446
  level: CategoryLevelSchema,
364
- parentId: z11.string().nullable(),
365
- childCategoryList: z11.array(z11.any())
447
+ parentId: z12.string().nullable(),
448
+ childCategoryList: z12.array(z12.any())
366
449
  // This is an empty array.
367
450
  })
368
451
  )
369
452
  })
370
453
  )
371
454
  });
372
- var CategoryLevelObjectSchema = z11.object({
373
- id: z11.string(),
374
- name: z11.string(),
455
+ var CategoryLevelObjectSchema = z12.object({
456
+ id: z12.string(),
457
+ name: z12.string(),
375
458
  level: CategoryLevelSchema
376
459
  });
377
460
 
378
461
  // src/category/validation.ts
379
- import { z as z12 } from "zod";
380
- var CreateCategorySchema = z12.object({
381
- value: z12.string(),
462
+ import { z as z13 } from "zod";
463
+ var CreateCategorySchema = z13.object({
464
+ value: z13.string(),
382
465
  level: CategoryLevelSchema,
383
- parentId: z12.string().nullable()
466
+ parentId: z13.string().nullable()
384
467
  });
385
- var UpdateCategorySchema = z12.object({ value: z12.string() });
386
- var CreateCategoryLevelSchema = z12.object({
387
- name: z12.string(),
468
+ var UpdateCategorySchema = z13.object({ value: z13.string() });
469
+ var CreateCategoryLevelSchema = z13.object({
470
+ name: z13.string(),
388
471
  level: CategoryLevelSchema
389
472
  });
390
- var UpdateCategoryLevelSchema = z12.object({
391
- name: z12.string(),
473
+ var UpdateCategoryLevelSchema = z13.object({
474
+ name: z13.string(),
392
475
  level: CategoryLevelSchema
393
476
  });
394
477
 
395
478
  // src/category/index.ts
396
- var categoryContract = initContract3().router(
479
+ var categoryContract = initContract4().router(
397
480
  {
398
481
  createCategory: {
399
482
  method: "POST",
@@ -410,9 +493,9 @@ var categoryContract = initContract3().router(
410
493
  getCategories: {
411
494
  method: "GET",
412
495
  path: "",
413
- query: z13.object({
414
- page: z13.coerce.number(),
415
- pageSize: z13.coerce.number()
496
+ query: z14.object({
497
+ page: z14.coerce.number(),
498
+ pageSize: z14.coerce.number()
416
499
  }).partial().optional(),
417
500
  headers: DefaultHeaderSchema,
418
501
  responses: {
@@ -423,7 +506,7 @@ var categoryContract = initContract3().router(
423
506
  updateCategory: {
424
507
  method: "PATCH",
425
508
  path: "/:id",
426
- pathParams: z13.object({ id: z13.string() }),
509
+ pathParams: z14.object({ id: z14.string() }),
427
510
  headers: DefaultHeaderSchema,
428
511
  body: UpdateCategorySchema,
429
512
  responses: {
@@ -434,12 +517,12 @@ var categoryContract = initContract3().router(
434
517
  deleteCategory: {
435
518
  method: "DELETE",
436
519
  path: "/:id",
437
- pathParams: z13.object({ id: z13.string() }),
520
+ pathParams: z14.object({ id: z14.string() }),
438
521
  headers: DefaultHeaderSchema,
439
- body: z13.any().optional(),
522
+ body: z14.any().optional(),
440
523
  responses: {
441
524
  200: DefaultSuccessResponseSchema.extend({
442
- message: z13.string().optional()
525
+ message: z14.string().optional()
443
526
  }),
444
527
  500: DefaultErrorResponseSchema
445
528
  }
@@ -461,7 +544,7 @@ var categoryContract = initContract3().router(
461
544
  path: "/level",
462
545
  responses: {
463
546
  200: DefaultSuccessResponseSchema.extend({
464
- data: z13.array(CategoryLevelObjectSchema)
547
+ data: z14.array(CategoryLevelObjectSchema)
465
548
  }),
466
549
  500: DefaultErrorResponseSchema
467
550
  }
@@ -469,7 +552,7 @@ var categoryContract = initContract3().router(
469
552
  updateCategoryLevel: {
470
553
  method: "PATCH",
471
554
  path: "/level/:id",
472
- pathParams: z13.object({ id: z13.string() }),
555
+ pathParams: z14.object({ id: z14.string() }),
473
556
  headers: DefaultHeaderSchema,
474
557
  body: UpdateCategoryLevelSchema,
475
558
  responses: {
@@ -485,252 +568,351 @@ var categoryContract = initContract3().router(
485
568
  }
486
569
  );
487
570
 
488
- // src/chat/index.ts
489
- import { initContract as initContract4 } from "@ts-rest/core";
490
- import z20 from "zod";
571
+ // src/channel/index.ts
572
+ import { initContract as initContract5 } from "@ts-rest/core";
491
573
 
492
- // src/contact/schema.ts
493
- import z14 from "zod";
494
- var ContactSchema = DefaultEntitySchema.extend({
495
- name: z14.string(),
496
- address: z14.string().nullable(),
497
- channel: z14.string().nullable(),
498
- notes: z14.string().nullable(),
499
- contactNumber: z14.string().nullable(),
500
- companyId: z14.string().nullable(),
501
- contactProfile: z14.string().nullable(),
502
- socialProfileUrl: z14.string().nullable()
574
+ // src/channel/schema.ts
575
+ import z15 from "zod";
576
+ var ChannelTypeSchema = z15.enum([
577
+ "whatsapp",
578
+ "messenger",
579
+ "telegram",
580
+ "line",
581
+ "viber",
582
+ "kakao",
583
+ "shopee",
584
+ "lazada"
585
+ ]);
586
+ var ChannelStatusTypeSchema = z15.union([
587
+ z15.literal(1),
588
+ // on
589
+ z15.literal(0)
590
+ // off
591
+ ]);
592
+ var ChannelMetadataSchema = z15.object({
593
+ id: z15.string(),
594
+ name: z15.string(),
595
+ accessToken: z15.string(),
596
+ additionalCredentials: z15.any().optional()
503
597
  });
598
+ var ChannelSchema = DefaultEntitySchema.extend({
599
+ name: z15.string(),
600
+ type: ChannelTypeSchema,
601
+ metadata: ChannelMetadataSchema,
602
+ brandName: z15.string(),
603
+ platformId: z15.string().uuid(),
604
+ status: ChannelStatusTypeSchema,
605
+ isReloginRequired: z15.boolean(),
606
+ connectedUserName: z15.string(),
607
+ connectedUserId: z15.string(),
608
+ actor: UserSchema
609
+ }).partial().optional();
504
610
 
505
- // src/chat/schema.ts
506
- import z17 from "zod";
611
+ // src/channel/validation.ts
612
+ import z16 from "zod";
613
+ var ConnectChannelSchema = z16.object({
614
+ name: z16.string(),
615
+ type: ChannelTypeSchema,
616
+ metadata: ChannelMetadataSchema,
617
+ platformId: z16.string(),
618
+ brandName: z16.string(),
619
+ connectedUserName: z16.string(),
620
+ connectedUserId: z16.string(),
621
+ actor: UserSchema
622
+ });
623
+
624
+ // src/channel/index.ts
625
+ var channelContract = initContract5().router(
626
+ {
627
+ connectChannel: {
628
+ method: "POST",
629
+ path: "/connect",
630
+ responses: {
631
+ 200: DefaultSuccessResponseSchema.extend({
632
+ channel: ChannelSchema
633
+ }),
634
+ 408: DefaultErrorResponseSchema
635
+ },
636
+ body: ConnectChannelSchema,
637
+ summary: "Connect message channel"
638
+ },
639
+ getChannels: {
640
+ method: "GET",
641
+ path: "/channels",
642
+ responses: {
643
+ 200: DefaultSuccessResponseSchema.extend({
644
+ channels: ChannelSchema
645
+ })
646
+ },
647
+ summary: "Get Channels"
648
+ }
649
+ },
650
+ {
651
+ baseHeaders: DefaultHeaderSchema
652
+ }
653
+ );
654
+
655
+ // src/chat/index.ts
656
+ import { initContract as initContract6 } from "@ts-rest/core";
657
+ import z24 from "zod";
658
+
659
+ // src/contact/schema.ts
660
+ import z20 from "zod";
507
661
 
508
662
  // src/tag/schema.ts
509
- import z15 from "zod";
663
+ import z17 from "zod";
510
664
  var TagSchema = DefaultEntitySchema.extend({
511
- name: z15.string()
665
+ name: z17.string()
512
666
  });
513
- var TagGroupSchema = z15.union([
514
- z15.literal("general"),
515
- z15.literal("contact")
667
+ var TagGroupSchema = z17.union([
668
+ z17.literal("general"),
669
+ z17.literal("contact")
516
670
  ]);
517
671
 
672
+ // src/company/schema.ts
673
+ import z18 from "zod";
674
+ var CompanyCustomFieldSchema = DefaultEntitySchema.extend({
675
+ textValue: z18.string().nullable(),
676
+ booleanValue: z18.boolean().nullable(),
677
+ numberValue: z18.number().nullable(),
678
+ dateValue: z18.string().nullable(),
679
+ attribute: AttributeSchema.omit({ options: true, group: true })
680
+ });
681
+ var CompanySchema = DefaultEntitySchema.extend({
682
+ name: z18.string().optional(),
683
+ phone: z18.string().nullable().optional(),
684
+ address: z18.string().nullable().optional(),
685
+ industry: z18.string().nullable().optional(),
686
+ customFields: z18.array(CompanyCustomFieldSchema).optional()
687
+ });
688
+
518
689
  // src/upload/schema.ts
519
- import z16 from "zod";
690
+ import z19 from "zod";
520
691
  var UploadSchema = DefaultEntitySchema.extend({
521
- bucketName: z16.string(),
522
- fileName: z16.string(),
523
- fileSize: z16.number(),
524
- fileKey: z16.string()
692
+ bucketName: z19.string(),
693
+ fileName: z19.string(),
694
+ fileSize: z19.number(),
695
+ fileKey: z19.string()
696
+ });
697
+
698
+ // src/contact/schema.ts
699
+ var ContactPhonesSchema = DefaultEntitySchema.extend({
700
+ phone: z20.string(),
701
+ isPrimary: z20.boolean()
702
+ });
703
+ var ContactEmailsSchema = DefaultEntitySchema.extend({
704
+ email: z20.string(),
705
+ isPrimary: z20.boolean()
706
+ });
707
+ var ContactCustomFieldSchema = DefaultEntitySchema.extend({
708
+ textValue: z20.string().nullable(),
709
+ booleanValue: z20.boolean().nullable(),
710
+ numberValue: z20.number().nullable(),
711
+ dateValue: z20.date().nullable(),
712
+ attribute: AttributeSchema.omit({ options: true, group: true }),
713
+ uploads: z20.array(
714
+ DefaultEntitySchema.extend({
715
+ customFieldId: z20.string(),
716
+ upload: UploadSchema
717
+ })
718
+ )
719
+ });
720
+ var ContactEntityTypesSchema = DefaultEntitySchema.extend({
721
+ entity: z20.string(),
722
+ description: z20.string().nullable()
723
+ });
724
+ var ContactActivitySchema = DefaultEntitySchema.extend({
725
+ entityId: z20.string(),
726
+ description: z20.string(),
727
+ entityType: ContactEntityTypesSchema
728
+ });
729
+ var ContactSchema = DefaultEntitySchema.extend({
730
+ name: z20.string(),
731
+ address: z20.string().nullable(),
732
+ channel: z20.string().nullable(),
733
+ notes: z20.string().nullable(),
734
+ contactProfile: z20.string().nullable(),
735
+ socialProfileUrl: z20.string().nullable(),
736
+ tags: z20.array(TagSchema),
737
+ company: CompanySchema.omit({ customFields: true }).nullable(),
738
+ // room: z.array(RoomSchema).optional(),
739
+ customFields: z20.array(ContactCustomFieldSchema),
740
+ contactEmails: z20.array(ContactEmailsSchema),
741
+ contactPhones: z20.array(ContactPhonesSchema),
742
+ activityLogs: z20.array(ContactActivitySchema).optional()
525
743
  });
526
744
 
527
745
  // src/chat/schema.ts
528
- var ChannelTypeSchema = z17.union([
529
- z17.literal("messenger"),
530
- z17.literal("line"),
531
- z17.literal("viber"),
532
- z17.literal("lazada"),
533
- z17.literal("shopee"),
534
- z17.literal("whatsapp"),
535
- z17.literal("telegram"),
536
- z17.literal("kakao")
537
- ]);
538
- var MessageDirectionTypeSchema = z17.union([
539
- z17.literal("incoming"),
540
- z17.literal("outgoing"),
541
- z17.literal("system")
542
- ]);
543
- var ChannelStatusTypeSchema = z17.union([
544
- z17.literal(1),
545
- // on
546
- z17.literal(0)
547
- // off
746
+ import z21 from "zod";
747
+ var MessageDirectionTypeSchema = z21.enum([
748
+ "incoming",
749
+ "outgoing",
750
+ "system"
548
751
  ]);
549
- var MessageTypeSchema = z17.union([
550
- z17.literal("text"),
551
- z17.literal("image"),
552
- z17.literal("video"),
553
- z17.literal("audio"),
554
- z17.literal("file"),
555
- z17.literal("fallback"),
556
- z17.literal("location"),
557
- z17.literal("attachment"),
558
- z17.literal("assign"),
559
- z17.literal("solve"),
560
- z17.literal("reopen"),
561
- z17.literal("open"),
562
- z17.literal("sticker"),
563
- z17.literal("closed"),
564
- z17.literal("handed_over"),
565
- z17.literal("updated"),
566
- z17.literal("started")
752
+ var MessageTypeSchema = z21.enum([
753
+ "text",
754
+ "image",
755
+ "video",
756
+ "audio",
757
+ "file",
758
+ "fallback",
759
+ "location",
760
+ "attachment",
761
+ "assign",
762
+ "solve",
763
+ "reopen",
764
+ "open",
765
+ "sticker",
766
+ "closed",
767
+ "handed_over",
768
+ "updated",
769
+ "started"
567
770
  ]);
568
- var MessageLocaleTypeSchema = z17.union([
569
- z17.literal("mm"),
570
- z17.literal("en"),
571
- z17.literal("th")
771
+ var MessageLocaleTypeSchema = z21.enum([
772
+ "mm",
773
+ "en",
774
+ "th"
572
775
  ]);
573
- var ChannelMetadataSchema = z17.object({
574
- id: z17.string(),
575
- name: z17.string(),
576
- accessToken: z17.string(),
577
- additionalCredentials: z17.any()
578
- });
579
- var ChannelSchema = DefaultEntitySchema.extend({
580
- name: z17.string(),
581
- type: ChannelTypeSchema,
582
- metadata: ChannelMetadataSchema,
583
- brandName: z17.string(),
584
- platformId: z17.string().uuid(),
585
- status: ChannelStatusTypeSchema,
586
- isReloginRequired: z17.boolean(),
587
- connectedUserName: z17.string(),
588
- connectedUserId: z17.string(),
589
- actor: UserSchema
590
- }).partial().optional();
591
- var PlatformContactMetadataSchema = z17.object({
592
- id: z17.string(),
593
- name: z17.string(),
594
- additionalCredentials: z17.any()
776
+ var PlatformContactMetadataSchema = z21.object({
777
+ id: z21.string(),
778
+ name: z21.string(),
779
+ picture: z21.string(),
780
+ additionalCredentials: z21.any()
595
781
  });
596
782
  var PlatformContactSchema = DefaultEntitySchema.extend({
597
- channelId: z17.string().uuid(),
598
- socialPlatformId: z17.string().uuid(),
783
+ channelId: z21.string().uuid(),
784
+ socialPlatformId: z21.string().uuid(),
599
785
  platform: ChannelTypeSchema,
600
786
  metadata: PlatformContactMetadataSchema,
601
787
  contact: ContactSchema
602
788
  });
603
789
  var RoomSchema = DefaultEntitySchema.extend({
604
- lastMessage: z17.string(),
605
- handleTime: z17.number(),
606
- isSolved: z17.boolean(),
607
- notes: z17.string(),
608
- closeAt: z17.date(),
609
- unreadCount: z17.number(),
610
- firstResponseTime: z17.date(),
611
- isLatest: z17.boolean(),
790
+ lastMessage: z21.string(),
791
+ handleTime: z21.number(),
792
+ isSolved: z21.boolean(),
793
+ closeAt: z21.date(),
794
+ unreadCount: z21.number(),
795
+ firstResponseTime: z21.date(),
796
+ isLatest: z21.boolean(),
612
797
  direction: MessageDirectionTypeSchema,
613
798
  platformContact: PlatformContactSchema,
614
799
  actor: UserSchema,
615
800
  assignee: UserSchema,
616
- channel: ChannelSchema,
617
- tags: z17.array(TagSchema)
801
+ channel: ChannelSchema
618
802
  });
619
803
  var MessageSchema = DefaultEntitySchema.extend({
620
- message: z17.string(),
804
+ message: z21.string(),
621
805
  direction: MessageDirectionTypeSchema,
622
806
  type: MessageTypeSchema,
623
- user: UserSchema,
624
- readAt: z17.date(),
625
- metadata: z17.any(),
626
- platformId: z17.string(),
627
- replyPlatformMessageId: z17.string(),
628
- platformMessageId: z17.string(),
629
- upload: UploadSchema,
630
- template: z17.any(),
807
+ readAt: z21.date(),
808
+ metadata: z21.any(),
809
+ platformId: z21.string(),
810
+ platformMessageId: z21.string(),
811
+ replyPlatformMessageId: z21.string(),
812
+ template: z21.any(),
631
813
  locale: MessageLocaleTypeSchema,
632
- isSent: z17.boolean()
814
+ isSent: z21.boolean(),
815
+ room: RoomSchema,
816
+ upload: UploadSchema,
817
+ actor: UserSchema,
818
+ assignee: UserSchema,
819
+ sender: UserSchema
633
820
  });
634
- var UnreadCountsByAssigneeSchema = z17.object({
635
- assigneeId: z17.string(),
636
- totalUnreadCount: z17.number()
821
+ var UnreadCountsByAssigneeSchema = z21.object({
822
+ assigneeId: z21.string(),
823
+ totalUnreadCount: z21.number()
637
824
  });
638
825
 
639
826
  // src/chat/validation.ts
640
- import z19 from "zod";
827
+ import z23 from "zod";
641
828
 
642
829
  // src/custom-field/schema.ts
643
- import z18 from "zod";
830
+ import z22 from "zod";
644
831
  var CustomFieldSchema = DefaultEntitySchema.extend({
645
- textValue: z18.string().nullable(),
646
- booleanValue: z18.boolean().nullable(),
647
- numberValue: z18.number().nullable(),
648
- dateValue: z18.date().nullable(),
649
- entityId: z18.string().uuid(),
650
- attributeId: z18.string().uuid()
832
+ textValue: z22.string().nullable(),
833
+ booleanValue: z22.boolean().nullable(),
834
+ numberValue: z22.number().nullable(),
835
+ dateValue: z22.date().nullable(),
836
+ entityId: z22.string().uuid(),
837
+ attributeId: z22.string().uuid()
651
838
  });
652
839
 
653
840
  // src/chat/validation.ts
654
- var ConnectChannelSchema = z19.object({
655
- name: z19.string(),
656
- type: ChannelTypeSchema,
657
- metadata: ChannelMetadataSchema,
658
- brandName: z19.string(),
659
- connectedUserName: z19.string(),
660
- connectedUserId: z19.string(),
661
- actor: UserSchema
662
- });
663
- var GetRoomsSchema = z19.object({
664
- page: z19.coerce.number().positive().default(1),
665
- pageSize: z19.coerce.number().positive().default(20),
666
- contactTagIds: z19.string().array().optional(),
667
- contactIds: z19.string().array().optional(),
668
- agentIds: z19.string().array().optional(),
669
- roomTagIds: z19.string().array().optional(),
670
- keyword: z19.string().optional(),
671
- company: z19.string().array().optional(),
672
- channel: z19.string().array().optional(),
673
- name: z19.string().optional(),
674
- address: z19.string().optional(),
675
- contactGroups: z19.string().array().optional(),
676
- selectedDate: z19.string().optional(),
677
- customFields: z19.array(CustomFieldSchema).optional(),
678
- tags: z19.string().array().optional(),
679
- phone: z19.string().optional(),
680
- email: z19.string().optional(),
681
- notes: z19.string().optional(),
682
- tab: z19.string().optional()
683
- });
684
- var UpdateRoomTagsAndNotesSchema = z19.object({
685
- notes: z19.string().optional(),
686
- tags: z19.string().array().optional()
841
+ var GetRoomsSchema = z23.object({
842
+ page: z23.coerce.number().positive().default(1),
843
+ pageSize: z23.coerce.number().positive().default(20),
844
+ contactTagIds: z23.string().array().optional(),
845
+ contactIds: z23.string().array().optional(),
846
+ agentIds: z23.string().array().optional(),
847
+ roomTagIds: z23.string().array().optional(),
848
+ keyword: z23.string().optional(),
849
+ company: z23.string().array().optional(),
850
+ channel: z23.string().array().optional(),
851
+ name: z23.string().optional(),
852
+ address: z23.string().optional(),
853
+ contactGroups: z23.string().array().optional(),
854
+ selectedDate: z23.string().optional(),
855
+ customFields: z23.array(CustomFieldSchema).optional(),
856
+ tags: z23.string().array().optional(),
857
+ phone: z23.string().optional(),
858
+ email: z23.string().optional(),
859
+ notes: z23.string().optional(),
860
+ tab: z23.string().optional()
861
+ });
862
+ var UpdateRoomTagsAndNotesSchema = z23.object({
863
+ notes: z23.string().optional(),
864
+ tags: z23.string().array().optional()
687
865
  });
688
866
  var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
689
- roomId: z19.string().uuid()
690
- });
691
- var MessageAttachmentSchema = z19.object({
692
- bucketName: z19.string(),
693
- fileKey: z19.string(),
694
- fileName: z19.string(),
695
- fileSize: z19.string(),
696
- url: z19.string(),
867
+ roomId: z23.string().uuid()
868
+ });
869
+ var MessageAttachmentSchema = z23.object({
870
+ bucketName: z23.string(),
871
+ fileKey: z23.string(),
872
+ fileName: z23.string(),
873
+ fileSize: z23.number(),
874
+ url: z23.string(),
697
875
  fileType: MessageTypeSchema,
698
- thumbnailUrl: z19.string().optional()
876
+ thumbnailUrl: z23.string().optional()
699
877
  });
700
- var SendMessageSchema = z19.object({
701
- platform: ChannelTypeSchema,
702
- room: z19.string().uuid(),
878
+ var SendMessageSchema = z23.object({
879
+ roomId: z23.string().uuid(),
703
880
  messageType: MessageTypeSchema,
704
- message: z19.string().optional(),
881
+ message: z23.string().optional(),
705
882
  direction: MessageDirectionTypeSchema,
706
- messageAttachments: MessageAttachmentSchema,
883
+ messageAttachments: MessageAttachmentSchema.optional(),
707
884
  user: UserSchema.optional(),
708
- packageId: z19.number().optional(),
709
- stickerId: z19.number().optional()
885
+ packageId: z23.number().optional(),
886
+ stickerId: z23.number().optional()
710
887
  });
711
- var SolveRoomSchema = z19.object({
712
- roomId: z19.string()
888
+ var SolveRoomSchema = z23.object({
889
+ roomId: z23.string()
713
890
  });
714
891
  var UpdateAssigneeSchema = SolveRoomSchema.extend({
715
- assigneeId: z19.string().uuid()
892
+ assigneeId: z23.string().uuid()
716
893
  });
717
894
  var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
718
- query: z19.string()
895
+ query: z23.string()
896
+ });
897
+ var SendMessageToPlatformSchema = z23.object({
898
+ room: RoomSchema,
899
+ message: MessageSchema,
900
+ url: z23.string().optional()
719
901
  });
720
902
 
721
903
  // src/chat/index.ts
722
- var chatContract = initContract4().router(
904
+ var mainChatContract = initContract6().router(
723
905
  {
724
906
  getRooms: {
725
907
  method: "GET",
726
908
  path: "/rooms",
727
909
  responses: {
728
910
  200: DefaultSuccessResponseSchema.extend({
729
- total: z20.number(),
730
- page: z20.number(),
731
- pageSize: z20.number(),
732
- data: z20.array(RoomSchema),
733
- unreadCountsByAssignee: z20.array(UnreadCountsByAssigneeSchema)
911
+ total: z24.number(),
912
+ page: z24.number(),
913
+ pageSize: z24.number(),
914
+ data: z24.array(RoomSchema),
915
+ unreadCountsByAssignee: z24.array(UnreadCountsByAssigneeSchema)
734
916
  }),
735
917
  401: DefaultUnauthorizedSchema
736
918
  },
@@ -740,8 +922,8 @@ var chatContract = initContract4().router(
740
922
  getRoomContact: {
741
923
  method: "GET",
742
924
  path: "/contact/:contactId",
743
- pathParams: z20.object({
744
- contactId: z20.string().uuid()
925
+ pathParams: z24.object({
926
+ contactId: z24.string().uuid()
745
927
  }),
746
928
  responses: {
747
929
  200: DefaultSuccessResponseSchema.extend({
@@ -777,21 +959,19 @@ var chatContract = initContract4().router(
777
959
  path: "/message",
778
960
  body: SendMessageSchema,
779
961
  responses: {
780
- 200: DefaultSuccessResponseSchema.extend({
781
- data: MessageSchema
782
- })
962
+ 200: null
783
963
  },
784
964
  summary: "Send message to room"
785
965
  },
786
966
  getMessages: {
787
967
  method: "GET",
788
968
  path: "/message/:roomId",
789
- pathParams: z20.object({
790
- roomId: z20.string().uuid()
969
+ pathParams: z24.object({
970
+ roomId: z24.string().uuid()
791
971
  }),
792
972
  responses: {
793
973
  200: DefaultSuccessResponseSchema.extend({
794
- data: z20.array(MessageSchema)
974
+ data: z24.array(MessageSchema)
795
975
  })
796
976
  },
797
977
  summary: "Get messages"
@@ -802,7 +982,9 @@ var chatContract = initContract4().router(
802
982
  body: SolveRoomSchema,
803
983
  responses: {
804
984
  200: DefaultSuccessResponseSchema.extend({
805
- data: RoomSchema
985
+ data: RoomSchema.extend({
986
+ solveMessage: z24.string()
987
+ })
806
988
  }),
807
989
  409: DefaultErrorResponseSchema
808
990
  },
@@ -822,8 +1004,8 @@ var chatContract = initContract4().router(
822
1004
  getRoom: {
823
1005
  method: "GET",
824
1006
  path: "/room/:roomId",
825
- pathParams: z20.object({
826
- roomId: z20.string().uuid()
1007
+ pathParams: z24.object({
1008
+ roomId: z24.string().uuid()
827
1009
  }),
828
1010
  responses: {
829
1011
  200: DefaultSuccessResponseSchema.extend({
@@ -836,13 +1018,14 @@ var chatContract = initContract4().router(
836
1018
  createRoom: {
837
1019
  method: "POST",
838
1020
  path: "/room/create/:roomid",
839
- pathParams: z20.object({
840
- roomid: z20.string().uuid()
1021
+ pathParams: z24.object({
1022
+ roomId: z24.string().uuid()
841
1023
  }),
842
1024
  responses: {
843
1025
  200: DefaultSuccessResponseSchema.extend({
844
1026
  data: RoomSchema.extend({
845
- contact: ContactSchema
1027
+ contact: ContactSchema,
1028
+ openMessage: z24.string()
846
1029
  })
847
1030
  })
848
1031
  },
@@ -852,13 +1035,13 @@ var chatContract = initContract4().router(
852
1035
  readRoom: {
853
1036
  method: "POST",
854
1037
  path: "/room/:roomid/read",
855
- pathParams: z20.object({
856
- roomid: z20.string().uuid()
1038
+ pathParams: z24.object({
1039
+ roomId: z24.string().uuid()
857
1040
  }),
858
1041
  responses: {
859
1042
  200: DefaultSuccessResponseSchema.extend({
860
1043
  data: RoomSchema.extend({
861
- description: z20.string().nullable()
1044
+ description: z24.string().nullable()
862
1045
  })
863
1046
  })
864
1047
  },
@@ -870,147 +1053,391 @@ var chatContract = initContract4().router(
870
1053
  path: "/search",
871
1054
  responses: {
872
1055
  200: DefaultSuccessResponseSchema.extend({
873
- data: z20.array(RoomSchema)
1056
+ total: z24.number(),
1057
+ page: z24.number(),
1058
+ pageSize: z24.number(),
1059
+ data: z24.array(RoomSchema)
874
1060
  })
875
1061
  },
876
1062
  query: SearchRoomsSchema,
877
1063
  summary: "Search Rooms"
878
- },
879
- connectChannel: {
880
- method: "POST",
881
- path: "connect",
882
- responses: {
883
- 200: DefaultSuccessResponseSchema.extend({
884
- channel: ChannelSchema
885
- })
886
- },
887
- body: ConnectChannelSchema,
888
- summary: "Connect message channel"
889
- },
890
- getChannels: {
891
- method: "GET",
892
- path: "/channels",
893
- responses: {
894
- 200: DefaultSuccessResponseSchema.extend({
895
- channels: ChannelSchema
896
- })
897
- },
898
- summary: "Get Channels"
899
1064
  }
900
1065
  },
901
1066
  {
902
- baseHeaders: DefaultHeaderSchema
1067
+ baseHeaders: DefaultHeaderSchema,
1068
+ pathPrefix: "chat"
903
1069
  }
904
1070
  );
905
1071
 
906
- // src/cx-log/index.ts
907
- import { initContract as initContract5 } from "@ts-rest/core";
908
- import z23 from "zod";
909
-
910
- // src/cx-log/schema.ts
911
- import z21 from "zod";
912
- var CxLogSchema = DefaultEntitySchema.extend({
913
- caseId: z21.number(),
914
- entityId: z21.string().uuid(),
915
- entityName: z21.string(),
916
- contactId: z21.string().uuid().nullable(),
917
- channel: z21.string().nullable(),
918
- queueId: z21.string().uuid().nullable(),
919
- agentId: z21.string().uuid().nullable(),
920
- direction: z21.string().nullable(),
921
- startedDate: z21.date().nullable(),
922
- handledTime: z21.number().nullable(),
923
- firstResponseTime: z21.number().nullable(),
924
- disposition: z21.string().nullable()
925
- });
926
-
927
- // src/cx-log/validation.ts
928
- import z22 from "zod";
929
- var sentimentScoreSchema = z22.union([
930
- z22.literal("positive"),
931
- z22.literal("negative")
932
- ]);
933
- var CustomFieldQueryParamsSchema = z22.object({
934
- attributeId: z22.string(),
935
- value: z22.union([z22.string(), z22.array(z22.string())]),
936
- type: z22.string().optional()
937
- });
938
- var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
939
- contactId: z22.string().uuid(),
940
- caseId: z22.string(),
941
- channelIds: z22.array(z22.string().uuid()),
942
- queueId: z22.array(z22.string()),
943
- agentIds: z22.array(z22.string()),
944
- direction: z22.array(z22.union([z22.literal("inbound"), z22.literal("outbound")])),
945
- disposition: z22.array(z22.string()),
946
- sentimentScore: z22.array(sentimentScoreSchema),
947
- csatScore: z22.string(),
948
- sla: z22.array(z22.union([z22.literal("meet"), z22.literal("unmeet")])),
949
- tags: z22.array(z22.string()),
950
- // General tags
951
- // Default contact attributes
952
- name: z22.string(),
953
- contactLabels: z22.array(z22.string()),
954
- email: z22.string(),
955
- channel: z22.array(z22.string()),
956
- phone: z22.string(),
957
- notes: z22.string(),
958
- address: z22.string(),
959
- company: z22.array(z22.string()),
960
- // Custom fields
961
- customFields: z22.array(CustomFieldQueryParamsSchema),
962
- // Date filter
963
- selectedDate: z22.string()
964
- }).partial().optional();
965
-
966
- // src/cx-log/index.ts
967
- var cxLogContract = initContract5().router({
968
- findAll: {
969
- method: "GET",
970
- path: "/cx-logs",
971
- headers: DefaultHeaderSchema,
972
- responses: {
973
- 200: DefaultSuccessResponseSchema.extend({
974
- total: z23.number(),
975
- page: z23.number(),
976
- pageSize: z23.number(),
977
- cxLogs: z23.array(CxLogSchema)
978
- }),
979
- 401: DefaultUnauthorizedSchema
980
- },
981
- query: GetAllCxLogQueryParamsSchema,
982
- summary: "Get all cx-logs"
983
- }
984
- });
985
-
986
- // src/line/index.ts
987
- import { initContract as initContract6 } from "@ts-rest/core";
1072
+ // src/contact/index.ts
1073
+ import { initContract as initContract7 } from "@ts-rest/core";
988
1074
  import z26 from "zod";
989
1075
 
990
- // src/line/schema.ts
991
- import z24 from "zod";
992
- var ConnectLineSchema = z24.object({
993
- id: z24.string(),
994
- accessToken: z24.string()
1076
+ // src/contact/validation.ts
1077
+ import z25 from "zod";
1078
+ var BaseSchema = z25.object({
1079
+ isRequired: z25.boolean(),
1080
+ attributeId: z25.string()
1081
+ });
1082
+ var SingleValue = {
1083
+ value: z25.string()
1084
+ };
1085
+ var ContactContractValidationSchema = {
1086
+ create: {
1087
+ request: z25.object({
1088
+ name: BaseSchema.extend(SingleValue),
1089
+ email: BaseSchema.extend({
1090
+ value: z25.array(
1091
+ z25.object({
1092
+ email: z25.string(),
1093
+ isPrimary: z25.boolean()
1094
+ })
1095
+ )
1096
+ }),
1097
+ channel: BaseSchema.extend(SingleValue),
1098
+ address: BaseSchema.extend(SingleValue),
1099
+ phone: BaseSchema.extend({
1100
+ value: z25.array(
1101
+ z25.object({
1102
+ phone: z25.string(),
1103
+ isPrimary: z25.boolean()
1104
+ })
1105
+ )
1106
+ }).optional(),
1107
+ notes: BaseSchema.extend(SingleValue),
1108
+ tags: BaseSchema.extend({
1109
+ value: z25.array(z25.string())
1110
+ }),
1111
+ company: BaseSchema.extend(SingleValue),
1112
+ customFields: z25.array(
1113
+ BaseSchema.extend({
1114
+ value: z25.union([z25.string(), z25.array(z25.string())]),
1115
+ type: z25.string(),
1116
+ isDefaultAttribute: z25.boolean()
1117
+ })
1118
+ )
1119
+ }),
1120
+ response: z25.string()
1121
+ },
1122
+ getById: {
1123
+ request: z25.object({
1124
+ id: z25.string().uuid()
1125
+ }),
1126
+ response: ContactSchema
1127
+ }
1128
+ };
1129
+
1130
+ // src/contact/index.ts
1131
+ var contactContract = initContract7().router(
1132
+ {
1133
+ create: {
1134
+ method: "POST",
1135
+ path: "",
1136
+ responses: {
1137
+ 201: DefaultSuccessResponseSchema.extend({
1138
+ message: ContactContractValidationSchema.create.response
1139
+ }),
1140
+ 400: z26.object({
1141
+ message: z26.string()
1142
+ }),
1143
+ 409: z26.object({
1144
+ message: z26.string()
1145
+ }),
1146
+ 500: z26.object({
1147
+ message: z26.string()
1148
+ }),
1149
+ 401: DefaultUnauthorizedSchema,
1150
+ 404: DefaultNotFoundSchema,
1151
+ 422: DefaultUnprocessibleSchema
1152
+ },
1153
+ body: ContactContractValidationSchema.create.request,
1154
+ summary: "Create a new contact"
1155
+ },
1156
+ getById: {
1157
+ method: "GET",
1158
+ path: "/:id",
1159
+ pathParams: ContactContractValidationSchema.getById.request,
1160
+ responses: {
1161
+ 200: DefaultSuccessResponseSchema.extend({
1162
+ data: ContactContractValidationSchema.getById.response
1163
+ }),
1164
+ 400: z26.object({
1165
+ message: z26.string()
1166
+ }),
1167
+ 409: z26.object({
1168
+ message: z26.string()
1169
+ }),
1170
+ 500: z26.object({
1171
+ message: z26.string()
1172
+ }),
1173
+ 401: DefaultUnauthorizedSchema,
1174
+ 404: DefaultNotFoundSchema,
1175
+ 422: DefaultUnprocessibleSchema
1176
+ },
1177
+ summary: "Get a contact by id"
1178
+ },
1179
+ update: {
1180
+ method: "PATCH",
1181
+ path: "/:id",
1182
+ pathParams: ContactContractValidationSchema.getById.request,
1183
+ responses: {
1184
+ 200: DefaultSuccessResponseSchema.extend({
1185
+ data: ContactContractValidationSchema.getById.response
1186
+ }),
1187
+ 400: z26.object({
1188
+ message: z26.string()
1189
+ }),
1190
+ 409: z26.object({
1191
+ message: z26.string()
1192
+ }),
1193
+ 500: z26.object({
1194
+ message: z26.string()
1195
+ }),
1196
+ 401: DefaultUnauthorizedSchema,
1197
+ 404: DefaultNotFoundSchema,
1198
+ 422: DefaultUnprocessibleSchema
1199
+ },
1200
+ body: ContactContractValidationSchema.create.request.partial(),
1201
+ summary: "Update a contact"
1202
+ }
1203
+ },
1204
+ {
1205
+ baseHeaders: DefaultHeaderSchema,
1206
+ pathPrefix: "contact"
1207
+ }
1208
+ );
1209
+
1210
+ // src/cx-log/index.ts
1211
+ import { initContract as initContract8 } from "@ts-rest/core";
1212
+ import z29 from "zod";
1213
+
1214
+ // src/cx-log/schema.ts
1215
+ import z27 from "zod";
1216
+ var CxLogSchema = DefaultEntitySchema.extend({
1217
+ caseId: z27.number(),
1218
+ entityId: z27.string().uuid(),
1219
+ entityName: z27.string(),
1220
+ contactId: z27.string().uuid().nullable(),
1221
+ channel: z27.string().nullable(),
1222
+ queueId: z27.string().uuid().nullable(),
1223
+ agentId: z27.string().uuid().nullable(),
1224
+ direction: z27.string().nullable(),
1225
+ startedDate: z27.date().nullable(),
1226
+ handledTime: z27.number().nullable(),
1227
+ firstResponseTime: z27.number().nullable(),
1228
+ disposition: z27.string().nullable()
1229
+ });
1230
+
1231
+ // src/cx-log/validation.ts
1232
+ import z28 from "zod";
1233
+ var sentimentScoreSchema = z28.union([
1234
+ z28.literal("positive"),
1235
+ z28.literal("negative")
1236
+ ]);
1237
+ var CustomFieldQueryParamsSchema = z28.object({
1238
+ attributeId: z28.string(),
1239
+ value: z28.union([z28.string(), z28.array(z28.string())]),
1240
+ type: z28.string().optional()
1241
+ });
1242
+ var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
1243
+ contactId: z28.string().uuid(),
1244
+ caseId: z28.string(),
1245
+ channelIds: z28.array(z28.string().uuid()),
1246
+ queueId: z28.array(z28.string()),
1247
+ agentIds: z28.array(z28.string()),
1248
+ direction: z28.array(z28.union([z28.literal("inbound"), z28.literal("outbound")])),
1249
+ disposition: z28.array(z28.string()),
1250
+ sentimentScore: z28.array(sentimentScoreSchema),
1251
+ csatScore: z28.string(),
1252
+ sla: z28.array(z28.union([z28.literal("meet"), z28.literal("unmeet")])),
1253
+ tags: z28.array(z28.string()),
1254
+ // General tags
1255
+ // Default contact attributes
1256
+ name: z28.string(),
1257
+ contactLabels: z28.array(z28.string()),
1258
+ email: z28.string(),
1259
+ channel: z28.array(z28.string()),
1260
+ phone: z28.string(),
1261
+ notes: z28.string(),
1262
+ address: z28.string(),
1263
+ company: z28.array(z28.string()),
1264
+ // Custom fields
1265
+ customFields: z28.array(CustomFieldQueryParamsSchema),
1266
+ // Date filter
1267
+ selectedDate: z28.string()
1268
+ }).partial().optional();
1269
+
1270
+ // src/cx-log/index.ts
1271
+ var cxLogContract = initContract8().router({
1272
+ findAll: {
1273
+ method: "GET",
1274
+ path: "/cx-logs",
1275
+ headers: DefaultHeaderSchema,
1276
+ responses: {
1277
+ 200: DefaultSuccessResponseSchema.extend({
1278
+ total: z29.number(),
1279
+ page: z29.number(),
1280
+ pageSize: z29.number(),
1281
+ cxLogs: z29.array(CxLogSchema)
1282
+ }),
1283
+ 401: DefaultUnauthorizedSchema
1284
+ },
1285
+ query: GetAllCxLogQueryParamsSchema,
1286
+ summary: "Get all cx-logs"
1287
+ }
1288
+ });
1289
+
1290
+ // src/extension/index.ts
1291
+ import { initContract as initContract9 } from "@ts-rest/core";
1292
+ import z31 from "zod";
1293
+
1294
+ // src/extension/validation.ts
1295
+ import { z as z30 } from "zod";
1296
+ var CreateExtensionSchema = z30.object({
1297
+ userId: z30.string().nullable(),
1298
+ sipUserName: z30.string(),
1299
+ extensionId: z30.coerce.number().nullable(),
1300
+ extensionName: z30.string().nullable(),
1301
+ telephonySignature: z30.string().nullable().optional()
1302
+ });
1303
+ var UpdateExtensionSchema = CreateExtensionSchema;
1304
+
1305
+ // src/extension/index.ts
1306
+ var extensionContract = initContract9().router(
1307
+ {
1308
+ createExtension: {
1309
+ method: "POST",
1310
+ path: "",
1311
+ headers: DefaultHeaderSchema,
1312
+ body: CreateExtensionSchema,
1313
+ responses: {
1314
+ 201: DefaultSuccessResponseSchema.extend({
1315
+ extension: ExtensionSchema
1316
+ }),
1317
+ 400: z31.object({
1318
+ message: z31.string()
1319
+ }),
1320
+ 401: DefaultUnauthorizedSchema,
1321
+ 500: DefaultErrorResponseSchema
1322
+ },
1323
+ summary: "Create a extension."
1324
+ },
1325
+ getExtensions: {
1326
+ method: "GET",
1327
+ path: "",
1328
+ query: z31.object({
1329
+ page: z31.coerce.number().default(1),
1330
+ pageSize: z31.coerce.number().default(10),
1331
+ keyword: z31.string().optional()
1332
+ }).optional(),
1333
+ headers: DefaultHeaderSchema,
1334
+ responses: {
1335
+ 200: WithPagination(
1336
+ // The response data should contain the user relation.
1337
+ ExtensionSchema.extend({
1338
+ user: UserSchema
1339
+ })
1340
+ ),
1341
+ 400: z31.object({
1342
+ message: z31.string()
1343
+ }),
1344
+ 401: DefaultUnauthorizedSchema,
1345
+ 500: DefaultErrorResponseSchema
1346
+ },
1347
+ summary: "Get all extensions"
1348
+ },
1349
+ getExtensionByUserId: {
1350
+ method: "GET",
1351
+ path: "/user/:userId",
1352
+ pathParams: z31.object({ userId: z31.string() }),
1353
+ headers: DefaultHeaderSchema,
1354
+ responses: {
1355
+ 200: ExtensionSchema,
1356
+ 400: z31.object({
1357
+ message: z31.string()
1358
+ }),
1359
+ 401: DefaultUnauthorizedSchema,
1360
+ 500: DefaultErrorResponseSchema
1361
+ },
1362
+ summary: "Get extension by user id"
1363
+ },
1364
+ getExtensionByDialpad: {
1365
+ method: "GET",
1366
+ path: "/dialpad",
1367
+ query: z31.object({
1368
+ page: z31.coerce.number().default(1),
1369
+ pageSize: z31.coerce.number().default(10),
1370
+ keyword: z31.string().optional()
1371
+ }).optional(),
1372
+ headers: DefaultHeaderSchema,
1373
+ responses: {
1374
+ 200: WithPagination(ExtensionSchema),
1375
+ 500: DefaultErrorResponseSchema,
1376
+ 400: z31.object({
1377
+ message: z31.string()
1378
+ }),
1379
+ 401: DefaultUnauthorizedSchema
1380
+ },
1381
+ summary: "Get by dialpad"
1382
+ },
1383
+ updateExtension: {
1384
+ method: "PATCH",
1385
+ path: "/:id",
1386
+ pathParams: z31.object({ id: z31.string() }),
1387
+ headers: DefaultHeaderSchema,
1388
+ body: UpdateExtensionSchema,
1389
+ responses: {
1390
+ 200: DefaultSuccessResponseSchema.extend({
1391
+ extension: ExtensionSchema
1392
+ }),
1393
+ 500: DefaultErrorResponseSchema
1394
+ },
1395
+ summary: "Update a extension."
1396
+ },
1397
+ deleteExtension: {
1398
+ method: "DELETE",
1399
+ path: "/:id",
1400
+ pathParams: z31.object({ id: z31.string() }),
1401
+ headers: DefaultHeaderSchema,
1402
+ body: null,
1403
+ responses: {
1404
+ 200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
1405
+ 500: DefaultErrorResponseSchema
1406
+ },
1407
+ summary: "Delete a extension."
1408
+ }
1409
+ },
1410
+ { pathPrefix: "extension" }
1411
+ );
1412
+
1413
+ // src/line/index.ts
1414
+ import { initContract as initContract10 } from "@ts-rest/core";
1415
+ import z34 from "zod";
1416
+
1417
+ // src/line/schema.ts
1418
+ import z32 from "zod";
1419
+ var ConnectLineSchema = z32.object({
1420
+ id: z32.string(),
1421
+ accessToken: z32.string()
995
1422
  });
996
1423
 
997
1424
  // src/line/validation.ts
998
- import z25 from "zod";
999
- var SendLineStickerSchema = z25.object({
1000
- userId: z25.string().uuid(),
1001
- packageId: z25.string(),
1002
- stickerId: z25.string(),
1003
- accessToken: z25.string()
1425
+ import z33 from "zod";
1426
+ var SendLineStickerSchema = z33.object({
1427
+ userId: z33.string().uuid(),
1428
+ packageId: z33.string(),
1429
+ stickerId: z33.string(),
1430
+ accessToken: z33.string()
1004
1431
  });
1005
1432
 
1006
1433
  // src/line/index.ts
1007
- var lineContract = initContract6().router({
1434
+ var lineContract = initContract10().router({
1008
1435
  sendSticker: {
1009
1436
  method: "POST",
1010
1437
  path: "sticker",
1011
1438
  responses: {
1012
1439
  200: DefaultSuccessResponseSchema.extend({
1013
- data: z26.any()
1440
+ data: z34.any()
1014
1441
  }),
1015
1442
  500: DefaultErrorResponseSchema
1016
1443
  },
@@ -1022,7 +1449,7 @@ var lineContract = initContract6().router({
1022
1449
  path: "connect",
1023
1450
  responses: {
1024
1451
  200: DefaultSuccessResponseSchema.extend({
1025
- data: z26.any()
1452
+ data: z34.any()
1026
1453
  }),
1027
1454
  500: DefaultErrorResponseSchema
1028
1455
  },
@@ -1032,16 +1459,16 @@ var lineContract = initContract6().router({
1032
1459
  });
1033
1460
 
1034
1461
  // src/mail/email-engine-webhooks-events.contract.ts
1035
- import { initContract as initContract7 } from "@ts-rest/core";
1036
- import z27 from "zod";
1037
- var emailEngineWebhooksEventsContract = initContract7().router({
1462
+ import { initContract as initContract11 } from "@ts-rest/core";
1463
+ import z35 from "zod";
1464
+ var emailEngineWebhooksEventsContract = initContract11().router({
1038
1465
  handleWebhooksEvents: {
1039
1466
  method: "POST",
1040
1467
  path: "/email_engine/webhooks",
1041
1468
  // we don't need to respone anything but added responses just for solving type error
1042
1469
  responses: {
1043
1470
  200: DefaultSuccessResponseSchema.extend({
1044
- message: z27.string()
1471
+ message: z35.string()
1045
1472
  })
1046
1473
  },
1047
1474
  body: null,
@@ -1050,189 +1477,189 @@ var emailEngineWebhooksEventsContract = initContract7().router({
1050
1477
  });
1051
1478
 
1052
1479
  // src/mail/mail-contract.ts
1053
- import { initContract as initContract12 } from "@ts-rest/core";
1480
+ import { initContract as initContract16 } from "@ts-rest/core";
1054
1481
 
1055
1482
  // src/mail/room-contract.ts
1056
- import { initContract as initContract8 } from "@ts-rest/core";
1057
- import z31 from "zod";
1483
+ import { initContract as initContract12 } from "@ts-rest/core";
1484
+ import z39 from "zod";
1058
1485
 
1059
1486
  // src/mail/schemas/room.schema.ts
1060
- import z30 from "zod";
1487
+ import z38 from "zod";
1061
1488
 
1062
1489
  // src/mail/schemas/account.schema.ts
1063
- import z28 from "zod";
1064
- var MailServerSchema = z28.object({
1065
- id: z28.string(),
1066
- createdAt: z28.date(),
1067
- updatedAt: z28.date(),
1068
- deletedAt: z28.date().nullable(),
1069
- name: z28.string(),
1070
- smtpHost: z28.string(),
1071
- smtpPort: z28.string(),
1072
- smtpTlsPort: z28.string(),
1073
- useTlsForSmtp: z28.boolean(),
1074
- imapHost: z28.string(),
1075
- imapPort: z28.string(),
1076
- imapTlsPort: z28.string(),
1077
- useTlsForImap: z28.boolean()
1078
- });
1079
- var MailAccountSchema = z28.object({
1080
- id: z28.string(),
1081
- createdAt: z28.date(),
1082
- updatedAt: z28.date(),
1083
- deletedAt: z28.date().nullable(),
1084
- name: z28.string(),
1085
- address: z28.string(),
1086
- accountId: z28.string(),
1087
- mailServerId: z28.string(),
1490
+ import z36 from "zod";
1491
+ var MailServerSchema = z36.object({
1492
+ id: z36.string(),
1493
+ createdAt: z36.date(),
1494
+ updatedAt: z36.date(),
1495
+ deletedAt: z36.date().nullable(),
1496
+ name: z36.string(),
1497
+ smtpHost: z36.string(),
1498
+ smtpPort: z36.string(),
1499
+ smtpTlsPort: z36.string(),
1500
+ useTlsForSmtp: z36.boolean(),
1501
+ imapHost: z36.string(),
1502
+ imapPort: z36.string(),
1503
+ imapTlsPort: z36.string(),
1504
+ useTlsForImap: z36.boolean()
1505
+ });
1506
+ var MailAccountSchema = z36.object({
1507
+ id: z36.string(),
1508
+ createdAt: z36.date(),
1509
+ updatedAt: z36.date(),
1510
+ deletedAt: z36.date().nullable(),
1511
+ name: z36.string(),
1512
+ address: z36.string(),
1513
+ accountId: z36.string(),
1514
+ mailServerId: z36.string(),
1088
1515
  mailServer: MailServerSchema,
1089
- state: z28.union([
1090
- z28.literal("init"),
1091
- z28.literal("syncing"),
1092
- z28.literal("connecting"),
1093
- z28.literal("connected"),
1094
- z28.literal("disconnected"),
1095
- z28.literal("authenticationError"),
1096
- z28.literal("connectError"),
1097
- z28.literal("unset")
1516
+ state: z36.union([
1517
+ z36.literal("init"),
1518
+ z36.literal("syncing"),
1519
+ z36.literal("connecting"),
1520
+ z36.literal("connected"),
1521
+ z36.literal("disconnected"),
1522
+ z36.literal("authenticationError"),
1523
+ z36.literal("connectError"),
1524
+ z36.literal("unset")
1098
1525
  ])
1099
1526
  });
1100
1527
 
1101
1528
  // src/mail/schemas/message.schema.ts
1102
- import z29 from "zod";
1103
- var AttachmentSchema = z29.object({
1104
- id: z29.string(),
1105
- createdAt: z29.date(),
1106
- updatedAt: z29.date(),
1107
- deletedAt: z29.nullable(z29.date()),
1108
- roomId: z29.string(),
1109
- messageId: z29.string(),
1110
- fileName: z29.string(),
1111
- fileType: z29.string(),
1112
- emailEngineAttachmentId: z29.string(),
1113
- uploadId: z29.string(),
1114
- upload: z29.object({
1115
- id: z29.string(),
1116
- createdAt: z29.date(),
1117
- updatedAt: z29.date(),
1118
- deletedAt: z29.nullable(z29.date()),
1119
- bucket_name: z29.string(),
1120
- file_name: z29.string(),
1121
- file_key: z29.string(),
1122
- file_size: z29.number(),
1123
- file_url: z29.string(),
1124
- extension_name: z29.string()
1529
+ import z37 from "zod";
1530
+ var AttachmentSchema = z37.object({
1531
+ id: z37.string(),
1532
+ createdAt: z37.date(),
1533
+ updatedAt: z37.date(),
1534
+ deletedAt: z37.nullable(z37.date()),
1535
+ roomId: z37.string(),
1536
+ messageId: z37.string(),
1537
+ fileName: z37.string(),
1538
+ fileType: z37.string(),
1539
+ emailEngineAttachmentId: z37.string(),
1540
+ uploadId: z37.string(),
1541
+ upload: z37.object({
1542
+ id: z37.string(),
1543
+ createdAt: z37.date(),
1544
+ updatedAt: z37.date(),
1545
+ deletedAt: z37.nullable(z37.date()),
1546
+ bucket_name: z37.string(),
1547
+ file_name: z37.string(),
1548
+ file_key: z37.string(),
1549
+ file_size: z37.number(),
1550
+ file_url: z37.string(),
1551
+ extension_name: z37.string()
1125
1552
  })
1126
1553
  });
1127
- var MessageSchema2 = z29.object({
1128
- id: z29.string(),
1129
- createdAt: z29.date(),
1130
- updatedAt: z29.date(),
1131
- deletedAt: z29.nullable(z29.date()),
1132
- roomId: z29.string(),
1133
- subject: z29.string(),
1134
- textPlain: z29.string(),
1135
- textHtml: z29.string(),
1136
- textId: z29.string(),
1137
- emailEngineEmailId: z29.string(),
1138
- emailEngineMessageId: z29.string(),
1139
- emailEngineReplyTo: z29.nullable(z29.string()),
1140
- direction: z29.string(),
1141
- date: z29.date(),
1142
- action: z29.string(),
1143
- unseen: z29.boolean(),
1144
- seemsLikeNew: z29.boolean(),
1145
- from: z29.array(MailUserSchema),
1146
- to: z29.array(MailUserSchema),
1147
- cc: z29.array(MailUserSchema),
1148
- bcc: z29.array(MailUserSchema),
1149
- attachments: z29.array(AttachmentSchema)
1554
+ var MessageSchema2 = z37.object({
1555
+ id: z37.string(),
1556
+ createdAt: z37.date(),
1557
+ updatedAt: z37.date(),
1558
+ deletedAt: z37.nullable(z37.date()),
1559
+ roomId: z37.string(),
1560
+ subject: z37.string(),
1561
+ textPlain: z37.string(),
1562
+ textHtml: z37.string(),
1563
+ textId: z37.string(),
1564
+ emailEngineEmailId: z37.string(),
1565
+ emailEngineMessageId: z37.string(),
1566
+ emailEngineReplyTo: z37.nullable(z37.string()),
1567
+ direction: z37.string(),
1568
+ date: z37.date(),
1569
+ action: z37.string(),
1570
+ unseen: z37.boolean(),
1571
+ seemsLikeNew: z37.boolean(),
1572
+ from: z37.array(MailUserSchema),
1573
+ to: z37.array(MailUserSchema),
1574
+ cc: z37.array(MailUserSchema),
1575
+ bcc: z37.array(MailUserSchema),
1576
+ attachments: z37.array(AttachmentSchema)
1150
1577
  });
1151
1578
 
1152
1579
  // src/mail/schemas/room.schema.ts
1153
- var MailUserSchema = z30.object({
1154
- id: z30.string(),
1155
- createdAt: z30.date(),
1156
- updatedAt: z30.date(),
1157
- deletedAt: z30.date().nullable(),
1158
- name: z30.string(),
1159
- address: z30.string()
1160
- });
1161
- var TagSchema2 = z30.object({
1162
- color: z30.string(),
1163
- id: z30.string(),
1164
- createdAt: z30.date(),
1165
- updatedAt: z30.date(),
1166
- deletedAt: z30.date().nullable(),
1167
- name: z30.string()
1168
- });
1169
- var UserModel = z30.object({
1170
- id: z30.string().uuid(),
1171
- createdAt: z30.date(),
1172
- updatedAt: z30.date(),
1173
- deletedAt: z30.date().nullable(),
1174
- name: z30.string(),
1175
- email: z30.string(),
1176
- address: z30.string().nullable(),
1177
- phone: z30.string().nullable(),
1178
- notification_count: z30.number().nullable()
1179
- });
1180
- var ActivityLogModel = z30.object({
1181
- id: z30.string(),
1182
- createdAt: z30.string(),
1183
- updatedAt: z30.string(),
1184
- deletedAt: z30.nullable(z30.string()),
1185
- description: z30.string(),
1186
- actorId: z30.string(),
1187
- roomId: z30.string(),
1580
+ var MailUserSchema = z38.object({
1581
+ id: z38.string(),
1582
+ createdAt: z38.date(),
1583
+ updatedAt: z38.date(),
1584
+ deletedAt: z38.date().nullable(),
1585
+ name: z38.string(),
1586
+ address: z38.string()
1587
+ });
1588
+ var TagSchema2 = z38.object({
1589
+ color: z38.string(),
1590
+ id: z38.string(),
1591
+ createdAt: z38.date(),
1592
+ updatedAt: z38.date(),
1593
+ deletedAt: z38.date().nullable(),
1594
+ name: z38.string()
1595
+ });
1596
+ var UserModel = z38.object({
1597
+ id: z38.string().uuid(),
1598
+ createdAt: z38.date(),
1599
+ updatedAt: z38.date(),
1600
+ deletedAt: z38.date().nullable(),
1601
+ name: z38.string(),
1602
+ email: z38.string(),
1603
+ address: z38.string().nullable(),
1604
+ phone: z38.string().nullable(),
1605
+ notification_count: z38.number().nullable()
1606
+ });
1607
+ var ActivityLogModel = z38.object({
1608
+ id: z38.string(),
1609
+ createdAt: z38.string(),
1610
+ updatedAt: z38.string(),
1611
+ deletedAt: z38.nullable(z38.string()),
1612
+ description: z38.string(),
1613
+ actorId: z38.string(),
1614
+ roomId: z38.string(),
1188
1615
  actor: UserModel
1189
1616
  });
1190
- var MessagesAndLogs = z30.array(z30.union([MessageSchema2, ActivityLogModel]));
1191
- var MailRoomSchema = z30.object({
1192
- id: z30.string(),
1193
- createdAt: z30.date(),
1194
- updatedAt: z30.date(),
1195
- deletedAt: z30.date().nullable(),
1196
- subject: z30.string(),
1197
- resolved: z30.boolean(),
1198
- assigneeId: z30.string().nullable(),
1199
- note: z30.string(),
1200
- mailId: z30.string(),
1201
- direction: z30.string(),
1202
- lastMessageId: z30.string(),
1203
- firstMessageId: z30.string(),
1204
- from: z30.array(MailUserSchema),
1205
- to: z30.array(MailUserSchema),
1206
- cc: z30.array(MailUserSchema),
1207
- bcc: z30.array(MailUserSchema),
1617
+ var MessagesAndLogs = z38.array(z38.union([MessageSchema2, ActivityLogModel]));
1618
+ var MailRoomSchema = z38.object({
1619
+ id: z38.string(),
1620
+ createdAt: z38.date(),
1621
+ updatedAt: z38.date(),
1622
+ deletedAt: z38.date().nullable(),
1623
+ subject: z38.string(),
1624
+ resolved: z38.boolean(),
1625
+ assigneeId: z38.string().nullable(),
1626
+ note: z38.string(),
1627
+ mailId: z38.string(),
1628
+ direction: z38.string(),
1629
+ lastMessageId: z38.string(),
1630
+ firstMessageId: z38.string(),
1631
+ from: z38.array(MailUserSchema),
1632
+ to: z38.array(MailUserSchema),
1633
+ cc: z38.array(MailUserSchema),
1634
+ bcc: z38.array(MailUserSchema),
1208
1635
  firstMessage: MessageSchema2,
1209
1636
  lastMessage: MessageSchema2,
1210
- tags: z30.array(TagSchema2),
1637
+ tags: z38.array(TagSchema2),
1211
1638
  assignee: UserModel,
1212
- messages: z30.array(MessageSchema2),
1639
+ messages: z38.array(MessageSchema2),
1213
1640
  messagesAndLogs: MessagesAndLogs,
1214
1641
  mail: MailAccountSchema,
1215
- unReadMessageCount: z30.number()
1216
- });
1217
- var AttachmentSchema2 = z30.object({
1218
- fileName: z30.string(),
1219
- fileType: z30.string(),
1220
- emailEngineAttachmentId: z30.string(),
1221
- uploadId: z30.string(),
1222
- messageId: z30.string(),
1223
- roomId: z30.string(),
1642
+ unReadMessageCount: z38.number()
1643
+ });
1644
+ var AttachmentSchema2 = z38.object({
1645
+ fileName: z38.string(),
1646
+ fileType: z38.string(),
1647
+ emailEngineAttachmentId: z38.string(),
1648
+ uploadId: z38.string(),
1649
+ messageId: z38.string(),
1650
+ roomId: z38.string(),
1224
1651
  upload: UploadSchema
1225
1652
  });
1226
1653
 
1227
1654
  // src/mail/room-contract.ts
1228
- var roomContract = initContract8().router(
1655
+ var roomContract = initContract12().router(
1229
1656
  {
1230
1657
  create: {
1231
1658
  method: "POST",
1232
1659
  path: "/",
1233
1660
  responses: {
1234
1661
  200: DefaultSuccessResponseSchema.extend({
1235
- message: z31.string()
1662
+ message: z39.string()
1236
1663
  }),
1237
1664
  ...DefaultResponses
1238
1665
  },
@@ -1242,21 +1669,19 @@ var roomContract = initContract8().router(
1242
1669
  getAll: {
1243
1670
  method: "GET",
1244
1671
  path: "",
1245
- query: z31.object({
1246
- page: z31.coerce.number().default(1),
1247
- pageSize: z31.coerce.number().default(10),
1248
- keyword: z31.string().optional(),
1249
- assigneeId: z31.string().uuid().optional().nullable(),
1250
- resolved: z31.boolean().or(z31.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
1672
+ query: z39.object({
1673
+ page: z39.coerce.number().default(1),
1674
+ pageSize: z39.coerce.number().default(10),
1675
+ keyword: z39.string().optional(),
1676
+ assigneeId: z39.string().uuid().optional().nullable(),
1677
+ resolved: z39.boolean().or(z39.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
1251
1678
  }),
1252
1679
  responses: {
1253
1680
  200: DefaultSuccessResponseSchema.extend({
1254
- data: z31.object({
1255
- data: z31.array(MailRoomSchema),
1256
- total: z31.number(),
1257
- page: z31.number(),
1258
- pageSize: z31.number()
1259
- })
1681
+ data: z39.array(MailRoomSchema),
1682
+ total: z39.number(),
1683
+ page: z39.number(),
1684
+ pageSize: z39.number()
1260
1685
  }),
1261
1686
  ...DefaultResponses
1262
1687
  },
@@ -1265,8 +1690,8 @@ var roomContract = initContract8().router(
1265
1690
  getById: {
1266
1691
  method: "GET",
1267
1692
  path: "/:id",
1268
- pathParams: z31.object({
1269
- id: z31.string().uuid()
1693
+ pathParams: z39.object({
1694
+ id: z39.string().uuid()
1270
1695
  }),
1271
1696
  responses: {
1272
1697
  200: DefaultSuccessResponseSchema.extend({
@@ -1279,12 +1704,12 @@ var roomContract = initContract8().router(
1279
1704
  getAttachments: {
1280
1705
  method: "GET",
1281
1706
  path: "/:id/attachments",
1282
- pathParams: z31.object({
1283
- id: z31.string().uuid()
1707
+ pathParams: z39.object({
1708
+ id: z39.string().uuid()
1284
1709
  }),
1285
1710
  responses: {
1286
1711
  200: DefaultSuccessResponseSchema.extend({
1287
- data: z31.array(AttachmentSchema2)
1712
+ data: z39.array(AttachmentSchema2)
1288
1713
  }),
1289
1714
  ...DefaultResponses
1290
1715
  },
@@ -1293,12 +1718,12 @@ var roomContract = initContract8().router(
1293
1718
  getParticipants: {
1294
1719
  method: "GET",
1295
1720
  path: "/:id/participants",
1296
- pathParams: z31.object({
1297
- id: z31.string().uuid()
1721
+ pathParams: z39.object({
1722
+ id: z39.string().uuid()
1298
1723
  }),
1299
1724
  responses: {
1300
1725
  200: DefaultSuccessResponseSchema.extend({
1301
- data: z31.array(MailUserSchema)
1726
+ data: z39.array(MailUserSchema)
1302
1727
  }),
1303
1728
  ...DefaultResponses
1304
1729
  },
@@ -1307,8 +1732,8 @@ var roomContract = initContract8().router(
1307
1732
  update: {
1308
1733
  method: "PATCH",
1309
1734
  path: "/:id",
1310
- pathParams: z31.object({
1311
- id: z31.string()
1735
+ pathParams: z39.object({
1736
+ id: z39.string()
1312
1737
  }),
1313
1738
  responses: {
1314
1739
  200: DefaultSuccessResponseSchema.extend({
@@ -1316,15 +1741,15 @@ var roomContract = initContract8().router(
1316
1741
  }),
1317
1742
  ...DefaultResponses
1318
1743
  },
1319
- body: z31.object({
1320
- resolved: z31.boolean().or(
1321
- z31.union([z31.literal("true"), z31.literal("false")]).transform((value) => value.toLowerCase() === "true")
1744
+ body: z39.object({
1745
+ resolved: z39.boolean().or(
1746
+ z39.union([z39.literal("true"), z39.literal("false")]).transform((value) => value.toLowerCase() === "true")
1322
1747
  ).optional().nullable(),
1323
- assigneeId: z31.string().uuid().optional().nullable(),
1324
- note: z31.string().optional(),
1325
- tags: z31.array(z31.string().uuid()).optional(),
1326
- handover: z31.boolean().or(
1327
- z31.union([z31.literal("true"), z31.literal("false")]).transform((value) => value.toLowerCase() === "true")
1748
+ assigneeId: z39.string().uuid().optional().nullable(),
1749
+ note: z39.string().optional(),
1750
+ tags: z39.array(z39.string().uuid()).optional(),
1751
+ handover: z39.boolean().or(
1752
+ z39.union([z39.literal("true"), z39.literal("false")]).transform((value) => value.toLowerCase() === "true")
1328
1753
  ).optional().nullable()
1329
1754
  }),
1330
1755
  summary: "Update a mail room by id"
@@ -1332,12 +1757,12 @@ var roomContract = initContract8().router(
1332
1757
  markAsRead: {
1333
1758
  method: "GET",
1334
1759
  path: "/:id",
1335
- pathParams: z31.object({
1336
- id: z31.string().uuid()
1760
+ pathParams: z39.object({
1761
+ id: z39.string().uuid()
1337
1762
  }),
1338
1763
  responses: {
1339
1764
  200: DefaultSuccessResponseSchema.extend({
1340
- message: z31.string()
1765
+ message: z39.string()
1341
1766
  }),
1342
1767
  ...DefaultResponses
1343
1768
  },
@@ -1350,55 +1775,55 @@ var roomContract = initContract8().router(
1350
1775
  );
1351
1776
 
1352
1777
  // src/mail/account-contract.ts
1353
- import { initContract as initContract9 } from "@ts-rest/core";
1354
- import z33 from "zod";
1778
+ import { initContract as initContract13 } from "@ts-rest/core";
1779
+ import z41 from "zod";
1355
1780
 
1356
1781
  // src/mail/schemas/account-validation.schema.ts
1357
- import z32 from "zod";
1782
+ import z40 from "zod";
1358
1783
  var AccountContractsValidationSchemas = {
1359
1784
  create: {
1360
- input: z32.object({
1361
- address: z32.string().email("Email address must be valid email."),
1362
- name: z32.string().min(1, "Account name cannot be empty."),
1363
- password: z32.string().min(1, "Password cannot be empty."),
1364
- mailServerId: z32.string().uuid("Invalid mail_server_id")
1785
+ input: z40.object({
1786
+ address: z40.string().email("Email address must be valid email."),
1787
+ name: z40.string().min(1, "Account name cannot be empty."),
1788
+ password: z40.string().min(1, "Password cannot be empty."),
1789
+ mailServerId: z40.string().uuid("Invalid mail_server_id")
1365
1790
  })
1366
1791
  },
1367
1792
  getById: {
1368
- input: z32.object({
1369
- id: z32.string().uuid()
1793
+ input: z40.object({
1794
+ id: z40.string().uuid()
1370
1795
  }),
1371
1796
  output: MailAccountSchema
1372
1797
  },
1373
1798
  getAll: {
1374
- output: z32.array(MailAccountSchema)
1799
+ output: z40.array(MailAccountSchema)
1375
1800
  },
1376
1801
  update: {
1377
1802
  input: MailAccountSchema,
1378
1803
  output: MailAccountSchema
1379
1804
  },
1380
1805
  disconnect: {
1381
- input: z32.object({
1382
- id: z32.string().uuid()
1806
+ input: z40.object({
1807
+ id: z40.string().uuid()
1383
1808
  }),
1384
1809
  output: MailAccountSchema
1385
1810
  },
1386
1811
  reconnect: {
1387
- input: z32.object({
1388
- id: z32.string()
1812
+ input: z40.object({
1813
+ id: z40.string()
1389
1814
  }),
1390
1815
  output: MailAccountSchema
1391
1816
  },
1392
1817
  delete: {
1393
- input: z32.object({
1394
- id: z32.string()
1818
+ input: z40.object({
1819
+ id: z40.string()
1395
1820
  }),
1396
1821
  output: MailAccountSchema
1397
1822
  }
1398
1823
  };
1399
1824
 
1400
1825
  // src/mail/account-contract.ts
1401
- var accountContract = initContract9().router(
1826
+ var accountContract = initContract13().router(
1402
1827
  {
1403
1828
  //#region ........register account
1404
1829
  create: {
@@ -1407,16 +1832,16 @@ var accountContract = initContract9().router(
1407
1832
  responses: {
1408
1833
  201: DefaultSuccessResponseSchema.extend({
1409
1834
  // data: AccountContractsValidationSchemas.create.output,
1410
- message: z33.string()
1835
+ message: z41.string()
1411
1836
  }),
1412
- 400: z33.object({
1413
- message: z33.string()
1837
+ 400: z41.object({
1838
+ message: z41.string()
1414
1839
  }),
1415
- 409: z33.object({
1416
- message: z33.string()
1840
+ 409: z41.object({
1841
+ message: z41.string()
1417
1842
  }),
1418
- 500: z33.object({
1419
- message: z33.string()
1843
+ 500: z41.object({
1844
+ message: z41.string()
1420
1845
  }),
1421
1846
  ...DefaultResponses
1422
1847
  },
@@ -1445,7 +1870,7 @@ var accountContract = initContract9().router(
1445
1870
  path: "",
1446
1871
  responses: {
1447
1872
  200: DefaultSuccessResponseSchema.extend({
1448
- data: z33.any()
1873
+ data: z41.any()
1449
1874
  // data: AccountContractsValidationSchemas.getAll.output,
1450
1875
  }),
1451
1876
  ...DefaultResponses
@@ -1457,8 +1882,8 @@ var accountContract = initContract9().router(
1457
1882
  update: {
1458
1883
  method: "PATCH",
1459
1884
  path: "/:id",
1460
- pathParams: z33.object({
1461
- id: z33.string().uuid()
1885
+ pathParams: z41.object({
1886
+ id: z41.string().uuid()
1462
1887
  }),
1463
1888
  responses: {
1464
1889
  201: DefaultSuccessResponseSchema.extend({
@@ -1507,7 +1932,7 @@ var accountContract = initContract9().router(
1507
1932
  pathParams: AccountContractsValidationSchemas.delete.input,
1508
1933
  responses: {
1509
1934
  200: DefaultSuccessResponseSchema.extend({
1510
- message: z33.string()
1935
+ message: z41.string()
1511
1936
  }),
1512
1937
  ...DefaultResponses
1513
1938
  },
@@ -1523,16 +1948,16 @@ var accountContract = initContract9().router(
1523
1948
  );
1524
1949
 
1525
1950
  // src/mail/mail-server-contract.ts
1526
- import { initContract as initContract10 } from "@ts-rest/core";
1527
- import z34 from "zod";
1528
- var serverContract = initContract10().router(
1951
+ import { initContract as initContract14 } from "@ts-rest/core";
1952
+ import z42 from "zod";
1953
+ var serverContract = initContract14().router(
1529
1954
  {
1530
1955
  create: {
1531
1956
  method: "POST",
1532
1957
  path: "/",
1533
1958
  responses: {
1534
1959
  200: DefaultSuccessResponseSchema.extend({
1535
- message: z34.string()
1960
+ message: z42.string()
1536
1961
  }),
1537
1962
  ...DefaultResponses
1538
1963
  },
@@ -1542,12 +1967,12 @@ var serverContract = initContract10().router(
1542
1967
  get: {
1543
1968
  method: "GET",
1544
1969
  path: "/:id",
1545
- pathParams: z34.object({
1546
- id: z34.string()
1970
+ pathParams: z42.object({
1971
+ id: z42.string()
1547
1972
  }),
1548
1973
  responses: {
1549
1974
  200: DefaultSuccessResponseSchema.extend({
1550
- message: z34.string()
1975
+ message: z42.string()
1551
1976
  }),
1552
1977
  ...DefaultResponses
1553
1978
  },
@@ -1556,12 +1981,12 @@ var serverContract = initContract10().router(
1556
1981
  update: {
1557
1982
  method: "PATCH",
1558
1983
  path: "/:id",
1559
- pathParams: z34.object({
1560
- id: z34.string()
1984
+ pathParams: z42.object({
1985
+ id: z42.string()
1561
1986
  }),
1562
1987
  responses: {
1563
1988
  200: DefaultSuccessResponseSchema.extend({
1564
- message: z34.string()
1989
+ message: z42.string()
1565
1990
  }),
1566
1991
  ...DefaultResponses
1567
1992
  },
@@ -1571,12 +1996,12 @@ var serverContract = initContract10().router(
1571
1996
  delete: {
1572
1997
  method: "PATCH",
1573
1998
  path: "/:id",
1574
- pathParams: z34.object({
1575
- id: z34.string()
1999
+ pathParams: z42.object({
2000
+ id: z42.string()
1576
2001
  }),
1577
2002
  responses: {
1578
2003
  200: DefaultSuccessResponseSchema.extend({
1579
- message: z34.string()
2004
+ message: z42.string()
1580
2005
  }),
1581
2006
  ...DefaultResponses
1582
2007
  },
@@ -1590,51 +2015,51 @@ var serverContract = initContract10().router(
1590
2015
  );
1591
2016
 
1592
2017
  // src/mail/message-contract.ts
1593
- import { initContract as initContract11 } from "@ts-rest/core";
1594
- import z36 from "zod";
2018
+ import { initContract as initContract15 } from "@ts-rest/core";
2019
+ import z44 from "zod";
1595
2020
 
1596
2021
  // src/mail/schemas/message-validation.schema.ts
1597
- import z35 from "zod";
1598
- var MailParticipant = z35.object({
1599
- name: z35.string().optional(),
1600
- address: z35.string().email()
2022
+ import z43 from "zod";
2023
+ var MailParticipant = z43.object({
2024
+ name: z43.string().optional(),
2025
+ address: z43.string().email()
1601
2026
  });
1602
2027
  var MessageContractsValidationsSchema = {
1603
2028
  submit: {
1604
- input: z35.object({
1605
- subject: z35.string(),
1606
- text: z35.string(),
1607
- html: z35.string(),
2029
+ input: z43.object({
2030
+ subject: z43.string(),
2031
+ text: z43.string(),
2032
+ html: z43.string(),
1608
2033
  from: MailParticipant,
1609
- to: z35.array(MailParticipant),
1610
- cc: z35.array(MailParticipant).optional(),
1611
- bcc: z35.array(MailParticipant).optional(),
1612
- reference: z35.object({
1613
- messageId: z35.string(),
1614
- action: z35.union([z35.literal("reply"), z35.literal("forward")])
2034
+ to: z43.array(MailParticipant),
2035
+ cc: z43.array(MailParticipant).optional(),
2036
+ bcc: z43.array(MailParticipant).optional(),
2037
+ reference: z43.object({
2038
+ messageId: z43.string(),
2039
+ action: z43.union([z43.literal("reply"), z43.literal("forward")])
1615
2040
  }).optional(),
1616
- attachments: z35.array(
1617
- z35.object({
1618
- fileType: z35.string(),
1619
- fileName: z35.string(),
1620
- fileKey: z35.string(),
1621
- fileSize: z35.number(),
1622
- bucketName: z35.string(),
1623
- presignedUrl: z35.string()
2041
+ attachments: z43.array(
2042
+ z43.object({
2043
+ fileType: z43.string(),
2044
+ fileName: z43.string(),
2045
+ fileKey: z43.string(),
2046
+ fileSize: z43.number(),
2047
+ bucketName: z43.string(),
2048
+ presignedUrl: z43.string()
1624
2049
  })
1625
2050
  ).optional()
1626
2051
  }),
1627
- output: z35.object({
1628
- response: z35.string(),
1629
- messageId: z35.string(),
1630
- sendAt: z35.string(),
1631
- queueId: z35.string()
2052
+ output: z43.object({
2053
+ response: z43.string(),
2054
+ messageId: z43.string(),
2055
+ sendAt: z43.string(),
2056
+ queueId: z43.string()
1632
2057
  })
1633
2058
  }
1634
2059
  };
1635
2060
 
1636
2061
  // src/mail/message-contract.ts
1637
- var messageContract = initContract11().router(
2062
+ var messageContract = initContract15().router(
1638
2063
  {
1639
2064
  submit: {
1640
2065
  method: "POST",
@@ -1653,8 +2078,8 @@ var messageContract = initContract11().router(
1653
2078
  getById: {
1654
2079
  method: "GET",
1655
2080
  path: "/:id",
1656
- pathParams: z36.object({
1657
- id: z36.string()
2081
+ pathParams: z44.object({
2082
+ id: z44.string()
1658
2083
  }),
1659
2084
  responses: {
1660
2085
  200: DefaultSuccessResponseSchema.extend({
@@ -1672,31 +2097,155 @@ var messageContract = initContract11().router(
1672
2097
  );
1673
2098
 
1674
2099
  // src/mail/mail-contract.ts
1675
- var mailContract = initContract12().router({
2100
+ var mailContract = initContract16().router({
1676
2101
  room: roomContract,
1677
2102
  message: messageContract,
1678
2103
  account: accountContract,
1679
2104
  server: serverContract
1680
2105
  });
1681
2106
 
1682
- // src/tag/index.ts
1683
- import { initContract as initContract13 } from "@ts-rest/core";
1684
- import z38 from "zod";
2107
+ // src/messenger/index.ts
2108
+ import { initContract as initContract17 } from "@ts-rest/core";
2109
+ var messengerContract = initContract17().router({
2110
+ sendMessage: {
2111
+ method: "POST",
2112
+ path: "/message",
2113
+ body: SendMessageToPlatformSchema,
2114
+ responses: {
2115
+ 200: DefaultSuccessResponseSchema
2116
+ }
2117
+ }
2118
+ }, {
2119
+ baseHeaders: DefaultHeaderSchema
2120
+ });
2121
+
2122
+ // src/permission/index.ts
2123
+ import { initContract as initContract18 } from "@ts-rest/core";
2124
+ import z45 from "zod";
2125
+ var permissionContract = initContract18().router(
2126
+ {
2127
+ getPermissions: {
2128
+ method: "GET",
2129
+ path: "",
2130
+ headers: DefaultHeaderSchema,
2131
+ responses: {
2132
+ 200: z45.object({ permissions: PermissionSchema.array() }),
2133
+ 400: z45.object({
2134
+ message: z45.string()
2135
+ }),
2136
+ 401: DefaultUnauthorizedSchema,
2137
+ 500: DefaultErrorResponseSchema
2138
+ },
2139
+ summary: "Get all permissions"
2140
+ }
2141
+ },
2142
+ { pathPrefix: "permission" }
2143
+ );
2144
+
2145
+ // src/role/index.ts
2146
+ import { initContract as initContract19 } from "@ts-rest/core";
2147
+ import z47 from "zod";
2148
+
2149
+ // src/role/validation.ts
2150
+ import { z as z46 } from "zod";
2151
+ var CreateRoleSchema = z46.object({
2152
+ systemName: z46.string(),
2153
+ displayName: z46.string(),
2154
+ description: z46.string().nullable(),
2155
+ permissions: z46.array(z46.string())
2156
+ });
2157
+ var UpdateRoleSchema = CreateRoleSchema;
2158
+
2159
+ // src/role/index.ts
2160
+ var roleContract = initContract19().router(
2161
+ {
2162
+ createRole: {
2163
+ method: "POST",
2164
+ path: "",
2165
+ headers: DefaultHeaderSchema,
2166
+ body: CreateRoleSchema,
2167
+ responses: {
2168
+ 201: DefaultSuccessResponseSchema.extend({
2169
+ role: RoleSchema
2170
+ }),
2171
+ 400: z47.object({
2172
+ message: z47.string()
2173
+ }),
2174
+ 401: DefaultUnauthorizedSchema,
2175
+ 500: DefaultErrorResponseSchema
2176
+ },
2177
+ summary: "Create a role."
2178
+ },
2179
+ getRoles: {
2180
+ method: "GET",
2181
+ path: "",
2182
+ query: z47.object({
2183
+ page: z47.coerce.number().default(1),
2184
+ pageSize: z47.coerce.number().default(10)
2185
+ }).optional(),
2186
+ headers: DefaultHeaderSchema,
2187
+ responses: {
2188
+ 200: WithPagination(RoleSchema),
2189
+ 400: z47.object({
2190
+ message: z47.string()
2191
+ }),
2192
+ 401: DefaultUnauthorizedSchema,
2193
+ 500: DefaultErrorResponseSchema
2194
+ },
2195
+ summary: "Get all roles"
2196
+ },
2197
+ updateRole: {
2198
+ method: "PATCH",
2199
+ path: "/:id",
2200
+ pathParams: z47.object({ id: z47.string() }),
2201
+ headers: DefaultHeaderSchema,
2202
+ body: UpdateRoleSchema,
2203
+ responses: {
2204
+ 201: DefaultSuccessResponseSchema.extend({
2205
+ role: RoleSchema
2206
+ }),
2207
+ 400: z47.object({
2208
+ message: z47.string()
2209
+ }),
2210
+ 401: DefaultUnauthorizedSchema,
2211
+ 500: DefaultErrorResponseSchema
2212
+ },
2213
+ summary: "Update a role."
2214
+ },
2215
+ deleteRole: {
2216
+ method: "DELETE",
2217
+ path: "/:id",
2218
+ pathParams: z47.object({ id: z47.string() }),
2219
+ headers: DefaultHeaderSchema,
2220
+ body: null,
2221
+ responses: {
2222
+ 200: DefaultSuccessResponseSchema.extend({ message: z47.string() }),
2223
+ 500: DefaultErrorResponseSchema
2224
+ },
2225
+ summary: "Delete a role."
2226
+ }
2227
+ },
2228
+ { pathPrefix: "role" }
2229
+ );
2230
+
2231
+ // src/tag/index.ts
2232
+ import { initContract as initContract20 } from "@ts-rest/core";
2233
+ import z49 from "zod";
1685
2234
 
1686
2235
  // src/tag/validation.ts
1687
- import { z as z37 } from "zod";
1688
- var CreateTagSchema = z37.object({
1689
- name: z37.string(),
2236
+ import { z as z48 } from "zod";
2237
+ var CreateTagSchema = z48.object({
2238
+ name: z48.string(),
1690
2239
  group: TagGroupSchema
1691
2240
  });
1692
- var GetTagsSchema = z37.object({
2241
+ var GetTagsSchema = z48.object({
1693
2242
  group: TagGroupSchema.default("general"),
1694
- keyword: z37.string()
2243
+ keyword: z48.string()
1695
2244
  }).partial().optional();
1696
- var UpdateTagSchema = z37.object({ name: z37.string() });
2245
+ var UpdateTagSchema = z48.object({ name: z48.string() });
1697
2246
 
1698
2247
  // src/tag/index.ts
1699
- var tagContract = initContract13().router(
2248
+ var tagContract = initContract20().router(
1700
2249
  {
1701
2250
  createTag: {
1702
2251
  method: "POST",
@@ -1716,7 +2265,7 @@ var tagContract = initContract13().router(
1716
2265
  query: GetTagsSchema,
1717
2266
  responses: {
1718
2267
  200: DefaultSuccessResponseSchema.extend({
1719
- tags: z38.array(TagSchema)
2268
+ tags: z49.array(TagSchema)
1720
2269
  }),
1721
2270
  500: DefaultErrorResponseSchema
1722
2271
  },
@@ -1725,7 +2274,7 @@ var tagContract = initContract13().router(
1725
2274
  updateTag: {
1726
2275
  method: "PATCH",
1727
2276
  path: "/:id",
1728
- pathParams: z38.object({ id: z38.string() }),
2277
+ pathParams: z49.object({ id: z49.string() }),
1729
2278
  body: UpdateTagSchema,
1730
2279
  responses: {
1731
2280
  200: DefaultSuccessResponseSchema.extend({
@@ -1738,11 +2287,11 @@ var tagContract = initContract13().router(
1738
2287
  deleteTag: {
1739
2288
  method: "DELETE",
1740
2289
  path: "/:id",
1741
- pathParams: z38.object({ id: z38.string() }),
1742
- body: z38.any().optional(),
2290
+ pathParams: z49.object({ id: z49.string() }),
2291
+ body: z49.any().optional(),
1743
2292
  // We don't need the body.
1744
2293
  responses: {
1745
- 200: DefaultSuccessResponseSchema.extend({ message: z38.string() }),
2294
+ 200: DefaultSuccessResponseSchema.extend({ message: z49.string() }),
1746
2295
  500: DefaultErrorResponseSchema
1747
2296
  },
1748
2297
  headers: DefaultHeaderSchema
@@ -1753,255 +2302,176 @@ var tagContract = initContract13().router(
1753
2302
  }
1754
2303
  );
1755
2304
 
1756
- // src/extension/index.ts
1757
- import { initContract as initContract14 } from "@ts-rest/core";
1758
- import z40 from "zod";
2305
+ // src/telephony-agent-presence-status/index.ts
2306
+ import { initContract as initContract21 } from "@ts-rest/core";
2307
+ import z52 from "zod";
1759
2308
 
1760
- // src/extension/validation.ts
1761
- import { z as z39 } from "zod";
1762
- var CreateExtensionSchema = z39.object({
1763
- userId: z39.string().nullable(),
1764
- sipServerUrl: z39.string(),
1765
- sipUserName: z39.string(),
1766
- extensionId: z39.coerce.number().nullable(),
1767
- extensionName: z39.string().nullable(),
1768
- telephonySignature: z39.string().nullable()
2309
+ // src/telephony-agent-presence-status/schema.ts
2310
+ import z50 from "zod";
2311
+ var PresenceStatusSchema = DefaultEntitySchema.extend({
2312
+ status: z50.string(),
2313
+ description: z50.string()
2314
+ });
2315
+ var UserPresenceStatusSchema = DefaultEntitySchema.extend({
2316
+ user: UserSchema,
2317
+ presenceStatus: PresenceStatusSchema,
2318
+ customPresenceStatus: z50.string().nullable().optional()
1769
2319
  });
1770
- var UpdateExtensionSchema = CreateExtensionSchema;
1771
2320
 
1772
- // src/extension/index.ts
1773
- var extensionContract = initContract14().router(
2321
+ // src/telephony-agent-presence-status/validation.ts
2322
+ import { z as z51 } from "zod";
2323
+ var UpdateUserStatusSchema = z51.object({
2324
+ userId: z51.string(),
2325
+ presenceStatusId: z51.string().nullable().optional(),
2326
+ customPreseneStatus: z51.string().nullable().optional(),
2327
+ reason: z51.string()
2328
+ });
2329
+
2330
+ // src/telephony-agent-presence-status/index.ts
2331
+ var telephonyAgentPresenceStatusContract = initContract21().router(
1774
2332
  {
1775
- createExtension: {
1776
- method: "POST",
1777
- path: "",
2333
+ getAllStatus: {
2334
+ method: "GET",
2335
+ path: "/presence_status",
1778
2336
  headers: DefaultHeaderSchema,
1779
- body: CreateExtensionSchema,
1780
2337
  responses: {
1781
- 201: DefaultSuccessResponseSchema.extend({
1782
- extension: ExtensionSchema
1783
- }),
1784
- 400: z40.object({
1785
- message: z40.string()
2338
+ 200: z52.array(PresenceStatusSchema),
2339
+ 400: z52.object({
2340
+ message: z52.string()
1786
2341
  }),
1787
2342
  401: DefaultUnauthorizedSchema,
1788
2343
  500: DefaultErrorResponseSchema
1789
2344
  },
1790
- summary: "Create a extension."
2345
+ summary: "Get all telephony presence status list."
1791
2346
  },
1792
- getExtensions: {
2347
+ getAllAgentStatus: {
1793
2348
  method: "GET",
1794
- path: "",
1795
- query: z40.object({
1796
- page: z40.coerce.number().default(1),
1797
- pageSize: z40.coerce.number().default(10),
1798
- keyword: z40.string().optional()
1799
- }).optional(),
2349
+ path: "/agents/presence_status",
1800
2350
  headers: DefaultHeaderSchema,
1801
2351
  responses: {
1802
- 200: WithPagination(ExtensionSchema),
1803
- 400: z40.object({
1804
- message: z40.string()
2352
+ 200: z52.array(UserPresenceStatusSchema),
2353
+ 400: z52.object({
2354
+ message: z52.string()
1805
2355
  }),
1806
2356
  401: DefaultUnauthorizedSchema,
1807
2357
  500: DefaultErrorResponseSchema
1808
2358
  },
1809
- summary: "Get all extensions"
2359
+ summary: "Get all user presence status list."
1810
2360
  },
1811
- getExtensionByUserId: {
2361
+ getAgentStatus: {
1812
2362
  method: "GET",
1813
- path: "/user/:userId",
1814
- pathParams: z40.object({ userId: z40.string() }),
2363
+ path: "/presence_status/check_update/:userId",
2364
+ pathParams: z52.object({ userId: z52.string() }),
1815
2365
  headers: DefaultHeaderSchema,
1816
2366
  responses: {
1817
- 200: ExtensionSchema,
1818
- 400: z40.object({
1819
- message: z40.string()
2367
+ 200: UserPresenceStatusSchema,
2368
+ 400: z52.object({
2369
+ message: z52.string()
1820
2370
  }),
1821
2371
  401: DefaultUnauthorizedSchema,
1822
2372
  500: DefaultErrorResponseSchema
1823
2373
  },
1824
- summary: "Get extension by user id"
2374
+ summary: "Check and update user agent status before getting from telephony server."
1825
2375
  },
1826
- getExtensionByDialpad: {
1827
- method: "GET",
1828
- path: "/dialpad",
1829
- query: z40.object({
1830
- page: z40.coerce.number().default(1),
1831
- pageSize: z40.coerce.number().default(10),
1832
- keyword: z40.string().optional()
1833
- }).optional(),
1834
- headers: DefaultHeaderSchema,
1835
- responses: {
1836
- 200: WithPagination(ExtensionSchema),
1837
- 500: DefaultErrorResponseSchema,
1838
- 400: z40.object({
1839
- message: z40.string()
1840
- }),
1841
- 401: DefaultUnauthorizedSchema
1842
- },
1843
- summary: "Get by dialpad"
1844
- },
1845
- updateExtension: {
1846
- method: "PATCH",
1847
- path: "/:id",
1848
- pathParams: z40.object({ id: z40.string() }),
2376
+ updateUserStatus: {
2377
+ method: "POST",
2378
+ path: "/presence_status/user",
1849
2379
  headers: DefaultHeaderSchema,
1850
- body: UpdateExtensionSchema,
2380
+ body: UpdateUserStatusSchema,
1851
2381
  responses: {
1852
2382
  200: DefaultSuccessResponseSchema.extend({
1853
- extension: ExtensionSchema
2383
+ userPresenceStatu: UserPresenceStatusSchema
1854
2384
  }),
1855
- 500: DefaultErrorResponseSchema
1856
- },
1857
- summary: "Update a extension."
1858
- },
1859
- deleteExtension: {
1860
- method: "DELETE",
1861
- path: "/:id",
1862
- pathParams: z40.object({ id: z40.string() }),
1863
- headers: DefaultHeaderSchema,
1864
- body: null,
1865
- responses: {
1866
- 200: DefaultSuccessResponseSchema.extend({ message: z40.string() }),
1867
- 500: DefaultErrorResponseSchema
1868
- },
1869
- summary: "Delete a extension."
1870
- }
1871
- },
1872
- { pathPrefix: "extension" }
1873
- );
1874
-
1875
- // src/permission/index.ts
1876
- import { initContract as initContract15 } from "@ts-rest/core";
1877
- import z41 from "zod";
1878
- var permissionContract = initContract15().router(
1879
- {
1880
- getPermissions: {
1881
- method: "GET",
1882
- path: "",
1883
- headers: DefaultHeaderSchema,
1884
- responses: {
1885
- 200: z41.object({ permissions: PermissionSchema.array() }),
1886
- 400: z41.object({
1887
- message: z41.string()
2385
+ 400: z52.object({
2386
+ message: z52.string()
1888
2387
  }),
1889
2388
  401: DefaultUnauthorizedSchema,
1890
2389
  500: DefaultErrorResponseSchema
1891
2390
  },
1892
- summary: "Get all permissions"
2391
+ summary: "Update presence status"
1893
2392
  }
1894
2393
  },
1895
- { pathPrefix: "permission" }
2394
+ { pathPrefix: "telephony" }
1896
2395
  );
1897
2396
 
1898
- // src/role/index.ts
1899
- import { initContract as initContract16 } from "@ts-rest/core";
1900
- import z43 from "zod";
2397
+ // src/telephony-extension/index.ts
2398
+ import { initContract as initContract22 } from "@ts-rest/core";
2399
+ import z54 from "zod";
1901
2400
 
1902
- // src/role/validation.ts
1903
- import { z as z42 } from "zod";
1904
- var CreateRoleSchema = z42.object({
1905
- systemName: z42.string(),
1906
- displayName: z42.string(),
1907
- description: z42.string().nullable(),
1908
- permissions: z42.array(z42.string())
2401
+ // src/telephony-extension/schema.ts
2402
+ import z53 from "zod";
2403
+ var TelephonyExtensionSchema = z53.object({
2404
+ errcode: z53.coerce.number(),
2405
+ errmsg: z53.string(),
2406
+ total_number: z53.coerce.number(),
2407
+ data: z53.array(
2408
+ z53.object({
2409
+ id: z53.coerce.number(),
2410
+ online_status: z53.object({
2411
+ fx_phone: z53.object({ status: z53.coerce.number() }),
2412
+ sip_phone: z53.object({
2413
+ status: z53.coerce.number(),
2414
+ ext_dev_type: z53.string().optional()
2415
+ }),
2416
+ linkus_desktop: z53.object({ status: z53.coerce.number() }),
2417
+ linkus_mobile: z53.object({ status: z53.coerce.number() }),
2418
+ linkus_web: z53.object({
2419
+ status: z53.coerce.number(),
2420
+ ext_dev_type: z53.string().optional()
2421
+ })
2422
+ }).optional(),
2423
+ presence_status: z53.string().optional(),
2424
+ number: z53.string().optional(),
2425
+ caller_id_name: z53.string().optional(),
2426
+ role_name: z53.string().optional(),
2427
+ email_addr: z53.string().optional()
2428
+ })
2429
+ )
1909
2430
  });
1910
- var UpdateRoleSchema = CreateRoleSchema;
1911
2431
 
1912
- // src/role/index.ts
1913
- var roleContract = initContract16().router(
2432
+ // src/telephony-extension/index.ts
2433
+ var telephonyExtensionContract = initContract22().router(
1914
2434
  {
1915
- createRole: {
1916
- method: "POST",
1917
- path: "",
1918
- headers: DefaultHeaderSchema,
1919
- body: CreateRoleSchema,
1920
- responses: {
1921
- 201: DefaultSuccessResponseSchema.extend({
1922
- role: RoleSchema
1923
- }),
1924
- 400: z43.object({
1925
- message: z43.string()
1926
- }),
1927
- 401: DefaultUnauthorizedSchema,
1928
- 500: DefaultErrorResponseSchema
1929
- },
1930
- summary: "Create a role."
1931
- },
1932
- getRoles: {
2435
+ getTelephonyExtensions: {
1933
2436
  method: "GET",
1934
- path: "",
1935
- query: z43.object({
1936
- page: z43.coerce.number().default(1),
1937
- pageSize: z43.coerce.number().default(10)
1938
- }).optional(),
1939
- headers: DefaultHeaderSchema,
1940
- responses: {
1941
- 200: WithPagination(RoleSchema),
1942
- 400: z43.object({
1943
- message: z43.string()
1944
- }),
1945
- 401: DefaultUnauthorizedSchema,
1946
- 500: DefaultErrorResponseSchema
1947
- },
1948
- summary: "Get all roles"
1949
- },
1950
- updateRole: {
1951
- method: "PATCH",
1952
- path: "/:id",
1953
- pathParams: z43.object({ id: z43.string() }),
2437
+ path: "/extension_list",
1954
2438
  headers: DefaultHeaderSchema,
1955
- body: UpdateRoleSchema,
2439
+ query: null,
1956
2440
  responses: {
1957
- 201: DefaultSuccessResponseSchema.extend({
1958
- role: RoleSchema
1959
- }),
1960
- 400: z43.object({
1961
- message: z43.string()
2441
+ 200: TelephonyExtensionSchema,
2442
+ 400: z54.object({
2443
+ message: z54.string()
1962
2444
  }),
1963
2445
  401: DefaultUnauthorizedSchema,
1964
2446
  500: DefaultErrorResponseSchema
1965
2447
  },
1966
- summary: "Update a role."
1967
- },
1968
- deleteRole: {
1969
- method: "DELETE",
1970
- path: "/:id",
1971
- pathParams: z43.object({ id: z43.string() }),
1972
- headers: DefaultHeaderSchema,
1973
- body: null,
1974
- responses: {
1975
- 200: DefaultSuccessResponseSchema.extend({ message: z43.string() }),
1976
- 500: DefaultErrorResponseSchema
1977
- },
1978
- summary: "Delete a role."
2448
+ summary: "Get all extension list by yeastar"
1979
2449
  }
1980
2450
  },
1981
- { pathPrefix: "role" }
2451
+ { pathPrefix: "telephony" }
1982
2452
  );
1983
2453
 
1984
2454
  // src/user/index.ts
1985
- import { initContract as initContract17 } from "@ts-rest/core";
1986
- import z45 from "zod";
2455
+ import { initContract as initContract23 } from "@ts-rest/core";
2456
+ import z56 from "zod";
1987
2457
 
1988
2458
  // src/user/validation.ts
1989
- import { z as z44 } from "zod";
1990
- var CreateUserSchema = z44.object({
1991
- name: z44.string(),
1992
- email: z44.string().email(),
1993
- address: z44.string().nullable(),
1994
- phone: z44.string().nullable(),
1995
- password: z44.string(),
1996
- notificationCount: z44.number().nullable().optional(),
1997
- roles: z44.array(z44.string())
2459
+ import { z as z55 } from "zod";
2460
+ var CreateUserSchema = z55.object({
2461
+ name: z55.string(),
2462
+ email: z55.string().email(),
2463
+ address: z55.string().nullable(),
2464
+ phone: z55.string().nullable(),
2465
+ password: z55.string(),
2466
+ notificationCount: z55.number().nullable().optional(),
2467
+ roles: z55.array(z55.string())
1998
2468
  });
1999
2469
  var UpdateUserSchema = CreateUserSchema.extend({
2000
- newPassword: z44.string()
2470
+ newPassword: z55.string()
2001
2471
  });
2002
2472
 
2003
2473
  // src/user/index.ts
2004
- var userContract = initContract17().router(
2474
+ var userContract = initContract23().router(
2005
2475
  {
2006
2476
  createUser: {
2007
2477
  method: "POST",
@@ -2012,8 +2482,8 @@ var userContract = initContract17().router(
2012
2482
  201: DefaultSuccessResponseSchema.extend({
2013
2483
  user: UserSchema
2014
2484
  }),
2015
- 400: z45.object({
2016
- message: z45.string()
2485
+ 400: z56.object({
2486
+ message: z56.string()
2017
2487
  }),
2018
2488
  401: DefaultUnauthorizedSchema
2019
2489
  },
@@ -2023,15 +2493,15 @@ var userContract = initContract17().router(
2023
2493
  method: "GET",
2024
2494
  path: "",
2025
2495
  headers: DefaultHeaderSchema,
2026
- query: z45.object({
2027
- page: z45.coerce.number().default(1),
2028
- pageSize: z45.coerce.number().default(10),
2029
- keyword: z45.string().optional()
2496
+ query: z56.object({
2497
+ page: z56.coerce.number().default(1),
2498
+ pageSize: z56.coerce.number().default(10),
2499
+ keyword: z56.string().optional()
2030
2500
  }).optional(),
2031
2501
  responses: {
2032
2502
  200: WithPagination(UserSchema),
2033
- 400: z45.object({
2034
- message: z45.string()
2503
+ 400: z56.object({
2504
+ message: z56.string()
2035
2505
  }),
2036
2506
  401: DefaultUnauthorizedSchema,
2037
2507
  500: DefaultErrorResponseSchema
@@ -2041,12 +2511,12 @@ var userContract = initContract17().router(
2041
2511
  getUserById: {
2042
2512
  method: "GET",
2043
2513
  path: "/:id",
2044
- pathParams: z45.object({ id: z45.string() }),
2514
+ pathParams: z56.object({ id: z56.string() }),
2045
2515
  headers: DefaultHeaderSchema,
2046
2516
  responses: {
2047
2517
  200: UserSchema,
2048
- 400: z45.object({
2049
- message: z45.string()
2518
+ 400: z56.object({
2519
+ message: z56.string()
2050
2520
  }),
2051
2521
  401: DefaultUnauthorizedSchema
2052
2522
  },
@@ -2055,15 +2525,15 @@ var userContract = initContract17().router(
2055
2525
  updateUser: {
2056
2526
  method: "PATCH",
2057
2527
  path: "/:id",
2058
- pathParams: z45.object({ id: z45.string() }),
2528
+ pathParams: z56.object({ id: z56.string() }),
2059
2529
  headers: DefaultHeaderSchema,
2060
2530
  body: UpdateUserSchema,
2061
2531
  responses: {
2062
2532
  201: DefaultSuccessResponseSchema.extend({
2063
2533
  role: UserSchema
2064
2534
  }),
2065
- 400: z45.object({
2066
- message: z45.string()
2535
+ 400: z56.object({
2536
+ message: z56.string()
2067
2537
  }),
2068
2538
  401: DefaultUnauthorizedSchema
2069
2539
  },
@@ -2072,11 +2542,11 @@ var userContract = initContract17().router(
2072
2542
  deleteUser: {
2073
2543
  method: "DELETE",
2074
2544
  path: "/:id",
2075
- pathParams: z45.object({ id: z45.string() }),
2545
+ pathParams: z56.object({ id: z56.string() }),
2076
2546
  headers: DefaultHeaderSchema,
2077
2547
  body: null,
2078
2548
  responses: {
2079
- 200: DefaultSuccessResponseSchema.extend({ message: z45.string() }),
2549
+ 200: DefaultSuccessResponseSchema.extend({ message: z56.string() }),
2080
2550
  500: DefaultErrorResponseSchema
2081
2551
  },
2082
2552
  summary: "Delete a user."
@@ -2085,44 +2555,87 @@ var userContract = initContract17().router(
2085
2555
  { pathPrefix: "user" }
2086
2556
  );
2087
2557
 
2558
+ // src/user-presence-status-log/index.ts
2559
+ import { initContract as initContract24 } from "@ts-rest/core";
2560
+ import z59 from "zod";
2561
+
2562
+ // src/user-presence-status-log/schema.ts
2563
+ import z57 from "zod";
2564
+ var UserPresenceStatusLogSchema = DefaultEntitySchema.extend({
2565
+ user: UserSchema,
2566
+ previousPresenceStatus: PresenceStatusSchema,
2567
+ newPresenceStatus: PresenceStatusSchema,
2568
+ reason: z57.string()
2569
+ });
2570
+
2571
+ // src/user-presence-status-log/validation.ts
2572
+ import z58 from "zod";
2573
+ var UserPresenceStatusLogParamsSchema = z58.object({
2574
+ page: z58.coerce.number().default(1),
2575
+ pageSize: z58.coerce.number().default(10),
2576
+ selectedDate: z58.string().optional()
2577
+ }).optional();
2578
+
2579
+ // src/user-presence-status-log/index.ts
2580
+ var userPresenceStatusLogContract = initContract24().router(
2581
+ {
2582
+ getUserPresenceStatusLog: {
2583
+ method: "GET",
2584
+ path: "",
2585
+ query: UserPresenceStatusLogParamsSchema,
2586
+ headers: DefaultHeaderSchema,
2587
+ responses: {
2588
+ 200: WithPagination(UserPresenceStatusLogSchema),
2589
+ 400: z59.object({
2590
+ message: z59.string()
2591
+ }),
2592
+ 401: DefaultUnauthorizedSchema,
2593
+ 500: DefaultErrorResponseSchema
2594
+ },
2595
+ summary: "Get all user presence status log."
2596
+ }
2597
+ },
2598
+ { pathPrefix: "user-presence-status-log" }
2599
+ );
2600
+
2088
2601
  // src/widget/index.ts
2089
- import { initContract as initContract18 } from "@ts-rest/core";
2090
- import z48 from "zod";
2602
+ import { initContract as initContract25 } from "@ts-rest/core";
2603
+ import z62 from "zod";
2091
2604
 
2092
2605
  // src/widget/schema.ts
2093
- import z46 from "zod";
2094
- var FieldsSchema = z46.object({ data: z46.array(z46.string()) });
2095
- var WidgetPositionSchema = z46.union([
2096
- z46.literal("menu"),
2097
- z46.literal("ticket_detail"),
2098
- z46.literal("contact_detail")
2606
+ import z60 from "zod";
2607
+ var FieldsSchema = z60.object({ data: z60.array(z60.string()) });
2608
+ var WidgetPositionSchema = z60.union([
2609
+ z60.literal("menu"),
2610
+ z60.literal("ticket_detail"),
2611
+ z60.literal("contact_detail")
2099
2612
  ]);
2100
2613
  var WidgetSchema = DefaultEntitySchema.extend({
2101
- name: z46.string(),
2102
- description: z46.string().nullable(),
2614
+ name: z60.string(),
2615
+ description: z60.string().nullable(),
2103
2616
  position: WidgetPositionSchema.nullable(),
2104
2617
  fields: FieldsSchema,
2105
- url: z46.string().nullable()
2618
+ url: z60.string()
2106
2619
  });
2107
2620
 
2108
2621
  // src/widget/validation.ts
2109
- import z47 from "zod";
2110
- var CreateWidgetSchema = z47.object({
2111
- name: z47.string(),
2112
- description: z47.string(),
2113
- url: z47.string(),
2622
+ import z61 from "zod";
2623
+ var CreateWidgetSchema = z61.object({
2624
+ name: z61.string(),
2625
+ description: z61.string(),
2626
+ url: z61.string(),
2114
2627
  position: WidgetPositionSchema,
2115
- fields: z47.object({
2628
+ fields: z61.object({
2116
2629
  data: (
2117
2630
  // Array of attribute system names
2118
- z47.array(z47.string())
2631
+ z61.array(z61.string())
2119
2632
  )
2120
2633
  }).optional()
2121
2634
  });
2122
2635
  var UpdateWidgetSchema = CreateWidgetSchema;
2123
2636
 
2124
2637
  // src/widget/index.ts
2125
- var widgetContract = initContract18().router(
2638
+ var widgetContract = initContract25().router(
2126
2639
  {
2127
2640
  createWidget: {
2128
2641
  method: "POST",
@@ -2133,8 +2646,8 @@ var widgetContract = initContract18().router(
2133
2646
  201: DefaultSuccessResponseSchema.extend({
2134
2647
  widget: WidgetSchema
2135
2648
  }),
2136
- 400: z48.object({
2137
- message: z48.string()
2649
+ 400: z62.object({
2650
+ message: z62.string()
2138
2651
  }),
2139
2652
  401: DefaultUnauthorizedSchema,
2140
2653
  500: DefaultErrorResponseSchema
@@ -2144,17 +2657,17 @@ var widgetContract = initContract18().router(
2144
2657
  getWidgets: {
2145
2658
  method: "GET",
2146
2659
  path: "",
2147
- query: z48.object({
2148
- page: z48.coerce.number().default(1),
2149
- pageSize: z48.coerce.number().default(10),
2150
- keyword: z48.coerce.string().optional()
2660
+ query: z62.object({
2661
+ page: z62.coerce.number().default(1),
2662
+ pageSize: z62.coerce.number().default(10),
2663
+ keyword: z62.coerce.string().optional()
2151
2664
  }).optional(),
2152
2665
  headers: DefaultHeaderSchema,
2153
2666
  responses: {
2154
2667
  200: WithPagination(WidgetSchema),
2155
2668
  500: DefaultErrorResponseSchema,
2156
- 400: z48.object({
2157
- message: z48.string()
2669
+ 400: z62.object({
2670
+ message: z62.string()
2158
2671
  }),
2159
2672
  401: DefaultUnauthorizedSchema
2160
2673
  },
@@ -2165,9 +2678,9 @@ var widgetContract = initContract18().router(
2165
2678
  path: "/menu",
2166
2679
  headers: DefaultHeaderSchema,
2167
2680
  responses: {
2168
- 200: z48.array(WidgetSchema),
2169
- 400: z48.object({
2170
- message: z48.string()
2681
+ 200: z62.array(WidgetSchema),
2682
+ 400: z62.object({
2683
+ message: z62.string()
2171
2684
  }),
2172
2685
  401: DefaultUnauthorizedSchema,
2173
2686
  500: DefaultErrorResponseSchema
@@ -2179,9 +2692,9 @@ var widgetContract = initContract18().router(
2179
2692
  path: "/ticket_detail",
2180
2693
  headers: DefaultHeaderSchema,
2181
2694
  responses: {
2182
- 200: z48.array(WidgetSchema),
2183
- 400: z48.object({
2184
- message: z48.string()
2695
+ 200: z62.array(WidgetSchema),
2696
+ 400: z62.object({
2697
+ message: z62.string()
2185
2698
  }),
2186
2699
  401: DefaultUnauthorizedSchema,
2187
2700
  500: DefaultErrorResponseSchema
@@ -2193,9 +2706,9 @@ var widgetContract = initContract18().router(
2193
2706
  path: "/contact_detail",
2194
2707
  headers: DefaultHeaderSchema,
2195
2708
  responses: {
2196
- 200: z48.array(WidgetSchema),
2197
- 400: z48.object({
2198
- message: z48.string()
2709
+ 200: z62.array(WidgetSchema),
2710
+ 400: z62.object({
2711
+ message: z62.string()
2199
2712
  }),
2200
2713
  401: DefaultUnauthorizedSchema,
2201
2714
  500: DefaultErrorResponseSchema
@@ -2205,12 +2718,12 @@ var widgetContract = initContract18().router(
2205
2718
  getWidgetById: {
2206
2719
  method: "GET",
2207
2720
  path: "/:id",
2208
- pathParams: z48.object({ id: z48.string() }),
2721
+ pathParams: z62.object({ id: z62.string() }),
2209
2722
  headers: DefaultHeaderSchema,
2210
2723
  responses: {
2211
2724
  200: WidgetSchema,
2212
- 400: z48.object({
2213
- message: z48.string()
2725
+ 400: z62.object({
2726
+ message: z62.string()
2214
2727
  }),
2215
2728
  401: DefaultUnauthorizedSchema,
2216
2729
  500: DefaultErrorResponseSchema
@@ -2244,14 +2757,14 @@ var widgetContract = initContract18().router(
2244
2757
  updateWidget: {
2245
2758
  method: "PATCH",
2246
2759
  path: "/:id",
2247
- pathParams: z48.object({ id: z48.string() }),
2760
+ pathParams: z62.object({ id: z62.string() }),
2248
2761
  headers: DefaultHeaderSchema,
2249
2762
  responses: {
2250
2763
  201: DefaultSuccessResponseSchema.extend({
2251
2764
  widget: WidgetSchema
2252
2765
  }),
2253
- 400: z48.object({
2254
- message: z48.string()
2766
+ 400: z62.object({
2767
+ message: z62.string()
2255
2768
  }),
2256
2769
  401: DefaultUnauthorizedSchema
2257
2770
  },
@@ -2261,11 +2774,11 @@ var widgetContract = initContract18().router(
2261
2774
  deleteWidget: {
2262
2775
  method: "DELETE",
2263
2776
  path: "/:id",
2264
- pathParams: z48.object({ id: z48.string() }),
2777
+ pathParams: z62.object({ id: z62.string() }),
2265
2778
  headers: DefaultHeaderSchema,
2266
2779
  body: null,
2267
2780
  responses: {
2268
- 200: DefaultSuccessResponseSchema.extend({ message: z48.string() }),
2781
+ 200: DefaultSuccessResponseSchema.extend({ message: z62.string() }),
2269
2782
  500: DefaultErrorResponseSchema
2270
2783
  },
2271
2784
  summary: "Delete a widget."
@@ -2275,33 +2788,33 @@ var widgetContract = initContract18().router(
2275
2788
  );
2276
2789
 
2277
2790
  // src/wrap-up-form/index.ts
2278
- import { initContract as initContract19 } from "@ts-rest/core";
2279
- import z51 from "zod";
2791
+ import { initContract as initContract26 } from "@ts-rest/core";
2792
+ import z65 from "zod";
2280
2793
 
2281
2794
  // src/wrap-up-form/schema.ts
2282
- import z49 from "zod";
2795
+ import z63 from "zod";
2283
2796
  var WrapUpFormSchema = DefaultEntitySchema.extend({
2284
- note: z49.string().nullable(),
2285
- disposition: z49.string().nullable(),
2286
- callFrom: z49.string().nullable(),
2287
- callTo: z49.string().nullable(),
2288
- tags: z49.array(TagSchema)
2797
+ note: z63.string().nullable(),
2798
+ disposition: z63.string().nullable(),
2799
+ callFrom: z63.string().nullable(),
2800
+ callTo: z63.string().nullable(),
2801
+ tags: z63.array(TagSchema)
2289
2802
  });
2290
2803
 
2291
2804
  // src/wrap-up-form/validation.ts
2292
- import { z as z50 } from "zod";
2293
- var CreateWrapUpFormSchema = z50.object({
2294
- note: z50.string().nullable().optional(),
2295
- disposition: z50.string().nullable().optional(),
2296
- callFrom: z50.string().nullable().optional(),
2297
- callTo: z50.string().nullable().optional()
2805
+ import { z as z64 } from "zod";
2806
+ var CreateWrapUpFormSchema = z64.object({
2807
+ note: z64.string().nullable().optional(),
2808
+ disposition: z64.string().nullable().optional(),
2809
+ callFrom: z64.string().nullable().optional(),
2810
+ callTo: z64.string().nullable().optional()
2298
2811
  });
2299
2812
  var UpdateWrapUpFormSchema = CreateWrapUpFormSchema.extend({
2300
- tags: z50.array(z50.string())
2813
+ tags: z64.array(z64.string()).optional()
2301
2814
  });
2302
2815
 
2303
2816
  // src/wrap-up-form/index.ts
2304
- var wrapUpFormContract = initContract19().router(
2817
+ var wrapUpFormContract = initContract26().router(
2305
2818
  {
2306
2819
  createWrapUpForm: {
2307
2820
  method: "POST",
@@ -2312,8 +2825,8 @@ var wrapUpFormContract = initContract19().router(
2312
2825
  201: DefaultSuccessResponseSchema.extend({
2313
2826
  wrapUpForm: WrapUpFormSchema
2314
2827
  }),
2315
- 400: z51.object({
2316
- message: z51.string()
2828
+ 400: z65.object({
2829
+ message: z65.string()
2317
2830
  }),
2318
2831
  401: DefaultUnauthorizedSchema,
2319
2832
  500: DefaultErrorResponseSchema
@@ -2323,15 +2836,15 @@ var wrapUpFormContract = initContract19().router(
2323
2836
  getWrapUpForms: {
2324
2837
  method: "GET",
2325
2838
  path: "",
2326
- query: z51.object({
2327
- page: z51.coerce.number().default(1),
2328
- pageSize: z51.coerce.number().default(10)
2839
+ query: z65.object({
2840
+ page: z65.coerce.number().default(1),
2841
+ pageSize: z65.coerce.number().default(10)
2329
2842
  }).optional(),
2330
2843
  headers: DefaultHeaderSchema,
2331
2844
  responses: {
2332
2845
  200: WithPagination(WrapUpFormSchema),
2333
- 400: z51.object({
2334
- message: z51.string()
2846
+ 400: z65.object({
2847
+ message: z65.string()
2335
2848
  }),
2336
2849
  401: DefaultUnauthorizedSchema,
2337
2850
  500: DefaultErrorResponseSchema
@@ -2341,15 +2854,15 @@ var wrapUpFormContract = initContract19().router(
2341
2854
  updateWrapUpForm: {
2342
2855
  method: "PATCH",
2343
2856
  path: "/:id",
2344
- pathParams: z51.object({ id: z51.string() }),
2857
+ pathParams: z65.object({ id: z65.string() }),
2345
2858
  headers: DefaultHeaderSchema,
2346
2859
  body: UpdateWrapUpFormSchema,
2347
2860
  responses: {
2348
2861
  201: DefaultSuccessResponseSchema.extend({
2349
2862
  wrapUpForm: WrapUpFormSchema
2350
2863
  }),
2351
- 400: z51.object({
2352
- message: z51.string()
2864
+ 400: z65.object({
2865
+ message: z65.string()
2353
2866
  }),
2354
2867
  401: DefaultUnauthorizedSchema,
2355
2868
  500: DefaultErrorResponseSchema
@@ -2360,130 +2873,8 @@ var wrapUpFormContract = initContract19().router(
2360
2873
  { pathPrefix: "wrap-up-form" }
2361
2874
  );
2362
2875
 
2363
- // src/telephony-extension/index.ts
2364
- import { initContract as initContract20 } from "@ts-rest/core";
2365
- import z53 from "zod";
2366
-
2367
- // src/telephony-extension/schema.ts
2368
- import z52 from "zod";
2369
- var TelephonyExtensionSchema = z52.object({
2370
- errcode: z52.coerce.number(),
2371
- errmsg: z52.string(),
2372
- total_number: z52.coerce.number(),
2373
- data: z52.array(
2374
- z52.object({
2375
- id: z52.coerce.number(),
2376
- online_status: z52.object({
2377
- fx_phone: z52.object({ status: z52.coerce.number() }),
2378
- sip_phone: z52.object({
2379
- status: z52.coerce.number(),
2380
- ext_dev_type: z52.string().optional()
2381
- }),
2382
- linkus_desktop: z52.object({ status: z52.coerce.number() }),
2383
- linkus_mobile: z52.object({ status: z52.coerce.number() }),
2384
- linkus_web: z52.object({
2385
- status: z52.coerce.number(),
2386
- ext_dev_type: z52.string().optional()
2387
- })
2388
- }).optional(),
2389
- presence_status: z52.string().optional(),
2390
- number: z52.string().optional(),
2391
- call_id_name: z52.string().optional(),
2392
- role_name: z52.string().optional(),
2393
- email_addr: z52.string().optional()
2394
- })
2395
- )
2396
- });
2397
-
2398
- // src/telephony-extension/index.ts
2399
- var telephonyExtensionContract = initContract20().router(
2400
- {
2401
- getTelephonyExtensions: {
2402
- method: "GET",
2403
- path: "/extension_list",
2404
- headers: DefaultHeaderSchema,
2405
- query: null,
2406
- responses: {
2407
- 200: TelephonyExtensionSchema,
2408
- 400: z53.object({
2409
- message: z53.string()
2410
- }),
2411
- 401: DefaultUnauthorizedSchema,
2412
- 500: DefaultErrorResponseSchema
2413
- },
2414
- summary: "Get all extension list by yeastar"
2415
- }
2416
- },
2417
- { pathPrefix: "telephony" }
2418
- );
2419
-
2420
- // src/aws/index.ts
2421
- import { initContract as initContract21 } from "@ts-rest/core";
2422
-
2423
- // src/aws/validation.ts
2424
- import z54 from "zod";
2425
- var AwsContractsValidationSchema = {
2426
- generatePresignedUrl: {
2427
- input: z54.object({
2428
- fileName: z54.string(),
2429
- fileType: z54.string(),
2430
- moduleName: z54.string()
2431
- }),
2432
- output: z54.object({
2433
- fileName: z54.string(),
2434
- fileKey: z54.string(),
2435
- bucketName: z54.string(),
2436
- url: z54.string(),
2437
- cfUrl: z54.string().nullable()
2438
- })
2439
- },
2440
- generateSignedUrl: {
2441
- input: z54.object({
2442
- fileKey: z54.string()
2443
- }),
2444
- output: z54.object({
2445
- url: z54.string()
2446
- })
2447
- }
2448
- };
2449
-
2450
- // src/aws/index.ts
2451
- var awsContract = initContract21().router(
2452
- {
2453
- generatePresignedUrl: {
2454
- method: "POST",
2455
- path: "/presigned-url",
2456
- responses: {
2457
- 200: DefaultSuccessResponseSchema.extend({
2458
- data: AwsContractsValidationSchema.generatePresignedUrl.output
2459
- }),
2460
- ...DefaultResponses,
2461
- 500: DefaultErrorResponseSchema
2462
- },
2463
- body: AwsContractsValidationSchema.generatePresignedUrl.input,
2464
- summary: "Generate a presigned url"
2465
- },
2466
- generateSignedUrl: {
2467
- method: "POST",
2468
- path: "/signed-url",
2469
- responses: {
2470
- 200: DefaultSuccessResponseSchema.extend({
2471
- data: AwsContractsValidationSchema.generateSignedUrl.output
2472
- }),
2473
- ...DefaultResponses,
2474
- 500: DefaultErrorResponseSchema
2475
- },
2476
- body: AwsContractsValidationSchema.generateSignedUrl.input,
2477
- summary: "Generate a signed url using file key"
2478
- }
2479
- },
2480
- {
2481
- pathPrefix: "aws/s3"
2482
- }
2483
- );
2484
-
2485
2876
  // src/contract.ts
2486
- var apiContract = initContract22().router({
2877
+ var apiContract = initContract27().router({
2487
2878
  auth: authContract,
2488
2879
  mail: mailContract,
2489
2880
  cxLog: cxLogContract,
@@ -2496,16 +2887,28 @@ var apiContract = initContract22().router({
2496
2887
  emailEngineWebhooks: emailEngineWebhooksEventsContract,
2497
2888
  category: categoryContract,
2498
2889
  telephonyExtensionContract,
2499
- line: lineContract,
2500
2890
  attribute: attributeContract,
2501
2891
  tag: tagContract,
2502
- chat: chatContract,
2503
- aws: awsContract
2892
+ channel: channelContract,
2893
+ aws: awsContract,
2894
+ agentPresenceStatus: telephonyAgentPresenceStatusContract,
2895
+ userPresenceStatusLog: userPresenceStatusLogContract,
2896
+ contact: contactContract
2897
+ });
2898
+ var platformContract = initContract27().router({
2899
+ line: lineContract,
2900
+ messenger: messengerContract
2901
+ });
2902
+ var chatContract = initContract27().router({
2903
+ main: mainChatContract
2504
2904
  });
2505
2905
  export {
2506
2906
  apiContract,
2507
2907
  attributeContract,
2508
2908
  categoryContract,
2509
- tagContract
2909
+ chatContract,
2910
+ platformContract,
2911
+ tagContract,
2912
+ wrapUpFormContract
2510
2913
  };
2511
2914
  //# sourceMappingURL=index.mjs.map