@kl1/contracts 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1725 -1047
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1725 -1047
- package/dist/index.mjs.map +1 -1
- package/dist/src/call-log/schema.d.ts +8 -8
- package/dist/src/call-log/validation.d.ts +4 -4
- package/dist/src/channel/index.d.ts +23 -23
- package/dist/src/channel/schema.d.ts +11 -8
- package/dist/src/channel/schema.d.ts.map +1 -1
- package/dist/src/channel/validation.d.ts +3 -3
- package/dist/src/chat/index.d.ts +4272 -481
- package/dist/src/chat/index.d.ts.map +1 -1
- package/dist/src/chat/schema.d.ts +348 -56
- package/dist/src/chat/schema.d.ts.map +1 -1
- package/dist/src/chat/validation.d.ts +5330 -73
- package/dist/src/chat/validation.d.ts.map +1 -1
- package/dist/src/company/index.d.ts +1803 -0
- package/dist/src/company/index.d.ts.map +1 -0
- package/dist/src/company/schema.d.ts +5 -5
- package/dist/src/company/validation.d.ts +852 -0
- package/dist/src/company/validation.d.ts.map +1 -0
- package/dist/src/contact/index.d.ts +21 -21
- package/dist/src/contact/schema.d.ts +3 -3
- package/dist/src/contact/validation.d.ts +21 -21
- package/dist/src/contract.d.ts +12941 -5216
- package/dist/src/contract.d.ts.map +1 -1
- package/dist/src/cx-log/index.d.ts +129 -0
- package/dist/src/cx-log/index.d.ts.map +1 -1
- package/dist/src/cx-log/schema.d.ts +95 -0
- package/dist/src/cx-log/schema.d.ts.map +1 -1
- package/dist/src/dashboard/index.d.ts +1852 -0
- package/dist/src/dashboard/index.d.ts.map +1 -0
- package/dist/src/dashboard/schema.d.ts +885 -0
- package/dist/src/dashboard/schema.d.ts.map +1 -0
- package/dist/src/dashboard/validation.d.ts +19 -0
- package/dist/src/dashboard/validation.d.ts.map +1 -0
- package/dist/src/mail/mail-contract.d.ts +12 -12
- package/dist/src/mail/room-contract.d.ts +12 -12
- package/dist/src/mail/schemas/room-validation.schema.d.ts +4 -4
- package/dist/src/mail/schemas/room.schema.d.ts +2 -2
- package/dist/src/messenger/index.d.ts +255 -73
- package/dist/src/messenger/index.d.ts.map +1 -1
- package/dist/src/telephony-cdr/schema.d.ts +4 -4
- package/dist/src/telephony-live-queue-call/schema.d.ts +2 -2
- package/dist/src/telephony-queue-call-count/schema.d.ts +2 -2
- package/dist/src/ticket/index.d.ts +59 -62
- package/dist/src/ticket/index.d.ts.map +1 -1
- package/dist/src/ticket/validation.d.ts +59 -62
- package/dist/src/ticket/validation.d.ts.map +1 -1
- package/dist/src/user/index.d.ts.map +1 -1
- package/package.json +4 -10
- package/dist/src/platform-contact/schema.d.ts +0 -30
- package/dist/src/platform-contact/schema.d.ts.map +0 -1
package/dist/index.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// src/contract.ts
|
2
|
-
import { initContract as
|
2
|
+
import { initContract as initContract30 } from "@ts-rest/core";
|
3
3
|
|
4
4
|
// src/attribute/index.ts
|
5
5
|
import { initContract } from "@ts-rest/core";
|
@@ -581,12 +581,13 @@ var ChannelTypeSchema = z15.enum([
|
|
581
581
|
"viber",
|
582
582
|
"kakao",
|
583
583
|
"shopee",
|
584
|
-
"lazada"
|
584
|
+
"lazada",
|
585
|
+
"instagram"
|
585
586
|
]);
|
586
587
|
var ChannelStatusTypeSchema = z15.union([
|
587
|
-
z15.literal(
|
588
|
+
z15.literal(true),
|
588
589
|
// on
|
589
|
-
z15.literal(
|
590
|
+
z15.literal(false)
|
590
591
|
// off
|
591
592
|
]);
|
592
593
|
var ChannelMetadataSchema = z15.object({
|
@@ -654,7 +655,7 @@ var channelContract = initContract5().router(
|
|
654
655
|
|
655
656
|
// src/chat/index.ts
|
656
657
|
import { initContract as initContract6 } from "@ts-rest/core";
|
657
|
-
import
|
658
|
+
import z26 from "zod";
|
658
659
|
|
659
660
|
// src/contact/schema.ts
|
660
661
|
import z20 from "zod";
|
@@ -675,7 +676,7 @@ var CompanyCustomFieldSchema = DefaultEntitySchema.extend({
|
|
675
676
|
textValue: z18.string().nullable(),
|
676
677
|
booleanValue: z18.boolean().nullable(),
|
677
678
|
numberValue: z18.number().nullable(),
|
678
|
-
dateValue: z18.
|
679
|
+
dateValue: z18.date().nullable(),
|
679
680
|
attribute: AttributeSchema.omit({ options: true, group: true })
|
680
681
|
});
|
681
682
|
var CompanySchema = DefaultEntitySchema.extend({
|
@@ -767,32 +768,45 @@ var ContactSchema = z20.object({
|
|
767
768
|
});
|
768
769
|
|
769
770
|
// src/chat/schema.ts
|
770
|
-
import
|
771
|
+
import z23 from "zod";
|
771
772
|
|
772
773
|
// src/cx-log/schema.ts
|
774
|
+
import z22 from "zod";
|
775
|
+
|
776
|
+
// src/wrap-up-form/schema.ts
|
773
777
|
import z21 from "zod";
|
778
|
+
var WrapUpFormSchema = DefaultEntitySchema.extend({
|
779
|
+
note: z21.string().nullable(),
|
780
|
+
disposition: z21.string().nullable(),
|
781
|
+
callFrom: z21.string().nullable(),
|
782
|
+
callTo: z21.string().nullable(),
|
783
|
+
tags: z21.array(TagSchema)
|
784
|
+
});
|
785
|
+
|
786
|
+
// src/cx-log/schema.ts
|
774
787
|
var CxLogSchema = DefaultEntitySchema.extend({
|
775
|
-
caseId:
|
776
|
-
entityId:
|
777
|
-
entityName:
|
778
|
-
contactId:
|
779
|
-
channel:
|
780
|
-
queueId:
|
781
|
-
agentId:
|
782
|
-
direction:
|
783
|
-
startedDate:
|
784
|
-
handledTime:
|
785
|
-
firstResponseTime:
|
786
|
-
disposition:
|
788
|
+
caseId: z22.number(),
|
789
|
+
entityId: z22.string().uuid(),
|
790
|
+
entityName: z22.string(),
|
791
|
+
contactId: z22.string().uuid().nullable(),
|
792
|
+
channel: z22.string().nullable(),
|
793
|
+
queueId: z22.string().uuid().nullable(),
|
794
|
+
agentId: z22.string().uuid().nullable(),
|
795
|
+
direction: z22.string().nullable(),
|
796
|
+
startedDate: z22.date().nullable(),
|
797
|
+
handledTime: z22.number().nullable(),
|
798
|
+
firstResponseTime: z22.number().nullable(),
|
799
|
+
disposition: z22.string().nullable(),
|
800
|
+
wrapUpForm: WrapUpFormSchema.nullable()
|
787
801
|
});
|
788
802
|
|
789
803
|
// src/chat/schema.ts
|
790
|
-
var MessageDirectionTypeSchema =
|
804
|
+
var MessageDirectionTypeSchema = z23.enum([
|
791
805
|
"incoming",
|
792
806
|
"outgoing",
|
793
807
|
"system"
|
794
808
|
]);
|
795
|
-
var MessageTypeSchema =
|
809
|
+
var MessageTypeSchema = z23.enum([
|
796
810
|
"text",
|
797
811
|
"image",
|
798
812
|
"video",
|
@@ -812,198 +826,198 @@ var MessageTypeSchema = z22.enum([
|
|
812
826
|
"updated",
|
813
827
|
"started"
|
814
828
|
]);
|
815
|
-
var MessageLocaleTypeSchema =
|
816
|
-
var PlatformContactMetadataSchema =
|
817
|
-
id:
|
818
|
-
name:
|
819
|
-
picture:
|
820
|
-
additionalCredentials:
|
829
|
+
var MessageLocaleTypeSchema = z23.enum(["mm", "en", "th", ""]);
|
830
|
+
var PlatformContactMetadataSchema = z23.object({
|
831
|
+
id: z23.string(),
|
832
|
+
name: z23.string(),
|
833
|
+
picture: z23.string().optional(),
|
834
|
+
additionalCredentials: z23.any()
|
821
835
|
});
|
822
836
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
823
|
-
channelId:
|
824
|
-
socialPlatformId:
|
837
|
+
channelId: z23.string().uuid(),
|
838
|
+
socialPlatformId: z23.string(),
|
825
839
|
type: ChannelTypeSchema,
|
826
840
|
metadata: PlatformContactMetadataSchema,
|
827
841
|
contact: ContactSchema
|
828
842
|
});
|
829
843
|
var RoomSchema = DefaultEntitySchema.extend({
|
830
|
-
lastMessage:
|
831
|
-
handleTime:
|
832
|
-
closeAt:
|
833
|
-
unreadCount:
|
834
|
-
firstResponseAt:
|
835
|
-
firstResponseTime:
|
836
|
-
isLatest:
|
844
|
+
lastMessage: z23.string(),
|
845
|
+
handleTime: z23.number(),
|
846
|
+
closeAt: z23.date(),
|
847
|
+
unreadCount: z23.number(),
|
848
|
+
firstResponseAt: z23.date(),
|
849
|
+
firstResponseTime: z23.number(),
|
850
|
+
isLatest: z23.boolean(),
|
837
851
|
direction: MessageDirectionTypeSchema,
|
838
852
|
platformContact: PlatformContactSchema,
|
839
853
|
actor: UserSchema,
|
840
854
|
assignee: UserSchema,
|
841
855
|
channel: ChannelSchema,
|
842
|
-
|
856
|
+
cxlog: CxLogSchema
|
843
857
|
});
|
844
858
|
var MessageSchema = DefaultEntitySchema.extend({
|
845
|
-
message:
|
859
|
+
message: z23.string(),
|
846
860
|
direction: MessageDirectionTypeSchema,
|
847
861
|
type: MessageTypeSchema,
|
848
|
-
readAt:
|
849
|
-
metadata:
|
850
|
-
platformId:
|
851
|
-
platformMessageId:
|
852
|
-
replyPlatformMessageId:
|
853
|
-
template:
|
862
|
+
readAt: z23.date(),
|
863
|
+
metadata: z23.any(),
|
864
|
+
platformId: z23.string(),
|
865
|
+
platformMessageId: z23.string(),
|
866
|
+
replyPlatformMessageId: z23.string(),
|
867
|
+
template: z23.any(),
|
854
868
|
locale: MessageLocaleTypeSchema,
|
855
|
-
url:
|
856
|
-
previewUrl:
|
857
|
-
imageSetId:
|
869
|
+
url: z23.string(),
|
870
|
+
previewUrl: z23.string(),
|
871
|
+
imageSetId: z23.string(),
|
858
872
|
room: RoomSchema,
|
859
873
|
upload: UploadSchema,
|
860
874
|
actor: UserSchema,
|
861
875
|
assignee: UserSchema,
|
862
876
|
sender: UserSchema
|
863
877
|
});
|
864
|
-
var UnreadCountsByAssigneeSchema =
|
865
|
-
assigneeId:
|
866
|
-
totalUnreadCount:
|
878
|
+
var UnreadCountsByAssigneeSchema = z23.object({
|
879
|
+
assigneeId: z23.string(),
|
880
|
+
totalUnreadCount: z23.number()
|
867
881
|
});
|
868
882
|
|
869
883
|
// src/chat/validation.ts
|
870
|
-
import
|
884
|
+
import z25 from "zod";
|
871
885
|
|
872
886
|
// src/custom-field/schema.ts
|
873
|
-
import
|
887
|
+
import z24 from "zod";
|
874
888
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
875
|
-
textValue:
|
876
|
-
booleanValue:
|
877
|
-
numberValue:
|
878
|
-
dateValue:
|
879
|
-
entityId:
|
880
|
-
attributeId:
|
889
|
+
textValue: z24.string().nullable(),
|
890
|
+
booleanValue: z24.boolean().nullable(),
|
891
|
+
numberValue: z24.number().nullable(),
|
892
|
+
dateValue: z24.date().nullable(),
|
893
|
+
entityId: z24.string().uuid(),
|
894
|
+
attributeId: z24.string().uuid()
|
881
895
|
});
|
882
896
|
|
883
897
|
// src/chat/validation.ts
|
884
|
-
var GetRoomsSchema =
|
885
|
-
page:
|
886
|
-
pageSize:
|
887
|
-
contactTagIds:
|
888
|
-
contactIds:
|
889
|
-
agentIds:
|
890
|
-
roomTagIds:
|
891
|
-
keyword:
|
892
|
-
company:
|
893
|
-
channel:
|
894
|
-
name:
|
895
|
-
address:
|
896
|
-
contactGroups:
|
897
|
-
selectedDate:
|
898
|
-
customFields:
|
899
|
-
tags:
|
900
|
-
phone:
|
901
|
-
email:
|
902
|
-
notes:
|
903
|
-
tab:
|
904
|
-
});
|
905
|
-
var UpdateRoomTagsAndNotesSchema =
|
906
|
-
note:
|
898
|
+
var GetRoomsSchema = z25.object({
|
899
|
+
page: z25.coerce.number().positive().default(1),
|
900
|
+
pageSize: z25.coerce.number().positive().default(20),
|
901
|
+
contactTagIds: z25.string().array().optional(),
|
902
|
+
contactIds: z25.string().array().optional(),
|
903
|
+
agentIds: z25.string().array().optional(),
|
904
|
+
roomTagIds: z25.string().array().optional(),
|
905
|
+
keyword: z25.string().optional(),
|
906
|
+
company: z25.string().array().optional(),
|
907
|
+
channel: z25.string().array().optional(),
|
908
|
+
name: z25.string().optional(),
|
909
|
+
address: z25.string().optional(),
|
910
|
+
contactGroups: z25.string().array().optional(),
|
911
|
+
selectedDate: z25.string().optional(),
|
912
|
+
customFields: z25.array(CustomFieldSchema).optional(),
|
913
|
+
tags: z25.string().array().optional(),
|
914
|
+
phone: z25.string().optional(),
|
915
|
+
email: z25.string().optional(),
|
916
|
+
notes: z25.string().optional(),
|
917
|
+
tab: z25.string().optional()
|
918
|
+
});
|
919
|
+
var UpdateRoomTagsAndNotesSchema = z25.object({
|
920
|
+
note: z25.string().optional(),
|
907
921
|
tags: TagSchema.array().optional()
|
908
922
|
});
|
909
923
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
910
|
-
roomId:
|
911
|
-
});
|
912
|
-
var MessageAttachmentSchema =
|
913
|
-
bucketName:
|
914
|
-
fileKey:
|
915
|
-
fileName:
|
916
|
-
fileSize:
|
917
|
-
url:
|
924
|
+
roomId: z25.string().uuid()
|
925
|
+
});
|
926
|
+
var MessageAttachmentSchema = z25.object({
|
927
|
+
bucketName: z25.string(),
|
928
|
+
fileKey: z25.string(),
|
929
|
+
fileName: z25.string(),
|
930
|
+
fileSize: z25.number(),
|
931
|
+
url: z25.string(),
|
918
932
|
fileType: MessageTypeSchema,
|
919
|
-
thumbnailUrl:
|
933
|
+
thumbnailUrl: z25.string().optional()
|
920
934
|
});
|
921
|
-
var SendMessageSchema =
|
922
|
-
roomId:
|
935
|
+
var SendMessageSchema = z25.object({
|
936
|
+
roomId: z25.string().uuid(),
|
923
937
|
messageType: MessageTypeSchema,
|
924
|
-
message:
|
938
|
+
message: z25.string().optional(),
|
925
939
|
messageAttachments: MessageAttachmentSchema.optional(),
|
926
940
|
user: UserSchema.optional(),
|
927
|
-
packageId:
|
928
|
-
stickerId:
|
941
|
+
packageId: z25.number().optional(),
|
942
|
+
stickerId: z25.number().optional()
|
929
943
|
});
|
930
|
-
var SolveRoomSchema =
|
931
|
-
roomId:
|
944
|
+
var SolveRoomSchema = z25.object({
|
945
|
+
roomId: z25.string()
|
932
946
|
});
|
933
947
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
934
|
-
assigneeId:
|
948
|
+
assigneeId: z25.string().uuid()
|
935
949
|
});
|
936
950
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
937
|
-
query:
|
938
|
-
});
|
939
|
-
var SendMessageToPlatformSchema =
|
940
|
-
room:
|
941
|
-
id:
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
lastMessage: z24.string().optional(),
|
946
|
-
handleTime: z24.number().optional(),
|
947
|
-
isLatest: z24.boolean(),
|
951
|
+
query: z25.string()
|
952
|
+
});
|
953
|
+
var SendMessageToPlatformSchema = z25.object({
|
954
|
+
room: z25.object({
|
955
|
+
id: z25.string().uuid(),
|
956
|
+
lastMessage: z25.string().optional(),
|
957
|
+
handleTime: z25.number().optional(),
|
958
|
+
isLatest: z25.boolean(),
|
948
959
|
direction: MessageDirectionTypeSchema,
|
949
|
-
platformContact:
|
950
|
-
channelId:
|
951
|
-
socialPlatformId:
|
960
|
+
platformContact: z25.object({
|
961
|
+
channelId: z25.string().uuid(),
|
962
|
+
socialPlatformId: z25.string().nullable(),
|
952
963
|
type: ChannelTypeSchema,
|
953
964
|
metadata: PlatformContactMetadataSchema,
|
954
|
-
contact:
|
955
|
-
name:
|
956
|
-
address:
|
957
|
-
channel:
|
958
|
-
notes:
|
959
|
-
contactProfile:
|
960
|
-
socialProfileUrl:
|
965
|
+
contact: z25.object({
|
966
|
+
name: z25.string(),
|
967
|
+
address: z25.string().nullable(),
|
968
|
+
channel: z25.string().nullable(),
|
969
|
+
notes: z25.string().nullable(),
|
970
|
+
contactProfile: z25.string().nullable(),
|
971
|
+
socialProfileUrl: z25.string().nullable()
|
961
972
|
})
|
962
973
|
}),
|
963
|
-
actor:
|
964
|
-
name:
|
965
|
-
email:
|
966
|
-
address:
|
967
|
-
phone:
|
974
|
+
actor: z25.object({
|
975
|
+
name: z25.string(),
|
976
|
+
email: z25.string().email(),
|
977
|
+
address: z25.string().nullable(),
|
978
|
+
phone: z25.string().nullable()
|
968
979
|
}).nullable(),
|
969
|
-
channel:
|
970
|
-
name:
|
980
|
+
channel: z25.object({
|
981
|
+
name: z25.string(),
|
971
982
|
type: ChannelTypeSchema,
|
972
983
|
metadata: ChannelMetadataSchema,
|
973
|
-
brandName:
|
974
|
-
platformId:
|
984
|
+
brandName: z25.string(),
|
985
|
+
platformId: z25.string(),
|
975
986
|
status: ChannelStatusTypeSchema,
|
976
|
-
isReloginRequired:
|
977
|
-
connectedUserName:
|
978
|
-
connectedUserId:
|
987
|
+
isReloginRequired: z25.boolean(),
|
988
|
+
connectedUserName: z25.string().optional().nullable(),
|
989
|
+
connectedUserId: z25.string().optional().nullable()
|
979
990
|
})
|
980
991
|
}),
|
981
|
-
message:
|
982
|
-
message:
|
992
|
+
message: z25.object({
|
993
|
+
message: z25.string().optional(),
|
983
994
|
direction: MessageDirectionTypeSchema,
|
984
995
|
type: MessageTypeSchema,
|
985
|
-
readAt:
|
986
|
-
metadata:
|
987
|
-
platformId:
|
988
|
-
platformMessageId:
|
989
|
-
replyPlatformMessageId:
|
990
|
-
template:
|
996
|
+
readAt: z25.date().optional(),
|
997
|
+
metadata: z25.any().optional(),
|
998
|
+
platformId: z25.string().optional(),
|
999
|
+
platformMessageId: z25.string().optional(),
|
1000
|
+
replyPlatformMessageId: z25.string().optional(),
|
1001
|
+
template: z25.any().optional(),
|
991
1002
|
locale: MessageLocaleTypeSchema.optional(),
|
992
|
-
url:
|
993
|
-
previewUrl:
|
994
|
-
imageSetId:
|
1003
|
+
url: z25.string().optional(),
|
1004
|
+
previewUrl: z25.string().optional(),
|
1005
|
+
imageSetId: z25.string().optional(),
|
995
1006
|
upload: UploadSchema.optional(),
|
996
|
-
sender:
|
997
|
-
name:
|
998
|
-
email:
|
999
|
-
address:
|
1000
|
-
phone:
|
1007
|
+
sender: z25.object({
|
1008
|
+
name: z25.string(),
|
1009
|
+
email: z25.string().email(),
|
1010
|
+
address: z25.string().nullable(),
|
1011
|
+
phone: z25.string().nullable()
|
1001
1012
|
})
|
1002
1013
|
})
|
1003
1014
|
});
|
1004
1015
|
var SendMessageResponseSchema = DefaultSuccessResponseSchema.extend({
|
1005
1016
|
data: MessageSchema
|
1006
1017
|
});
|
1018
|
+
var ReceiveMessageSchema = z25.object({
|
1019
|
+
message: MessageSchema
|
1020
|
+
});
|
1007
1021
|
|
1008
1022
|
// src/chat/index.ts
|
1009
1023
|
var mainChatContract = initContract6().router(
|
@@ -1013,11 +1027,11 @@ var mainChatContract = initContract6().router(
|
|
1013
1027
|
path: "/rooms",
|
1014
1028
|
responses: {
|
1015
1029
|
200: DefaultSuccessResponseSchema.extend({
|
1016
|
-
total:
|
1017
|
-
page:
|
1018
|
-
pageSize:
|
1019
|
-
data:
|
1020
|
-
unreadCountsByAssignee:
|
1030
|
+
total: z26.number(),
|
1031
|
+
page: z26.number(),
|
1032
|
+
pageSize: z26.number(),
|
1033
|
+
data: z26.array(RoomSchema),
|
1034
|
+
unreadCountsByAssignee: z26.array(UnreadCountsByAssigneeSchema)
|
1021
1035
|
}),
|
1022
1036
|
401: DefaultUnauthorizedSchema
|
1023
1037
|
},
|
@@ -1027,8 +1041,8 @@ var mainChatContract = initContract6().router(
|
|
1027
1041
|
getRoomContact: {
|
1028
1042
|
method: "GET",
|
1029
1043
|
path: "/contact/:contactId",
|
1030
|
-
pathParams:
|
1031
|
-
contactId:
|
1044
|
+
pathParams: z26.object({
|
1045
|
+
contactId: z26.string().uuid()
|
1032
1046
|
}),
|
1033
1047
|
responses: {
|
1034
1048
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1060,31 +1074,40 @@ var mainChatContract = initContract6().router(
|
|
1060
1074
|
},
|
1061
1075
|
summary: "Send message to room"
|
1062
1076
|
},
|
1077
|
+
receiveMessage: {
|
1078
|
+
method: "POST",
|
1079
|
+
path: "/message/receive",
|
1080
|
+
body: ReceiveMessageSchema,
|
1081
|
+
responses: {
|
1082
|
+
200: null
|
1083
|
+
},
|
1084
|
+
summary: "Receive message"
|
1085
|
+
},
|
1063
1086
|
getRoomsByPlatformContactId: {
|
1064
1087
|
method: "GET",
|
1065
1088
|
path: "/rooms/:platformContactId",
|
1066
|
-
pathParams:
|
1067
|
-
platformContactId:
|
1089
|
+
pathParams: z26.object({
|
1090
|
+
platformContactId: z26.string()
|
1068
1091
|
}),
|
1069
1092
|
responses: {
|
1070
1093
|
200: DefaultSuccessResponseSchema.extend({
|
1071
|
-
data:
|
1072
|
-
total:
|
1094
|
+
data: z26.string().uuid().array(),
|
1095
|
+
total: z26.number()
|
1073
1096
|
})
|
1074
1097
|
}
|
1075
1098
|
},
|
1076
1099
|
getMessages: {
|
1077
1100
|
method: "GET",
|
1078
1101
|
path: "/message/:roomId",
|
1079
|
-
pathParams:
|
1080
|
-
roomId:
|
1102
|
+
pathParams: z26.object({
|
1103
|
+
roomId: z26.string().uuid()
|
1081
1104
|
}),
|
1082
1105
|
responses: {
|
1083
1106
|
200: DefaultSuccessResponseSchema.extend({
|
1084
|
-
total:
|
1085
|
-
page:
|
1086
|
-
pageSize:
|
1087
|
-
data:
|
1107
|
+
total: z26.number(),
|
1108
|
+
page: z26.number(),
|
1109
|
+
pageSize: z26.number(),
|
1110
|
+
data: z26.array(MessageSchema)
|
1088
1111
|
})
|
1089
1112
|
},
|
1090
1113
|
query: DefaultQueryParamsSchema,
|
@@ -1097,7 +1120,7 @@ var mainChatContract = initContract6().router(
|
|
1097
1120
|
responses: {
|
1098
1121
|
200: DefaultSuccessResponseSchema.extend({
|
1099
1122
|
data: RoomSchema.extend({
|
1100
|
-
solveMessage:
|
1123
|
+
solveMessage: z26.string()
|
1101
1124
|
})
|
1102
1125
|
}),
|
1103
1126
|
409: DefaultErrorResponseSchema
|
@@ -1118,8 +1141,8 @@ var mainChatContract = initContract6().router(
|
|
1118
1141
|
getRoom: {
|
1119
1142
|
method: "GET",
|
1120
1143
|
path: "/room/:roomId",
|
1121
|
-
pathParams:
|
1122
|
-
roomId:
|
1144
|
+
pathParams: z26.object({
|
1145
|
+
roomId: z26.string().uuid()
|
1123
1146
|
}),
|
1124
1147
|
responses: {
|
1125
1148
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1132,14 +1155,14 @@ var mainChatContract = initContract6().router(
|
|
1132
1155
|
createRoom: {
|
1133
1156
|
method: "POST",
|
1134
1157
|
path: "/room/create/:platformContactId",
|
1135
|
-
pathParams:
|
1136
|
-
platformContactId:
|
1158
|
+
pathParams: z26.object({
|
1159
|
+
platformContactId: z26.string().uuid()
|
1137
1160
|
}),
|
1138
1161
|
responses: {
|
1139
1162
|
200: DefaultSuccessResponseSchema.extend({
|
1140
1163
|
data: RoomSchema.extend({
|
1141
1164
|
contact: ContactSchema,
|
1142
|
-
openMessage:
|
1165
|
+
openMessage: z26.string()
|
1143
1166
|
})
|
1144
1167
|
})
|
1145
1168
|
},
|
@@ -1149,13 +1172,13 @@ var mainChatContract = initContract6().router(
|
|
1149
1172
|
readRoom: {
|
1150
1173
|
method: "POST",
|
1151
1174
|
path: "/room/:roomid/read",
|
1152
|
-
pathParams:
|
1153
|
-
roomId:
|
1175
|
+
pathParams: z26.object({
|
1176
|
+
roomId: z26.string().uuid()
|
1154
1177
|
}),
|
1155
1178
|
responses: {
|
1156
1179
|
200: DefaultSuccessResponseSchema.extend({
|
1157
1180
|
data: RoomSchema.extend({
|
1158
|
-
description:
|
1181
|
+
description: z26.string().nullable()
|
1159
1182
|
})
|
1160
1183
|
})
|
1161
1184
|
},
|
@@ -1167,10 +1190,10 @@ var mainChatContract = initContract6().router(
|
|
1167
1190
|
path: "/search",
|
1168
1191
|
responses: {
|
1169
1192
|
200: DefaultSuccessResponseSchema.extend({
|
1170
|
-
total:
|
1171
|
-
page:
|
1172
|
-
pageSize:
|
1173
|
-
data:
|
1193
|
+
total: z26.number(),
|
1194
|
+
page: z26.number(),
|
1195
|
+
pageSize: z26.number(),
|
1196
|
+
data: z26.array(RoomSchema)
|
1174
1197
|
})
|
1175
1198
|
},
|
1176
1199
|
query: SearchRoomsSchema,
|
@@ -1185,99 +1208,99 @@ var mainChatContract = initContract6().router(
|
|
1185
1208
|
|
1186
1209
|
// src/contact/index.ts
|
1187
1210
|
import { initContract as initContract7 } from "@ts-rest/core";
|
1188
|
-
import
|
1211
|
+
import z28 from "zod";
|
1189
1212
|
|
1190
1213
|
// src/contact/validation.ts
|
1191
|
-
import
|
1192
|
-
var BaseSchema =
|
1193
|
-
isRequired:
|
1194
|
-
attributeId:
|
1214
|
+
import z27 from "zod";
|
1215
|
+
var BaseSchema = z27.object({
|
1216
|
+
isRequired: z27.boolean(),
|
1217
|
+
attributeId: z27.string()
|
1195
1218
|
});
|
1196
1219
|
var SingleValue = {
|
1197
|
-
value:
|
1220
|
+
value: z27.string()
|
1198
1221
|
};
|
1199
1222
|
var ContactContractValidationSchema = {
|
1200
1223
|
create: {
|
1201
|
-
request:
|
1224
|
+
request: z27.object({
|
1202
1225
|
name: BaseSchema.extend(SingleValue),
|
1203
1226
|
email: BaseSchema.extend({
|
1204
|
-
value:
|
1205
|
-
|
1206
|
-
email:
|
1207
|
-
isPrimary:
|
1227
|
+
value: z27.array(
|
1228
|
+
z27.object({
|
1229
|
+
email: z27.string(),
|
1230
|
+
isPrimary: z27.boolean()
|
1208
1231
|
})
|
1209
1232
|
)
|
1210
1233
|
}),
|
1211
1234
|
channel: BaseSchema.extend(SingleValue),
|
1212
1235
|
address: BaseSchema.extend(SingleValue),
|
1213
1236
|
phone: BaseSchema.extend({
|
1214
|
-
value:
|
1215
|
-
|
1216
|
-
phone:
|
1217
|
-
isPrimary:
|
1237
|
+
value: z27.array(
|
1238
|
+
z27.object({
|
1239
|
+
phone: z27.string(),
|
1240
|
+
isPrimary: z27.boolean()
|
1218
1241
|
})
|
1219
1242
|
)
|
1220
1243
|
}).optional(),
|
1221
1244
|
notes: BaseSchema.extend(SingleValue),
|
1222
1245
|
tags: BaseSchema.extend({
|
1223
|
-
value:
|
1246
|
+
value: z27.array(z27.string())
|
1224
1247
|
}),
|
1225
1248
|
company: BaseSchema.extend(SingleValue),
|
1226
|
-
customFields:
|
1249
|
+
customFields: z27.array(
|
1227
1250
|
BaseSchema.extend({
|
1228
|
-
value:
|
1229
|
-
type:
|
1230
|
-
isDefaultAttribute:
|
1251
|
+
value: z27.union([z27.string(), z27.array(z27.string())]),
|
1252
|
+
type: z27.string(),
|
1253
|
+
isDefaultAttribute: z27.boolean()
|
1231
1254
|
})
|
1232
1255
|
)
|
1233
1256
|
}),
|
1234
|
-
response:
|
1257
|
+
response: z27.string()
|
1235
1258
|
},
|
1236
1259
|
getById: {
|
1237
|
-
request:
|
1238
|
-
id:
|
1260
|
+
request: z27.object({
|
1261
|
+
id: z27.string().uuid()
|
1239
1262
|
}),
|
1240
1263
|
response: ContactSchema
|
1241
1264
|
},
|
1242
1265
|
delete: {
|
1243
|
-
request:
|
1244
|
-
id:
|
1266
|
+
request: z27.object({
|
1267
|
+
id: z27.string().uuid()
|
1245
1268
|
}),
|
1246
|
-
response:
|
1269
|
+
response: z27.string()
|
1247
1270
|
},
|
1248
1271
|
getAll: {
|
1249
|
-
request:
|
1250
|
-
page:
|
1251
|
-
pageSize:
|
1252
|
-
keyword:
|
1253
|
-
company:
|
1254
|
-
name:
|
1255
|
-
address:
|
1256
|
-
channel:
|
1257
|
-
selectedDate:
|
1258
|
-
customFields:
|
1259
|
-
|
1260
|
-
attributeId:
|
1261
|
-
type:
|
1262
|
-
value:
|
1272
|
+
request: z27.object({
|
1273
|
+
page: z27.coerce.number().default(1),
|
1274
|
+
pageSize: z27.coerce.number().default(10),
|
1275
|
+
keyword: z27.string().optional(),
|
1276
|
+
company: z27.array(z27.string().uuid()),
|
1277
|
+
name: z27.string(),
|
1278
|
+
address: z27.string(),
|
1279
|
+
channel: z27.array(z27.string()),
|
1280
|
+
selectedDate: z27.string(),
|
1281
|
+
customFields: z27.array(
|
1282
|
+
z27.object({
|
1283
|
+
attributeId: z27.string().uuid(),
|
1284
|
+
type: z27.string(),
|
1285
|
+
value: z27.union([z27.string(), z27.array(z27.string())])
|
1263
1286
|
})
|
1264
1287
|
),
|
1265
|
-
tags:
|
1266
|
-
phone:
|
1267
|
-
email:
|
1268
|
-
notes:
|
1288
|
+
tags: z27.array(z27.string().uuid()),
|
1289
|
+
phone: z27.string(),
|
1290
|
+
email: z27.string(),
|
1291
|
+
notes: z27.string()
|
1269
1292
|
}).partial(),
|
1270
1293
|
response: {
|
1271
|
-
page:
|
1272
|
-
pageSize:
|
1273
|
-
total:
|
1274
|
-
lastPage:
|
1275
|
-
data:
|
1294
|
+
page: z27.number(),
|
1295
|
+
pageSize: z27.number(),
|
1296
|
+
total: z27.number(),
|
1297
|
+
lastPage: z27.number(),
|
1298
|
+
data: z27.array(ContactSchema)
|
1276
1299
|
}
|
1277
1300
|
},
|
1278
1301
|
createContactByPhone: {
|
1279
|
-
request:
|
1280
|
-
phoneNumber:
|
1302
|
+
request: z27.object({
|
1303
|
+
phoneNumber: z27.string().refine(
|
1281
1304
|
(value) => {
|
1282
1305
|
const numericValue = value.replace(/\s/g, "");
|
1283
1306
|
return /^\d+$/.test(numericValue);
|
@@ -1290,8 +1313,8 @@ var ContactContractValidationSchema = {
|
|
1290
1313
|
response: ContactSchema
|
1291
1314
|
},
|
1292
1315
|
updateContactByPhone: {
|
1293
|
-
request:
|
1294
|
-
phoneNumber:
|
1316
|
+
request: z27.object({
|
1317
|
+
phoneNumber: z27.string().refine(
|
1295
1318
|
(value) => {
|
1296
1319
|
const numericValue = value.replace(/\s/g, "");
|
1297
1320
|
return /^\d+$/.test(numericValue);
|
@@ -1304,68 +1327,68 @@ var ContactContractValidationSchema = {
|
|
1304
1327
|
response: ContactSchema
|
1305
1328
|
},
|
1306
1329
|
updateFromOngoingCall: {
|
1307
|
-
request:
|
1308
|
-
name:
|
1309
|
-
companyId:
|
1330
|
+
request: z27.object({
|
1331
|
+
name: z27.string(),
|
1332
|
+
companyId: z27.string().uuid()
|
1310
1333
|
}).partial(),
|
1311
1334
|
response: ContactSchema
|
1312
1335
|
},
|
1313
1336
|
merge: {
|
1314
|
-
request:
|
1315
|
-
primaryContactId:
|
1316
|
-
emails:
|
1317
|
-
|
1318
|
-
email:
|
1319
|
-
isPrimary:
|
1337
|
+
request: z27.object({
|
1338
|
+
primaryContactId: z27.string().uuid(),
|
1339
|
+
emails: z27.array(
|
1340
|
+
z27.object({
|
1341
|
+
email: z27.string(),
|
1342
|
+
isPrimary: z27.boolean()
|
1320
1343
|
})
|
1321
1344
|
),
|
1322
|
-
phones:
|
1323
|
-
|
1324
|
-
phone:
|
1325
|
-
isPrimary:
|
1345
|
+
phones: z27.array(
|
1346
|
+
z27.object({
|
1347
|
+
phone: z27.string(),
|
1348
|
+
isPrimary: z27.boolean()
|
1326
1349
|
})
|
1327
1350
|
),
|
1328
|
-
otherContacts:
|
1351
|
+
otherContacts: z27.array(z27.string().uuid())
|
1329
1352
|
}),
|
1330
1353
|
response: ContactSchema
|
1331
1354
|
},
|
1332
1355
|
checkContactPhone: {
|
1333
|
-
request:
|
1334
|
-
contactId:
|
1335
|
-
phoneNumber:
|
1356
|
+
request: z27.object({
|
1357
|
+
contactId: z27.string().uuid().optional(),
|
1358
|
+
phoneNumber: z27.string()
|
1336
1359
|
}),
|
1337
|
-
response:
|
1360
|
+
response: z27.boolean()
|
1338
1361
|
},
|
1339
1362
|
checkContactEmail: {
|
1340
|
-
request:
|
1341
|
-
contactId:
|
1342
|
-
email:
|
1363
|
+
request: z27.object({
|
1364
|
+
contactId: z27.string().uuid().optional(),
|
1365
|
+
email: z27.string()
|
1343
1366
|
}),
|
1344
|
-
response:
|
1367
|
+
response: z27.boolean()
|
1345
1368
|
},
|
1346
1369
|
filterContacts: {
|
1347
|
-
request:
|
1348
|
-
page:
|
1349
|
-
pageSize:
|
1350
|
-
keyword:
|
1370
|
+
request: z27.object({
|
1371
|
+
page: z27.coerce.number().default(1),
|
1372
|
+
pageSize: z27.coerce.number().default(10),
|
1373
|
+
keyword: z27.string()
|
1351
1374
|
}).partial(),
|
1352
1375
|
response: {
|
1353
|
-
page:
|
1354
|
-
pageSize:
|
1355
|
-
total:
|
1356
|
-
lastPage:
|
1357
|
-
data:
|
1376
|
+
page: z27.number(),
|
1377
|
+
pageSize: z27.number(),
|
1378
|
+
total: z27.number(),
|
1379
|
+
lastPage: z27.number(),
|
1380
|
+
data: z27.array(ContactSchema)
|
1358
1381
|
}
|
1359
1382
|
},
|
1360
1383
|
addAttachments: {
|
1361
|
-
request:
|
1362
|
-
attributeId:
|
1363
|
-
attachments:
|
1364
|
-
|
1365
|
-
bucketName:
|
1366
|
-
fileKey:
|
1367
|
-
fileName:
|
1368
|
-
fileSize:
|
1384
|
+
request: z27.object({
|
1385
|
+
attributeId: z27.string().uuid(),
|
1386
|
+
attachments: z27.array(
|
1387
|
+
z27.object({
|
1388
|
+
bucketName: z27.string(),
|
1389
|
+
fileKey: z27.string(),
|
1390
|
+
fileName: z27.string(),
|
1391
|
+
fileSize: z27.coerce.number()
|
1369
1392
|
})
|
1370
1393
|
).optional()
|
1371
1394
|
}),
|
@@ -1383,14 +1406,14 @@ var contactContract = initContract7().router(
|
|
1383
1406
|
201: DefaultSuccessResponseSchema.extend({
|
1384
1407
|
message: ContactContractValidationSchema.create.response
|
1385
1408
|
}),
|
1386
|
-
400:
|
1387
|
-
message:
|
1409
|
+
400: z28.object({
|
1410
|
+
message: z28.string()
|
1388
1411
|
}),
|
1389
|
-
409:
|
1390
|
-
message:
|
1412
|
+
409: z28.object({
|
1413
|
+
message: z28.string()
|
1391
1414
|
}),
|
1392
|
-
500:
|
1393
|
-
message:
|
1415
|
+
500: z28.object({
|
1416
|
+
message: z28.string()
|
1394
1417
|
}),
|
1395
1418
|
401: DefaultUnauthorizedSchema,
|
1396
1419
|
404: DefaultNotFoundSchema,
|
@@ -1407,14 +1430,14 @@ var contactContract = initContract7().router(
|
|
1407
1430
|
200: DefaultSuccessResponseSchema.extend({
|
1408
1431
|
data: ContactContractValidationSchema.getById.response
|
1409
1432
|
}),
|
1410
|
-
400:
|
1411
|
-
message:
|
1433
|
+
400: z28.object({
|
1434
|
+
message: z28.string()
|
1412
1435
|
}),
|
1413
|
-
409:
|
1414
|
-
message:
|
1436
|
+
409: z28.object({
|
1437
|
+
message: z28.string()
|
1415
1438
|
}),
|
1416
|
-
500:
|
1417
|
-
message:
|
1439
|
+
500: z28.object({
|
1440
|
+
message: z28.string()
|
1418
1441
|
}),
|
1419
1442
|
401: DefaultUnauthorizedSchema,
|
1420
1443
|
404: DefaultNotFoundSchema,
|
@@ -1430,14 +1453,14 @@ var contactContract = initContract7().router(
|
|
1430
1453
|
200: DefaultSuccessResponseSchema.extend(
|
1431
1454
|
ContactContractValidationSchema.getAll.response
|
1432
1455
|
),
|
1433
|
-
400:
|
1434
|
-
message:
|
1456
|
+
400: z28.object({
|
1457
|
+
message: z28.string()
|
1435
1458
|
}),
|
1436
|
-
409:
|
1437
|
-
message:
|
1459
|
+
409: z28.object({
|
1460
|
+
message: z28.string()
|
1438
1461
|
}),
|
1439
|
-
500:
|
1440
|
-
message:
|
1462
|
+
500: z28.object({
|
1463
|
+
message: z28.string()
|
1441
1464
|
}),
|
1442
1465
|
401: DefaultUnauthorizedSchema,
|
1443
1466
|
404: DefaultNotFoundSchema,
|
@@ -1453,14 +1476,14 @@ var contactContract = initContract7().router(
|
|
1453
1476
|
200: DefaultSuccessResponseSchema.extend(
|
1454
1477
|
ContactContractValidationSchema.filterContacts.response
|
1455
1478
|
),
|
1456
|
-
400:
|
1457
|
-
message:
|
1479
|
+
400: z28.object({
|
1480
|
+
message: z28.string()
|
1458
1481
|
}),
|
1459
|
-
409:
|
1460
|
-
message:
|
1482
|
+
409: z28.object({
|
1483
|
+
message: z28.string()
|
1461
1484
|
}),
|
1462
|
-
500:
|
1463
|
-
message:
|
1485
|
+
500: z28.object({
|
1486
|
+
message: z28.string()
|
1464
1487
|
}),
|
1465
1488
|
401: DefaultUnauthorizedSchema,
|
1466
1489
|
404: DefaultNotFoundSchema,
|
@@ -1476,14 +1499,14 @@ var contactContract = initContract7().router(
|
|
1476
1499
|
200: DefaultSuccessResponseSchema.extend({
|
1477
1500
|
data: ContactContractValidationSchema.getById.response
|
1478
1501
|
}),
|
1479
|
-
400:
|
1480
|
-
message:
|
1502
|
+
400: z28.object({
|
1503
|
+
message: z28.string()
|
1481
1504
|
}),
|
1482
|
-
409:
|
1483
|
-
message:
|
1505
|
+
409: z28.object({
|
1506
|
+
message: z28.string()
|
1484
1507
|
}),
|
1485
|
-
500:
|
1486
|
-
message:
|
1508
|
+
500: z28.object({
|
1509
|
+
message: z28.string()
|
1487
1510
|
}),
|
1488
1511
|
401: DefaultUnauthorizedSchema,
|
1489
1512
|
404: DefaultNotFoundSchema,
|
@@ -1500,14 +1523,14 @@ var contactContract = initContract7().router(
|
|
1500
1523
|
200: DefaultSuccessResponseSchema.extend({
|
1501
1524
|
message: ContactContractValidationSchema.delete.response
|
1502
1525
|
}),
|
1503
|
-
400:
|
1504
|
-
message:
|
1526
|
+
400: z28.object({
|
1527
|
+
message: z28.string()
|
1505
1528
|
}),
|
1506
|
-
409:
|
1507
|
-
message:
|
1529
|
+
409: z28.object({
|
1530
|
+
message: z28.string()
|
1508
1531
|
}),
|
1509
|
-
500:
|
1510
|
-
message:
|
1532
|
+
500: z28.object({
|
1533
|
+
message: z28.string()
|
1511
1534
|
}),
|
1512
1535
|
401: DefaultUnauthorizedSchema,
|
1513
1536
|
404: DefaultNotFoundSchema,
|
@@ -1523,14 +1546,14 @@ var contactContract = initContract7().router(
|
|
1523
1546
|
201: DefaultSuccessResponseSchema.extend({
|
1524
1547
|
data: ContactContractValidationSchema.createContactByPhone.response
|
1525
1548
|
}),
|
1526
|
-
400:
|
1527
|
-
message:
|
1549
|
+
400: z28.object({
|
1550
|
+
message: z28.string()
|
1528
1551
|
}),
|
1529
|
-
409:
|
1530
|
-
message:
|
1552
|
+
409: z28.object({
|
1553
|
+
message: z28.string()
|
1531
1554
|
}),
|
1532
|
-
500:
|
1533
|
-
message:
|
1555
|
+
500: z28.object({
|
1556
|
+
message: z28.string()
|
1534
1557
|
}),
|
1535
1558
|
401: DefaultUnauthorizedSchema,
|
1536
1559
|
404: DefaultNotFoundSchema,
|
@@ -1546,14 +1569,14 @@ var contactContract = initContract7().router(
|
|
1546
1569
|
201: DefaultSuccessResponseSchema.extend({
|
1547
1570
|
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1548
1571
|
}),
|
1549
|
-
400:
|
1550
|
-
message:
|
1572
|
+
400: z28.object({
|
1573
|
+
message: z28.string()
|
1551
1574
|
}),
|
1552
|
-
409:
|
1553
|
-
message:
|
1575
|
+
409: z28.object({
|
1576
|
+
message: z28.string()
|
1554
1577
|
}),
|
1555
|
-
500:
|
1556
|
-
message:
|
1578
|
+
500: z28.object({
|
1579
|
+
message: z28.string()
|
1557
1580
|
}),
|
1558
1581
|
401: DefaultUnauthorizedSchema,
|
1559
1582
|
404: DefaultNotFoundSchema,
|
@@ -1569,14 +1592,14 @@ var contactContract = initContract7().router(
|
|
1569
1592
|
200: DefaultSuccessResponseSchema.extend({
|
1570
1593
|
data: ContactContractValidationSchema.merge.response
|
1571
1594
|
}),
|
1572
|
-
400:
|
1573
|
-
message:
|
1595
|
+
400: z28.object({
|
1596
|
+
message: z28.string()
|
1574
1597
|
}),
|
1575
|
-
409:
|
1576
|
-
message:
|
1598
|
+
409: z28.object({
|
1599
|
+
message: z28.string()
|
1577
1600
|
}),
|
1578
|
-
500:
|
1579
|
-
message:
|
1601
|
+
500: z28.object({
|
1602
|
+
message: z28.string()
|
1580
1603
|
}),
|
1581
1604
|
401: DefaultUnauthorizedSchema,
|
1582
1605
|
404: DefaultNotFoundSchema,
|
@@ -1592,14 +1615,14 @@ var contactContract = initContract7().router(
|
|
1592
1615
|
200: DefaultSuccessResponseSchema.extend({
|
1593
1616
|
existed: ContactContractValidationSchema.checkContactPhone.response
|
1594
1617
|
}),
|
1595
|
-
400:
|
1596
|
-
message:
|
1618
|
+
400: z28.object({
|
1619
|
+
message: z28.string()
|
1597
1620
|
}),
|
1598
|
-
409:
|
1599
|
-
message:
|
1621
|
+
409: z28.object({
|
1622
|
+
message: z28.string()
|
1600
1623
|
}),
|
1601
|
-
500:
|
1602
|
-
message:
|
1624
|
+
500: z28.object({
|
1625
|
+
message: z28.string()
|
1603
1626
|
}),
|
1604
1627
|
401: DefaultUnauthorizedSchema,
|
1605
1628
|
404: DefaultNotFoundSchema,
|
@@ -1615,14 +1638,14 @@ var contactContract = initContract7().router(
|
|
1615
1638
|
200: DefaultSuccessResponseSchema.extend({
|
1616
1639
|
existed: ContactContractValidationSchema.checkContactEmail.response
|
1617
1640
|
}),
|
1618
|
-
400:
|
1619
|
-
message:
|
1641
|
+
400: z28.object({
|
1642
|
+
message: z28.string()
|
1620
1643
|
}),
|
1621
|
-
409:
|
1622
|
-
message:
|
1644
|
+
409: z28.object({
|
1645
|
+
message: z28.string()
|
1623
1646
|
}),
|
1624
|
-
500:
|
1625
|
-
message:
|
1647
|
+
500: z28.object({
|
1648
|
+
message: z28.string()
|
1626
1649
|
}),
|
1627
1650
|
401: DefaultUnauthorizedSchema,
|
1628
1651
|
404: DefaultNotFoundSchema,
|
@@ -1634,21 +1657,21 @@ var contactContract = initContract7().router(
|
|
1634
1657
|
addAttachments: {
|
1635
1658
|
method: "POST",
|
1636
1659
|
path: "/:id/attachments",
|
1637
|
-
pathParams:
|
1638
|
-
id:
|
1660
|
+
pathParams: z28.object({
|
1661
|
+
id: z28.string().uuid()
|
1639
1662
|
}),
|
1640
1663
|
responses: {
|
1641
1664
|
201: DefaultSuccessResponseSchema.extend({
|
1642
1665
|
message: ContactContractValidationSchema.addAttachments.response
|
1643
1666
|
}),
|
1644
|
-
400:
|
1645
|
-
message:
|
1667
|
+
400: z28.object({
|
1668
|
+
message: z28.string()
|
1646
1669
|
}),
|
1647
|
-
409:
|
1648
|
-
message:
|
1670
|
+
409: z28.object({
|
1671
|
+
message: z28.string()
|
1649
1672
|
}),
|
1650
|
-
500:
|
1651
|
-
message:
|
1673
|
+
500: z28.object({
|
1674
|
+
message: z28.string()
|
1652
1675
|
}),
|
1653
1676
|
401: DefaultUnauthorizedSchema,
|
1654
1677
|
404: DefaultNotFoundSchema,
|
@@ -1666,142 +1689,143 @@ var contactContract = initContract7().router(
|
|
1666
1689
|
|
1667
1690
|
// src/ticket/index.ts
|
1668
1691
|
import { initContract as initContract8 } from "@ts-rest/core";
|
1669
|
-
import
|
1692
|
+
import z31 from "zod";
|
1670
1693
|
|
1671
1694
|
// src/ticket/schema.ts
|
1672
|
-
import
|
1695
|
+
import z29 from "zod";
|
1673
1696
|
var TicketCustomFieldSchema = DefaultEntitySchema.extend({
|
1674
|
-
textValue:
|
1675
|
-
booleanValue:
|
1676
|
-
numberValue:
|
1677
|
-
dateValue:
|
1697
|
+
textValue: z29.string().nullable(),
|
1698
|
+
booleanValue: z29.boolean().nullable(),
|
1699
|
+
numberValue: z29.coerce.number().nullable(),
|
1700
|
+
dateValue: z29.date().nullable(),
|
1678
1701
|
attribute: AttributeSchema.omit({ options: true, group: true }),
|
1679
|
-
uploads:
|
1680
|
-
|
1681
|
-
id:
|
1682
|
-
createdAt:
|
1683
|
-
updatedAt:
|
1684
|
-
deletedAt:
|
1685
|
-
customFieldId:
|
1702
|
+
uploads: z29.array(
|
1703
|
+
z29.object({
|
1704
|
+
id: z29.string().uuid(),
|
1705
|
+
createdAt: z29.date(),
|
1706
|
+
updatedAt: z29.date(),
|
1707
|
+
deletedAt: z29.date().nullable(),
|
1708
|
+
customFieldId: z29.string(),
|
1686
1709
|
upload: UploadSchema
|
1687
1710
|
})
|
1688
1711
|
)
|
1689
1712
|
});
|
1690
|
-
var TicketEntityTypesSchema =
|
1691
|
-
id:
|
1692
|
-
createdAt:
|
1693
|
-
updatedAt:
|
1694
|
-
deletedAt:
|
1695
|
-
entity:
|
1696
|
-
description:
|
1697
|
-
});
|
1698
|
-
var TicketActivitySchema =
|
1699
|
-
id:
|
1700
|
-
createdAt:
|
1701
|
-
updatedAt:
|
1702
|
-
deletedAt:
|
1703
|
-
entityId:
|
1704
|
-
description:
|
1713
|
+
var TicketEntityTypesSchema = z29.object({
|
1714
|
+
id: z29.string().uuid(),
|
1715
|
+
createdAt: z29.date(),
|
1716
|
+
updatedAt: z29.date(),
|
1717
|
+
deletedAt: z29.date().nullable(),
|
1718
|
+
entity: z29.string(),
|
1719
|
+
description: z29.string().nullable()
|
1720
|
+
});
|
1721
|
+
var TicketActivitySchema = z29.object({
|
1722
|
+
id: z29.string().uuid(),
|
1723
|
+
createdAt: z29.date(),
|
1724
|
+
updatedAt: z29.date(),
|
1725
|
+
deletedAt: z29.date().nullable(),
|
1726
|
+
entityId: z29.string(),
|
1727
|
+
description: z29.string(),
|
1705
1728
|
entityType: TicketEntityTypesSchema
|
1706
1729
|
});
|
1707
1730
|
var TicketSchema = DefaultEntitySchema.extend({
|
1708
|
-
title:
|
1709
|
-
description:
|
1710
|
-
type:
|
1711
|
-
channel:
|
1712
|
-
priority:
|
1713
|
-
status:
|
1714
|
-
contactId:
|
1715
|
-
creatorId:
|
1716
|
-
assigneeId:
|
1717
|
-
reasonToAssign:
|
1718
|
-
ticketNumber:
|
1719
|
-
customFields:
|
1720
|
-
});
|
1721
|
-
var TicketCountByContactSchema =
|
1722
|
-
total:
|
1723
|
-
open:
|
1724
|
-
pending:
|
1725
|
-
closed:
|
1726
|
-
solved:
|
1731
|
+
title: z29.string(),
|
1732
|
+
description: z29.string().nullable(),
|
1733
|
+
type: z29.string(),
|
1734
|
+
channel: z29.string(),
|
1735
|
+
priority: z29.string(),
|
1736
|
+
status: z29.string(),
|
1737
|
+
contactId: z29.string().uuid(),
|
1738
|
+
creatorId: z29.string().uuid(),
|
1739
|
+
assigneeId: z29.string().uuid(),
|
1740
|
+
reasonToAssign: z29.string().nullable(),
|
1741
|
+
ticketNumber: z29.coerce.number().optional(),
|
1742
|
+
customFields: z29.array(TicketCustomFieldSchema)
|
1743
|
+
});
|
1744
|
+
var TicketCountByContactSchema = z29.object({
|
1745
|
+
total: z29.coerce.number(),
|
1746
|
+
open: z29.coerce.number(),
|
1747
|
+
pending: z29.coerce.number(),
|
1748
|
+
closed: z29.coerce.number(),
|
1749
|
+
solved: z29.coerce.number()
|
1727
1750
|
});
|
1728
1751
|
|
1729
1752
|
// src/ticket/validation.ts
|
1730
|
-
import
|
1731
|
-
var BaseSchema2 =
|
1732
|
-
isRequired:
|
1733
|
-
attributeId:
|
1753
|
+
import z30 from "zod";
|
1754
|
+
var BaseSchema2 = z30.object({
|
1755
|
+
isRequired: z30.boolean(),
|
1756
|
+
attributeId: z30.string()
|
1734
1757
|
});
|
1735
1758
|
var SingleValue2 = {
|
1736
|
-
value:
|
1759
|
+
value: z30.string()
|
1737
1760
|
};
|
1738
|
-
var CreateTicketValidationSchema =
|
1761
|
+
var CreateTicketValidationSchema = z30.object({
|
1739
1762
|
title: BaseSchema2.extend(SingleValue2),
|
1740
1763
|
description: BaseSchema2.extend(SingleValue2),
|
1741
1764
|
status: BaseSchema2.extend(SingleValue2),
|
1742
1765
|
type: BaseSchema2.extend(SingleValue2),
|
1743
1766
|
priority: BaseSchema2.extend(SingleValue2),
|
1744
1767
|
contact: BaseSchema2.extend(SingleValue2),
|
1745
|
-
assignee:
|
1768
|
+
assignee: z30.object({
|
1769
|
+
isRequired: z30.boolean(),
|
1770
|
+
attributeId: z30.string().optional(),
|
1771
|
+
value: z30.string().optional()
|
1772
|
+
}),
|
1746
1773
|
channel: BaseSchema2.extend(SingleValue2),
|
1747
|
-
tags: BaseSchema2.extend({ value:
|
1748
|
-
categories: BaseSchema2.extend({ value:
|
1749
|
-
customFields:
|
1774
|
+
tags: BaseSchema2.extend({ value: z30.array(z30.string()) }),
|
1775
|
+
categories: BaseSchema2.extend({ value: z30.array(z30.string()) }),
|
1776
|
+
customFields: z30.array(
|
1750
1777
|
BaseSchema2.extend({
|
1751
|
-
value:
|
1752
|
-
|
1753
|
-
|
1778
|
+
value: z30.union([z30.string(), z30.array(z30.string())]),
|
1779
|
+
// value: z.string(),
|
1780
|
+
type: z30.string(),
|
1781
|
+
isDefaultAttribute: z30.boolean()
|
1754
1782
|
})
|
1755
1783
|
),
|
1756
|
-
reasonToAssign:
|
1784
|
+
reasonToAssign: z30.object({ value: z30.string() }).optional()
|
1757
1785
|
});
|
1758
|
-
var UpdateTicketValidationSchema = CreateTicketValidationSchema
|
1759
|
-
|
1760
|
-
|
1761
|
-
|
1762
|
-
)
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
|
1774
|
-
});
|
1775
|
-
var
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
|
1800
|
-
|
1801
|
-
z29.object({
|
1802
|
-
attributeId: z29.string().uuid(),
|
1803
|
-
type: z29.string(),
|
1804
|
-
value: z29.union([z29.string(), z29.array(z29.string())])
|
1786
|
+
var UpdateTicketValidationSchema = CreateTicketValidationSchema;
|
1787
|
+
var TicketAttachmentRecordSchema = z30.object({
|
1788
|
+
bucketName: z30.string(),
|
1789
|
+
fileKey: z30.string(),
|
1790
|
+
fileName: z30.string(),
|
1791
|
+
fileSize: z30.coerce.number(),
|
1792
|
+
url: z30.string()
|
1793
|
+
});
|
1794
|
+
var CreateTicketAttachmentRecordsSchema = z30.object({
|
1795
|
+
ticketId: z30.string(),
|
1796
|
+
attributeId: z30.string(),
|
1797
|
+
ticketAttachmentRecords: z30.array(TicketAttachmentRecordSchema)
|
1798
|
+
});
|
1799
|
+
var TicketParamsSchema = z30.object({
|
1800
|
+
page: z30.coerce.number().default(1),
|
1801
|
+
pageSize: z30.coerce.number().default(10)
|
1802
|
+
});
|
1803
|
+
var CustomFieldQuery = z30.object({
|
1804
|
+
attributeId: z30.string(),
|
1805
|
+
type: z30.string(),
|
1806
|
+
value: z30.union([z30.string(), z30.array(z30.string())])
|
1807
|
+
});
|
1808
|
+
var GetAllTicketQuerySchema = z30.object({
|
1809
|
+
page: z30.coerce.number().default(1),
|
1810
|
+
pageSize: z30.coerce.number().default(10),
|
1811
|
+
agent: z30.array(z30.string()).optional(),
|
1812
|
+
selectedDate: z30.string().optional(),
|
1813
|
+
keyword: z30.string().optional(),
|
1814
|
+
title: z30.string().optional(),
|
1815
|
+
description: z30.string().optional(),
|
1816
|
+
status: z30.array(z30.string()).optional(),
|
1817
|
+
priority: z30.array(z30.string()).optional(),
|
1818
|
+
channel: z30.array(z30.string()).optional(),
|
1819
|
+
type: z30.array(z30.string()).optional(),
|
1820
|
+
ticketType: z30.array(z30.string()).optional(),
|
1821
|
+
contact: z30.array(z30.string()).optional(),
|
1822
|
+
tags: z30.array(z30.string()).optional(),
|
1823
|
+
categories: z30.array(z30.string()).optional(),
|
1824
|
+
customFields: z30.array(
|
1825
|
+
z30.object({
|
1826
|
+
attributeId: z30.string().uuid(),
|
1827
|
+
type: z30.string(),
|
1828
|
+
value: z30.union([z30.string(), z30.array(z30.string())])
|
1805
1829
|
})
|
1806
1830
|
).optional()
|
1807
1831
|
});
|
@@ -1817,14 +1841,14 @@ var ticketContract = initContract8().router(
|
|
1817
1841
|
201: DefaultSuccessResponseSchema.extend({
|
1818
1842
|
message: TicketSchema
|
1819
1843
|
}),
|
1820
|
-
400:
|
1821
|
-
message:
|
1844
|
+
400: z31.object({
|
1845
|
+
message: z31.string()
|
1822
1846
|
}),
|
1823
|
-
409:
|
1824
|
-
message:
|
1847
|
+
409: z31.object({
|
1848
|
+
message: z31.string()
|
1825
1849
|
}),
|
1826
|
-
500:
|
1827
|
-
message:
|
1850
|
+
500: z31.object({
|
1851
|
+
message: z31.string()
|
1828
1852
|
}),
|
1829
1853
|
401: DefaultUnauthorizedSchema,
|
1830
1854
|
404: DefaultNotFoundSchema,
|
@@ -1843,8 +1867,8 @@ var ticketContract = initContract8().router(
|
|
1843
1867
|
// The response data should contain the user relation.
|
1844
1868
|
TicketSchema
|
1845
1869
|
),
|
1846
|
-
400:
|
1847
|
-
message:
|
1870
|
+
400: z31.object({
|
1871
|
+
message: z31.string()
|
1848
1872
|
}),
|
1849
1873
|
401: DefaultUnauthorizedSchema,
|
1850
1874
|
500: DefaultErrorResponseSchema
|
@@ -1854,12 +1878,12 @@ var ticketContract = initContract8().router(
|
|
1854
1878
|
getTicketById: {
|
1855
1879
|
method: "GET",
|
1856
1880
|
path: "/:id",
|
1857
|
-
pathParams:
|
1881
|
+
pathParams: z31.object({ id: z31.string() }),
|
1858
1882
|
headers: DefaultHeaderSchema,
|
1859
1883
|
responses: {
|
1860
1884
|
200: TicketSchema,
|
1861
|
-
400:
|
1862
|
-
message:
|
1885
|
+
400: z31.object({
|
1886
|
+
message: z31.string()
|
1863
1887
|
}),
|
1864
1888
|
401: DefaultUnauthorizedSchema,
|
1865
1889
|
500: DefaultErrorResponseSchema
|
@@ -1869,13 +1893,13 @@ var ticketContract = initContract8().router(
|
|
1869
1893
|
getTicketByContactId: {
|
1870
1894
|
method: "GET",
|
1871
1895
|
path: "/contact/:id",
|
1872
|
-
pathParams:
|
1896
|
+
pathParams: z31.object({ id: z31.string() }),
|
1873
1897
|
query: TicketParamsSchema,
|
1874
1898
|
headers: DefaultHeaderSchema,
|
1875
1899
|
responses: {
|
1876
1900
|
200: WithPagination(TicketSchema),
|
1877
|
-
400:
|
1878
|
-
message:
|
1901
|
+
400: z31.object({
|
1902
|
+
message: z31.string()
|
1879
1903
|
}),
|
1880
1904
|
401: DefaultUnauthorizedSchema,
|
1881
1905
|
500: DefaultErrorResponseSchema
|
@@ -1885,21 +1909,21 @@ var ticketContract = initContract8().router(
|
|
1885
1909
|
updateTicket: {
|
1886
1910
|
method: "PATCH",
|
1887
1911
|
path: "/:id",
|
1888
|
-
pathParams:
|
1912
|
+
pathParams: z31.object({ id: z31.string() }),
|
1889
1913
|
body: UpdateTicketValidationSchema,
|
1890
1914
|
headers: DefaultHeaderSchema,
|
1891
1915
|
responses: {
|
1892
1916
|
201: DefaultSuccessResponseSchema.extend({
|
1893
1917
|
message: TicketSchema
|
1894
1918
|
}),
|
1895
|
-
400:
|
1896
|
-
message:
|
1919
|
+
400: z31.object({
|
1920
|
+
message: z31.string()
|
1897
1921
|
}),
|
1898
|
-
409:
|
1899
|
-
message:
|
1922
|
+
409: z31.object({
|
1923
|
+
message: z31.string()
|
1900
1924
|
}),
|
1901
|
-
500:
|
1902
|
-
message:
|
1925
|
+
500: z31.object({
|
1926
|
+
message: z31.string()
|
1903
1927
|
}),
|
1904
1928
|
401: DefaultUnauthorizedSchema,
|
1905
1929
|
404: DefaultNotFoundSchema,
|
@@ -1910,11 +1934,11 @@ var ticketContract = initContract8().router(
|
|
1910
1934
|
deleteTicket: {
|
1911
1935
|
method: "DELETE",
|
1912
1936
|
path: "/:id",
|
1913
|
-
pathParams:
|
1937
|
+
pathParams: z31.object({ id: z31.string() }),
|
1914
1938
|
headers: DefaultHeaderSchema,
|
1915
1939
|
body: null,
|
1916
1940
|
responses: {
|
1917
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1941
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1918
1942
|
500: DefaultErrorResponseSchema
|
1919
1943
|
},
|
1920
1944
|
summary: "Delete a extension."
|
@@ -1922,19 +1946,19 @@ var ticketContract = initContract8().router(
|
|
1922
1946
|
updateDescription: {
|
1923
1947
|
method: "PATCH",
|
1924
1948
|
path: "/description/update/:id",
|
1925
|
-
pathParams:
|
1926
|
-
body:
|
1949
|
+
pathParams: z31.object({ id: z31.string() }),
|
1950
|
+
body: z31.object({ description: z31.string() }),
|
1927
1951
|
headers: DefaultHeaderSchema,
|
1928
1952
|
responses: {
|
1929
|
-
201: DefaultSuccessResponseSchema.extend({ message:
|
1930
|
-
400:
|
1931
|
-
message:
|
1953
|
+
201: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1954
|
+
400: z31.object({
|
1955
|
+
message: z31.string()
|
1932
1956
|
}),
|
1933
|
-
409:
|
1934
|
-
message:
|
1957
|
+
409: z31.object({
|
1958
|
+
message: z31.string()
|
1935
1959
|
}),
|
1936
|
-
500:
|
1937
|
-
message:
|
1960
|
+
500: z31.object({
|
1961
|
+
message: z31.string()
|
1938
1962
|
}),
|
1939
1963
|
401: DefaultUnauthorizedSchema,
|
1940
1964
|
404: DefaultNotFoundSchema,
|
@@ -1945,19 +1969,19 @@ var ticketContract = initContract8().router(
|
|
1945
1969
|
updateTitle: {
|
1946
1970
|
method: "PATCH",
|
1947
1971
|
path: "/title/update/:id",
|
1948
|
-
pathParams:
|
1949
|
-
body:
|
1972
|
+
pathParams: z31.object({ id: z31.string() }),
|
1973
|
+
body: z31.object({ title: z31.string() }),
|
1950
1974
|
headers: DefaultHeaderSchema,
|
1951
1975
|
responses: {
|
1952
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1953
|
-
400:
|
1954
|
-
message:
|
1976
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1977
|
+
400: z31.object({
|
1978
|
+
message: z31.string()
|
1955
1979
|
}),
|
1956
|
-
409:
|
1957
|
-
message:
|
1980
|
+
409: z31.object({
|
1981
|
+
message: z31.string()
|
1958
1982
|
}),
|
1959
|
-
500:
|
1960
|
-
message:
|
1983
|
+
500: z31.object({
|
1984
|
+
message: z31.string()
|
1961
1985
|
}),
|
1962
1986
|
401: DefaultUnauthorizedSchema,
|
1963
1987
|
404: DefaultNotFoundSchema,
|
@@ -1968,19 +1992,19 @@ var ticketContract = initContract8().router(
|
|
1968
1992
|
updateType: {
|
1969
1993
|
method: "PATCH",
|
1970
1994
|
path: "/type/update/:id",
|
1971
|
-
pathParams:
|
1972
|
-
body:
|
1995
|
+
pathParams: z31.object({ id: z31.string() }),
|
1996
|
+
body: z31.object({ type: z31.string() }),
|
1973
1997
|
headers: DefaultHeaderSchema,
|
1974
1998
|
responses: {
|
1975
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1976
|
-
400:
|
1977
|
-
message:
|
1999
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2000
|
+
400: z31.object({
|
2001
|
+
message: z31.string()
|
1978
2002
|
}),
|
1979
|
-
409:
|
1980
|
-
message:
|
2003
|
+
409: z31.object({
|
2004
|
+
message: z31.string()
|
1981
2005
|
}),
|
1982
|
-
500:
|
1983
|
-
message:
|
2006
|
+
500: z31.object({
|
2007
|
+
message: z31.string()
|
1984
2008
|
}),
|
1985
2009
|
401: DefaultUnauthorizedSchema,
|
1986
2010
|
404: DefaultNotFoundSchema,
|
@@ -1991,19 +2015,19 @@ var ticketContract = initContract8().router(
|
|
1991
2015
|
updateStatus: {
|
1992
2016
|
method: "PATCH",
|
1993
2017
|
path: "/status/update/:id",
|
1994
|
-
pathParams:
|
1995
|
-
body:
|
2018
|
+
pathParams: z31.object({ id: z31.string() }),
|
2019
|
+
body: z31.object({ status: z31.string() }),
|
1996
2020
|
headers: DefaultHeaderSchema,
|
1997
2021
|
responses: {
|
1998
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1999
|
-
400:
|
2000
|
-
message:
|
2022
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2023
|
+
400: z31.object({
|
2024
|
+
message: z31.string()
|
2001
2025
|
}),
|
2002
|
-
409:
|
2003
|
-
message:
|
2026
|
+
409: z31.object({
|
2027
|
+
message: z31.string()
|
2004
2028
|
}),
|
2005
|
-
500:
|
2006
|
-
message:
|
2029
|
+
500: z31.object({
|
2030
|
+
message: z31.string()
|
2007
2031
|
}),
|
2008
2032
|
401: DefaultUnauthorizedSchema,
|
2009
2033
|
404: DefaultNotFoundSchema,
|
@@ -2014,19 +2038,19 @@ var ticketContract = initContract8().router(
|
|
2014
2038
|
updatePriority: {
|
2015
2039
|
method: "PATCH",
|
2016
2040
|
path: "/priority/update/:id",
|
2017
|
-
pathParams:
|
2018
|
-
body:
|
2041
|
+
pathParams: z31.object({ id: z31.string() }),
|
2042
|
+
body: z31.object({ priority: z31.string() }),
|
2019
2043
|
headers: DefaultHeaderSchema,
|
2020
2044
|
responses: {
|
2021
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2022
|
-
400:
|
2023
|
-
message:
|
2045
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2046
|
+
400: z31.object({
|
2047
|
+
message: z31.string()
|
2024
2048
|
}),
|
2025
|
-
409:
|
2026
|
-
message:
|
2049
|
+
409: z31.object({
|
2050
|
+
message: z31.string()
|
2027
2051
|
}),
|
2028
|
-
500:
|
2029
|
-
message:
|
2052
|
+
500: z31.object({
|
2053
|
+
message: z31.string()
|
2030
2054
|
}),
|
2031
2055
|
401: DefaultUnauthorizedSchema,
|
2032
2056
|
404: DefaultNotFoundSchema,
|
@@ -2037,19 +2061,19 @@ var ticketContract = initContract8().router(
|
|
2037
2061
|
updateChannel: {
|
2038
2062
|
method: "PATCH",
|
2039
2063
|
path: "/channel/update/:id",
|
2040
|
-
pathParams:
|
2041
|
-
body:
|
2064
|
+
pathParams: z31.object({ id: z31.string() }),
|
2065
|
+
body: z31.object({ channel: z31.string() }),
|
2042
2066
|
headers: DefaultHeaderSchema,
|
2043
2067
|
responses: {
|
2044
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2045
|
-
400:
|
2046
|
-
message:
|
2068
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2069
|
+
400: z31.object({
|
2070
|
+
message: z31.string()
|
2047
2071
|
}),
|
2048
|
-
409:
|
2049
|
-
message:
|
2072
|
+
409: z31.object({
|
2073
|
+
message: z31.string()
|
2050
2074
|
}),
|
2051
|
-
500:
|
2052
|
-
message:
|
2075
|
+
500: z31.object({
|
2076
|
+
message: z31.string()
|
2053
2077
|
}),
|
2054
2078
|
401: DefaultUnauthorizedSchema,
|
2055
2079
|
404: DefaultNotFoundSchema,
|
@@ -2060,19 +2084,19 @@ var ticketContract = initContract8().router(
|
|
2060
2084
|
updateTags: {
|
2061
2085
|
method: "PATCH",
|
2062
2086
|
path: "/tags/update/:id",
|
2063
|
-
pathParams:
|
2064
|
-
body:
|
2087
|
+
pathParams: z31.object({ id: z31.string() }),
|
2088
|
+
body: z31.object({ tags: z31.array(z31.string()) }),
|
2065
2089
|
headers: DefaultHeaderSchema,
|
2066
2090
|
responses: {
|
2067
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2068
|
-
400:
|
2069
|
-
message:
|
2091
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2092
|
+
400: z31.object({
|
2093
|
+
message: z31.string()
|
2070
2094
|
}),
|
2071
|
-
409:
|
2072
|
-
message:
|
2095
|
+
409: z31.object({
|
2096
|
+
message: z31.string()
|
2073
2097
|
}),
|
2074
|
-
500:
|
2075
|
-
message:
|
2098
|
+
500: z31.object({
|
2099
|
+
message: z31.string()
|
2076
2100
|
}),
|
2077
2101
|
401: DefaultUnauthorizedSchema,
|
2078
2102
|
404: DefaultNotFoundSchema,
|
@@ -2083,19 +2107,19 @@ var ticketContract = initContract8().router(
|
|
2083
2107
|
changeAssignee: {
|
2084
2108
|
method: "PATCH",
|
2085
2109
|
path: "/assignee/update/:id",
|
2086
|
-
pathParams:
|
2087
|
-
body:
|
2110
|
+
pathParams: z31.object({ id: z31.string() }),
|
2111
|
+
body: z31.object({ ticketId: z31.string(), assigneeId: z31.string() }),
|
2088
2112
|
headers: DefaultHeaderSchema,
|
2089
2113
|
responses: {
|
2090
2114
|
200: TicketSchema,
|
2091
|
-
400:
|
2092
|
-
message:
|
2115
|
+
400: z31.object({
|
2116
|
+
message: z31.string()
|
2093
2117
|
}),
|
2094
|
-
409:
|
2095
|
-
message:
|
2118
|
+
409: z31.object({
|
2119
|
+
message: z31.string()
|
2096
2120
|
}),
|
2097
|
-
500:
|
2098
|
-
message:
|
2121
|
+
500: z31.object({
|
2122
|
+
message: z31.string()
|
2099
2123
|
}),
|
2100
2124
|
401: DefaultUnauthorizedSchema,
|
2101
2125
|
404: DefaultNotFoundSchema,
|
@@ -2106,12 +2130,12 @@ var ticketContract = initContract8().router(
|
|
2106
2130
|
getTicketCountByContact: {
|
2107
2131
|
method: "GET",
|
2108
2132
|
path: "/ticket_count/contact/:id",
|
2109
|
-
pathParams:
|
2133
|
+
pathParams: z31.object({ id: z31.string() }),
|
2110
2134
|
headers: DefaultHeaderSchema,
|
2111
2135
|
responses: {
|
2112
2136
|
200: TicketCountByContactSchema,
|
2113
|
-
400:
|
2114
|
-
message:
|
2137
|
+
400: z31.object({
|
2138
|
+
message: z31.string()
|
2115
2139
|
}),
|
2116
2140
|
401: DefaultUnauthorizedSchema,
|
2117
2141
|
500: DefaultErrorResponseSchema
|
@@ -2121,16 +2145,16 @@ var ticketContract = initContract8().router(
|
|
2121
2145
|
getTicketByContact: {
|
2122
2146
|
method: "GET",
|
2123
2147
|
path: "/contact/:id",
|
2124
|
-
pathParams:
|
2125
|
-
query:
|
2126
|
-
page:
|
2127
|
-
pageSize:
|
2148
|
+
pathParams: z31.object({ id: z31.string() }),
|
2149
|
+
query: z31.object({
|
2150
|
+
page: z31.coerce.number().default(1),
|
2151
|
+
pageSize: z31.coerce.number().default(10)
|
2128
2152
|
}).optional(),
|
2129
2153
|
headers: DefaultHeaderSchema,
|
2130
2154
|
responses: {
|
2131
2155
|
200: WithPagination(TicketSchema),
|
2132
|
-
400:
|
2133
|
-
message:
|
2156
|
+
400: z31.object({
|
2157
|
+
message: z31.string()
|
2134
2158
|
}),
|
2135
2159
|
401: DefaultUnauthorizedSchema,
|
2136
2160
|
500: DefaultErrorResponseSchema
|
@@ -2144,14 +2168,14 @@ var ticketContract = initContract8().router(
|
|
2144
2168
|
body: CreateTicketAttachmentRecordsSchema,
|
2145
2169
|
responses: {
|
2146
2170
|
201: TicketCustomFieldSchema,
|
2147
|
-
400:
|
2148
|
-
message:
|
2171
|
+
400: z31.object({
|
2172
|
+
message: z31.string()
|
2149
2173
|
}),
|
2150
|
-
409:
|
2151
|
-
message:
|
2174
|
+
409: z31.object({
|
2175
|
+
message: z31.string()
|
2152
2176
|
}),
|
2153
|
-
500:
|
2154
|
-
message:
|
2177
|
+
500: z31.object({
|
2178
|
+
message: z31.string()
|
2155
2179
|
}),
|
2156
2180
|
401: DefaultUnauthorizedSchema,
|
2157
2181
|
404: DefaultNotFoundSchema,
|
@@ -2165,45 +2189,45 @@ var ticketContract = initContract8().router(
|
|
2165
2189
|
|
2166
2190
|
// src/cx-log/index.ts
|
2167
2191
|
import { initContract as initContract9 } from "@ts-rest/core";
|
2168
|
-
import
|
2192
|
+
import z33 from "zod";
|
2169
2193
|
|
2170
2194
|
// src/cx-log/validation.ts
|
2171
|
-
import
|
2172
|
-
var sentimentScoreSchema =
|
2173
|
-
|
2174
|
-
|
2195
|
+
import z32 from "zod";
|
2196
|
+
var sentimentScoreSchema = z32.union([
|
2197
|
+
z32.literal("positive"),
|
2198
|
+
z32.literal("negative")
|
2175
2199
|
]);
|
2176
|
-
var CustomFieldQueryParamsSchema =
|
2177
|
-
attributeId:
|
2178
|
-
value:
|
2179
|
-
type:
|
2200
|
+
var CustomFieldQueryParamsSchema = z32.object({
|
2201
|
+
attributeId: z32.string(),
|
2202
|
+
value: z32.union([z32.string(), z32.array(z32.string())]),
|
2203
|
+
type: z32.string().optional()
|
2180
2204
|
});
|
2181
2205
|
var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
|
2182
|
-
contactId:
|
2183
|
-
caseId:
|
2184
|
-
channelIds:
|
2185
|
-
queueId:
|
2186
|
-
agentIds:
|
2187
|
-
direction:
|
2188
|
-
disposition:
|
2189
|
-
sentimentScore:
|
2190
|
-
csatScore:
|
2191
|
-
sla:
|
2192
|
-
tags:
|
2206
|
+
contactId: z32.string().uuid(),
|
2207
|
+
caseId: z32.string(),
|
2208
|
+
channelIds: z32.array(z32.string().uuid()),
|
2209
|
+
queueId: z32.array(z32.string()),
|
2210
|
+
agentIds: z32.array(z32.string()),
|
2211
|
+
direction: z32.array(z32.union([z32.literal("inbound"), z32.literal("outbound")])),
|
2212
|
+
disposition: z32.array(z32.string()),
|
2213
|
+
sentimentScore: z32.array(sentimentScoreSchema),
|
2214
|
+
csatScore: z32.string(),
|
2215
|
+
sla: z32.array(z32.union([z32.literal("meet"), z32.literal("unmeet")])),
|
2216
|
+
tags: z32.array(z32.string()),
|
2193
2217
|
// General tags
|
2194
2218
|
// Default contact attributes
|
2195
|
-
name:
|
2196
|
-
contactLabels:
|
2197
|
-
email:
|
2198
|
-
channel:
|
2199
|
-
phone:
|
2200
|
-
notes:
|
2201
|
-
address:
|
2202
|
-
company:
|
2219
|
+
name: z32.string(),
|
2220
|
+
contactLabels: z32.array(z32.string()),
|
2221
|
+
email: z32.string(),
|
2222
|
+
channel: z32.array(z32.string()),
|
2223
|
+
phone: z32.string(),
|
2224
|
+
notes: z32.string(),
|
2225
|
+
address: z32.string(),
|
2226
|
+
company: z32.array(z32.string()),
|
2203
2227
|
// Custom fields
|
2204
|
-
customFields:
|
2228
|
+
customFields: z32.array(CustomFieldQueryParamsSchema),
|
2205
2229
|
// Date filter
|
2206
|
-
selectedDate:
|
2230
|
+
selectedDate: z32.string()
|
2207
2231
|
}).partial().optional();
|
2208
2232
|
|
2209
2233
|
// src/cx-log/index.ts
|
@@ -2214,10 +2238,10 @@ var cxLogContract = initContract9().router({
|
|
2214
2238
|
headers: DefaultHeaderSchema,
|
2215
2239
|
responses: {
|
2216
2240
|
200: DefaultSuccessResponseSchema.extend({
|
2217
|
-
total:
|
2218
|
-
page:
|
2219
|
-
pageSize:
|
2220
|
-
cxLogs:
|
2241
|
+
total: z33.number(),
|
2242
|
+
page: z33.number(),
|
2243
|
+
pageSize: z33.number(),
|
2244
|
+
cxLogs: z33.array(CxLogSchema)
|
2221
2245
|
}),
|
2222
2246
|
401: DefaultUnauthorizedSchema
|
2223
2247
|
},
|
@@ -2228,16 +2252,16 @@ var cxLogContract = initContract9().router({
|
|
2228
2252
|
|
2229
2253
|
// src/extension/index.ts
|
2230
2254
|
import { initContract as initContract10 } from "@ts-rest/core";
|
2231
|
-
import
|
2255
|
+
import z35 from "zod";
|
2232
2256
|
|
2233
2257
|
// src/extension/validation.ts
|
2234
|
-
import { z as
|
2235
|
-
var CreateExtensionSchema =
|
2236
|
-
userId:
|
2237
|
-
sipUserName:
|
2238
|
-
extensionId:
|
2239
|
-
extensionName:
|
2240
|
-
telephonySignature:
|
2258
|
+
import { z as z34 } from "zod";
|
2259
|
+
var CreateExtensionSchema = z34.object({
|
2260
|
+
userId: z34.string().nullable(),
|
2261
|
+
sipUserName: z34.string(),
|
2262
|
+
extensionId: z34.coerce.number().nullable(),
|
2263
|
+
extensionName: z34.string().nullable(),
|
2264
|
+
telephonySignature: z34.string().nullable().optional()
|
2241
2265
|
});
|
2242
2266
|
var UpdateExtensionSchema = CreateExtensionSchema;
|
2243
2267
|
|
@@ -2253,8 +2277,8 @@ var extensionContract = initContract10().router(
|
|
2253
2277
|
201: DefaultSuccessResponseSchema.extend({
|
2254
2278
|
extension: ExtensionSchema
|
2255
2279
|
}),
|
2256
|
-
400:
|
2257
|
-
message:
|
2280
|
+
400: z35.object({
|
2281
|
+
message: z35.string()
|
2258
2282
|
}),
|
2259
2283
|
401: DefaultUnauthorizedSchema,
|
2260
2284
|
500: DefaultErrorResponseSchema
|
@@ -2264,10 +2288,10 @@ var extensionContract = initContract10().router(
|
|
2264
2288
|
getExtensions: {
|
2265
2289
|
method: "GET",
|
2266
2290
|
path: "",
|
2267
|
-
query:
|
2268
|
-
page:
|
2269
|
-
pageSize:
|
2270
|
-
keyword:
|
2291
|
+
query: z35.object({
|
2292
|
+
page: z35.coerce.number().default(1),
|
2293
|
+
pageSize: z35.coerce.number().default(10),
|
2294
|
+
keyword: z35.string().optional()
|
2271
2295
|
}).optional(),
|
2272
2296
|
headers: DefaultHeaderSchema,
|
2273
2297
|
responses: {
|
@@ -2277,8 +2301,8 @@ var extensionContract = initContract10().router(
|
|
2277
2301
|
user: UserSchema
|
2278
2302
|
})
|
2279
2303
|
),
|
2280
|
-
400:
|
2281
|
-
message:
|
2304
|
+
400: z35.object({
|
2305
|
+
message: z35.string()
|
2282
2306
|
}),
|
2283
2307
|
401: DefaultUnauthorizedSchema,
|
2284
2308
|
500: DefaultErrorResponseSchema
|
@@ -2288,12 +2312,12 @@ var extensionContract = initContract10().router(
|
|
2288
2312
|
getExtensionByUserId: {
|
2289
2313
|
method: "GET",
|
2290
2314
|
path: "/user/:userId",
|
2291
|
-
pathParams:
|
2315
|
+
pathParams: z35.object({ userId: z35.string() }),
|
2292
2316
|
headers: DefaultHeaderSchema,
|
2293
2317
|
responses: {
|
2294
2318
|
200: ExtensionSchema,
|
2295
|
-
400:
|
2296
|
-
message:
|
2319
|
+
400: z35.object({
|
2320
|
+
message: z35.string()
|
2297
2321
|
}),
|
2298
2322
|
401: DefaultUnauthorizedSchema,
|
2299
2323
|
500: DefaultErrorResponseSchema
|
@@ -2303,17 +2327,17 @@ var extensionContract = initContract10().router(
|
|
2303
2327
|
getExtensionByDialpad: {
|
2304
2328
|
method: "GET",
|
2305
2329
|
path: "/dialpad",
|
2306
|
-
query:
|
2307
|
-
page:
|
2308
|
-
pageSize:
|
2309
|
-
keyword:
|
2330
|
+
query: z35.object({
|
2331
|
+
page: z35.coerce.number().default(1),
|
2332
|
+
pageSize: z35.coerce.number().default(10),
|
2333
|
+
keyword: z35.string().optional()
|
2310
2334
|
}).optional(),
|
2311
2335
|
headers: DefaultHeaderSchema,
|
2312
2336
|
responses: {
|
2313
2337
|
200: WithPagination(ExtensionSchema),
|
2314
2338
|
500: DefaultErrorResponseSchema,
|
2315
|
-
400:
|
2316
|
-
message:
|
2339
|
+
400: z35.object({
|
2340
|
+
message: z35.string()
|
2317
2341
|
}),
|
2318
2342
|
401: DefaultUnauthorizedSchema
|
2319
2343
|
},
|
@@ -2322,7 +2346,7 @@ var extensionContract = initContract10().router(
|
|
2322
2346
|
updateExtension: {
|
2323
2347
|
method: "PATCH",
|
2324
2348
|
path: "/:id",
|
2325
|
-
pathParams:
|
2349
|
+
pathParams: z35.object({ id: z35.string() }),
|
2326
2350
|
headers: DefaultHeaderSchema,
|
2327
2351
|
body: UpdateExtensionSchema,
|
2328
2352
|
responses: {
|
@@ -2336,11 +2360,11 @@ var extensionContract = initContract10().router(
|
|
2336
2360
|
deleteExtension: {
|
2337
2361
|
method: "DELETE",
|
2338
2362
|
path: "/:id",
|
2339
|
-
pathParams:
|
2363
|
+
pathParams: z35.object({ id: z35.string() }),
|
2340
2364
|
headers: DefaultHeaderSchema,
|
2341
2365
|
body: null,
|
2342
2366
|
responses: {
|
2343
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2367
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2344
2368
|
500: DefaultErrorResponseSchema
|
2345
2369
|
},
|
2346
2370
|
summary: "Delete a extension."
|
@@ -2351,22 +2375,22 @@ var extensionContract = initContract10().router(
|
|
2351
2375
|
|
2352
2376
|
// src/line/index.ts
|
2353
2377
|
import { initContract as initContract11 } from "@ts-rest/core";
|
2354
|
-
import
|
2378
|
+
import z38 from "zod";
|
2355
2379
|
|
2356
2380
|
// src/line/schema.ts
|
2357
|
-
import
|
2358
|
-
var ConnectLineSchema =
|
2359
|
-
id:
|
2360
|
-
accessToken:
|
2381
|
+
import z36 from "zod";
|
2382
|
+
var ConnectLineSchema = z36.object({
|
2383
|
+
id: z36.string(),
|
2384
|
+
accessToken: z36.string()
|
2361
2385
|
});
|
2362
2386
|
|
2363
2387
|
// src/line/validation.ts
|
2364
|
-
import
|
2365
|
-
var SendLineStickerSchema =
|
2366
|
-
userId:
|
2367
|
-
packageId:
|
2368
|
-
stickerId:
|
2369
|
-
accessToken:
|
2388
|
+
import z37 from "zod";
|
2389
|
+
var SendLineStickerSchema = z37.object({
|
2390
|
+
userId: z37.string().uuid(),
|
2391
|
+
packageId: z37.string(),
|
2392
|
+
stickerId: z37.string(),
|
2393
|
+
accessToken: z37.string()
|
2370
2394
|
});
|
2371
2395
|
|
2372
2396
|
// src/line/index.ts
|
@@ -2376,7 +2400,7 @@ var lineContract = initContract11().router({
|
|
2376
2400
|
path: "sticker",
|
2377
2401
|
responses: {
|
2378
2402
|
200: DefaultSuccessResponseSchema.extend({
|
2379
|
-
data:
|
2403
|
+
data: z38.any()
|
2380
2404
|
}),
|
2381
2405
|
500: DefaultErrorResponseSchema
|
2382
2406
|
},
|
@@ -2388,7 +2412,7 @@ var lineContract = initContract11().router({
|
|
2388
2412
|
path: "connect",
|
2389
2413
|
responses: {
|
2390
2414
|
200: DefaultSuccessResponseSchema.extend({
|
2391
|
-
data:
|
2415
|
+
data: z38.any()
|
2392
2416
|
}),
|
2393
2417
|
500: DefaultErrorResponseSchema
|
2394
2418
|
},
|
@@ -2399,7 +2423,7 @@ var lineContract = initContract11().router({
|
|
2399
2423
|
|
2400
2424
|
// src/mail/email-engine-webhooks-events.contract.ts
|
2401
2425
|
import { initContract as initContract12 } from "@ts-rest/core";
|
2402
|
-
import
|
2426
|
+
import z39 from "zod";
|
2403
2427
|
var emailEngineWebhooksEventsContract = initContract12().router({
|
2404
2428
|
handleWebhooksEvents: {
|
2405
2429
|
method: "POST",
|
@@ -2407,7 +2431,7 @@ var emailEngineWebhooksEventsContract = initContract12().router({
|
|
2407
2431
|
// we don't need to respone anything but added responses just for solving type error
|
2408
2432
|
responses: {
|
2409
2433
|
200: DefaultSuccessResponseSchema.extend({
|
2410
|
-
message:
|
2434
|
+
message: z39.string()
|
2411
2435
|
})
|
2412
2436
|
},
|
2413
2437
|
body: null,
|
@@ -2420,173 +2444,173 @@ import { initContract as initContract17 } from "@ts-rest/core";
|
|
2420
2444
|
|
2421
2445
|
// src/mail/room-contract.ts
|
2422
2446
|
import { initContract as initContract13 } from "@ts-rest/core";
|
2423
|
-
import
|
2447
|
+
import z43 from "zod";
|
2424
2448
|
|
2425
2449
|
// src/mail/schemas/room.schema.ts
|
2426
|
-
import
|
2450
|
+
import z42 from "zod";
|
2427
2451
|
|
2428
2452
|
// src/mail/schemas/account.schema.ts
|
2429
|
-
import z39 from "zod";
|
2430
|
-
var MailServerSchema = z39.object({
|
2431
|
-
id: z39.string(),
|
2432
|
-
createdAt: z39.date(),
|
2433
|
-
updatedAt: z39.date(),
|
2434
|
-
deletedAt: z39.date().nullable(),
|
2435
|
-
name: z39.string(),
|
2436
|
-
smtpHost: z39.string(),
|
2437
|
-
smtpPort: z39.string(),
|
2438
|
-
smtpTlsPort: z39.string(),
|
2439
|
-
useTlsForSmtp: z39.boolean(),
|
2440
|
-
imapHost: z39.string(),
|
2441
|
-
imapPort: z39.string(),
|
2442
|
-
imapTlsPort: z39.string(),
|
2443
|
-
useTlsForImap: z39.boolean()
|
2444
|
-
});
|
2445
|
-
var MailAccountSchema = z39.object({
|
2446
|
-
id: z39.string(),
|
2447
|
-
createdAt: z39.date(),
|
2448
|
-
updatedAt: z39.date(),
|
2449
|
-
deletedAt: z39.date().nullable(),
|
2450
|
-
name: z39.string(),
|
2451
|
-
address: z39.string(),
|
2452
|
-
accountId: z39.string(),
|
2453
|
-
mailServerId: z39.string(),
|
2454
|
-
mailServer: MailServerSchema,
|
2455
|
-
state: z39.union([
|
2456
|
-
z39.literal("init"),
|
2457
|
-
z39.literal("syncing"),
|
2458
|
-
z39.literal("connecting"),
|
2459
|
-
z39.literal("connected"),
|
2460
|
-
z39.literal("disconnected"),
|
2461
|
-
z39.literal("authenticationError"),
|
2462
|
-
z39.literal("connectError"),
|
2463
|
-
z39.literal("unset")
|
2464
|
-
])
|
2465
|
-
});
|
2466
|
-
|
2467
|
-
// src/mail/schemas/message.schema.ts
|
2468
2453
|
import z40 from "zod";
|
2469
|
-
var
|
2454
|
+
var MailServerSchema = z40.object({
|
2470
2455
|
id: z40.string(),
|
2471
2456
|
createdAt: z40.date(),
|
2472
2457
|
updatedAt: z40.date(),
|
2473
|
-
deletedAt: z40.
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2480
|
-
|
2481
|
-
|
2482
|
-
|
2483
|
-
updatedAt: z40.date(),
|
2484
|
-
deletedAt: z40.nullable(z40.date()),
|
2485
|
-
bucket_name: z40.string(),
|
2486
|
-
file_name: z40.string(),
|
2487
|
-
file_key: z40.string(),
|
2488
|
-
file_size: z40.number(),
|
2489
|
-
file_url: z40.string(),
|
2490
|
-
extension_name: z40.string()
|
2491
|
-
})
|
2458
|
+
deletedAt: z40.date().nullable(),
|
2459
|
+
name: z40.string(),
|
2460
|
+
smtpHost: z40.string(),
|
2461
|
+
smtpPort: z40.string(),
|
2462
|
+
smtpTlsPort: z40.string(),
|
2463
|
+
useTlsForSmtp: z40.boolean(),
|
2464
|
+
imapHost: z40.string(),
|
2465
|
+
imapPort: z40.string(),
|
2466
|
+
imapTlsPort: z40.string(),
|
2467
|
+
useTlsForImap: z40.boolean()
|
2492
2468
|
});
|
2493
|
-
var
|
2469
|
+
var MailAccountSchema = z40.object({
|
2494
2470
|
id: z40.string(),
|
2495
2471
|
createdAt: z40.date(),
|
2496
2472
|
updatedAt: z40.date(),
|
2497
|
-
deletedAt: z40.
|
2498
|
-
|
2499
|
-
|
2500
|
-
|
2501
|
-
|
2502
|
-
|
2503
|
-
|
2504
|
-
|
2505
|
-
|
2506
|
-
|
2507
|
-
|
2508
|
-
|
2509
|
-
|
2510
|
-
|
2511
|
-
|
2512
|
-
|
2513
|
-
cc: z40.array(MailUserSchema),
|
2514
|
-
bcc: z40.array(MailUserSchema),
|
2515
|
-
attachments: z40.array(AttachmentSchema)
|
2473
|
+
deletedAt: z40.date().nullable(),
|
2474
|
+
name: z40.string(),
|
2475
|
+
address: z40.string(),
|
2476
|
+
accountId: z40.string(),
|
2477
|
+
mailServerId: z40.string(),
|
2478
|
+
mailServer: MailServerSchema,
|
2479
|
+
state: z40.union([
|
2480
|
+
z40.literal("init"),
|
2481
|
+
z40.literal("syncing"),
|
2482
|
+
z40.literal("connecting"),
|
2483
|
+
z40.literal("connected"),
|
2484
|
+
z40.literal("disconnected"),
|
2485
|
+
z40.literal("authenticationError"),
|
2486
|
+
z40.literal("connectError"),
|
2487
|
+
z40.literal("unset")
|
2488
|
+
])
|
2516
2489
|
});
|
2517
2490
|
|
2518
|
-
// src/mail/schemas/
|
2519
|
-
|
2520
|
-
|
2521
|
-
createdAt: z41.date(),
|
2522
|
-
updatedAt: z41.date(),
|
2523
|
-
deletedAt: z41.date().nullable(),
|
2524
|
-
name: z41.string(),
|
2525
|
-
address: z41.string()
|
2526
|
-
});
|
2527
|
-
var TagSchema2 = z41.object({
|
2528
|
-
color: z41.string(),
|
2491
|
+
// src/mail/schemas/message.schema.ts
|
2492
|
+
import z41 from "zod";
|
2493
|
+
var AttachmentSchema = z41.object({
|
2529
2494
|
id: z41.string(),
|
2530
2495
|
createdAt: z41.date(),
|
2531
2496
|
updatedAt: z41.date(),
|
2532
|
-
deletedAt: z41.
|
2533
|
-
name: z41.string()
|
2534
|
-
});
|
2535
|
-
var UserModel = z41.object({
|
2536
|
-
id: z41.string().uuid(),
|
2537
|
-
createdAt: z41.date(),
|
2538
|
-
updatedAt: z41.date(),
|
2539
|
-
deletedAt: z41.date().nullable(),
|
2540
|
-
name: z41.string(),
|
2541
|
-
email: z41.string(),
|
2542
|
-
address: z41.string().nullable(),
|
2543
|
-
phone: z41.string().nullable(),
|
2544
|
-
notification_count: z41.number().nullable()
|
2545
|
-
});
|
2546
|
-
var ActivityLogModel = z41.object({
|
2547
|
-
id: z41.string(),
|
2548
|
-
createdAt: z41.string(),
|
2549
|
-
updatedAt: z41.string(),
|
2550
|
-
deletedAt: z41.nullable(z41.string()),
|
2551
|
-
description: z41.string(),
|
2552
|
-
actorId: z41.string(),
|
2497
|
+
deletedAt: z41.nullable(z41.date()),
|
2553
2498
|
roomId: z41.string(),
|
2554
|
-
|
2499
|
+
messageId: z41.string(),
|
2500
|
+
fileName: z41.string(),
|
2501
|
+
fileType: z41.string(),
|
2502
|
+
emailEngineAttachmentId: z41.string(),
|
2503
|
+
uploadId: z41.string(),
|
2504
|
+
upload: z41.object({
|
2505
|
+
id: z41.string(),
|
2506
|
+
createdAt: z41.date(),
|
2507
|
+
updatedAt: z41.date(),
|
2508
|
+
deletedAt: z41.nullable(z41.date()),
|
2509
|
+
bucket_name: z41.string(),
|
2510
|
+
file_name: z41.string(),
|
2511
|
+
file_key: z41.string(),
|
2512
|
+
file_size: z41.number(),
|
2513
|
+
file_url: z41.string(),
|
2514
|
+
extension_name: z41.string()
|
2515
|
+
})
|
2555
2516
|
});
|
2556
|
-
var
|
2557
|
-
var MailRoomSchema = z41.object({
|
2517
|
+
var MessageSchema2 = z41.object({
|
2558
2518
|
id: z41.string(),
|
2559
2519
|
createdAt: z41.date(),
|
2560
2520
|
updatedAt: z41.date(),
|
2561
|
-
deletedAt: z41.
|
2521
|
+
deletedAt: z41.nullable(z41.date()),
|
2522
|
+
roomId: z41.string(),
|
2562
2523
|
subject: z41.string(),
|
2563
|
-
|
2564
|
-
|
2565
|
-
|
2566
|
-
|
2524
|
+
textPlain: z41.string(),
|
2525
|
+
textHtml: z41.string(),
|
2526
|
+
textId: z41.string(),
|
2527
|
+
emailEngineEmailId: z41.string(),
|
2528
|
+
emailEngineMessageId: z41.string(),
|
2529
|
+
emailEngineReplyTo: z41.nullable(z41.string()),
|
2567
2530
|
direction: z41.string(),
|
2568
|
-
|
2569
|
-
|
2531
|
+
date: z41.date(),
|
2532
|
+
action: z41.string(),
|
2533
|
+
unseen: z41.boolean(),
|
2534
|
+
seemsLikeNew: z41.boolean(),
|
2570
2535
|
from: z41.array(MailUserSchema),
|
2571
2536
|
to: z41.array(MailUserSchema),
|
2572
2537
|
cc: z41.array(MailUserSchema),
|
2573
2538
|
bcc: z41.array(MailUserSchema),
|
2539
|
+
attachments: z41.array(AttachmentSchema)
|
2540
|
+
});
|
2541
|
+
|
2542
|
+
// src/mail/schemas/room.schema.ts
|
2543
|
+
var MailUserSchema = z42.object({
|
2544
|
+
id: z42.string(),
|
2545
|
+
createdAt: z42.date(),
|
2546
|
+
updatedAt: z42.date(),
|
2547
|
+
deletedAt: z42.date().nullable(),
|
2548
|
+
name: z42.string(),
|
2549
|
+
address: z42.string()
|
2550
|
+
});
|
2551
|
+
var TagSchema2 = z42.object({
|
2552
|
+
color: z42.string(),
|
2553
|
+
id: z42.string(),
|
2554
|
+
createdAt: z42.date(),
|
2555
|
+
updatedAt: z42.date(),
|
2556
|
+
deletedAt: z42.date().nullable(),
|
2557
|
+
name: z42.string()
|
2558
|
+
});
|
2559
|
+
var UserModel = z42.object({
|
2560
|
+
id: z42.string().uuid(),
|
2561
|
+
createdAt: z42.date(),
|
2562
|
+
updatedAt: z42.date(),
|
2563
|
+
deletedAt: z42.date().nullable(),
|
2564
|
+
name: z42.string(),
|
2565
|
+
email: z42.string(),
|
2566
|
+
address: z42.string().nullable(),
|
2567
|
+
phone: z42.string().nullable(),
|
2568
|
+
notification_count: z42.number().nullable()
|
2569
|
+
});
|
2570
|
+
var ActivityLogModel = z42.object({
|
2571
|
+
id: z42.string(),
|
2572
|
+
createdAt: z42.string(),
|
2573
|
+
updatedAt: z42.string(),
|
2574
|
+
deletedAt: z42.nullable(z42.string()),
|
2575
|
+
description: z42.string(),
|
2576
|
+
actorId: z42.string(),
|
2577
|
+
roomId: z42.string(),
|
2578
|
+
actor: UserModel
|
2579
|
+
});
|
2580
|
+
var MessagesAndLogs = z42.array(z42.union([MessageSchema2, ActivityLogModel]));
|
2581
|
+
var MailRoomSchema = z42.object({
|
2582
|
+
id: z42.string(),
|
2583
|
+
createdAt: z42.date(),
|
2584
|
+
updatedAt: z42.date(),
|
2585
|
+
deletedAt: z42.date().nullable(),
|
2586
|
+
subject: z42.string(),
|
2587
|
+
resolved: z42.boolean(),
|
2588
|
+
assigneeId: z42.string().nullable(),
|
2589
|
+
note: z42.string(),
|
2590
|
+
mailId: z42.string(),
|
2591
|
+
direction: z42.string(),
|
2592
|
+
lastMessageId: z42.string(),
|
2593
|
+
firstMessageId: z42.string(),
|
2594
|
+
from: z42.array(MailUserSchema),
|
2595
|
+
to: z42.array(MailUserSchema),
|
2596
|
+
cc: z42.array(MailUserSchema),
|
2597
|
+
bcc: z42.array(MailUserSchema),
|
2574
2598
|
firstMessage: MessageSchema2,
|
2575
2599
|
lastMessage: MessageSchema2,
|
2576
|
-
tags:
|
2600
|
+
tags: z42.array(TagSchema2),
|
2577
2601
|
assignee: UserModel,
|
2578
|
-
messages:
|
2602
|
+
messages: z42.array(MessageSchema2),
|
2579
2603
|
messagesAndLogs: MessagesAndLogs,
|
2580
2604
|
mail: MailAccountSchema,
|
2581
|
-
unReadMessageCount:
|
2605
|
+
unReadMessageCount: z42.number()
|
2582
2606
|
});
|
2583
|
-
var AttachmentSchema2 =
|
2584
|
-
fileName:
|
2585
|
-
fileType:
|
2586
|
-
emailEngineAttachmentId:
|
2587
|
-
uploadId:
|
2588
|
-
messageId:
|
2589
|
-
roomId:
|
2607
|
+
var AttachmentSchema2 = z42.object({
|
2608
|
+
fileName: z42.string(),
|
2609
|
+
fileType: z42.string(),
|
2610
|
+
emailEngineAttachmentId: z42.string(),
|
2611
|
+
uploadId: z42.string(),
|
2612
|
+
messageId: z42.string(),
|
2613
|
+
roomId: z42.string(),
|
2590
2614
|
upload: UploadSchema
|
2591
2615
|
});
|
2592
2616
|
|
@@ -2598,7 +2622,7 @@ var roomContract = initContract13().router(
|
|
2598
2622
|
path: "/",
|
2599
2623
|
responses: {
|
2600
2624
|
200: DefaultSuccessResponseSchema.extend({
|
2601
|
-
message:
|
2625
|
+
message: z43.string()
|
2602
2626
|
}),
|
2603
2627
|
...DefaultResponses
|
2604
2628
|
},
|
@@ -2608,19 +2632,19 @@ var roomContract = initContract13().router(
|
|
2608
2632
|
getAll: {
|
2609
2633
|
method: "GET",
|
2610
2634
|
path: "",
|
2611
|
-
query:
|
2612
|
-
page:
|
2613
|
-
pageSize:
|
2614
|
-
keyword:
|
2615
|
-
assigneeId:
|
2616
|
-
resolved:
|
2635
|
+
query: z43.object({
|
2636
|
+
page: z43.coerce.number().default(1),
|
2637
|
+
pageSize: z43.coerce.number().default(10),
|
2638
|
+
keyword: z43.string().optional(),
|
2639
|
+
assigneeId: z43.string().uuid().optional().nullable(),
|
2640
|
+
resolved: z43.boolean().or(z43.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
|
2617
2641
|
}),
|
2618
2642
|
responses: {
|
2619
2643
|
200: DefaultSuccessResponseSchema.extend({
|
2620
|
-
data:
|
2621
|
-
total:
|
2622
|
-
page:
|
2623
|
-
pageSize:
|
2644
|
+
data: z43.array(MailRoomSchema),
|
2645
|
+
total: z43.number(),
|
2646
|
+
page: z43.number(),
|
2647
|
+
pageSize: z43.number()
|
2624
2648
|
}),
|
2625
2649
|
...DefaultResponses
|
2626
2650
|
},
|
@@ -2629,8 +2653,8 @@ var roomContract = initContract13().router(
|
|
2629
2653
|
getById: {
|
2630
2654
|
method: "GET",
|
2631
2655
|
path: "/:id",
|
2632
|
-
pathParams:
|
2633
|
-
id:
|
2656
|
+
pathParams: z43.object({
|
2657
|
+
id: z43.string().uuid()
|
2634
2658
|
}),
|
2635
2659
|
responses: {
|
2636
2660
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -2643,12 +2667,12 @@ var roomContract = initContract13().router(
|
|
2643
2667
|
getAttachments: {
|
2644
2668
|
method: "GET",
|
2645
2669
|
path: "/:id/attachments",
|
2646
|
-
pathParams:
|
2647
|
-
id:
|
2670
|
+
pathParams: z43.object({
|
2671
|
+
id: z43.string().uuid()
|
2648
2672
|
}),
|
2649
2673
|
responses: {
|
2650
2674
|
200: DefaultSuccessResponseSchema.extend({
|
2651
|
-
data:
|
2675
|
+
data: z43.array(AttachmentSchema2)
|
2652
2676
|
}),
|
2653
2677
|
...DefaultResponses
|
2654
2678
|
},
|
@@ -2657,12 +2681,12 @@ var roomContract = initContract13().router(
|
|
2657
2681
|
getParticipants: {
|
2658
2682
|
method: "GET",
|
2659
2683
|
path: "/:id/participants",
|
2660
|
-
pathParams:
|
2661
|
-
id:
|
2684
|
+
pathParams: z43.object({
|
2685
|
+
id: z43.string().uuid()
|
2662
2686
|
}),
|
2663
2687
|
responses: {
|
2664
2688
|
200: DefaultSuccessResponseSchema.extend({
|
2665
|
-
data:
|
2689
|
+
data: z43.array(MailUserSchema)
|
2666
2690
|
}),
|
2667
2691
|
...DefaultResponses
|
2668
2692
|
},
|
@@ -2671,8 +2695,8 @@ var roomContract = initContract13().router(
|
|
2671
2695
|
update: {
|
2672
2696
|
method: "PATCH",
|
2673
2697
|
path: "/:id",
|
2674
|
-
pathParams:
|
2675
|
-
id:
|
2698
|
+
pathParams: z43.object({
|
2699
|
+
id: z43.string()
|
2676
2700
|
}),
|
2677
2701
|
responses: {
|
2678
2702
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -2680,15 +2704,15 @@ var roomContract = initContract13().router(
|
|
2680
2704
|
}),
|
2681
2705
|
...DefaultResponses
|
2682
2706
|
},
|
2683
|
-
body:
|
2684
|
-
resolved:
|
2685
|
-
|
2707
|
+
body: z43.object({
|
2708
|
+
resolved: z43.boolean().or(
|
2709
|
+
z43.union([z43.literal("true"), z43.literal("false")]).transform((value) => value.toLowerCase() === "true")
|
2686
2710
|
).optional().nullable(),
|
2687
|
-
assigneeId:
|
2688
|
-
note:
|
2689
|
-
tags:
|
2690
|
-
handover:
|
2691
|
-
|
2711
|
+
assigneeId: z43.string().uuid().optional().nullable(),
|
2712
|
+
note: z43.string().optional(),
|
2713
|
+
tags: z43.array(z43.string().uuid()).optional(),
|
2714
|
+
handover: z43.boolean().or(
|
2715
|
+
z43.union([z43.literal("true"), z43.literal("false")]).transform((value) => value.toLowerCase() === "true")
|
2692
2716
|
).optional().nullable()
|
2693
2717
|
}),
|
2694
2718
|
summary: "Update a mail room by id"
|
@@ -2696,12 +2720,12 @@ var roomContract = initContract13().router(
|
|
2696
2720
|
markAsRead: {
|
2697
2721
|
method: "GET",
|
2698
2722
|
path: "/:id",
|
2699
|
-
pathParams:
|
2700
|
-
id:
|
2723
|
+
pathParams: z43.object({
|
2724
|
+
id: z43.string().uuid()
|
2701
2725
|
}),
|
2702
2726
|
responses: {
|
2703
2727
|
200: DefaultSuccessResponseSchema.extend({
|
2704
|
-
message:
|
2728
|
+
message: z43.string()
|
2705
2729
|
}),
|
2706
2730
|
...DefaultResponses
|
2707
2731
|
},
|
@@ -2715,47 +2739,47 @@ var roomContract = initContract13().router(
|
|
2715
2739
|
|
2716
2740
|
// src/mail/account-contract.ts
|
2717
2741
|
import { initContract as initContract14 } from "@ts-rest/core";
|
2718
|
-
import
|
2742
|
+
import z45 from "zod";
|
2719
2743
|
|
2720
2744
|
// src/mail/schemas/account-validation.schema.ts
|
2721
|
-
import
|
2745
|
+
import z44 from "zod";
|
2722
2746
|
var AccountContractsValidationSchemas = {
|
2723
2747
|
create: {
|
2724
|
-
input:
|
2725
|
-
address:
|
2726
|
-
name:
|
2727
|
-
password:
|
2728
|
-
mailServerId:
|
2748
|
+
input: z44.object({
|
2749
|
+
address: z44.string().email("Email address must be valid email."),
|
2750
|
+
name: z44.string().min(1, "Account name cannot be empty."),
|
2751
|
+
password: z44.string().min(1, "Password cannot be empty."),
|
2752
|
+
mailServerId: z44.string().uuid("Invalid mail_server_id")
|
2729
2753
|
})
|
2730
2754
|
},
|
2731
2755
|
getById: {
|
2732
|
-
input:
|
2733
|
-
id:
|
2756
|
+
input: z44.object({
|
2757
|
+
id: z44.string().uuid()
|
2734
2758
|
}),
|
2735
2759
|
output: MailAccountSchema
|
2736
2760
|
},
|
2737
2761
|
getAll: {
|
2738
|
-
output:
|
2762
|
+
output: z44.array(MailAccountSchema)
|
2739
2763
|
},
|
2740
2764
|
update: {
|
2741
2765
|
input: MailAccountSchema,
|
2742
2766
|
output: MailAccountSchema
|
2743
2767
|
},
|
2744
2768
|
disconnect: {
|
2745
|
-
input:
|
2746
|
-
id:
|
2769
|
+
input: z44.object({
|
2770
|
+
id: z44.string().uuid()
|
2747
2771
|
}),
|
2748
2772
|
output: MailAccountSchema
|
2749
2773
|
},
|
2750
2774
|
reconnect: {
|
2751
|
-
input:
|
2752
|
-
id:
|
2775
|
+
input: z44.object({
|
2776
|
+
id: z44.string()
|
2753
2777
|
}),
|
2754
2778
|
output: MailAccountSchema
|
2755
2779
|
},
|
2756
2780
|
delete: {
|
2757
|
-
input:
|
2758
|
-
id:
|
2781
|
+
input: z44.object({
|
2782
|
+
id: z44.string()
|
2759
2783
|
}),
|
2760
2784
|
output: MailAccountSchema
|
2761
2785
|
}
|
@@ -2771,16 +2795,16 @@ var accountContract = initContract14().router(
|
|
2771
2795
|
responses: {
|
2772
2796
|
201: DefaultSuccessResponseSchema.extend({
|
2773
2797
|
// data: AccountContractsValidationSchemas.create.output,
|
2774
|
-
message:
|
2798
|
+
message: z45.string()
|
2775
2799
|
}),
|
2776
|
-
400:
|
2777
|
-
message:
|
2800
|
+
400: z45.object({
|
2801
|
+
message: z45.string()
|
2778
2802
|
}),
|
2779
|
-
409:
|
2780
|
-
message:
|
2803
|
+
409: z45.object({
|
2804
|
+
message: z45.string()
|
2781
2805
|
}),
|
2782
|
-
500:
|
2783
|
-
message:
|
2806
|
+
500: z45.object({
|
2807
|
+
message: z45.string()
|
2784
2808
|
}),
|
2785
2809
|
...DefaultResponses
|
2786
2810
|
},
|
@@ -2809,7 +2833,7 @@ var accountContract = initContract14().router(
|
|
2809
2833
|
path: "",
|
2810
2834
|
responses: {
|
2811
2835
|
200: DefaultSuccessResponseSchema.extend({
|
2812
|
-
data:
|
2836
|
+
data: z45.any()
|
2813
2837
|
// data: AccountContractsValidationSchemas.getAll.output,
|
2814
2838
|
}),
|
2815
2839
|
...DefaultResponses
|
@@ -2821,8 +2845,8 @@ var accountContract = initContract14().router(
|
|
2821
2845
|
update: {
|
2822
2846
|
method: "PATCH",
|
2823
2847
|
path: "/:id",
|
2824
|
-
pathParams:
|
2825
|
-
id:
|
2848
|
+
pathParams: z45.object({
|
2849
|
+
id: z45.string().uuid()
|
2826
2850
|
}),
|
2827
2851
|
responses: {
|
2828
2852
|
201: DefaultSuccessResponseSchema.extend({
|
@@ -2871,7 +2895,7 @@ var accountContract = initContract14().router(
|
|
2871
2895
|
pathParams: AccountContractsValidationSchemas.delete.input,
|
2872
2896
|
responses: {
|
2873
2897
|
200: DefaultSuccessResponseSchema.extend({
|
2874
|
-
message:
|
2898
|
+
message: z45.string()
|
2875
2899
|
}),
|
2876
2900
|
...DefaultResponses
|
2877
2901
|
},
|
@@ -2888,7 +2912,7 @@ var accountContract = initContract14().router(
|
|
2888
2912
|
|
2889
2913
|
// src/mail/mail-server-contract.ts
|
2890
2914
|
import { initContract as initContract15 } from "@ts-rest/core";
|
2891
|
-
import
|
2915
|
+
import z46 from "zod";
|
2892
2916
|
var serverContract = initContract15().router(
|
2893
2917
|
{
|
2894
2918
|
create: {
|
@@ -2896,7 +2920,7 @@ var serverContract = initContract15().router(
|
|
2896
2920
|
path: "/",
|
2897
2921
|
responses: {
|
2898
2922
|
200: DefaultSuccessResponseSchema.extend({
|
2899
|
-
message:
|
2923
|
+
message: z46.string()
|
2900
2924
|
}),
|
2901
2925
|
...DefaultResponses
|
2902
2926
|
},
|
@@ -2906,12 +2930,12 @@ var serverContract = initContract15().router(
|
|
2906
2930
|
get: {
|
2907
2931
|
method: "GET",
|
2908
2932
|
path: "/:id",
|
2909
|
-
pathParams:
|
2910
|
-
id:
|
2933
|
+
pathParams: z46.object({
|
2934
|
+
id: z46.string()
|
2911
2935
|
}),
|
2912
2936
|
responses: {
|
2913
2937
|
200: DefaultSuccessResponseSchema.extend({
|
2914
|
-
message:
|
2938
|
+
message: z46.string()
|
2915
2939
|
}),
|
2916
2940
|
...DefaultResponses
|
2917
2941
|
},
|
@@ -2920,12 +2944,12 @@ var serverContract = initContract15().router(
|
|
2920
2944
|
update: {
|
2921
2945
|
method: "PATCH",
|
2922
2946
|
path: "/:id",
|
2923
|
-
pathParams:
|
2924
|
-
id:
|
2947
|
+
pathParams: z46.object({
|
2948
|
+
id: z46.string()
|
2925
2949
|
}),
|
2926
2950
|
responses: {
|
2927
2951
|
200: DefaultSuccessResponseSchema.extend({
|
2928
|
-
message:
|
2952
|
+
message: z46.string()
|
2929
2953
|
}),
|
2930
2954
|
...DefaultResponses
|
2931
2955
|
},
|
@@ -2935,12 +2959,12 @@ var serverContract = initContract15().router(
|
|
2935
2959
|
delete: {
|
2936
2960
|
method: "PATCH",
|
2937
2961
|
path: "/:id",
|
2938
|
-
pathParams:
|
2939
|
-
id:
|
2962
|
+
pathParams: z46.object({
|
2963
|
+
id: z46.string()
|
2940
2964
|
}),
|
2941
2965
|
responses: {
|
2942
2966
|
200: DefaultSuccessResponseSchema.extend({
|
2943
|
-
message:
|
2967
|
+
message: z46.string()
|
2944
2968
|
}),
|
2945
2969
|
...DefaultResponses
|
2946
2970
|
},
|
@@ -2955,44 +2979,44 @@ var serverContract = initContract15().router(
|
|
2955
2979
|
|
2956
2980
|
// src/mail/message-contract.ts
|
2957
2981
|
import { initContract as initContract16 } from "@ts-rest/core";
|
2958
|
-
import
|
2982
|
+
import z48 from "zod";
|
2959
2983
|
|
2960
2984
|
// src/mail/schemas/message-validation.schema.ts
|
2961
|
-
import
|
2962
|
-
var MailParticipant =
|
2963
|
-
name:
|
2964
|
-
address:
|
2985
|
+
import z47 from "zod";
|
2986
|
+
var MailParticipant = z47.object({
|
2987
|
+
name: z47.string().optional(),
|
2988
|
+
address: z47.string().email()
|
2965
2989
|
});
|
2966
2990
|
var MessageContractsValidationsSchema = {
|
2967
2991
|
submit: {
|
2968
|
-
input:
|
2969
|
-
subject:
|
2970
|
-
text:
|
2971
|
-
html:
|
2992
|
+
input: z47.object({
|
2993
|
+
subject: z47.string(),
|
2994
|
+
text: z47.string(),
|
2995
|
+
html: z47.string(),
|
2972
2996
|
from: MailParticipant,
|
2973
|
-
to:
|
2974
|
-
cc:
|
2975
|
-
bcc:
|
2976
|
-
reference:
|
2977
|
-
messageId:
|
2978
|
-
action:
|
2997
|
+
to: z47.array(MailParticipant),
|
2998
|
+
cc: z47.array(MailParticipant).optional(),
|
2999
|
+
bcc: z47.array(MailParticipant).optional(),
|
3000
|
+
reference: z47.object({
|
3001
|
+
messageId: z47.string(),
|
3002
|
+
action: z47.union([z47.literal("reply"), z47.literal("forward")])
|
2979
3003
|
}).optional(),
|
2980
|
-
attachments:
|
2981
|
-
|
2982
|
-
fileType:
|
2983
|
-
fileName:
|
2984
|
-
fileKey:
|
2985
|
-
fileSize:
|
2986
|
-
bucketName:
|
2987
|
-
presignedUrl:
|
3004
|
+
attachments: z47.array(
|
3005
|
+
z47.object({
|
3006
|
+
fileType: z47.string(),
|
3007
|
+
fileName: z47.string(),
|
3008
|
+
fileKey: z47.string(),
|
3009
|
+
fileSize: z47.number(),
|
3010
|
+
bucketName: z47.string(),
|
3011
|
+
presignedUrl: z47.string()
|
2988
3012
|
})
|
2989
3013
|
).optional()
|
2990
3014
|
}),
|
2991
|
-
output:
|
2992
|
-
response:
|
2993
|
-
messageId:
|
2994
|
-
sendAt:
|
2995
|
-
queueId:
|
3015
|
+
output: z47.object({
|
3016
|
+
response: z47.string(),
|
3017
|
+
messageId: z47.string(),
|
3018
|
+
sendAt: z47.string(),
|
3019
|
+
queueId: z47.string()
|
2996
3020
|
})
|
2997
3021
|
}
|
2998
3022
|
};
|
@@ -3017,8 +3041,8 @@ var messageContract = initContract16().router(
|
|
3017
3041
|
getById: {
|
3018
3042
|
method: "GET",
|
3019
3043
|
path: "/:id",
|
3020
|
-
pathParams:
|
3021
|
-
id:
|
3044
|
+
pathParams: z48.object({
|
3045
|
+
id: z48.string()
|
3022
3046
|
}),
|
3023
3047
|
responses: {
|
3024
3048
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -3059,7 +3083,7 @@ var messengerContract = initContract18().router({
|
|
3059
3083
|
|
3060
3084
|
// src/permission/index.ts
|
3061
3085
|
import { initContract as initContract19 } from "@ts-rest/core";
|
3062
|
-
import
|
3086
|
+
import z49 from "zod";
|
3063
3087
|
var permissionContract = initContract19().router(
|
3064
3088
|
{
|
3065
3089
|
getPermissions: {
|
@@ -3067,9 +3091,9 @@ var permissionContract = initContract19().router(
|
|
3067
3091
|
path: "",
|
3068
3092
|
headers: DefaultHeaderSchema,
|
3069
3093
|
responses: {
|
3070
|
-
200:
|
3071
|
-
400:
|
3072
|
-
message:
|
3094
|
+
200: z49.object({ permissions: PermissionSchema.array() }),
|
3095
|
+
400: z49.object({
|
3096
|
+
message: z49.string()
|
3073
3097
|
}),
|
3074
3098
|
401: DefaultUnauthorizedSchema,
|
3075
3099
|
500: DefaultErrorResponseSchema
|
@@ -3082,15 +3106,15 @@ var permissionContract = initContract19().router(
|
|
3082
3106
|
|
3083
3107
|
// src/role/index.ts
|
3084
3108
|
import { initContract as initContract20 } from "@ts-rest/core";
|
3085
|
-
import
|
3109
|
+
import z51 from "zod";
|
3086
3110
|
|
3087
3111
|
// src/role/validation.ts
|
3088
|
-
import { z as
|
3089
|
-
var CreateRoleSchema =
|
3090
|
-
systemName:
|
3091
|
-
displayName:
|
3092
|
-
description:
|
3093
|
-
permissions:
|
3112
|
+
import { z as z50 } from "zod";
|
3113
|
+
var CreateRoleSchema = z50.object({
|
3114
|
+
systemName: z50.string(),
|
3115
|
+
displayName: z50.string(),
|
3116
|
+
description: z50.string().nullable(),
|
3117
|
+
permissions: z50.array(z50.string())
|
3094
3118
|
});
|
3095
3119
|
var UpdateRoleSchema = CreateRoleSchema;
|
3096
3120
|
|
@@ -3106,8 +3130,8 @@ var roleContract = initContract20().router(
|
|
3106
3130
|
201: DefaultSuccessResponseSchema.extend({
|
3107
3131
|
role: RoleSchema
|
3108
3132
|
}),
|
3109
|
-
400:
|
3110
|
-
message:
|
3133
|
+
400: z51.object({
|
3134
|
+
message: z51.string()
|
3111
3135
|
}),
|
3112
3136
|
401: DefaultUnauthorizedSchema,
|
3113
3137
|
500: DefaultErrorResponseSchema
|
@@ -3117,15 +3141,15 @@ var roleContract = initContract20().router(
|
|
3117
3141
|
getRoles: {
|
3118
3142
|
method: "GET",
|
3119
3143
|
path: "",
|
3120
|
-
query:
|
3121
|
-
page:
|
3122
|
-
pageSize:
|
3144
|
+
query: z51.object({
|
3145
|
+
page: z51.coerce.number().default(1),
|
3146
|
+
pageSize: z51.coerce.number().default(10)
|
3123
3147
|
}).optional(),
|
3124
3148
|
headers: DefaultHeaderSchema,
|
3125
3149
|
responses: {
|
3126
3150
|
200: WithPagination(RoleSchema),
|
3127
|
-
400:
|
3128
|
-
message:
|
3151
|
+
400: z51.object({
|
3152
|
+
message: z51.string()
|
3129
3153
|
}),
|
3130
3154
|
401: DefaultUnauthorizedSchema,
|
3131
3155
|
500: DefaultErrorResponseSchema
|
@@ -3135,15 +3159,15 @@ var roleContract = initContract20().router(
|
|
3135
3159
|
updateRole: {
|
3136
3160
|
method: "PATCH",
|
3137
3161
|
path: "/:id",
|
3138
|
-
pathParams:
|
3162
|
+
pathParams: z51.object({ id: z51.string() }),
|
3139
3163
|
headers: DefaultHeaderSchema,
|
3140
3164
|
body: UpdateRoleSchema,
|
3141
3165
|
responses: {
|
3142
3166
|
201: DefaultSuccessResponseSchema.extend({
|
3143
3167
|
role: RoleSchema
|
3144
3168
|
}),
|
3145
|
-
400:
|
3146
|
-
message:
|
3169
|
+
400: z51.object({
|
3170
|
+
message: z51.string()
|
3147
3171
|
}),
|
3148
3172
|
401: DefaultUnauthorizedSchema,
|
3149
3173
|
500: DefaultErrorResponseSchema
|
@@ -3153,11 +3177,11 @@ var roleContract = initContract20().router(
|
|
3153
3177
|
deleteRole: {
|
3154
3178
|
method: "DELETE",
|
3155
3179
|
path: "/:id",
|
3156
|
-
pathParams:
|
3180
|
+
pathParams: z51.object({ id: z51.string() }),
|
3157
3181
|
headers: DefaultHeaderSchema,
|
3158
3182
|
body: null,
|
3159
3183
|
responses: {
|
3160
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3184
|
+
200: DefaultSuccessResponseSchema.extend({ message: z51.string() }),
|
3161
3185
|
500: DefaultErrorResponseSchema
|
3162
3186
|
},
|
3163
3187
|
summary: "Delete a role."
|
@@ -3168,19 +3192,19 @@ var roleContract = initContract20().router(
|
|
3168
3192
|
|
3169
3193
|
// src/tag/index.ts
|
3170
3194
|
import { initContract as initContract21 } from "@ts-rest/core";
|
3171
|
-
import
|
3195
|
+
import z53 from "zod";
|
3172
3196
|
|
3173
3197
|
// src/tag/validation.ts
|
3174
|
-
import { z as
|
3175
|
-
var CreateTagSchema =
|
3176
|
-
name:
|
3198
|
+
import { z as z52 } from "zod";
|
3199
|
+
var CreateTagSchema = z52.object({
|
3200
|
+
name: z52.string(),
|
3177
3201
|
group: TagGroupSchema
|
3178
3202
|
});
|
3179
|
-
var GetTagsSchema =
|
3203
|
+
var GetTagsSchema = z52.object({
|
3180
3204
|
group: TagGroupSchema.default("general"),
|
3181
|
-
keyword:
|
3205
|
+
keyword: z52.string()
|
3182
3206
|
}).partial().optional();
|
3183
|
-
var UpdateTagSchema =
|
3207
|
+
var UpdateTagSchema = z52.object({ name: z52.string() });
|
3184
3208
|
|
3185
3209
|
// src/tag/index.ts
|
3186
3210
|
var tagContract = initContract21().router(
|
@@ -3203,7 +3227,7 @@ var tagContract = initContract21().router(
|
|
3203
3227
|
query: GetTagsSchema,
|
3204
3228
|
responses: {
|
3205
3229
|
200: DefaultSuccessResponseSchema.extend({
|
3206
|
-
tags:
|
3230
|
+
tags: z53.array(TagSchema)
|
3207
3231
|
}),
|
3208
3232
|
500: DefaultErrorResponseSchema
|
3209
3233
|
},
|
@@ -3212,7 +3236,7 @@ var tagContract = initContract21().router(
|
|
3212
3236
|
updateTag: {
|
3213
3237
|
method: "PATCH",
|
3214
3238
|
path: "/:id",
|
3215
|
-
pathParams:
|
3239
|
+
pathParams: z53.object({ id: z53.string() }),
|
3216
3240
|
body: UpdateTagSchema,
|
3217
3241
|
responses: {
|
3218
3242
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -3225,11 +3249,11 @@ var tagContract = initContract21().router(
|
|
3225
3249
|
deleteTag: {
|
3226
3250
|
method: "DELETE",
|
3227
3251
|
path: "/:id",
|
3228
|
-
pathParams:
|
3229
|
-
body:
|
3252
|
+
pathParams: z53.object({ id: z53.string() }),
|
3253
|
+
body: z53.any().optional(),
|
3230
3254
|
// We don't need the body.
|
3231
3255
|
responses: {
|
3232
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3256
|
+
200: DefaultSuccessResponseSchema.extend({ message: z53.string() }),
|
3233
3257
|
500: DefaultErrorResponseSchema
|
3234
3258
|
},
|
3235
3259
|
headers: DefaultHeaderSchema
|
@@ -3242,27 +3266,27 @@ var tagContract = initContract21().router(
|
|
3242
3266
|
|
3243
3267
|
// src/telephony-agent-presence-status/index.ts
|
3244
3268
|
import { initContract as initContract22 } from "@ts-rest/core";
|
3245
|
-
import
|
3269
|
+
import z56 from "zod";
|
3246
3270
|
|
3247
3271
|
// src/telephony-agent-presence-status/schema.ts
|
3248
|
-
import
|
3272
|
+
import z54 from "zod";
|
3249
3273
|
var PresenceStatusSchema = DefaultEntitySchema.extend({
|
3250
|
-
status:
|
3251
|
-
description:
|
3274
|
+
status: z54.string(),
|
3275
|
+
description: z54.string()
|
3252
3276
|
});
|
3253
3277
|
var UserPresenceStatusSchema = DefaultEntitySchema.extend({
|
3254
3278
|
user: UserSchema,
|
3255
3279
|
presenceStatus: PresenceStatusSchema,
|
3256
|
-
customPresenceStatus:
|
3280
|
+
customPresenceStatus: z54.string().nullable().optional()
|
3257
3281
|
});
|
3258
3282
|
|
3259
3283
|
// src/telephony-agent-presence-status/validation.ts
|
3260
|
-
import { z as
|
3261
|
-
var UpdateUserStatusSchema =
|
3262
|
-
userId:
|
3263
|
-
presenceStatusId:
|
3264
|
-
customPreseneStatus:
|
3265
|
-
reason:
|
3284
|
+
import { z as z55 } from "zod";
|
3285
|
+
var UpdateUserStatusSchema = z55.object({
|
3286
|
+
userId: z55.string(),
|
3287
|
+
presenceStatusId: z55.string().nullable().optional(),
|
3288
|
+
customPreseneStatus: z55.string().nullable().optional(),
|
3289
|
+
reason: z55.string()
|
3266
3290
|
});
|
3267
3291
|
|
3268
3292
|
// src/telephony-agent-presence-status/index.ts
|
@@ -3273,9 +3297,9 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3273
3297
|
path: "/presence_status",
|
3274
3298
|
headers: DefaultHeaderSchema,
|
3275
3299
|
responses: {
|
3276
|
-
200:
|
3277
|
-
400:
|
3278
|
-
message:
|
3300
|
+
200: z56.array(PresenceStatusSchema),
|
3301
|
+
400: z56.object({
|
3302
|
+
message: z56.string()
|
3279
3303
|
}),
|
3280
3304
|
401: DefaultUnauthorizedSchema,
|
3281
3305
|
500: DefaultErrorResponseSchema
|
@@ -3287,9 +3311,9 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3287
3311
|
path: "/agents/presence_status",
|
3288
3312
|
headers: DefaultHeaderSchema,
|
3289
3313
|
responses: {
|
3290
|
-
200:
|
3291
|
-
400:
|
3292
|
-
message:
|
3314
|
+
200: z56.array(UserPresenceStatusSchema),
|
3315
|
+
400: z56.object({
|
3316
|
+
message: z56.string()
|
3293
3317
|
}),
|
3294
3318
|
401: DefaultUnauthorizedSchema,
|
3295
3319
|
500: DefaultErrorResponseSchema
|
@@ -3299,12 +3323,12 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3299
3323
|
getAgentStatus: {
|
3300
3324
|
method: "GET",
|
3301
3325
|
path: "/presence_status/check_update/:userId",
|
3302
|
-
pathParams:
|
3326
|
+
pathParams: z56.object({ userId: z56.string() }),
|
3303
3327
|
headers: DefaultHeaderSchema,
|
3304
3328
|
responses: {
|
3305
3329
|
200: UserPresenceStatusSchema,
|
3306
|
-
400:
|
3307
|
-
message:
|
3330
|
+
400: z56.object({
|
3331
|
+
message: z56.string()
|
3308
3332
|
}),
|
3309
3333
|
401: DefaultUnauthorizedSchema,
|
3310
3334
|
500: DefaultErrorResponseSchema
|
@@ -3320,8 +3344,8 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3320
3344
|
200: DefaultSuccessResponseSchema.extend({
|
3321
3345
|
userPresenceStatu: UserPresenceStatusSchema
|
3322
3346
|
}),
|
3323
|
-
400:
|
3324
|
-
message:
|
3347
|
+
400: z56.object({
|
3348
|
+
message: z56.string()
|
3325
3349
|
}),
|
3326
3350
|
401: DefaultUnauthorizedSchema,
|
3327
3351
|
500: DefaultErrorResponseSchema
|
@@ -3334,35 +3358,35 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3334
3358
|
|
3335
3359
|
// src/telephony-extension/index.ts
|
3336
3360
|
import { initContract as initContract23 } from "@ts-rest/core";
|
3337
|
-
import
|
3361
|
+
import z58 from "zod";
|
3338
3362
|
|
3339
3363
|
// src/telephony-extension/schema.ts
|
3340
|
-
import
|
3341
|
-
var TelephonyExtensionSchema =
|
3342
|
-
errcode:
|
3343
|
-
errmsg:
|
3344
|
-
total_number:
|
3345
|
-
data:
|
3346
|
-
|
3347
|
-
id:
|
3348
|
-
online_status:
|
3349
|
-
fx_phone:
|
3350
|
-
sip_phone:
|
3351
|
-
status:
|
3352
|
-
ext_dev_type:
|
3353
|
-
}),
|
3354
|
-
linkus_desktop:
|
3355
|
-
linkus_mobile:
|
3356
|
-
linkus_web:
|
3357
|
-
status:
|
3358
|
-
ext_dev_type:
|
3364
|
+
import z57 from "zod";
|
3365
|
+
var TelephonyExtensionSchema = z57.object({
|
3366
|
+
errcode: z57.coerce.number(),
|
3367
|
+
errmsg: z57.string(),
|
3368
|
+
total_number: z57.coerce.number(),
|
3369
|
+
data: z57.array(
|
3370
|
+
z57.object({
|
3371
|
+
id: z57.coerce.number(),
|
3372
|
+
online_status: z57.object({
|
3373
|
+
fx_phone: z57.object({ status: z57.coerce.number() }),
|
3374
|
+
sip_phone: z57.object({
|
3375
|
+
status: z57.coerce.number(),
|
3376
|
+
ext_dev_type: z57.string().optional()
|
3377
|
+
}),
|
3378
|
+
linkus_desktop: z57.object({ status: z57.coerce.number() }),
|
3379
|
+
linkus_mobile: z57.object({ status: z57.coerce.number() }),
|
3380
|
+
linkus_web: z57.object({
|
3381
|
+
status: z57.coerce.number(),
|
3382
|
+
ext_dev_type: z57.string().optional()
|
3359
3383
|
})
|
3360
3384
|
}).optional(),
|
3361
|
-
presence_status:
|
3362
|
-
number:
|
3363
|
-
caller_id_name:
|
3364
|
-
role_name:
|
3365
|
-
email_addr:
|
3385
|
+
presence_status: z57.string().optional(),
|
3386
|
+
number: z57.string().optional(),
|
3387
|
+
caller_id_name: z57.string().optional(),
|
3388
|
+
role_name: z57.string().optional(),
|
3389
|
+
email_addr: z57.string().optional()
|
3366
3390
|
})
|
3367
3391
|
)
|
3368
3392
|
});
|
@@ -3377,8 +3401,8 @@ var telephonyExtensionContract = initContract23().router(
|
|
3377
3401
|
query: null,
|
3378
3402
|
responses: {
|
3379
3403
|
200: TelephonyExtensionSchema,
|
3380
|
-
400:
|
3381
|
-
message:
|
3404
|
+
400: z58.object({
|
3405
|
+
message: z58.string()
|
3382
3406
|
}),
|
3383
3407
|
401: DefaultUnauthorizedSchema,
|
3384
3408
|
500: DefaultErrorResponseSchema
|
@@ -3391,21 +3415,21 @@ var telephonyExtensionContract = initContract23().router(
|
|
3391
3415
|
|
3392
3416
|
// src/user/index.ts
|
3393
3417
|
import { initContract as initContract24 } from "@ts-rest/core";
|
3394
|
-
import
|
3418
|
+
import z60 from "zod";
|
3395
3419
|
|
3396
3420
|
// src/user/validation.ts
|
3397
|
-
import { z as
|
3398
|
-
var CreateUserSchema =
|
3399
|
-
name:
|
3400
|
-
email:
|
3401
|
-
address:
|
3402
|
-
phone:
|
3403
|
-
password:
|
3404
|
-
notificationCount:
|
3405
|
-
roles:
|
3421
|
+
import { z as z59 } from "zod";
|
3422
|
+
var CreateUserSchema = z59.object({
|
3423
|
+
name: z59.string(),
|
3424
|
+
email: z59.string().email(),
|
3425
|
+
address: z59.string().nullable(),
|
3426
|
+
phone: z59.string().nullable(),
|
3427
|
+
password: z59.string(),
|
3428
|
+
notificationCount: z59.number().nullable().optional(),
|
3429
|
+
roles: z59.array(z59.string())
|
3406
3430
|
});
|
3407
3431
|
var UpdateUserSchema = CreateUserSchema.extend({
|
3408
|
-
newPassword:
|
3432
|
+
newPassword: z59.string()
|
3409
3433
|
});
|
3410
3434
|
|
3411
3435
|
// src/user/index.ts
|
@@ -3420,8 +3444,8 @@ var userContract = initContract24().router(
|
|
3420
3444
|
201: DefaultSuccessResponseSchema.extend({
|
3421
3445
|
user: UserSchema
|
3422
3446
|
}),
|
3423
|
-
400:
|
3424
|
-
message:
|
3447
|
+
400: z60.object({
|
3448
|
+
message: z60.string()
|
3425
3449
|
}),
|
3426
3450
|
401: DefaultUnauthorizedSchema
|
3427
3451
|
},
|
@@ -3431,15 +3455,15 @@ var userContract = initContract24().router(
|
|
3431
3455
|
method: "GET",
|
3432
3456
|
path: "",
|
3433
3457
|
headers: DefaultHeaderSchema,
|
3434
|
-
query:
|
3435
|
-
page:
|
3436
|
-
pageSize:
|
3437
|
-
keyword:
|
3458
|
+
query: z60.object({
|
3459
|
+
page: z60.coerce.number().default(1),
|
3460
|
+
pageSize: z60.coerce.number().default(10),
|
3461
|
+
keyword: z60.string().optional()
|
3438
3462
|
}).optional(),
|
3439
3463
|
responses: {
|
3440
3464
|
200: WithPagination(UserSchema),
|
3441
|
-
400:
|
3442
|
-
message:
|
3465
|
+
400: z60.object({
|
3466
|
+
message: z60.string()
|
3443
3467
|
}),
|
3444
3468
|
401: DefaultUnauthorizedSchema,
|
3445
3469
|
500: DefaultErrorResponseSchema
|
@@ -3449,12 +3473,12 @@ var userContract = initContract24().router(
|
|
3449
3473
|
getUserById: {
|
3450
3474
|
method: "GET",
|
3451
3475
|
path: "/:id",
|
3452
|
-
pathParams:
|
3476
|
+
pathParams: z60.object({ id: z60.string() }),
|
3453
3477
|
headers: DefaultHeaderSchema,
|
3454
3478
|
responses: {
|
3455
3479
|
200: UserSchema,
|
3456
|
-
400:
|
3457
|
-
message:
|
3480
|
+
400: z60.object({
|
3481
|
+
message: z60.string()
|
3458
3482
|
}),
|
3459
3483
|
401: DefaultUnauthorizedSchema
|
3460
3484
|
},
|
@@ -3463,15 +3487,15 @@ var userContract = initContract24().router(
|
|
3463
3487
|
updateUser: {
|
3464
3488
|
method: "PATCH",
|
3465
3489
|
path: "/:id",
|
3466
|
-
pathParams:
|
3490
|
+
pathParams: z60.object({ id: z60.string() }),
|
3467
3491
|
headers: DefaultHeaderSchema,
|
3468
3492
|
body: UpdateUserSchema,
|
3469
3493
|
responses: {
|
3470
3494
|
201: DefaultSuccessResponseSchema.extend({
|
3471
3495
|
role: UserSchema
|
3472
3496
|
}),
|
3473
|
-
400:
|
3474
|
-
message:
|
3497
|
+
400: z60.object({
|
3498
|
+
message: z60.string()
|
3475
3499
|
}),
|
3476
3500
|
401: DefaultUnauthorizedSchema
|
3477
3501
|
},
|
@@ -3480,11 +3504,11 @@ var userContract = initContract24().router(
|
|
3480
3504
|
deleteUser: {
|
3481
3505
|
method: "DELETE",
|
3482
3506
|
path: "/:id",
|
3483
|
-
pathParams:
|
3507
|
+
pathParams: z60.object({ id: z60.string() }),
|
3484
3508
|
headers: DefaultHeaderSchema,
|
3485
3509
|
body: null,
|
3486
3510
|
responses: {
|
3487
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3511
|
+
200: DefaultSuccessResponseSchema.extend({ message: z60.string() }),
|
3488
3512
|
500: DefaultErrorResponseSchema
|
3489
3513
|
},
|
3490
3514
|
summary: "Delete a user."
|
@@ -3495,23 +3519,23 @@ var userContract = initContract24().router(
|
|
3495
3519
|
|
3496
3520
|
// src/user-presence-status-log/index.ts
|
3497
3521
|
import { initContract as initContract25 } from "@ts-rest/core";
|
3498
|
-
import
|
3522
|
+
import z63 from "zod";
|
3499
3523
|
|
3500
3524
|
// src/user-presence-status-log/schema.ts
|
3501
|
-
import
|
3525
|
+
import z61 from "zod";
|
3502
3526
|
var UserPresenceStatusLogSchema = DefaultEntitySchema.extend({
|
3503
3527
|
user: UserSchema,
|
3504
3528
|
previousPresenceStatus: PresenceStatusSchema,
|
3505
3529
|
newPresenceStatus: PresenceStatusSchema,
|
3506
|
-
reason:
|
3530
|
+
reason: z61.string()
|
3507
3531
|
});
|
3508
3532
|
|
3509
3533
|
// src/user-presence-status-log/validation.ts
|
3510
|
-
import
|
3511
|
-
var UserPresenceStatusLogParamsSchema =
|
3512
|
-
page:
|
3513
|
-
pageSize:
|
3514
|
-
selectedDate:
|
3534
|
+
import z62 from "zod";
|
3535
|
+
var UserPresenceStatusLogParamsSchema = z62.object({
|
3536
|
+
page: z62.coerce.number().default(1),
|
3537
|
+
pageSize: z62.coerce.number().default(10),
|
3538
|
+
selectedDate: z62.string().optional()
|
3515
3539
|
}).optional();
|
3516
3540
|
|
3517
3541
|
// src/user-presence-status-log/index.ts
|
@@ -3524,8 +3548,8 @@ var userPresenceStatusLogContract = initContract25().router(
|
|
3524
3548
|
headers: DefaultHeaderSchema,
|
3525
3549
|
responses: {
|
3526
3550
|
200: WithPagination(UserPresenceStatusLogSchema),
|
3527
|
-
400:
|
3528
|
-
message:
|
3551
|
+
400: z63.object({
|
3552
|
+
message: z63.string()
|
3529
3553
|
}),
|
3530
3554
|
401: DefaultUnauthorizedSchema,
|
3531
3555
|
500: DefaultErrorResponseSchema
|
@@ -3538,35 +3562,35 @@ var userPresenceStatusLogContract = initContract25().router(
|
|
3538
3562
|
|
3539
3563
|
// src/widget/index.ts
|
3540
3564
|
import { initContract as initContract26 } from "@ts-rest/core";
|
3541
|
-
import
|
3565
|
+
import z66 from "zod";
|
3542
3566
|
|
3543
3567
|
// src/widget/schema.ts
|
3544
|
-
import
|
3545
|
-
var FieldsSchema =
|
3546
|
-
var WidgetPositionSchema =
|
3547
|
-
|
3548
|
-
|
3549
|
-
|
3568
|
+
import z64 from "zod";
|
3569
|
+
var FieldsSchema = z64.object({ data: z64.array(z64.string()) });
|
3570
|
+
var WidgetPositionSchema = z64.union([
|
3571
|
+
z64.literal("menu"),
|
3572
|
+
z64.literal("ticket_detail"),
|
3573
|
+
z64.literal("contact_detail")
|
3550
3574
|
]);
|
3551
3575
|
var WidgetSchema = DefaultEntitySchema.extend({
|
3552
|
-
name:
|
3553
|
-
description:
|
3576
|
+
name: z64.string(),
|
3577
|
+
description: z64.string().nullable(),
|
3554
3578
|
position: WidgetPositionSchema.nullable(),
|
3555
3579
|
fields: FieldsSchema,
|
3556
|
-
url:
|
3580
|
+
url: z64.string()
|
3557
3581
|
});
|
3558
3582
|
|
3559
3583
|
// src/widget/validation.ts
|
3560
|
-
import
|
3561
|
-
var CreateWidgetSchema =
|
3562
|
-
name:
|
3563
|
-
description:
|
3564
|
-
url:
|
3584
|
+
import z65 from "zod";
|
3585
|
+
var CreateWidgetSchema = z65.object({
|
3586
|
+
name: z65.string(),
|
3587
|
+
description: z65.string(),
|
3588
|
+
url: z65.string(),
|
3565
3589
|
position: WidgetPositionSchema,
|
3566
|
-
fields:
|
3590
|
+
fields: z65.object({
|
3567
3591
|
data: (
|
3568
3592
|
// Array of attribute system names
|
3569
|
-
|
3593
|
+
z65.array(z65.string())
|
3570
3594
|
)
|
3571
3595
|
}).optional()
|
3572
3596
|
});
|
@@ -3584,8 +3608,8 @@ var widgetContract = initContract26().router(
|
|
3584
3608
|
201: DefaultSuccessResponseSchema.extend({
|
3585
3609
|
widget: WidgetSchema
|
3586
3610
|
}),
|
3587
|
-
400:
|
3588
|
-
message:
|
3611
|
+
400: z66.object({
|
3612
|
+
message: z66.string()
|
3589
3613
|
}),
|
3590
3614
|
401: DefaultUnauthorizedSchema,
|
3591
3615
|
500: DefaultErrorResponseSchema
|
@@ -3595,17 +3619,17 @@ var widgetContract = initContract26().router(
|
|
3595
3619
|
getWidgets: {
|
3596
3620
|
method: "GET",
|
3597
3621
|
path: "",
|
3598
|
-
query:
|
3599
|
-
page:
|
3600
|
-
pageSize:
|
3601
|
-
keyword:
|
3622
|
+
query: z66.object({
|
3623
|
+
page: z66.coerce.number().default(1),
|
3624
|
+
pageSize: z66.coerce.number().default(10),
|
3625
|
+
keyword: z66.coerce.string().optional()
|
3602
3626
|
}).optional(),
|
3603
3627
|
headers: DefaultHeaderSchema,
|
3604
3628
|
responses: {
|
3605
3629
|
200: WithPagination(WidgetSchema),
|
3606
3630
|
500: DefaultErrorResponseSchema,
|
3607
|
-
400:
|
3608
|
-
message:
|
3631
|
+
400: z66.object({
|
3632
|
+
message: z66.string()
|
3609
3633
|
}),
|
3610
3634
|
401: DefaultUnauthorizedSchema
|
3611
3635
|
},
|
@@ -3616,9 +3640,9 @@ var widgetContract = initContract26().router(
|
|
3616
3640
|
path: "/menu",
|
3617
3641
|
headers: DefaultHeaderSchema,
|
3618
3642
|
responses: {
|
3619
|
-
200:
|
3620
|
-
400:
|
3621
|
-
message:
|
3643
|
+
200: z66.array(WidgetSchema),
|
3644
|
+
400: z66.object({
|
3645
|
+
message: z66.string()
|
3622
3646
|
}),
|
3623
3647
|
401: DefaultUnauthorizedSchema,
|
3624
3648
|
500: DefaultErrorResponseSchema
|
@@ -3630,9 +3654,9 @@ var widgetContract = initContract26().router(
|
|
3630
3654
|
path: "/ticket_detail",
|
3631
3655
|
headers: DefaultHeaderSchema,
|
3632
3656
|
responses: {
|
3633
|
-
200:
|
3634
|
-
400:
|
3635
|
-
message:
|
3657
|
+
200: z66.array(WidgetSchema),
|
3658
|
+
400: z66.object({
|
3659
|
+
message: z66.string()
|
3636
3660
|
}),
|
3637
3661
|
401: DefaultUnauthorizedSchema,
|
3638
3662
|
500: DefaultErrorResponseSchema
|
@@ -3644,9 +3668,9 @@ var widgetContract = initContract26().router(
|
|
3644
3668
|
path: "/contact_detail",
|
3645
3669
|
headers: DefaultHeaderSchema,
|
3646
3670
|
responses: {
|
3647
|
-
200:
|
3648
|
-
400:
|
3649
|
-
message:
|
3671
|
+
200: z66.array(WidgetSchema),
|
3672
|
+
400: z66.object({
|
3673
|
+
message: z66.string()
|
3650
3674
|
}),
|
3651
3675
|
401: DefaultUnauthorizedSchema,
|
3652
3676
|
500: DefaultErrorResponseSchema
|
@@ -3656,12 +3680,12 @@ var widgetContract = initContract26().router(
|
|
3656
3680
|
getWidgetById: {
|
3657
3681
|
method: "GET",
|
3658
3682
|
path: "/:id",
|
3659
|
-
pathParams:
|
3683
|
+
pathParams: z66.object({ id: z66.string() }),
|
3660
3684
|
headers: DefaultHeaderSchema,
|
3661
3685
|
responses: {
|
3662
3686
|
200: WidgetSchema,
|
3663
|
-
400:
|
3664
|
-
message:
|
3687
|
+
400: z66.object({
|
3688
|
+
message: z66.string()
|
3665
3689
|
}),
|
3666
3690
|
401: DefaultUnauthorizedSchema,
|
3667
3691
|
500: DefaultErrorResponseSchema
|
@@ -3695,14 +3719,14 @@ var widgetContract = initContract26().router(
|
|
3695
3719
|
updateWidget: {
|
3696
3720
|
method: "PATCH",
|
3697
3721
|
path: "/:id",
|
3698
|
-
pathParams:
|
3722
|
+
pathParams: z66.object({ id: z66.string() }),
|
3699
3723
|
headers: DefaultHeaderSchema,
|
3700
3724
|
responses: {
|
3701
3725
|
201: DefaultSuccessResponseSchema.extend({
|
3702
3726
|
widget: WidgetSchema
|
3703
3727
|
}),
|
3704
|
-
400:
|
3705
|
-
message:
|
3728
|
+
400: z66.object({
|
3729
|
+
message: z66.string()
|
3706
3730
|
}),
|
3707
3731
|
401: DefaultUnauthorizedSchema
|
3708
3732
|
},
|
@@ -3712,11 +3736,11 @@ var widgetContract = initContract26().router(
|
|
3712
3736
|
deleteWidget: {
|
3713
3737
|
method: "DELETE",
|
3714
3738
|
path: "/:id",
|
3715
|
-
pathParams:
|
3739
|
+
pathParams: z66.object({ id: z66.string() }),
|
3716
3740
|
headers: DefaultHeaderSchema,
|
3717
3741
|
body: null,
|
3718
3742
|
responses: {
|
3719
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3743
|
+
200: DefaultSuccessResponseSchema.extend({ message: z66.string() }),
|
3720
3744
|
500: DefaultErrorResponseSchema
|
3721
3745
|
},
|
3722
3746
|
summary: "Delete a widget."
|
@@ -3729,16 +3753,6 @@ var widgetContract = initContract26().router(
|
|
3729
3753
|
import { initContract as initContract27 } from "@ts-rest/core";
|
3730
3754
|
import z68 from "zod";
|
3731
3755
|
|
3732
|
-
// src/wrap-up-form/schema.ts
|
3733
|
-
import z66 from "zod";
|
3734
|
-
var WrapUpFormSchema = DefaultEntitySchema.extend({
|
3735
|
-
note: z66.string().nullable(),
|
3736
|
-
disposition: z66.string().nullable(),
|
3737
|
-
callFrom: z66.string().nullable(),
|
3738
|
-
callTo: z66.string().nullable(),
|
3739
|
-
tags: z66.array(TagSchema)
|
3740
|
-
});
|
3741
|
-
|
3742
3756
|
// src/wrap-up-form/validation.ts
|
3743
3757
|
import { z as z67 } from "zod";
|
3744
3758
|
var CreateWrapUpFormSchema = z67.object({
|
@@ -3811,11 +3825,674 @@ var wrapUpFormContract = initContract27().router(
|
|
3811
3825
|
{ pathPrefix: "wrap-up-form" }
|
3812
3826
|
);
|
3813
3827
|
|
3828
|
+
// src/company/index.ts
|
3829
|
+
import { initContract as initContract28 } from "@ts-rest/core";
|
3830
|
+
import z70 from "zod";
|
3831
|
+
|
3832
|
+
// src/company/validation.ts
|
3833
|
+
import z69 from "zod";
|
3834
|
+
var BaseSchema3 = z69.object({
|
3835
|
+
isRequired: z69.boolean(),
|
3836
|
+
attributeId: z69.string().uuid()
|
3837
|
+
});
|
3838
|
+
var StringValue = {
|
3839
|
+
value: z69.string()
|
3840
|
+
};
|
3841
|
+
var CompanyContractsValidationSchema = {
|
3842
|
+
create: {
|
3843
|
+
request: z69.object({
|
3844
|
+
name: BaseSchema3.extend(StringValue),
|
3845
|
+
phone: BaseSchema3.extend(StringValue),
|
3846
|
+
address: BaseSchema3.extend(StringValue),
|
3847
|
+
industry: BaseSchema3.extend(StringValue),
|
3848
|
+
customFields: z69.array(
|
3849
|
+
BaseSchema3.extend({
|
3850
|
+
value: z69.union([z69.string(), z69.array(z69.string())]),
|
3851
|
+
type: z69.string(),
|
3852
|
+
isDefaultAttribute: z69.boolean()
|
3853
|
+
})
|
3854
|
+
)
|
3855
|
+
}),
|
3856
|
+
response: CompanySchema
|
3857
|
+
},
|
3858
|
+
getById: {
|
3859
|
+
request: z69.object({
|
3860
|
+
id: z69.string().uuid()
|
3861
|
+
}),
|
3862
|
+
response: CompanySchema
|
3863
|
+
},
|
3864
|
+
getAll: {
|
3865
|
+
request: z69.object({
|
3866
|
+
page: z69.coerce.number().default(1),
|
3867
|
+
pageSize: z69.coerce.number().default(10),
|
3868
|
+
keyword: z69.string().optional(),
|
3869
|
+
industry: z69.array(z69.string()),
|
3870
|
+
name: z69.string(),
|
3871
|
+
address: z69.string(),
|
3872
|
+
phone: z69.string(),
|
3873
|
+
selectedDate: z69.string(),
|
3874
|
+
customFields: z69.array(
|
3875
|
+
z69.object({
|
3876
|
+
attributeId: z69.string().uuid(),
|
3877
|
+
type: z69.string(),
|
3878
|
+
value: z69.union([z69.string(), z69.array(z69.string())])
|
3879
|
+
})
|
3880
|
+
)
|
3881
|
+
}).partial(),
|
3882
|
+
response: {
|
3883
|
+
page: z69.number(),
|
3884
|
+
pageSize: z69.number(),
|
3885
|
+
total: z69.number(),
|
3886
|
+
lastPage: z69.number(),
|
3887
|
+
data: z69.array(CompanySchema)
|
3888
|
+
}
|
3889
|
+
}
|
3890
|
+
};
|
3891
|
+
|
3892
|
+
// src/company/index.ts
|
3893
|
+
var companyContract = initContract28().router(
|
3894
|
+
{
|
3895
|
+
create: {
|
3896
|
+
method: "POST",
|
3897
|
+
path: "",
|
3898
|
+
responses: {
|
3899
|
+
201: DefaultSuccessResponseSchema.extend({
|
3900
|
+
data: CompanyContractsValidationSchema.create.response
|
3901
|
+
}),
|
3902
|
+
400: z70.object({
|
3903
|
+
message: z70.string()
|
3904
|
+
}),
|
3905
|
+
409: z70.object({
|
3906
|
+
message: z70.string()
|
3907
|
+
}),
|
3908
|
+
500: z70.object({
|
3909
|
+
message: z70.string()
|
3910
|
+
}),
|
3911
|
+
401: DefaultUnauthorizedSchema,
|
3912
|
+
404: DefaultNotFoundSchema,
|
3913
|
+
422: DefaultUnprocessibleSchema
|
3914
|
+
},
|
3915
|
+
body: CompanyContractsValidationSchema.create.request,
|
3916
|
+
summary: "Create a new company"
|
3917
|
+
},
|
3918
|
+
update: {
|
3919
|
+
method: "PATCH",
|
3920
|
+
path: "/:id",
|
3921
|
+
pathParams: z70.object({
|
3922
|
+
id: z70.string().uuid()
|
3923
|
+
}),
|
3924
|
+
responses: {
|
3925
|
+
201: DefaultSuccessResponseSchema.extend({
|
3926
|
+
data: CompanyContractsValidationSchema.create.response
|
3927
|
+
}),
|
3928
|
+
400: z70.object({
|
3929
|
+
message: z70.string()
|
3930
|
+
}),
|
3931
|
+
409: z70.object({
|
3932
|
+
message: z70.string()
|
3933
|
+
}),
|
3934
|
+
500: z70.object({
|
3935
|
+
message: z70.string()
|
3936
|
+
}),
|
3937
|
+
401: DefaultUnauthorizedSchema,
|
3938
|
+
404: DefaultNotFoundSchema,
|
3939
|
+
422: DefaultUnprocessibleSchema
|
3940
|
+
},
|
3941
|
+
body: CompanyContractsValidationSchema.create.request.partial(),
|
3942
|
+
summary: "Update a company"
|
3943
|
+
},
|
3944
|
+
delete: {
|
3945
|
+
method: "DELETE",
|
3946
|
+
path: "/:id",
|
3947
|
+
pathParams: z70.object({
|
3948
|
+
id: z70.string().uuid()
|
3949
|
+
}),
|
3950
|
+
responses: {
|
3951
|
+
201: DefaultSuccessResponseSchema.extend({
|
3952
|
+
message: z70.string()
|
3953
|
+
}),
|
3954
|
+
400: z70.object({
|
3955
|
+
message: z70.string()
|
3956
|
+
}),
|
3957
|
+
409: z70.object({
|
3958
|
+
message: z70.string()
|
3959
|
+
}),
|
3960
|
+
500: z70.object({
|
3961
|
+
message: z70.string()
|
3962
|
+
}),
|
3963
|
+
401: DefaultUnauthorizedSchema,
|
3964
|
+
404: DefaultNotFoundSchema,
|
3965
|
+
422: DefaultUnprocessibleSchema
|
3966
|
+
},
|
3967
|
+
body: null,
|
3968
|
+
summary: "Delete a company"
|
3969
|
+
},
|
3970
|
+
getById: {
|
3971
|
+
method: "GET",
|
3972
|
+
path: "/:id",
|
3973
|
+
pathParams: CompanyContractsValidationSchema.getById.request,
|
3974
|
+
responses: {
|
3975
|
+
200: DefaultSuccessResponseSchema.extend({
|
3976
|
+
data: CompanyContractsValidationSchema.create.response
|
3977
|
+
}),
|
3978
|
+
400: z70.object({
|
3979
|
+
message: z70.string()
|
3980
|
+
}),
|
3981
|
+
409: z70.object({
|
3982
|
+
message: z70.string()
|
3983
|
+
}),
|
3984
|
+
500: z70.object({
|
3985
|
+
message: z70.string()
|
3986
|
+
}),
|
3987
|
+
401: DefaultUnauthorizedSchema,
|
3988
|
+
404: DefaultNotFoundSchema,
|
3989
|
+
422: DefaultUnprocessibleSchema
|
3990
|
+
},
|
3991
|
+
summary: "Get a company by id"
|
3992
|
+
},
|
3993
|
+
getAll: {
|
3994
|
+
method: "GET",
|
3995
|
+
path: "",
|
3996
|
+
query: CompanyContractsValidationSchema.getAll.request,
|
3997
|
+
responses: {
|
3998
|
+
200: DefaultSuccessResponseSchema.extend({
|
3999
|
+
...CompanyContractsValidationSchema.getAll.response
|
4000
|
+
}),
|
4001
|
+
400: z70.object({
|
4002
|
+
message: z70.string()
|
4003
|
+
}),
|
4004
|
+
409: z70.object({
|
4005
|
+
message: z70.string()
|
4006
|
+
}),
|
4007
|
+
500: z70.object({
|
4008
|
+
message: z70.string()
|
4009
|
+
}),
|
4010
|
+
401: DefaultUnauthorizedSchema,
|
4011
|
+
404: DefaultNotFoundSchema,
|
4012
|
+
422: DefaultUnprocessibleSchema
|
4013
|
+
},
|
4014
|
+
summary: "Get all companies"
|
4015
|
+
}
|
4016
|
+
},
|
4017
|
+
{
|
4018
|
+
pathPrefix: "company"
|
4019
|
+
}
|
4020
|
+
);
|
4021
|
+
|
4022
|
+
// src/dashboard/index.ts
|
4023
|
+
import { initContract as initContract29 } from "@ts-rest/core";
|
4024
|
+
|
4025
|
+
// src/dashboard/validation.ts
|
4026
|
+
import z71 from "zod";
|
4027
|
+
var GetDashboardQueryParamsSchema = z71.object({
|
4028
|
+
selectedDate: z71.string()
|
4029
|
+
});
|
4030
|
+
var GetDashboardQueryDetailParamsSchema = GetDashboardQueryParamsSchema.merge(
|
4031
|
+
z71.object({
|
4032
|
+
agentId: z71.string().uuid().optional()
|
4033
|
+
})
|
4034
|
+
).optional();
|
4035
|
+
|
4036
|
+
// src/dashboard/index.ts
|
4037
|
+
import z73 from "zod";
|
4038
|
+
|
4039
|
+
// src/dashboard/schema.ts
|
4040
|
+
import z72 from "zod";
|
4041
|
+
var InboundCountSchema = z72.object({
|
4042
|
+
totalCallCount: z72.number(),
|
4043
|
+
answeredCallCount: z72.number(),
|
4044
|
+
missedCallCount: z72.number()
|
4045
|
+
});
|
4046
|
+
var OutboundCountSchema = z72.object({
|
4047
|
+
totalCallCount: z72.number(),
|
4048
|
+
answeredCallCount: z72.number(),
|
4049
|
+
noAnsweredCallCount: z72.number()
|
4050
|
+
});
|
4051
|
+
var TwoAxiosCountSchema = z72.object({
|
4052
|
+
x: z72.string(),
|
4053
|
+
y: z72.string()
|
4054
|
+
});
|
4055
|
+
var ReceivedTicketCountDataSchema = z72.object({
|
4056
|
+
name: z72.string(),
|
4057
|
+
data: z72.array(TwoAxiosCountSchema)
|
4058
|
+
});
|
4059
|
+
var ResolvedTicketCountDataSchema = z72.object({
|
4060
|
+
name: z72.string(),
|
4061
|
+
data: z72.array(TwoAxiosCountSchema)
|
4062
|
+
});
|
4063
|
+
var TotalCallLogCountDataSchema = z72.object({
|
4064
|
+
name: z72.string(),
|
4065
|
+
data: z72.array(TwoAxiosCountSchema)
|
4066
|
+
});
|
4067
|
+
var AnsweredCallLogCountDataSchema = z72.object({
|
4068
|
+
name: z72.string(),
|
4069
|
+
data: z72.array(TwoAxiosCountSchema)
|
4070
|
+
});
|
4071
|
+
var CallLogCountByResultDaumSchema = z72.object({
|
4072
|
+
result: z72.string(),
|
4073
|
+
count: z72.string()
|
4074
|
+
});
|
4075
|
+
var DashboardDataSchema = z72.object({
|
4076
|
+
receivedTicketCount: z72.number(),
|
4077
|
+
pendingTicketCount: z72.number(),
|
4078
|
+
openTicketCount: z72.number(),
|
4079
|
+
resolvedTicketCount: z72.number(),
|
4080
|
+
unResolvedTicketCount: z72.number(),
|
4081
|
+
closedTicketCount: z72.number(),
|
4082
|
+
unAssignedTicketCount: z72.number(),
|
4083
|
+
receivedTicketCountData: ReceivedTicketCountDataSchema,
|
4084
|
+
resolvedTicketCountData: ResolvedTicketCountDataSchema
|
4085
|
+
});
|
4086
|
+
var DashboardDataWithCallSchema = DashboardDataSchema.extend({
|
4087
|
+
missedCallCount: z72.number(),
|
4088
|
+
answeredCallCount: z72.number(),
|
4089
|
+
noAnsweredCallCount: z72.number(),
|
4090
|
+
totalCallCount: z72.number(),
|
4091
|
+
inbound: InboundCountSchema,
|
4092
|
+
outbound: OutboundCountSchema,
|
4093
|
+
totalCallLogCountData: TotalCallLogCountDataSchema,
|
4094
|
+
answeredCallLogCountData: AnsweredCallLogCountDataSchema,
|
4095
|
+
callLogCountByResultData: z72.array(CallLogCountByResultDaumSchema).optional()
|
4096
|
+
});
|
4097
|
+
var TotalTelephonyQueueCallCountListSchema = z72.object({
|
4098
|
+
totalQueueCall: z72.string(),
|
4099
|
+
totalMissedQueueCall: z72.string(),
|
4100
|
+
totalAnsweredQueueCall: z72.string(),
|
4101
|
+
totalAbandonedQueueCall: z72.string(),
|
4102
|
+
totalAverageRingDuration: z72.string(),
|
4103
|
+
totalAverageTalkDuration: z72.string(),
|
4104
|
+
totalAverageCallDuration: z72.string(),
|
4105
|
+
totalSla: z72.string(),
|
4106
|
+
totalMissedCallPercent: z72.string(),
|
4107
|
+
totalMaximumRingDuration: z72.string()
|
4108
|
+
});
|
4109
|
+
var TelephonyQueueCallCountListSchema = z72.object({
|
4110
|
+
totalQueueCall: z72.string(),
|
4111
|
+
totalMissedQueueCall: z72.string(),
|
4112
|
+
totalAnsweredQueueCall: z72.string(),
|
4113
|
+
totalAbandonedQueueCall: z72.string(),
|
4114
|
+
totalAverageTalkDuration: z72.string(),
|
4115
|
+
totalAverageCallDuration: z72.string(),
|
4116
|
+
totalAverageRingDuration: z72.string(),
|
4117
|
+
totalSla: z72.string(),
|
4118
|
+
totalMissedCallPercent: z72.string(),
|
4119
|
+
totalMaximumRingDuration: z72.string()
|
4120
|
+
});
|
4121
|
+
var TelephonyQueueCallCountListByQueueNumberSchema = z72.object({
|
4122
|
+
queueNumber: z72.number(),
|
4123
|
+
queueName: z72.string(),
|
4124
|
+
yeastarQueueCallCountList: TelephonyQueueCallCountListSchema
|
4125
|
+
});
|
4126
|
+
var queueCallDashboardDataSchema = z72.object({
|
4127
|
+
totalTelephonyQueueCallCountList: TotalTelephonyQueueCallCountListSchema,
|
4128
|
+
telephonyQueueCallCountListByQueueNumber: z72.array(
|
4129
|
+
TelephonyQueueCallCountListByQueueNumberSchema
|
4130
|
+
)
|
4131
|
+
});
|
4132
|
+
var TotalQueueLiveCallStatusSchema = z72.object({
|
4133
|
+
activeCallCount: z72.number(),
|
4134
|
+
waitingCallCount: z72.number()
|
4135
|
+
});
|
4136
|
+
var QueueLiveCallListByQueueSchema = z72.object({
|
4137
|
+
queueNumber: z72.string(),
|
4138
|
+
activeCallCount: z72.number(),
|
4139
|
+
waitingCallCount: z72.number()
|
4140
|
+
});
|
4141
|
+
var queueLiveCallCountListSchema = z72.object({
|
4142
|
+
totalQueueLiveCallStatus: TotalQueueLiveCallStatusSchema,
|
4143
|
+
queueLiveCallListByQueue: z72.array(QueueLiveCallListByQueueSchema)
|
4144
|
+
});
|
4145
|
+
var TicketCountByStatusSchema = z72.object({
|
4146
|
+
total: z72.number(),
|
4147
|
+
open: z72.number(),
|
4148
|
+
pending: z72.number(),
|
4149
|
+
duration: z72.object({
|
4150
|
+
day: z72.string().nullable(),
|
4151
|
+
hour: z72.string().nullable()
|
4152
|
+
}),
|
4153
|
+
solved: z72.number(),
|
4154
|
+
others: z72.number(),
|
4155
|
+
closed: z72.number(),
|
4156
|
+
unassigneed: z72.number()
|
4157
|
+
});
|
4158
|
+
var ExpiredTicketSchema = z72.array(
|
4159
|
+
z72.object({
|
4160
|
+
id: z72.string(),
|
4161
|
+
ticketNumber: z72.number(),
|
4162
|
+
title: z72.string(),
|
4163
|
+
priority: z72.string(),
|
4164
|
+
expiredDays: z72.number()
|
4165
|
+
})
|
4166
|
+
);
|
4167
|
+
var TagCountObjSchema = z72.array(
|
4168
|
+
z72.object({
|
4169
|
+
id: z72.string(),
|
4170
|
+
name: z72.string(),
|
4171
|
+
count: z72.number()
|
4172
|
+
})
|
4173
|
+
);
|
4174
|
+
var MessageCountsByChannelObjSchema = z72.record(
|
4175
|
+
z72.array(
|
4176
|
+
z72.object({
|
4177
|
+
platform: z72.string(),
|
4178
|
+
messageCount: z72.number()
|
4179
|
+
})
|
4180
|
+
)
|
4181
|
+
);
|
4182
|
+
var CallEndResultSchema = z72.array(
|
4183
|
+
z72.object({ result: z72.string().nullable(), count: z72.string().nullable() }).optional()
|
4184
|
+
).optional();
|
4185
|
+
var ConversationCountStatusSchema = z72.object({
|
4186
|
+
newContactCount: z72.number().nullable(),
|
4187
|
+
oldContactCount: z72.number().nullable()
|
4188
|
+
});
|
4189
|
+
var MessageStatusSchema = z72.object({
|
4190
|
+
total: z72.number().nullable(),
|
4191
|
+
closed: z72.number().nullable(),
|
4192
|
+
unassignedOpen: z72.number().nullable(),
|
4193
|
+
assignedOpen: z72.number().nullable()
|
4194
|
+
});
|
4195
|
+
var MessageAverageSchema = z72.object({
|
4196
|
+
selectedWeekAvgByDay: z72.array(
|
4197
|
+
z72.object({
|
4198
|
+
day: z72.string().nullable(),
|
4199
|
+
avgResolutionTime: z72.string().nullable(),
|
4200
|
+
avgResponseTime: z72.string().nullable()
|
4201
|
+
})
|
4202
|
+
).optional().nullable(),
|
4203
|
+
previousWeekAvg: z72.object({
|
4204
|
+
avgResolutionTime: z72.string().nullable(),
|
4205
|
+
avgResponseTime: z72.string().nullable()
|
4206
|
+
}).nullable().optional(),
|
4207
|
+
selectedWeekAvg: z72.object({
|
4208
|
+
avgResolutionTime: z72.string().nullable(),
|
4209
|
+
avgResponseTime: z72.string().nullable()
|
4210
|
+
}).nullable().optional()
|
4211
|
+
});
|
4212
|
+
var MessagePlatformDataSchema = z72.object({
|
4213
|
+
messengerCount: z72.object({ count: z72.number().nullable() }).nullable(),
|
4214
|
+
lineCount: z72.object({ count: z72.number() }).nullable(),
|
4215
|
+
viberCount: z72.object({ count: z72.number() }).nullable(),
|
4216
|
+
instagramCount: z72.object({ count: z72.number() }).nullable()
|
4217
|
+
});
|
4218
|
+
var MessageDispositionSchema = z72.object({
|
4219
|
+
resolvedDispositionCount: z72.number().nullable(),
|
4220
|
+
prankDispositionCount: z72.number().nullable(),
|
4221
|
+
followUpDispositionCount: z72.number().nullable(),
|
4222
|
+
blankDispositionCount: z72.number().nullable(),
|
4223
|
+
escalatedDispositionCount: z72.number().nullable()
|
4224
|
+
});
|
4225
|
+
var MessageIncomingDataSchema = z72.array(
|
4226
|
+
z72.object({
|
4227
|
+
platform: z72.string().nullable(),
|
4228
|
+
hour: z72.string().nullable(),
|
4229
|
+
messageCount: z72.string().nullable()
|
4230
|
+
}).nullable().optional()
|
4231
|
+
);
|
4232
|
+
var MessageTotalIncomingDataSchema = z72.array(
|
4233
|
+
z72.object({ name: z72.string(), data: z72.array(z72.number()) }).nullable()
|
4234
|
+
);
|
4235
|
+
|
4236
|
+
// src/dashboard/index.ts
|
4237
|
+
var dashboardContract = initContract29().router(
|
4238
|
+
{
|
4239
|
+
getDashboardData: {
|
4240
|
+
method: "GET",
|
4241
|
+
path: "",
|
4242
|
+
headers: DefaultHeaderSchema,
|
4243
|
+
query: GetDashboardQueryDetailParamsSchema,
|
4244
|
+
summary: "Get all dashboard",
|
4245
|
+
responses: {
|
4246
|
+
200: DefaultSuccessResponseSchema.extend({
|
4247
|
+
dashboard: DashboardDataSchema
|
4248
|
+
}),
|
4249
|
+
400: z73.object({
|
4250
|
+
message: z73.string()
|
4251
|
+
}),
|
4252
|
+
401: DefaultUnauthorizedSchema
|
4253
|
+
}
|
4254
|
+
},
|
4255
|
+
getQueueCallDashboardData: {
|
4256
|
+
method: "GET",
|
4257
|
+
path: "/queue-call-dashboard",
|
4258
|
+
headers: DefaultHeaderSchema,
|
4259
|
+
query: GetDashboardQueryParamsSchema,
|
4260
|
+
summary: "Get queue call dashboard",
|
4261
|
+
responses: {
|
4262
|
+
200: DefaultSuccessResponseSchema.extend({
|
4263
|
+
queuecallDashboard: queueCallDashboardDataSchema
|
4264
|
+
}),
|
4265
|
+
400: z73.object({
|
4266
|
+
message: z73.string()
|
4267
|
+
}),
|
4268
|
+
401: DefaultUnauthorizedSchema
|
4269
|
+
}
|
4270
|
+
},
|
4271
|
+
getQueueLiveCallCountList: {
|
4272
|
+
method: "GET",
|
4273
|
+
path: "/queue-live-call-count-list",
|
4274
|
+
headers: DefaultHeaderSchema,
|
4275
|
+
query: null,
|
4276
|
+
summary: "Get queue live call count list",
|
4277
|
+
responses: {
|
4278
|
+
200: DefaultSuccessResponseSchema.extend({
|
4279
|
+
queueLiveCallCountList: queueLiveCallCountListSchema
|
4280
|
+
}),
|
4281
|
+
401: DefaultUnauthorizedSchema
|
4282
|
+
}
|
4283
|
+
},
|
4284
|
+
// TODO: call monitoring
|
4285
|
+
getQueryCalls: {
|
4286
|
+
method: "GET",
|
4287
|
+
path: "/query-calls",
|
4288
|
+
headers: DefaultHeaderSchema,
|
4289
|
+
query: null,
|
4290
|
+
summary: "Get query calls",
|
4291
|
+
responses: {
|
4292
|
+
200: DefaultSuccessResponseSchema.extend({
|
4293
|
+
dashboard: DashboardDataSchema
|
4294
|
+
}),
|
4295
|
+
401: DefaultUnauthorizedSchema
|
4296
|
+
}
|
4297
|
+
},
|
4298
|
+
getTicketDashboardData: {
|
4299
|
+
method: "GET",
|
4300
|
+
path: "/ticket",
|
4301
|
+
headers: DefaultHeaderSchema,
|
4302
|
+
query: GetDashboardQueryDetailParamsSchema,
|
4303
|
+
summary: "Get ticket dashboard",
|
4304
|
+
responses: {
|
4305
|
+
200: DefaultSuccessResponseSchema.extend({
|
4306
|
+
ticketCountByStatus: TicketCountByStatusSchema
|
4307
|
+
}),
|
4308
|
+
401: DefaultUnauthorizedSchema
|
4309
|
+
}
|
4310
|
+
},
|
4311
|
+
getExpiredTicketData: {
|
4312
|
+
method: "GET",
|
4313
|
+
path: "/ticket/expired",
|
4314
|
+
headers: DefaultHeaderSchema,
|
4315
|
+
query: null,
|
4316
|
+
summary: "Get expired ticket data",
|
4317
|
+
responses: {
|
4318
|
+
200: DefaultSuccessResponseSchema.extend({
|
4319
|
+
expiredTicketData: ExpiredTicketSchema
|
4320
|
+
}),
|
4321
|
+
401: DefaultUnauthorizedSchema
|
4322
|
+
}
|
4323
|
+
},
|
4324
|
+
getTicketTagData: {
|
4325
|
+
method: "GET",
|
4326
|
+
path: "/ticket/tag",
|
4327
|
+
headers: DefaultHeaderSchema,
|
4328
|
+
query: GetDashboardQueryParamsSchema,
|
4329
|
+
summary: "Get ticket tag data",
|
4330
|
+
responses: {
|
4331
|
+
200: DefaultSuccessResponseSchema.extend({
|
4332
|
+
ticketTags: TagCountObjSchema
|
4333
|
+
}),
|
4334
|
+
401: DefaultUnauthorizedSchema
|
4335
|
+
}
|
4336
|
+
},
|
4337
|
+
/**
|
4338
|
+
* analytic dashboard section
|
4339
|
+
*/
|
4340
|
+
getMessageChannelData: {
|
4341
|
+
method: "GET",
|
4342
|
+
path: "/message/channel",
|
4343
|
+
query: null,
|
4344
|
+
headers: DefaultHeaderSchema,
|
4345
|
+
summary: "Get message channel data",
|
4346
|
+
responses: {
|
4347
|
+
200: DefaultSuccessResponseSchema.extend({
|
4348
|
+
messageCounts: MessageCountsByChannelObjSchema
|
4349
|
+
}),
|
4350
|
+
401: DefaultUnauthorizedSchema
|
4351
|
+
}
|
4352
|
+
},
|
4353
|
+
getMessageTagData: {
|
4354
|
+
method: "GET",
|
4355
|
+
path: "/message/tag",
|
4356
|
+
query: GetDashboardQueryParamsSchema,
|
4357
|
+
headers: DefaultHeaderSchema,
|
4358
|
+
summary: "Get message tag data",
|
4359
|
+
responses: {
|
4360
|
+
200: DefaultSuccessResponseSchema.extend({
|
4361
|
+
messageTags: TagCountObjSchema
|
4362
|
+
}),
|
4363
|
+
401: DefaultUnauthorizedSchema
|
4364
|
+
}
|
4365
|
+
},
|
4366
|
+
getCallTagData: {
|
4367
|
+
method: "GET",
|
4368
|
+
path: "/call/tag",
|
4369
|
+
summary: "Get call tag data",
|
4370
|
+
query: GetDashboardQueryParamsSchema,
|
4371
|
+
headers: DefaultHeaderSchema,
|
4372
|
+
responses: {
|
4373
|
+
200: DefaultSuccessResponseSchema.extend({
|
4374
|
+
callTags: TagCountObjSchema
|
4375
|
+
}),
|
4376
|
+
401: DefaultUnauthorizedSchema
|
4377
|
+
}
|
4378
|
+
},
|
4379
|
+
getCallResultData: {
|
4380
|
+
method: "GET",
|
4381
|
+
path: "/call/result",
|
4382
|
+
summary: "Get call result data",
|
4383
|
+
query: GetDashboardQueryDetailParamsSchema,
|
4384
|
+
headers: DefaultHeaderSchema,
|
4385
|
+
responses: {
|
4386
|
+
200: DefaultSuccessResponseSchema.extend({
|
4387
|
+
callEndResults: CallEndResultSchema
|
4388
|
+
}),
|
4389
|
+
401: DefaultUnauthorizedSchema
|
4390
|
+
}
|
4391
|
+
},
|
4392
|
+
getConversationActivity: {
|
4393
|
+
method: "GET",
|
4394
|
+
path: "/message/customers",
|
4395
|
+
// conversation activity
|
4396
|
+
summary: "Get message contact data",
|
4397
|
+
query: GetDashboardQueryParamsSchema,
|
4398
|
+
headers: DefaultHeaderSchema,
|
4399
|
+
responses: {
|
4400
|
+
200: DefaultSuccessResponseSchema.extend({
|
4401
|
+
customerCountStatus: ConversationCountStatusSchema
|
4402
|
+
}),
|
4403
|
+
401: DefaultUnauthorizedSchema
|
4404
|
+
}
|
4405
|
+
},
|
4406
|
+
getRoomStatusCountByStatus: {
|
4407
|
+
method: "GET",
|
4408
|
+
path: "/message/status",
|
4409
|
+
summary: "Get room status count by status",
|
4410
|
+
query: GetDashboardQueryParamsSchema,
|
4411
|
+
headers: DefaultHeaderSchema,
|
4412
|
+
responses: {
|
4413
|
+
200: DefaultSuccessResponseSchema.extend({
|
4414
|
+
messageStatus: MessageStatusSchema
|
4415
|
+
}),
|
4416
|
+
401: DefaultUnauthorizedSchema
|
4417
|
+
}
|
4418
|
+
},
|
4419
|
+
getRoomStatusAverage: {
|
4420
|
+
method: "GET",
|
4421
|
+
path: "/message/average",
|
4422
|
+
summary: "Get room status average",
|
4423
|
+
query: GetDashboardQueryParamsSchema,
|
4424
|
+
headers: DefaultHeaderSchema,
|
4425
|
+
responses: {
|
4426
|
+
200: DefaultSuccessResponseSchema.extend({
|
4427
|
+
messageAverageData: MessageAverageSchema
|
4428
|
+
}),
|
4429
|
+
401: DefaultUnauthorizedSchema
|
4430
|
+
}
|
4431
|
+
},
|
4432
|
+
getMessagePlatformData: {
|
4433
|
+
method: "GET",
|
4434
|
+
path: "/message/platform",
|
4435
|
+
summary: "Get message platform data",
|
4436
|
+
query: GetDashboardQueryParamsSchema,
|
4437
|
+
headers: DefaultHeaderSchema,
|
4438
|
+
responses: {
|
4439
|
+
200: DefaultSuccessResponseSchema.extend({
|
4440
|
+
messagePlatformData: MessagePlatformDataSchema
|
4441
|
+
}),
|
4442
|
+
401: DefaultUnauthorizedSchema
|
4443
|
+
}
|
4444
|
+
},
|
4445
|
+
getMessageRoomStatusDispositionData: {
|
4446
|
+
method: "GET",
|
4447
|
+
path: "/message/disposition",
|
4448
|
+
summary: "Get message room status disposition data",
|
4449
|
+
query: GetDashboardQueryParamsSchema,
|
4450
|
+
headers: DefaultHeaderSchema,
|
4451
|
+
responses: {
|
4452
|
+
200: DefaultSuccessResponseSchema.extend({
|
4453
|
+
messageDisposition: MessageDispositionSchema
|
4454
|
+
}),
|
4455
|
+
401: DefaultUnauthorizedSchema
|
4456
|
+
}
|
4457
|
+
},
|
4458
|
+
getIncomingMessageByPlatform: {
|
4459
|
+
method: "GET",
|
4460
|
+
path: "/message/incoming",
|
4461
|
+
summary: "Get incoming message by platform",
|
4462
|
+
query: GetDashboardQueryParamsSchema,
|
4463
|
+
headers: DefaultHeaderSchema,
|
4464
|
+
responses: {
|
4465
|
+
200: DefaultSuccessResponseSchema.extend({
|
4466
|
+
messageIncomingData: MessageIncomingDataSchema
|
4467
|
+
}),
|
4468
|
+
401: DefaultUnauthorizedSchema
|
4469
|
+
}
|
4470
|
+
},
|
4471
|
+
getTotalIncomingMessageData: {
|
4472
|
+
method: "GET",
|
4473
|
+
path: "/message/total-incoming",
|
4474
|
+
summary: "Get total incoming message data",
|
4475
|
+
query: GetDashboardQueryParamsSchema,
|
4476
|
+
headers: DefaultHeaderSchema,
|
4477
|
+
responses: {
|
4478
|
+
200: DefaultSuccessResponseSchema.extend({
|
4479
|
+
messageTotalIncomingData: MessageTotalIncomingDataSchema
|
4480
|
+
}),
|
4481
|
+
401: DefaultUnauthorizedSchema
|
4482
|
+
}
|
4483
|
+
}
|
4484
|
+
},
|
4485
|
+
{
|
4486
|
+
pathPrefix: "dashboard"
|
4487
|
+
}
|
4488
|
+
);
|
4489
|
+
|
3814
4490
|
// src/contract.ts
|
3815
|
-
var apiContract =
|
4491
|
+
var apiContract = initContract30().router({
|
3816
4492
|
auth: authContract,
|
3817
4493
|
mail: mailContract,
|
3818
4494
|
cxLog: cxLogContract,
|
4495
|
+
dashboard: dashboardContract,
|
3819
4496
|
permission: permissionContract,
|
3820
4497
|
role: roleContract,
|
3821
4498
|
user: userContract,
|
@@ -3832,13 +4509,14 @@ var apiContract = initContract28().router({
|
|
3832
4509
|
agentPresenceStatus: telephonyAgentPresenceStatusContract,
|
3833
4510
|
userPresenceStatusLog: userPresenceStatusLogContract,
|
3834
4511
|
contact: contactContract,
|
3835
|
-
ticket: ticketContract
|
4512
|
+
ticket: ticketContract,
|
4513
|
+
company: companyContract
|
3836
4514
|
});
|
3837
|
-
var platformContract =
|
4515
|
+
var platformContract = initContract30().router({
|
3838
4516
|
line: lineContract,
|
3839
4517
|
messenger: messengerContract
|
3840
4518
|
});
|
3841
|
-
var chatContract =
|
4519
|
+
var chatContract = initContract30().router({
|
3842
4520
|
main: mainChatContract
|
3843
4521
|
});
|
3844
4522
|
export {
|