@kl1/contracts 1.0.10 → 1.0.11

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