@kl1/contracts 1.0.7 → 1.0.9

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 (35) hide show
  1. package/dist/index.js +279 -66
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +279 -66
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/src/app/index.d.ts +17 -0
  6. package/dist/src/app/index.d.ts.map +1 -0
  7. package/dist/src/chat/index.d.ts +13804 -1345
  8. package/dist/src/chat/index.d.ts.map +1 -1
  9. package/dist/src/chat/schema.d.ts +11 -11
  10. package/dist/src/chat/schema.d.ts.map +1 -1
  11. package/dist/src/chat/validation.d.ts +425 -83
  12. package/dist/src/chat/validation.d.ts.map +1 -1
  13. package/dist/src/contract.d.ts +19265 -20283
  14. package/dist/src/contract.d.ts.map +1 -1
  15. package/dist/src/cx-log/index.d.ts +4 -4
  16. package/dist/src/cx-log/schema.d.ts +2 -2
  17. package/dist/src/extension/index.d.ts +1 -1
  18. package/dist/src/line/index.d.ts +2 -2
  19. package/dist/src/line/validation.d.ts +2 -2
  20. package/dist/src/mail/index.d.ts +13 -0
  21. package/dist/src/mail/index.d.ts.map +1 -0
  22. package/dist/src/mail/mail-contract.d.ts +114 -114
  23. package/dist/src/mail/mail-server.d.ts +216 -0
  24. package/dist/src/mail/mail-server.d.ts.map +1 -0
  25. package/dist/src/mail/message-contract.d.ts +6 -6
  26. package/dist/src/mail/room-contract.d.ts +108 -108
  27. package/dist/src/mail/schemas/message.schema.d.ts +4 -4
  28. package/dist/src/mail/schemas/room-validation.schema.d.ts +3426 -0
  29. package/dist/src/mail/schemas/room-validation.schema.d.ts.map +1 -0
  30. package/dist/src/mail/schemas/room.schema.d.ts +26 -26
  31. package/dist/src/telephony-extension/index.d.ts +193 -3
  32. package/dist/src/telephony-extension/index.d.ts.map +1 -1
  33. package/dist/src/telephony-extension/schema.d.ts +193 -3
  34. package/dist/src/telephony-extension/schema.d.ts.map +1 -1
  35. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -516,9 +516,6 @@ var categoryContract = (0, import_core3.initContract)().router(
516
516
  var import_core4 = require("@ts-rest/core");
517
517
  var import_zod19 = __toESM(require("zod"));
518
518
 
519
- // src/chat/schema.ts
520
- var import_zod16 = __toESM(require("zod"));
521
-
522
519
  // src/contact/schema.ts
523
520
  var import_zod13 = __toESM(require("zod"));
524
521
  var ContactSchema = DefaultEntitySchema.extend({
@@ -532,6 +529,9 @@ var ContactSchema = DefaultEntitySchema.extend({
532
529
  socialProfileUrl: import_zod13.default.string().nullable()
533
530
  });
534
531
 
532
+ // src/chat/schema.ts
533
+ var import_zod16 = __toESM(require("zod"));
534
+
535
535
  // src/tag/schema.ts
536
536
  var import_zod14 = __toESM(require("zod"));
537
537
  var TagSchema = DefaultEntitySchema.extend({
@@ -552,7 +552,7 @@ var UploadSchema = DefaultEntitySchema.extend({
552
552
  });
553
553
 
554
554
  // src/chat/schema.ts
555
- var ChannelTypeEnumSchema = import_zod16.default.union([
555
+ var ChannelTypeSchema = import_zod16.default.union([
556
556
  import_zod16.default.literal("messenger"),
557
557
  import_zod16.default.literal("line"),
558
558
  import_zod16.default.literal("viber"),
@@ -562,17 +562,18 @@ var ChannelTypeEnumSchema = import_zod16.default.union([
562
562
  import_zod16.default.literal("telegram"),
563
563
  import_zod16.default.literal("kakao")
564
564
  ]);
565
- var DirectionEnumSchema = import_zod16.default.union([
565
+ var MessageDirectionTypeSchema = import_zod16.default.union([
566
566
  import_zod16.default.literal("incoming"),
567
- import_zod16.default.literal("outgoing")
567
+ import_zod16.default.literal("outgoing"),
568
+ import_zod16.default.literal("system")
568
569
  ]);
569
- var ChannelStatusEnumSchema = import_zod16.default.union([
570
+ var ChannelStatusTypeSchema = import_zod16.default.union([
570
571
  import_zod16.default.literal(1),
571
572
  // on
572
573
  import_zod16.default.literal(0)
573
574
  // off
574
575
  ]);
575
- var MessageTypeEnumSchema = import_zod16.default.union([
576
+ var MessageTypeSchema = import_zod16.default.union([
576
577
  import_zod16.default.literal("text"),
577
578
  import_zod16.default.literal("image"),
578
579
  import_zod16.default.literal("video"),
@@ -591,7 +592,7 @@ var MessageTypeEnumSchema = import_zod16.default.union([
591
592
  import_zod16.default.literal("updated"),
592
593
  import_zod16.default.literal("started")
593
594
  ]);
594
- var MessageLocaleEnumSchema = import_zod16.default.union([
595
+ var MessageLocaleTypeSchema = import_zod16.default.union([
595
596
  import_zod16.default.literal("mm"),
596
597
  import_zod16.default.literal("en"),
597
598
  import_zod16.default.literal("th")
@@ -604,11 +605,11 @@ var ChannelMetadataSchema = import_zod16.default.object({
604
605
  });
605
606
  var ChannelSchema = DefaultEntitySchema.extend({
606
607
  name: import_zod16.default.string(),
607
- type: ChannelTypeEnumSchema,
608
+ type: ChannelTypeSchema,
608
609
  metadata: ChannelMetadataSchema,
609
610
  brandName: import_zod16.default.string(),
610
611
  platformId: import_zod16.default.string().uuid(),
611
- status: ChannelStatusEnumSchema,
612
+ status: ChannelStatusTypeSchema,
612
613
  isReloginRequired: import_zod16.default.boolean(),
613
614
  connectedUserName: import_zod16.default.string(),
614
615
  connectedUserId: import_zod16.default.string(),
@@ -622,7 +623,7 @@ var PlatformContactMetadataSchema = import_zod16.default.object({
622
623
  var PlatformContactSchema = DefaultEntitySchema.extend({
623
624
  channelId: import_zod16.default.string().uuid(),
624
625
  socialPlatformId: import_zod16.default.string().uuid(),
625
- platform: ChannelTypeEnumSchema,
626
+ platform: ChannelTypeSchema,
626
627
  metadata: PlatformContactMetadataSchema,
627
628
  contact: ContactSchema
628
629
  });
@@ -635,7 +636,7 @@ var RoomSchema = DefaultEntitySchema.extend({
635
636
  unreadCount: import_zod16.default.number(),
636
637
  firstResponseTime: import_zod16.default.date(),
637
638
  isLatest: import_zod16.default.boolean(),
638
- direction: DirectionEnumSchema,
639
+ direction: MessageDirectionTypeSchema,
639
640
  platformContact: PlatformContactSchema,
640
641
  actor: UserSchema,
641
642
  assignee: UserSchema,
@@ -644,8 +645,8 @@ var RoomSchema = DefaultEntitySchema.extend({
644
645
  });
645
646
  var MessageSchema = DefaultEntitySchema.extend({
646
647
  message: import_zod16.default.string(),
647
- direction: DirectionEnumSchema,
648
- type: MessageTypeEnumSchema,
648
+ direction: MessageDirectionTypeSchema,
649
+ type: MessageTypeSchema,
649
650
  user: UserSchema,
650
651
  readAt: import_zod16.default.date(),
651
652
  metadata: import_zod16.default.any(),
@@ -654,7 +655,7 @@ var MessageSchema = DefaultEntitySchema.extend({
654
655
  platformMessageId: import_zod16.default.string(),
655
656
  upload: UploadSchema,
656
657
  template: import_zod16.default.any(),
657
- locale: MessageLocaleEnumSchema,
658
+ locale: MessageLocaleTypeSchema,
658
659
  isSent: import_zod16.default.boolean()
659
660
  });
660
661
  var UnreadCountsByAssigneeSchema = import_zod16.default.object({
@@ -679,64 +680,255 @@ var CustomFieldSchema = DefaultEntitySchema.extend({
679
680
  // src/chat/validation.ts
680
681
  var ConnectChannelSchema = import_zod18.default.object({
681
682
  name: import_zod18.default.string(),
682
- type: ChannelTypeEnumSchema,
683
+ type: ChannelTypeSchema,
683
684
  metadata: ChannelMetadataSchema,
684
685
  brandName: import_zod18.default.string(),
685
686
  connectedUserName: import_zod18.default.string(),
686
687
  connectedUserId: import_zod18.default.string(),
687
688
  actor: UserSchema
688
- }).partial().optional();
689
- var GetRoomsSchema = DefaultQueryParamsSchema.extend({
690
- contactTagIds: import_zod18.default.string().array().nullable().default([]),
691
- contactIds: import_zod18.default.string().array().nullable().default([]),
692
- agentIds: import_zod18.default.string().array().nullable().default([]),
693
- roomStatusTagIds: import_zod18.default.string().array().nullable().default([]),
694
- keyword: import_zod18.default.string().nullable(),
695
- company: import_zod18.default.string().array().nullable().default([]),
696
- name: import_zod18.default.string().nullable(),
697
- address: import_zod18.default.string().nullable(),
698
- contactGroups: import_zod18.default.string().array().nullable().default([]),
699
- selectedDate: import_zod18.default.string().nullable(),
700
- customFields: CustomFieldSchema,
701
- tags: import_zod18.default.string().array().nullable().default([]),
702
- phone: import_zod18.default.string().nullable(),
703
- email: import_zod18.default.string().nullable(),
704
- notes: import_zod18.default.string().nullable(),
705
- tab: import_zod18.default.string().nullable()
706
- }).partial().optional();
689
+ });
690
+ var GetRoomsSchema = import_zod18.default.object({
691
+ page: import_zod18.default.coerce.number().positive().default(1),
692
+ pageSize: import_zod18.default.coerce.number().positive().default(20),
693
+ contactTagIds: import_zod18.default.string().array().optional(),
694
+ contactIds: import_zod18.default.string().array().optional(),
695
+ agentIds: import_zod18.default.string().array().optional(),
696
+ roomTagIds: import_zod18.default.string().array().optional(),
697
+ keyword: import_zod18.default.string().optional(),
698
+ company: import_zod18.default.string().array().optional(),
699
+ channel: import_zod18.default.string().array().optional(),
700
+ name: import_zod18.default.string().optional(),
701
+ address: import_zod18.default.string().optional(),
702
+ contactGroups: import_zod18.default.string().array().optional(),
703
+ selectedDate: import_zod18.default.string().optional(),
704
+ customFields: import_zod18.default.array(CustomFieldSchema).optional(),
705
+ tags: import_zod18.default.string().array().optional(),
706
+ phone: import_zod18.default.string().optional(),
707
+ email: import_zod18.default.string().optional(),
708
+ notes: import_zod18.default.string().optional(),
709
+ tab: import_zod18.default.string().optional()
710
+ });
711
+ var UpdateRoomTagsAndNotesSchema = import_zod18.default.object({
712
+ notes: import_zod18.default.string().optional(),
713
+ tags: import_zod18.default.string().array().optional()
714
+ });
715
+ var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
716
+ roomId: import_zod18.default.string().uuid()
717
+ });
718
+ var MessageAttachmentSchema = import_zod18.default.object({
719
+ bucketName: import_zod18.default.string(),
720
+ fileKey: import_zod18.default.string(),
721
+ fileName: import_zod18.default.string(),
722
+ fileSize: import_zod18.default.string(),
723
+ url: import_zod18.default.string(),
724
+ fileType: MessageTypeSchema,
725
+ thumbnailUrl: import_zod18.default.string().optional()
726
+ });
727
+ var SendMessageSchema = import_zod18.default.object({
728
+ platform: ChannelTypeSchema,
729
+ room: import_zod18.default.string().uuid(),
730
+ messageType: MessageTypeSchema,
731
+ message: import_zod18.default.string().optional(),
732
+ direction: MessageDirectionTypeSchema,
733
+ messageAttachments: MessageAttachmentSchema,
734
+ user: UserSchema.optional(),
735
+ packageId: import_zod18.default.number().optional(),
736
+ stickerId: import_zod18.default.number().optional()
737
+ });
738
+ var SolveRoomSchema = import_zod18.default.object({
739
+ roomId: import_zod18.default.string()
740
+ });
741
+ var UpdateAssigneeSchema = SolveRoomSchema.extend({
742
+ assigneeId: import_zod18.default.string().uuid()
743
+ });
744
+ var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
745
+ query: import_zod18.default.string()
746
+ });
707
747
 
708
748
  // src/chat/index.ts
709
- var chatContract = (0, import_core4.initContract)().router({
710
- connectChannel: {
711
- method: "POST",
712
- path: "connect",
713
- headers: DefaultHeaderSchema,
714
- responses: {
715
- 200: DefaultSuccessResponseSchema.extend({
716
- channel: ChannelSchema
717
- })
749
+ var chatContract = (0, import_core4.initContract)().router(
750
+ {
751
+ getRooms: {
752
+ method: "GET",
753
+ path: "/rooms",
754
+ responses: {
755
+ 200: DefaultSuccessResponseSchema.extend({
756
+ total: import_zod19.default.number(),
757
+ page: import_zod19.default.number(),
758
+ pageSize: import_zod19.default.number(),
759
+ data: import_zod19.default.array(RoomSchema),
760
+ unreadCountsByAssignee: import_zod19.default.array(UnreadCountsByAssigneeSchema)
761
+ }),
762
+ 401: DefaultUnauthorizedSchema
763
+ },
764
+ query: GetRoomsSchema,
765
+ summary: "Get rooms"
718
766
  },
719
- body: ConnectChannelSchema,
720
- summary: "Connect message channel"
721
- },
722
- getRooms: {
723
- method: "GET",
724
- path: "/rooms",
725
- responses: {
726
- 200: DefaultSuccessResponseSchema.extend({
727
- total: import_zod19.default.number(),
728
- page: import_zod19.default.number(),
729
- pageSize: import_zod19.default.number(),
730
- data: import_zod19.default.array(RoomSchema),
731
- unreadCountsByAssignee: import_zod19.default.array(UnreadCountsByAssigneeSchema)
767
+ getRoomContact: {
768
+ method: "GET",
769
+ path: "/contact/:contactId",
770
+ pathParams: import_zod19.default.object({
771
+ contactId: import_zod19.default.string().uuid()
732
772
  }),
733
- 401: DefaultUnauthorizedSchema
773
+ responses: {
774
+ 200: DefaultSuccessResponseSchema.extend({
775
+ data: ContactSchema
776
+ })
777
+ },
778
+ summary: "Get Contacts"
734
779
  },
735
- headers: DefaultHeaderSchema,
736
- query: GetRoomsSchema,
737
- summary: "Get rooms"
780
+ updateRoomAttributes: {
781
+ method: "PUT",
782
+ path: "/room",
783
+ body: UpdateRoomAttributesSchema,
784
+ responses: {
785
+ 200: DefaultSuccessResponseSchema.extend({
786
+ data: RoomSchema
787
+ })
788
+ },
789
+ summary: "Update room attributes"
790
+ },
791
+ updateRoomTagsAndNotes: {
792
+ method: "PATCH",
793
+ path: "/room/:roomId",
794
+ body: UpdateRoomAttributesSchema,
795
+ responses: {
796
+ 200: DefaultSuccessResponseSchema.extend({
797
+ data: RoomSchema
798
+ })
799
+ },
800
+ summary: "Update room tags and notes"
801
+ },
802
+ sendMessage: {
803
+ method: "POST",
804
+ path: "/message",
805
+ body: SendMessageSchema,
806
+ responses: {
807
+ 200: DefaultSuccessResponseSchema.extend({
808
+ data: MessageSchema
809
+ })
810
+ },
811
+ summary: "Send message to room"
812
+ },
813
+ getMessages: {
814
+ method: "GET",
815
+ path: "/message/:roomId",
816
+ pathParams: import_zod19.default.object({
817
+ roomId: import_zod19.default.string().uuid()
818
+ }),
819
+ responses: {
820
+ 200: DefaultSuccessResponseSchema.extend({
821
+ data: import_zod19.default.array(MessageSchema)
822
+ })
823
+ },
824
+ summary: "Get messages"
825
+ },
826
+ solveRoom: {
827
+ method: "POST",
828
+ path: "/room/solve",
829
+ body: SolveRoomSchema,
830
+ responses: {
831
+ 200: DefaultSuccessResponseSchema.extend({
832
+ data: RoomSchema
833
+ }),
834
+ 409: DefaultErrorResponseSchema
835
+ },
836
+ summary: "Solve room"
837
+ },
838
+ updateAssignee: {
839
+ method: "POST",
840
+ path: "/room/assignee/update",
841
+ body: UpdateAssigneeSchema,
842
+ responses: {
843
+ 200: DefaultSuccessResponseSchema.extend({
844
+ data: RoomSchema
845
+ })
846
+ },
847
+ summary: "Update room assignee"
848
+ },
849
+ getRoom: {
850
+ method: "GET",
851
+ path: "/room/:roomId",
852
+ pathParams: import_zod19.default.object({
853
+ roomId: import_zod19.default.string().uuid()
854
+ }),
855
+ responses: {
856
+ 200: DefaultSuccessResponseSchema.extend({
857
+ data: RoomSchema
858
+ }),
859
+ 404: DefaultErrorResponseSchema
860
+ },
861
+ summary: "Get Room by id"
862
+ },
863
+ createRoom: {
864
+ method: "POST",
865
+ path: "/room/create/:roomid",
866
+ pathParams: import_zod19.default.object({
867
+ roomid: import_zod19.default.string().uuid()
868
+ }),
869
+ responses: {
870
+ 200: DefaultSuccessResponseSchema.extend({
871
+ data: RoomSchema.extend({
872
+ contact: ContactSchema
873
+ })
874
+ })
875
+ },
876
+ body: null,
877
+ summary: "Create new latest room by room id"
878
+ },
879
+ readRoom: {
880
+ method: "POST",
881
+ path: "/room/:roomid/read",
882
+ pathParams: import_zod19.default.object({
883
+ roomid: import_zod19.default.string().uuid()
884
+ }),
885
+ responses: {
886
+ 200: DefaultSuccessResponseSchema.extend({
887
+ data: RoomSchema.extend({
888
+ description: import_zod19.default.string().nullable()
889
+ })
890
+ })
891
+ },
892
+ body: null,
893
+ summary: "Read room messages by room id"
894
+ },
895
+ searchRooms: {
896
+ method: "GET",
897
+ path: "/search",
898
+ responses: {
899
+ 200: DefaultSuccessResponseSchema.extend({
900
+ data: import_zod19.default.array(RoomSchema)
901
+ })
902
+ },
903
+ query: SearchRoomsSchema,
904
+ summary: "Search Rooms"
905
+ },
906
+ connectChannel: {
907
+ method: "POST",
908
+ path: "connect",
909
+ responses: {
910
+ 200: DefaultSuccessResponseSchema.extend({
911
+ channel: ChannelSchema
912
+ })
913
+ },
914
+ body: ConnectChannelSchema,
915
+ summary: "Connect message channel"
916
+ },
917
+ getChannels: {
918
+ method: "GET",
919
+ path: "/channels",
920
+ responses: {
921
+ 200: DefaultSuccessResponseSchema.extend({
922
+ channels: ChannelSchema
923
+ })
924
+ },
925
+ summary: "Get Channels"
926
+ }
927
+ },
928
+ {
929
+ baseHeaders: DefaultHeaderSchema
738
930
  }
739
- });
931
+ );
740
932
 
741
933
  // src/cx-log/index.ts
742
934
  var import_core5 = require("@ts-rest/core");
@@ -1656,7 +1848,7 @@ var extensionContract = (0, import_core14.initContract)().router(
1656
1848
  },
1657
1849
  getExtensionByUserId: {
1658
1850
  method: "GET",
1659
- path: "",
1851
+ path: "/user/:userId",
1660
1852
  pathParams: import_zod40.default.object({ userId: import_zod40.default.string() }),
1661
1853
  headers: DefaultHeaderSchema,
1662
1854
  responses: {
@@ -2216,7 +2408,29 @@ var TelephonyExtensionSchema = import_zod52.default.object({
2216
2408
  errcode: import_zod52.default.coerce.number(),
2217
2409
  errmsg: import_zod52.default.string(),
2218
2410
  total_number: import_zod52.default.coerce.number(),
2219
- data: import_zod52.default.array(import_zod52.default.object({}))
2411
+ data: import_zod52.default.array(
2412
+ import_zod52.default.object({
2413
+ id: import_zod52.default.coerce.number(),
2414
+ online_status: import_zod52.default.object({
2415
+ fx_phone: import_zod52.default.object({ status: import_zod52.default.coerce.number() }),
2416
+ sip_phone: import_zod52.default.object({
2417
+ status: import_zod52.default.coerce.number(),
2418
+ ext_dev_type: import_zod52.default.string().optional()
2419
+ }),
2420
+ linkus_desktop: import_zod52.default.object({ status: import_zod52.default.coerce.number() }),
2421
+ linkus_mobile: import_zod52.default.object({ status: import_zod52.default.coerce.number() }),
2422
+ linkus_web: import_zod52.default.object({
2423
+ status: import_zod52.default.coerce.number(),
2424
+ ext_dev_type: import_zod52.default.string().optional()
2425
+ })
2426
+ }).optional(),
2427
+ presence_status: import_zod52.default.string().optional(),
2428
+ number: import_zod52.default.string().optional(),
2429
+ call_id_name: import_zod52.default.string().optional(),
2430
+ role_name: import_zod52.default.string().optional(),
2431
+ email_addr: import_zod52.default.string().optional()
2432
+ })
2433
+ )
2220
2434
  });
2221
2435
 
2222
2436
  // src/telephony-extension/index.ts
@@ -2310,7 +2524,6 @@ var awsContract = (0, import_core21.initContract)().router(
2310
2524
  var apiContract = (0, import_core22.initContract)().router({
2311
2525
  auth: authContract,
2312
2526
  mail: mailContract,
2313
- mailRoom: mailContract,
2314
2527
  cxLog: cxLogContract,
2315
2528
  permission: permissionContract,
2316
2529
  role: roleContract,