@kl1/contracts 1.0.19 → 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 +1721 -1041
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1721 -1041
- 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/chat/index.d.ts +4033 -242
- package/dist/src/chat/index.d.ts.map +1 -1
- package/dist/src/chat/schema.d.ts +309 -17
- package/dist/src/chat/schema.d.ts.map +1 -1
- package/dist/src/chat/validation.d.ts +5282 -10
- 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 +12761 -5021
- 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 +207 -10
- 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/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";
|
@@ -655,7 +655,7 @@ var channelContract = initContract5().router(
|
|
655
655
|
|
656
656
|
// src/chat/index.ts
|
657
657
|
import { initContract as initContract6 } from "@ts-rest/core";
|
658
|
-
import
|
658
|
+
import z26 from "zod";
|
659
659
|
|
660
660
|
// src/contact/schema.ts
|
661
661
|
import z20 from "zod";
|
@@ -676,7 +676,7 @@ var CompanyCustomFieldSchema = DefaultEntitySchema.extend({
|
|
676
676
|
textValue: z18.string().nullable(),
|
677
677
|
booleanValue: z18.boolean().nullable(),
|
678
678
|
numberValue: z18.number().nullable(),
|
679
|
-
dateValue: z18.
|
679
|
+
dateValue: z18.date().nullable(),
|
680
680
|
attribute: AttributeSchema.omit({ options: true, group: true })
|
681
681
|
});
|
682
682
|
var CompanySchema = DefaultEntitySchema.extend({
|
@@ -768,32 +768,45 @@ var ContactSchema = z20.object({
|
|
768
768
|
});
|
769
769
|
|
770
770
|
// src/chat/schema.ts
|
771
|
-
import
|
771
|
+
import z23 from "zod";
|
772
772
|
|
773
773
|
// src/cx-log/schema.ts
|
774
|
+
import z22 from "zod";
|
775
|
+
|
776
|
+
// src/wrap-up-form/schema.ts
|
774
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
|
775
787
|
var CxLogSchema = DefaultEntitySchema.extend({
|
776
|
-
caseId:
|
777
|
-
entityId:
|
778
|
-
entityName:
|
779
|
-
contactId:
|
780
|
-
channel:
|
781
|
-
queueId:
|
782
|
-
agentId:
|
783
|
-
direction:
|
784
|
-
startedDate:
|
785
|
-
handledTime:
|
786
|
-
firstResponseTime:
|
787
|
-
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()
|
788
801
|
});
|
789
802
|
|
790
803
|
// src/chat/schema.ts
|
791
|
-
var MessageDirectionTypeSchema =
|
804
|
+
var MessageDirectionTypeSchema = z23.enum([
|
792
805
|
"incoming",
|
793
806
|
"outgoing",
|
794
807
|
"system"
|
795
808
|
]);
|
796
|
-
var MessageTypeSchema =
|
809
|
+
var MessageTypeSchema = z23.enum([
|
797
810
|
"text",
|
798
811
|
"image",
|
799
812
|
"video",
|
@@ -813,195 +826,198 @@ var MessageTypeSchema = z22.enum([
|
|
813
826
|
"updated",
|
814
827
|
"started"
|
815
828
|
]);
|
816
|
-
var MessageLocaleTypeSchema =
|
817
|
-
var PlatformContactMetadataSchema =
|
818
|
-
id:
|
819
|
-
name:
|
820
|
-
picture:
|
821
|
-
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()
|
822
835
|
});
|
823
836
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
824
|
-
channelId:
|
825
|
-
socialPlatformId:
|
837
|
+
channelId: z23.string().uuid(),
|
838
|
+
socialPlatformId: z23.string(),
|
826
839
|
type: ChannelTypeSchema,
|
827
840
|
metadata: PlatformContactMetadataSchema,
|
828
841
|
contact: ContactSchema
|
829
842
|
});
|
830
843
|
var RoomSchema = DefaultEntitySchema.extend({
|
831
|
-
lastMessage:
|
832
|
-
handleTime:
|
833
|
-
closeAt:
|
834
|
-
unreadCount:
|
835
|
-
firstResponseAt:
|
836
|
-
firstResponseTime:
|
837
|
-
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(),
|
838
851
|
direction: MessageDirectionTypeSchema,
|
839
852
|
platformContact: PlatformContactSchema,
|
840
853
|
actor: UserSchema,
|
841
854
|
assignee: UserSchema,
|
842
855
|
channel: ChannelSchema,
|
843
|
-
|
856
|
+
cxlog: CxLogSchema
|
844
857
|
});
|
845
858
|
var MessageSchema = DefaultEntitySchema.extend({
|
846
|
-
message:
|
859
|
+
message: z23.string(),
|
847
860
|
direction: MessageDirectionTypeSchema,
|
848
861
|
type: MessageTypeSchema,
|
849
|
-
readAt:
|
850
|
-
metadata:
|
851
|
-
platformId:
|
852
|
-
platformMessageId:
|
853
|
-
replyPlatformMessageId:
|
854
|
-
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(),
|
855
868
|
locale: MessageLocaleTypeSchema,
|
856
|
-
url:
|
857
|
-
previewUrl:
|
858
|
-
imageSetId:
|
869
|
+
url: z23.string(),
|
870
|
+
previewUrl: z23.string(),
|
871
|
+
imageSetId: z23.string(),
|
859
872
|
room: RoomSchema,
|
860
873
|
upload: UploadSchema,
|
861
874
|
actor: UserSchema,
|
862
875
|
assignee: UserSchema,
|
863
876
|
sender: UserSchema
|
864
877
|
});
|
865
|
-
var UnreadCountsByAssigneeSchema =
|
866
|
-
assigneeId:
|
867
|
-
totalUnreadCount:
|
878
|
+
var UnreadCountsByAssigneeSchema = z23.object({
|
879
|
+
assigneeId: z23.string(),
|
880
|
+
totalUnreadCount: z23.number()
|
868
881
|
});
|
869
882
|
|
870
883
|
// src/chat/validation.ts
|
871
|
-
import
|
884
|
+
import z25 from "zod";
|
872
885
|
|
873
886
|
// src/custom-field/schema.ts
|
874
|
-
import
|
887
|
+
import z24 from "zod";
|
875
888
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
876
|
-
textValue:
|
877
|
-
booleanValue:
|
878
|
-
numberValue:
|
879
|
-
dateValue:
|
880
|
-
entityId:
|
881
|
-
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()
|
882
895
|
});
|
883
896
|
|
884
897
|
// src/chat/validation.ts
|
885
|
-
var GetRoomsSchema =
|
886
|
-
page:
|
887
|
-
pageSize:
|
888
|
-
contactTagIds:
|
889
|
-
contactIds:
|
890
|
-
agentIds:
|
891
|
-
roomTagIds:
|
892
|
-
keyword:
|
893
|
-
company:
|
894
|
-
channel:
|
895
|
-
name:
|
896
|
-
address:
|
897
|
-
contactGroups:
|
898
|
-
selectedDate:
|
899
|
-
customFields:
|
900
|
-
tags:
|
901
|
-
phone:
|
902
|
-
email:
|
903
|
-
notes:
|
904
|
-
tab:
|
905
|
-
});
|
906
|
-
var UpdateRoomTagsAndNotesSchema =
|
907
|
-
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(),
|
908
921
|
tags: TagSchema.array().optional()
|
909
922
|
});
|
910
923
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
911
|
-
roomId:
|
912
|
-
});
|
913
|
-
var MessageAttachmentSchema =
|
914
|
-
bucketName:
|
915
|
-
fileKey:
|
916
|
-
fileName:
|
917
|
-
fileSize:
|
918
|
-
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(),
|
919
932
|
fileType: MessageTypeSchema,
|
920
|
-
thumbnailUrl:
|
933
|
+
thumbnailUrl: z25.string().optional()
|
921
934
|
});
|
922
|
-
var SendMessageSchema =
|
923
|
-
roomId:
|
935
|
+
var SendMessageSchema = z25.object({
|
936
|
+
roomId: z25.string().uuid(),
|
924
937
|
messageType: MessageTypeSchema,
|
925
|
-
message:
|
938
|
+
message: z25.string().optional(),
|
926
939
|
messageAttachments: MessageAttachmentSchema.optional(),
|
927
940
|
user: UserSchema.optional(),
|
928
|
-
packageId:
|
929
|
-
stickerId:
|
941
|
+
packageId: z25.number().optional(),
|
942
|
+
stickerId: z25.number().optional()
|
930
943
|
});
|
931
|
-
var SolveRoomSchema =
|
932
|
-
roomId:
|
944
|
+
var SolveRoomSchema = z25.object({
|
945
|
+
roomId: z25.string()
|
933
946
|
});
|
934
947
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
935
|
-
assigneeId:
|
948
|
+
assigneeId: z25.string().uuid()
|
936
949
|
});
|
937
950
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
938
|
-
query:
|
939
|
-
});
|
940
|
-
var SendMessageToPlatformSchema =
|
941
|
-
room:
|
942
|
-
id:
|
943
|
-
lastMessage:
|
944
|
-
handleTime:
|
945
|
-
isLatest:
|
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(),
|
946
959
|
direction: MessageDirectionTypeSchema,
|
947
|
-
platformContact:
|
948
|
-
channelId:
|
949
|
-
socialPlatformId:
|
960
|
+
platformContact: z25.object({
|
961
|
+
channelId: z25.string().uuid(),
|
962
|
+
socialPlatformId: z25.string().nullable(),
|
950
963
|
type: ChannelTypeSchema,
|
951
964
|
metadata: PlatformContactMetadataSchema,
|
952
|
-
contact:
|
953
|
-
name:
|
954
|
-
address:
|
955
|
-
channel:
|
956
|
-
notes:
|
957
|
-
contactProfile:
|
958
|
-
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()
|
959
972
|
})
|
960
973
|
}),
|
961
|
-
actor:
|
962
|
-
name:
|
963
|
-
email:
|
964
|
-
address:
|
965
|
-
phone:
|
974
|
+
actor: z25.object({
|
975
|
+
name: z25.string(),
|
976
|
+
email: z25.string().email(),
|
977
|
+
address: z25.string().nullable(),
|
978
|
+
phone: z25.string().nullable()
|
966
979
|
}).nullable(),
|
967
|
-
channel:
|
968
|
-
name:
|
980
|
+
channel: z25.object({
|
981
|
+
name: z25.string(),
|
969
982
|
type: ChannelTypeSchema,
|
970
983
|
metadata: ChannelMetadataSchema,
|
971
|
-
brandName:
|
972
|
-
platformId:
|
984
|
+
brandName: z25.string(),
|
985
|
+
platformId: z25.string(),
|
973
986
|
status: ChannelStatusTypeSchema,
|
974
|
-
isReloginRequired:
|
975
|
-
connectedUserName:
|
976
|
-
connectedUserId:
|
987
|
+
isReloginRequired: z25.boolean(),
|
988
|
+
connectedUserName: z25.string().optional().nullable(),
|
989
|
+
connectedUserId: z25.string().optional().nullable()
|
977
990
|
})
|
978
991
|
}),
|
979
|
-
message:
|
980
|
-
message:
|
992
|
+
message: z25.object({
|
993
|
+
message: z25.string().optional(),
|
981
994
|
direction: MessageDirectionTypeSchema,
|
982
995
|
type: MessageTypeSchema,
|
983
|
-
readAt:
|
984
|
-
metadata:
|
985
|
-
platformId:
|
986
|
-
platformMessageId:
|
987
|
-
replyPlatformMessageId:
|
988
|
-
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(),
|
989
1002
|
locale: MessageLocaleTypeSchema.optional(),
|
990
|
-
url:
|
991
|
-
previewUrl:
|
992
|
-
imageSetId:
|
1003
|
+
url: z25.string().optional(),
|
1004
|
+
previewUrl: z25.string().optional(),
|
1005
|
+
imageSetId: z25.string().optional(),
|
993
1006
|
upload: UploadSchema.optional(),
|
994
|
-
sender:
|
995
|
-
name:
|
996
|
-
email:
|
997
|
-
address:
|
998
|
-
phone:
|
1007
|
+
sender: z25.object({
|
1008
|
+
name: z25.string(),
|
1009
|
+
email: z25.string().email(),
|
1010
|
+
address: z25.string().nullable(),
|
1011
|
+
phone: z25.string().nullable()
|
999
1012
|
})
|
1000
1013
|
})
|
1001
1014
|
});
|
1002
1015
|
var SendMessageResponseSchema = DefaultSuccessResponseSchema.extend({
|
1003
1016
|
data: MessageSchema
|
1004
1017
|
});
|
1018
|
+
var ReceiveMessageSchema = z25.object({
|
1019
|
+
message: MessageSchema
|
1020
|
+
});
|
1005
1021
|
|
1006
1022
|
// src/chat/index.ts
|
1007
1023
|
var mainChatContract = initContract6().router(
|
@@ -1011,11 +1027,11 @@ var mainChatContract = initContract6().router(
|
|
1011
1027
|
path: "/rooms",
|
1012
1028
|
responses: {
|
1013
1029
|
200: DefaultSuccessResponseSchema.extend({
|
1014
|
-
total:
|
1015
|
-
page:
|
1016
|
-
pageSize:
|
1017
|
-
data:
|
1018
|
-
unreadCountsByAssignee:
|
1030
|
+
total: z26.number(),
|
1031
|
+
page: z26.number(),
|
1032
|
+
pageSize: z26.number(),
|
1033
|
+
data: z26.array(RoomSchema),
|
1034
|
+
unreadCountsByAssignee: z26.array(UnreadCountsByAssigneeSchema)
|
1019
1035
|
}),
|
1020
1036
|
401: DefaultUnauthorizedSchema
|
1021
1037
|
},
|
@@ -1025,8 +1041,8 @@ var mainChatContract = initContract6().router(
|
|
1025
1041
|
getRoomContact: {
|
1026
1042
|
method: "GET",
|
1027
1043
|
path: "/contact/:contactId",
|
1028
|
-
pathParams:
|
1029
|
-
contactId:
|
1044
|
+
pathParams: z26.object({
|
1045
|
+
contactId: z26.string().uuid()
|
1030
1046
|
}),
|
1031
1047
|
responses: {
|
1032
1048
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1058,31 +1074,40 @@ var mainChatContract = initContract6().router(
|
|
1058
1074
|
},
|
1059
1075
|
summary: "Send message to room"
|
1060
1076
|
},
|
1077
|
+
receiveMessage: {
|
1078
|
+
method: "POST",
|
1079
|
+
path: "/message/receive",
|
1080
|
+
body: ReceiveMessageSchema,
|
1081
|
+
responses: {
|
1082
|
+
200: null
|
1083
|
+
},
|
1084
|
+
summary: "Receive message"
|
1085
|
+
},
|
1061
1086
|
getRoomsByPlatformContactId: {
|
1062
1087
|
method: "GET",
|
1063
1088
|
path: "/rooms/:platformContactId",
|
1064
|
-
pathParams:
|
1065
|
-
platformContactId:
|
1089
|
+
pathParams: z26.object({
|
1090
|
+
platformContactId: z26.string()
|
1066
1091
|
}),
|
1067
1092
|
responses: {
|
1068
1093
|
200: DefaultSuccessResponseSchema.extend({
|
1069
|
-
data:
|
1070
|
-
total:
|
1094
|
+
data: z26.string().uuid().array(),
|
1095
|
+
total: z26.number()
|
1071
1096
|
})
|
1072
1097
|
}
|
1073
1098
|
},
|
1074
1099
|
getMessages: {
|
1075
1100
|
method: "GET",
|
1076
1101
|
path: "/message/:roomId",
|
1077
|
-
pathParams:
|
1078
|
-
roomId:
|
1102
|
+
pathParams: z26.object({
|
1103
|
+
roomId: z26.string().uuid()
|
1079
1104
|
}),
|
1080
1105
|
responses: {
|
1081
1106
|
200: DefaultSuccessResponseSchema.extend({
|
1082
|
-
total:
|
1083
|
-
page:
|
1084
|
-
pageSize:
|
1085
|
-
data:
|
1107
|
+
total: z26.number(),
|
1108
|
+
page: z26.number(),
|
1109
|
+
pageSize: z26.number(),
|
1110
|
+
data: z26.array(MessageSchema)
|
1086
1111
|
})
|
1087
1112
|
},
|
1088
1113
|
query: DefaultQueryParamsSchema,
|
@@ -1095,7 +1120,7 @@ var mainChatContract = initContract6().router(
|
|
1095
1120
|
responses: {
|
1096
1121
|
200: DefaultSuccessResponseSchema.extend({
|
1097
1122
|
data: RoomSchema.extend({
|
1098
|
-
solveMessage:
|
1123
|
+
solveMessage: z26.string()
|
1099
1124
|
})
|
1100
1125
|
}),
|
1101
1126
|
409: DefaultErrorResponseSchema
|
@@ -1116,8 +1141,8 @@ var mainChatContract = initContract6().router(
|
|
1116
1141
|
getRoom: {
|
1117
1142
|
method: "GET",
|
1118
1143
|
path: "/room/:roomId",
|
1119
|
-
pathParams:
|
1120
|
-
roomId:
|
1144
|
+
pathParams: z26.object({
|
1145
|
+
roomId: z26.string().uuid()
|
1121
1146
|
}),
|
1122
1147
|
responses: {
|
1123
1148
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1130,14 +1155,14 @@ var mainChatContract = initContract6().router(
|
|
1130
1155
|
createRoom: {
|
1131
1156
|
method: "POST",
|
1132
1157
|
path: "/room/create/:platformContactId",
|
1133
|
-
pathParams:
|
1134
|
-
platformContactId:
|
1158
|
+
pathParams: z26.object({
|
1159
|
+
platformContactId: z26.string().uuid()
|
1135
1160
|
}),
|
1136
1161
|
responses: {
|
1137
1162
|
200: DefaultSuccessResponseSchema.extend({
|
1138
1163
|
data: RoomSchema.extend({
|
1139
1164
|
contact: ContactSchema,
|
1140
|
-
openMessage:
|
1165
|
+
openMessage: z26.string()
|
1141
1166
|
})
|
1142
1167
|
})
|
1143
1168
|
},
|
@@ -1147,13 +1172,13 @@ var mainChatContract = initContract6().router(
|
|
1147
1172
|
readRoom: {
|
1148
1173
|
method: "POST",
|
1149
1174
|
path: "/room/:roomid/read",
|
1150
|
-
pathParams:
|
1151
|
-
roomId:
|
1175
|
+
pathParams: z26.object({
|
1176
|
+
roomId: z26.string().uuid()
|
1152
1177
|
}),
|
1153
1178
|
responses: {
|
1154
1179
|
200: DefaultSuccessResponseSchema.extend({
|
1155
1180
|
data: RoomSchema.extend({
|
1156
|
-
description:
|
1181
|
+
description: z26.string().nullable()
|
1157
1182
|
})
|
1158
1183
|
})
|
1159
1184
|
},
|
@@ -1165,10 +1190,10 @@ var mainChatContract = initContract6().router(
|
|
1165
1190
|
path: "/search",
|
1166
1191
|
responses: {
|
1167
1192
|
200: DefaultSuccessResponseSchema.extend({
|
1168
|
-
total:
|
1169
|
-
page:
|
1170
|
-
pageSize:
|
1171
|
-
data:
|
1193
|
+
total: z26.number(),
|
1194
|
+
page: z26.number(),
|
1195
|
+
pageSize: z26.number(),
|
1196
|
+
data: z26.array(RoomSchema)
|
1172
1197
|
})
|
1173
1198
|
},
|
1174
1199
|
query: SearchRoomsSchema,
|
@@ -1183,99 +1208,99 @@ var mainChatContract = initContract6().router(
|
|
1183
1208
|
|
1184
1209
|
// src/contact/index.ts
|
1185
1210
|
import { initContract as initContract7 } from "@ts-rest/core";
|
1186
|
-
import
|
1211
|
+
import z28 from "zod";
|
1187
1212
|
|
1188
1213
|
// src/contact/validation.ts
|
1189
|
-
import
|
1190
|
-
var BaseSchema =
|
1191
|
-
isRequired:
|
1192
|
-
attributeId:
|
1214
|
+
import z27 from "zod";
|
1215
|
+
var BaseSchema = z27.object({
|
1216
|
+
isRequired: z27.boolean(),
|
1217
|
+
attributeId: z27.string()
|
1193
1218
|
});
|
1194
1219
|
var SingleValue = {
|
1195
|
-
value:
|
1220
|
+
value: z27.string()
|
1196
1221
|
};
|
1197
1222
|
var ContactContractValidationSchema = {
|
1198
1223
|
create: {
|
1199
|
-
request:
|
1224
|
+
request: z27.object({
|
1200
1225
|
name: BaseSchema.extend(SingleValue),
|
1201
1226
|
email: BaseSchema.extend({
|
1202
|
-
value:
|
1203
|
-
|
1204
|
-
email:
|
1205
|
-
isPrimary:
|
1227
|
+
value: z27.array(
|
1228
|
+
z27.object({
|
1229
|
+
email: z27.string(),
|
1230
|
+
isPrimary: z27.boolean()
|
1206
1231
|
})
|
1207
1232
|
)
|
1208
1233
|
}),
|
1209
1234
|
channel: BaseSchema.extend(SingleValue),
|
1210
1235
|
address: BaseSchema.extend(SingleValue),
|
1211
1236
|
phone: BaseSchema.extend({
|
1212
|
-
value:
|
1213
|
-
|
1214
|
-
phone:
|
1215
|
-
isPrimary:
|
1237
|
+
value: z27.array(
|
1238
|
+
z27.object({
|
1239
|
+
phone: z27.string(),
|
1240
|
+
isPrimary: z27.boolean()
|
1216
1241
|
})
|
1217
1242
|
)
|
1218
1243
|
}).optional(),
|
1219
1244
|
notes: BaseSchema.extend(SingleValue),
|
1220
1245
|
tags: BaseSchema.extend({
|
1221
|
-
value:
|
1246
|
+
value: z27.array(z27.string())
|
1222
1247
|
}),
|
1223
1248
|
company: BaseSchema.extend(SingleValue),
|
1224
|
-
customFields:
|
1249
|
+
customFields: z27.array(
|
1225
1250
|
BaseSchema.extend({
|
1226
|
-
value:
|
1227
|
-
type:
|
1228
|
-
isDefaultAttribute:
|
1251
|
+
value: z27.union([z27.string(), z27.array(z27.string())]),
|
1252
|
+
type: z27.string(),
|
1253
|
+
isDefaultAttribute: z27.boolean()
|
1229
1254
|
})
|
1230
1255
|
)
|
1231
1256
|
}),
|
1232
|
-
response:
|
1257
|
+
response: z27.string()
|
1233
1258
|
},
|
1234
1259
|
getById: {
|
1235
|
-
request:
|
1236
|
-
id:
|
1260
|
+
request: z27.object({
|
1261
|
+
id: z27.string().uuid()
|
1237
1262
|
}),
|
1238
1263
|
response: ContactSchema
|
1239
1264
|
},
|
1240
1265
|
delete: {
|
1241
|
-
request:
|
1242
|
-
id:
|
1266
|
+
request: z27.object({
|
1267
|
+
id: z27.string().uuid()
|
1243
1268
|
}),
|
1244
|
-
response:
|
1269
|
+
response: z27.string()
|
1245
1270
|
},
|
1246
1271
|
getAll: {
|
1247
|
-
request:
|
1248
|
-
page:
|
1249
|
-
pageSize:
|
1250
|
-
keyword:
|
1251
|
-
company:
|
1252
|
-
name:
|
1253
|
-
address:
|
1254
|
-
channel:
|
1255
|
-
selectedDate:
|
1256
|
-
customFields:
|
1257
|
-
|
1258
|
-
attributeId:
|
1259
|
-
type:
|
1260
|
-
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())])
|
1261
1286
|
})
|
1262
1287
|
),
|
1263
|
-
tags:
|
1264
|
-
phone:
|
1265
|
-
email:
|
1266
|
-
notes:
|
1288
|
+
tags: z27.array(z27.string().uuid()),
|
1289
|
+
phone: z27.string(),
|
1290
|
+
email: z27.string(),
|
1291
|
+
notes: z27.string()
|
1267
1292
|
}).partial(),
|
1268
1293
|
response: {
|
1269
|
-
page:
|
1270
|
-
pageSize:
|
1271
|
-
total:
|
1272
|
-
lastPage:
|
1273
|
-
data:
|
1294
|
+
page: z27.number(),
|
1295
|
+
pageSize: z27.number(),
|
1296
|
+
total: z27.number(),
|
1297
|
+
lastPage: z27.number(),
|
1298
|
+
data: z27.array(ContactSchema)
|
1274
1299
|
}
|
1275
1300
|
},
|
1276
1301
|
createContactByPhone: {
|
1277
|
-
request:
|
1278
|
-
phoneNumber:
|
1302
|
+
request: z27.object({
|
1303
|
+
phoneNumber: z27.string().refine(
|
1279
1304
|
(value) => {
|
1280
1305
|
const numericValue = value.replace(/\s/g, "");
|
1281
1306
|
return /^\d+$/.test(numericValue);
|
@@ -1288,8 +1313,8 @@ var ContactContractValidationSchema = {
|
|
1288
1313
|
response: ContactSchema
|
1289
1314
|
},
|
1290
1315
|
updateContactByPhone: {
|
1291
|
-
request:
|
1292
|
-
phoneNumber:
|
1316
|
+
request: z27.object({
|
1317
|
+
phoneNumber: z27.string().refine(
|
1293
1318
|
(value) => {
|
1294
1319
|
const numericValue = value.replace(/\s/g, "");
|
1295
1320
|
return /^\d+$/.test(numericValue);
|
@@ -1302,68 +1327,68 @@ var ContactContractValidationSchema = {
|
|
1302
1327
|
response: ContactSchema
|
1303
1328
|
},
|
1304
1329
|
updateFromOngoingCall: {
|
1305
|
-
request:
|
1306
|
-
name:
|
1307
|
-
companyId:
|
1330
|
+
request: z27.object({
|
1331
|
+
name: z27.string(),
|
1332
|
+
companyId: z27.string().uuid()
|
1308
1333
|
}).partial(),
|
1309
1334
|
response: ContactSchema
|
1310
1335
|
},
|
1311
1336
|
merge: {
|
1312
|
-
request:
|
1313
|
-
primaryContactId:
|
1314
|
-
emails:
|
1315
|
-
|
1316
|
-
email:
|
1317
|
-
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()
|
1318
1343
|
})
|
1319
1344
|
),
|
1320
|
-
phones:
|
1321
|
-
|
1322
|
-
phone:
|
1323
|
-
isPrimary:
|
1345
|
+
phones: z27.array(
|
1346
|
+
z27.object({
|
1347
|
+
phone: z27.string(),
|
1348
|
+
isPrimary: z27.boolean()
|
1324
1349
|
})
|
1325
1350
|
),
|
1326
|
-
otherContacts:
|
1351
|
+
otherContacts: z27.array(z27.string().uuid())
|
1327
1352
|
}),
|
1328
1353
|
response: ContactSchema
|
1329
1354
|
},
|
1330
1355
|
checkContactPhone: {
|
1331
|
-
request:
|
1332
|
-
contactId:
|
1333
|
-
phoneNumber:
|
1356
|
+
request: z27.object({
|
1357
|
+
contactId: z27.string().uuid().optional(),
|
1358
|
+
phoneNumber: z27.string()
|
1334
1359
|
}),
|
1335
|
-
response:
|
1360
|
+
response: z27.boolean()
|
1336
1361
|
},
|
1337
1362
|
checkContactEmail: {
|
1338
|
-
request:
|
1339
|
-
contactId:
|
1340
|
-
email:
|
1363
|
+
request: z27.object({
|
1364
|
+
contactId: z27.string().uuid().optional(),
|
1365
|
+
email: z27.string()
|
1341
1366
|
}),
|
1342
|
-
response:
|
1367
|
+
response: z27.boolean()
|
1343
1368
|
},
|
1344
1369
|
filterContacts: {
|
1345
|
-
request:
|
1346
|
-
page:
|
1347
|
-
pageSize:
|
1348
|
-
keyword:
|
1370
|
+
request: z27.object({
|
1371
|
+
page: z27.coerce.number().default(1),
|
1372
|
+
pageSize: z27.coerce.number().default(10),
|
1373
|
+
keyword: z27.string()
|
1349
1374
|
}).partial(),
|
1350
1375
|
response: {
|
1351
|
-
page:
|
1352
|
-
pageSize:
|
1353
|
-
total:
|
1354
|
-
lastPage:
|
1355
|
-
data:
|
1376
|
+
page: z27.number(),
|
1377
|
+
pageSize: z27.number(),
|
1378
|
+
total: z27.number(),
|
1379
|
+
lastPage: z27.number(),
|
1380
|
+
data: z27.array(ContactSchema)
|
1356
1381
|
}
|
1357
1382
|
},
|
1358
1383
|
addAttachments: {
|
1359
|
-
request:
|
1360
|
-
attributeId:
|
1361
|
-
attachments:
|
1362
|
-
|
1363
|
-
bucketName:
|
1364
|
-
fileKey:
|
1365
|
-
fileName:
|
1366
|
-
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()
|
1367
1392
|
})
|
1368
1393
|
).optional()
|
1369
1394
|
}),
|
@@ -1381,14 +1406,14 @@ var contactContract = initContract7().router(
|
|
1381
1406
|
201: DefaultSuccessResponseSchema.extend({
|
1382
1407
|
message: ContactContractValidationSchema.create.response
|
1383
1408
|
}),
|
1384
|
-
400:
|
1385
|
-
message:
|
1409
|
+
400: z28.object({
|
1410
|
+
message: z28.string()
|
1386
1411
|
}),
|
1387
|
-
409:
|
1388
|
-
message:
|
1412
|
+
409: z28.object({
|
1413
|
+
message: z28.string()
|
1389
1414
|
}),
|
1390
|
-
500:
|
1391
|
-
message:
|
1415
|
+
500: z28.object({
|
1416
|
+
message: z28.string()
|
1392
1417
|
}),
|
1393
1418
|
401: DefaultUnauthorizedSchema,
|
1394
1419
|
404: DefaultNotFoundSchema,
|
@@ -1405,14 +1430,14 @@ var contactContract = initContract7().router(
|
|
1405
1430
|
200: DefaultSuccessResponseSchema.extend({
|
1406
1431
|
data: ContactContractValidationSchema.getById.response
|
1407
1432
|
}),
|
1408
|
-
400:
|
1409
|
-
message:
|
1433
|
+
400: z28.object({
|
1434
|
+
message: z28.string()
|
1410
1435
|
}),
|
1411
|
-
409:
|
1412
|
-
message:
|
1436
|
+
409: z28.object({
|
1437
|
+
message: z28.string()
|
1413
1438
|
}),
|
1414
|
-
500:
|
1415
|
-
message:
|
1439
|
+
500: z28.object({
|
1440
|
+
message: z28.string()
|
1416
1441
|
}),
|
1417
1442
|
401: DefaultUnauthorizedSchema,
|
1418
1443
|
404: DefaultNotFoundSchema,
|
@@ -1428,14 +1453,14 @@ var contactContract = initContract7().router(
|
|
1428
1453
|
200: DefaultSuccessResponseSchema.extend(
|
1429
1454
|
ContactContractValidationSchema.getAll.response
|
1430
1455
|
),
|
1431
|
-
400:
|
1432
|
-
message:
|
1456
|
+
400: z28.object({
|
1457
|
+
message: z28.string()
|
1433
1458
|
}),
|
1434
|
-
409:
|
1435
|
-
message:
|
1459
|
+
409: z28.object({
|
1460
|
+
message: z28.string()
|
1436
1461
|
}),
|
1437
|
-
500:
|
1438
|
-
message:
|
1462
|
+
500: z28.object({
|
1463
|
+
message: z28.string()
|
1439
1464
|
}),
|
1440
1465
|
401: DefaultUnauthorizedSchema,
|
1441
1466
|
404: DefaultNotFoundSchema,
|
@@ -1451,14 +1476,14 @@ var contactContract = initContract7().router(
|
|
1451
1476
|
200: DefaultSuccessResponseSchema.extend(
|
1452
1477
|
ContactContractValidationSchema.filterContacts.response
|
1453
1478
|
),
|
1454
|
-
400:
|
1455
|
-
message:
|
1479
|
+
400: z28.object({
|
1480
|
+
message: z28.string()
|
1456
1481
|
}),
|
1457
|
-
409:
|
1458
|
-
message:
|
1482
|
+
409: z28.object({
|
1483
|
+
message: z28.string()
|
1459
1484
|
}),
|
1460
|
-
500:
|
1461
|
-
message:
|
1485
|
+
500: z28.object({
|
1486
|
+
message: z28.string()
|
1462
1487
|
}),
|
1463
1488
|
401: DefaultUnauthorizedSchema,
|
1464
1489
|
404: DefaultNotFoundSchema,
|
@@ -1474,14 +1499,14 @@ var contactContract = initContract7().router(
|
|
1474
1499
|
200: DefaultSuccessResponseSchema.extend({
|
1475
1500
|
data: ContactContractValidationSchema.getById.response
|
1476
1501
|
}),
|
1477
|
-
400:
|
1478
|
-
message:
|
1502
|
+
400: z28.object({
|
1503
|
+
message: z28.string()
|
1479
1504
|
}),
|
1480
|
-
409:
|
1481
|
-
message:
|
1505
|
+
409: z28.object({
|
1506
|
+
message: z28.string()
|
1482
1507
|
}),
|
1483
|
-
500:
|
1484
|
-
message:
|
1508
|
+
500: z28.object({
|
1509
|
+
message: z28.string()
|
1485
1510
|
}),
|
1486
1511
|
401: DefaultUnauthorizedSchema,
|
1487
1512
|
404: DefaultNotFoundSchema,
|
@@ -1498,14 +1523,14 @@ var contactContract = initContract7().router(
|
|
1498
1523
|
200: DefaultSuccessResponseSchema.extend({
|
1499
1524
|
message: ContactContractValidationSchema.delete.response
|
1500
1525
|
}),
|
1501
|
-
400:
|
1502
|
-
message:
|
1526
|
+
400: z28.object({
|
1527
|
+
message: z28.string()
|
1503
1528
|
}),
|
1504
|
-
409:
|
1505
|
-
message:
|
1529
|
+
409: z28.object({
|
1530
|
+
message: z28.string()
|
1506
1531
|
}),
|
1507
|
-
500:
|
1508
|
-
message:
|
1532
|
+
500: z28.object({
|
1533
|
+
message: z28.string()
|
1509
1534
|
}),
|
1510
1535
|
401: DefaultUnauthorizedSchema,
|
1511
1536
|
404: DefaultNotFoundSchema,
|
@@ -1521,14 +1546,14 @@ var contactContract = initContract7().router(
|
|
1521
1546
|
201: DefaultSuccessResponseSchema.extend({
|
1522
1547
|
data: ContactContractValidationSchema.createContactByPhone.response
|
1523
1548
|
}),
|
1524
|
-
400:
|
1525
|
-
message:
|
1549
|
+
400: z28.object({
|
1550
|
+
message: z28.string()
|
1526
1551
|
}),
|
1527
|
-
409:
|
1528
|
-
message:
|
1552
|
+
409: z28.object({
|
1553
|
+
message: z28.string()
|
1529
1554
|
}),
|
1530
|
-
500:
|
1531
|
-
message:
|
1555
|
+
500: z28.object({
|
1556
|
+
message: z28.string()
|
1532
1557
|
}),
|
1533
1558
|
401: DefaultUnauthorizedSchema,
|
1534
1559
|
404: DefaultNotFoundSchema,
|
@@ -1544,14 +1569,14 @@ var contactContract = initContract7().router(
|
|
1544
1569
|
201: DefaultSuccessResponseSchema.extend({
|
1545
1570
|
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1546
1571
|
}),
|
1547
|
-
400:
|
1548
|
-
message:
|
1572
|
+
400: z28.object({
|
1573
|
+
message: z28.string()
|
1549
1574
|
}),
|
1550
|
-
409:
|
1551
|
-
message:
|
1575
|
+
409: z28.object({
|
1576
|
+
message: z28.string()
|
1552
1577
|
}),
|
1553
|
-
500:
|
1554
|
-
message:
|
1578
|
+
500: z28.object({
|
1579
|
+
message: z28.string()
|
1555
1580
|
}),
|
1556
1581
|
401: DefaultUnauthorizedSchema,
|
1557
1582
|
404: DefaultNotFoundSchema,
|
@@ -1567,14 +1592,14 @@ var contactContract = initContract7().router(
|
|
1567
1592
|
200: DefaultSuccessResponseSchema.extend({
|
1568
1593
|
data: ContactContractValidationSchema.merge.response
|
1569
1594
|
}),
|
1570
|
-
400:
|
1571
|
-
message:
|
1595
|
+
400: z28.object({
|
1596
|
+
message: z28.string()
|
1572
1597
|
}),
|
1573
|
-
409:
|
1574
|
-
message:
|
1598
|
+
409: z28.object({
|
1599
|
+
message: z28.string()
|
1575
1600
|
}),
|
1576
|
-
500:
|
1577
|
-
message:
|
1601
|
+
500: z28.object({
|
1602
|
+
message: z28.string()
|
1578
1603
|
}),
|
1579
1604
|
401: DefaultUnauthorizedSchema,
|
1580
1605
|
404: DefaultNotFoundSchema,
|
@@ -1590,14 +1615,14 @@ var contactContract = initContract7().router(
|
|
1590
1615
|
200: DefaultSuccessResponseSchema.extend({
|
1591
1616
|
existed: ContactContractValidationSchema.checkContactPhone.response
|
1592
1617
|
}),
|
1593
|
-
400:
|
1594
|
-
message:
|
1618
|
+
400: z28.object({
|
1619
|
+
message: z28.string()
|
1595
1620
|
}),
|
1596
|
-
409:
|
1597
|
-
message:
|
1621
|
+
409: z28.object({
|
1622
|
+
message: z28.string()
|
1598
1623
|
}),
|
1599
|
-
500:
|
1600
|
-
message:
|
1624
|
+
500: z28.object({
|
1625
|
+
message: z28.string()
|
1601
1626
|
}),
|
1602
1627
|
401: DefaultUnauthorizedSchema,
|
1603
1628
|
404: DefaultNotFoundSchema,
|
@@ -1613,14 +1638,14 @@ var contactContract = initContract7().router(
|
|
1613
1638
|
200: DefaultSuccessResponseSchema.extend({
|
1614
1639
|
existed: ContactContractValidationSchema.checkContactEmail.response
|
1615
1640
|
}),
|
1616
|
-
400:
|
1617
|
-
message:
|
1641
|
+
400: z28.object({
|
1642
|
+
message: z28.string()
|
1618
1643
|
}),
|
1619
|
-
409:
|
1620
|
-
message:
|
1644
|
+
409: z28.object({
|
1645
|
+
message: z28.string()
|
1621
1646
|
}),
|
1622
|
-
500:
|
1623
|
-
message:
|
1647
|
+
500: z28.object({
|
1648
|
+
message: z28.string()
|
1624
1649
|
}),
|
1625
1650
|
401: DefaultUnauthorizedSchema,
|
1626
1651
|
404: DefaultNotFoundSchema,
|
@@ -1632,21 +1657,21 @@ var contactContract = initContract7().router(
|
|
1632
1657
|
addAttachments: {
|
1633
1658
|
method: "POST",
|
1634
1659
|
path: "/:id/attachments",
|
1635
|
-
pathParams:
|
1636
|
-
id:
|
1660
|
+
pathParams: z28.object({
|
1661
|
+
id: z28.string().uuid()
|
1637
1662
|
}),
|
1638
1663
|
responses: {
|
1639
1664
|
201: DefaultSuccessResponseSchema.extend({
|
1640
1665
|
message: ContactContractValidationSchema.addAttachments.response
|
1641
1666
|
}),
|
1642
|
-
400:
|
1643
|
-
message:
|
1667
|
+
400: z28.object({
|
1668
|
+
message: z28.string()
|
1644
1669
|
}),
|
1645
|
-
409:
|
1646
|
-
message:
|
1670
|
+
409: z28.object({
|
1671
|
+
message: z28.string()
|
1647
1672
|
}),
|
1648
|
-
500:
|
1649
|
-
message:
|
1673
|
+
500: z28.object({
|
1674
|
+
message: z28.string()
|
1650
1675
|
}),
|
1651
1676
|
401: DefaultUnauthorizedSchema,
|
1652
1677
|
404: DefaultNotFoundSchema,
|
@@ -1664,142 +1689,143 @@ var contactContract = initContract7().router(
|
|
1664
1689
|
|
1665
1690
|
// src/ticket/index.ts
|
1666
1691
|
import { initContract as initContract8 } from "@ts-rest/core";
|
1667
|
-
import
|
1692
|
+
import z31 from "zod";
|
1668
1693
|
|
1669
1694
|
// src/ticket/schema.ts
|
1670
|
-
import
|
1695
|
+
import z29 from "zod";
|
1671
1696
|
var TicketCustomFieldSchema = DefaultEntitySchema.extend({
|
1672
|
-
textValue:
|
1673
|
-
booleanValue:
|
1674
|
-
numberValue:
|
1675
|
-
dateValue:
|
1697
|
+
textValue: z29.string().nullable(),
|
1698
|
+
booleanValue: z29.boolean().nullable(),
|
1699
|
+
numberValue: z29.coerce.number().nullable(),
|
1700
|
+
dateValue: z29.date().nullable(),
|
1676
1701
|
attribute: AttributeSchema.omit({ options: true, group: true }),
|
1677
|
-
uploads:
|
1678
|
-
|
1679
|
-
id:
|
1680
|
-
createdAt:
|
1681
|
-
updatedAt:
|
1682
|
-
deletedAt:
|
1683
|
-
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(),
|
1684
1709
|
upload: UploadSchema
|
1685
1710
|
})
|
1686
1711
|
)
|
1687
1712
|
});
|
1688
|
-
var TicketEntityTypesSchema =
|
1689
|
-
id:
|
1690
|
-
createdAt:
|
1691
|
-
updatedAt:
|
1692
|
-
deletedAt:
|
1693
|
-
entity:
|
1694
|
-
description:
|
1695
|
-
});
|
1696
|
-
var TicketActivitySchema =
|
1697
|
-
id:
|
1698
|
-
createdAt:
|
1699
|
-
updatedAt:
|
1700
|
-
deletedAt:
|
1701
|
-
entityId:
|
1702
|
-
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(),
|
1703
1728
|
entityType: TicketEntityTypesSchema
|
1704
1729
|
});
|
1705
1730
|
var TicketSchema = DefaultEntitySchema.extend({
|
1706
|
-
title:
|
1707
|
-
description:
|
1708
|
-
type:
|
1709
|
-
channel:
|
1710
|
-
priority:
|
1711
|
-
status:
|
1712
|
-
contactId:
|
1713
|
-
creatorId:
|
1714
|
-
assigneeId:
|
1715
|
-
reasonToAssign:
|
1716
|
-
ticketNumber:
|
1717
|
-
customFields:
|
1718
|
-
});
|
1719
|
-
var TicketCountByContactSchema =
|
1720
|
-
total:
|
1721
|
-
open:
|
1722
|
-
pending:
|
1723
|
-
closed:
|
1724
|
-
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()
|
1725
1750
|
});
|
1726
1751
|
|
1727
1752
|
// src/ticket/validation.ts
|
1728
|
-
import
|
1729
|
-
var BaseSchema2 =
|
1730
|
-
isRequired:
|
1731
|
-
attributeId:
|
1753
|
+
import z30 from "zod";
|
1754
|
+
var BaseSchema2 = z30.object({
|
1755
|
+
isRequired: z30.boolean(),
|
1756
|
+
attributeId: z30.string()
|
1732
1757
|
});
|
1733
1758
|
var SingleValue2 = {
|
1734
|
-
value:
|
1759
|
+
value: z30.string()
|
1735
1760
|
};
|
1736
|
-
var CreateTicketValidationSchema =
|
1761
|
+
var CreateTicketValidationSchema = z30.object({
|
1737
1762
|
title: BaseSchema2.extend(SingleValue2),
|
1738
1763
|
description: BaseSchema2.extend(SingleValue2),
|
1739
1764
|
status: BaseSchema2.extend(SingleValue2),
|
1740
1765
|
type: BaseSchema2.extend(SingleValue2),
|
1741
1766
|
priority: BaseSchema2.extend(SingleValue2),
|
1742
1767
|
contact: BaseSchema2.extend(SingleValue2),
|
1743
|
-
assignee:
|
1768
|
+
assignee: z30.object({
|
1769
|
+
isRequired: z30.boolean(),
|
1770
|
+
attributeId: z30.string().optional(),
|
1771
|
+
value: z30.string().optional()
|
1772
|
+
}),
|
1744
1773
|
channel: BaseSchema2.extend(SingleValue2),
|
1745
|
-
tags: BaseSchema2.extend({ value:
|
1746
|
-
categories: BaseSchema2.extend({ value:
|
1747
|
-
customFields:
|
1774
|
+
tags: BaseSchema2.extend({ value: z30.array(z30.string()) }),
|
1775
|
+
categories: BaseSchema2.extend({ value: z30.array(z30.string()) }),
|
1776
|
+
customFields: z30.array(
|
1748
1777
|
BaseSchema2.extend({
|
1749
|
-
value:
|
1750
|
-
|
1751
|
-
|
1778
|
+
value: z30.union([z30.string(), z30.array(z30.string())]),
|
1779
|
+
// value: z.string(),
|
1780
|
+
type: z30.string(),
|
1781
|
+
isDefaultAttribute: z30.boolean()
|
1752
1782
|
})
|
1753
1783
|
),
|
1754
|
-
reasonToAssign:
|
1784
|
+
reasonToAssign: z30.object({ value: z30.string() }).optional()
|
1755
1785
|
});
|
1756
|
-
var UpdateTicketValidationSchema = CreateTicketValidationSchema
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
)
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
});
|
1773
|
-
var
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
z29.object({
|
1800
|
-
attributeId: z29.string().uuid(),
|
1801
|
-
type: z29.string(),
|
1802
|
-
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())])
|
1803
1829
|
})
|
1804
1830
|
).optional()
|
1805
1831
|
});
|
@@ -1815,14 +1841,14 @@ var ticketContract = initContract8().router(
|
|
1815
1841
|
201: DefaultSuccessResponseSchema.extend({
|
1816
1842
|
message: TicketSchema
|
1817
1843
|
}),
|
1818
|
-
400:
|
1819
|
-
message:
|
1844
|
+
400: z31.object({
|
1845
|
+
message: z31.string()
|
1820
1846
|
}),
|
1821
|
-
409:
|
1822
|
-
message:
|
1847
|
+
409: z31.object({
|
1848
|
+
message: z31.string()
|
1823
1849
|
}),
|
1824
|
-
500:
|
1825
|
-
message:
|
1850
|
+
500: z31.object({
|
1851
|
+
message: z31.string()
|
1826
1852
|
}),
|
1827
1853
|
401: DefaultUnauthorizedSchema,
|
1828
1854
|
404: DefaultNotFoundSchema,
|
@@ -1841,8 +1867,8 @@ var ticketContract = initContract8().router(
|
|
1841
1867
|
// The response data should contain the user relation.
|
1842
1868
|
TicketSchema
|
1843
1869
|
),
|
1844
|
-
400:
|
1845
|
-
message:
|
1870
|
+
400: z31.object({
|
1871
|
+
message: z31.string()
|
1846
1872
|
}),
|
1847
1873
|
401: DefaultUnauthorizedSchema,
|
1848
1874
|
500: DefaultErrorResponseSchema
|
@@ -1852,12 +1878,12 @@ var ticketContract = initContract8().router(
|
|
1852
1878
|
getTicketById: {
|
1853
1879
|
method: "GET",
|
1854
1880
|
path: "/:id",
|
1855
|
-
pathParams:
|
1881
|
+
pathParams: z31.object({ id: z31.string() }),
|
1856
1882
|
headers: DefaultHeaderSchema,
|
1857
1883
|
responses: {
|
1858
1884
|
200: TicketSchema,
|
1859
|
-
400:
|
1860
|
-
message:
|
1885
|
+
400: z31.object({
|
1886
|
+
message: z31.string()
|
1861
1887
|
}),
|
1862
1888
|
401: DefaultUnauthorizedSchema,
|
1863
1889
|
500: DefaultErrorResponseSchema
|
@@ -1867,13 +1893,13 @@ var ticketContract = initContract8().router(
|
|
1867
1893
|
getTicketByContactId: {
|
1868
1894
|
method: "GET",
|
1869
1895
|
path: "/contact/:id",
|
1870
|
-
pathParams:
|
1896
|
+
pathParams: z31.object({ id: z31.string() }),
|
1871
1897
|
query: TicketParamsSchema,
|
1872
1898
|
headers: DefaultHeaderSchema,
|
1873
1899
|
responses: {
|
1874
1900
|
200: WithPagination(TicketSchema),
|
1875
|
-
400:
|
1876
|
-
message:
|
1901
|
+
400: z31.object({
|
1902
|
+
message: z31.string()
|
1877
1903
|
}),
|
1878
1904
|
401: DefaultUnauthorizedSchema,
|
1879
1905
|
500: DefaultErrorResponseSchema
|
@@ -1883,21 +1909,21 @@ var ticketContract = initContract8().router(
|
|
1883
1909
|
updateTicket: {
|
1884
1910
|
method: "PATCH",
|
1885
1911
|
path: "/:id",
|
1886
|
-
pathParams:
|
1912
|
+
pathParams: z31.object({ id: z31.string() }),
|
1887
1913
|
body: UpdateTicketValidationSchema,
|
1888
1914
|
headers: DefaultHeaderSchema,
|
1889
1915
|
responses: {
|
1890
1916
|
201: DefaultSuccessResponseSchema.extend({
|
1891
1917
|
message: TicketSchema
|
1892
1918
|
}),
|
1893
|
-
400:
|
1894
|
-
message:
|
1919
|
+
400: z31.object({
|
1920
|
+
message: z31.string()
|
1895
1921
|
}),
|
1896
|
-
409:
|
1897
|
-
message:
|
1922
|
+
409: z31.object({
|
1923
|
+
message: z31.string()
|
1898
1924
|
}),
|
1899
|
-
500:
|
1900
|
-
message:
|
1925
|
+
500: z31.object({
|
1926
|
+
message: z31.string()
|
1901
1927
|
}),
|
1902
1928
|
401: DefaultUnauthorizedSchema,
|
1903
1929
|
404: DefaultNotFoundSchema,
|
@@ -1908,11 +1934,11 @@ var ticketContract = initContract8().router(
|
|
1908
1934
|
deleteTicket: {
|
1909
1935
|
method: "DELETE",
|
1910
1936
|
path: "/:id",
|
1911
|
-
pathParams:
|
1937
|
+
pathParams: z31.object({ id: z31.string() }),
|
1912
1938
|
headers: DefaultHeaderSchema,
|
1913
1939
|
body: null,
|
1914
1940
|
responses: {
|
1915
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1941
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1916
1942
|
500: DefaultErrorResponseSchema
|
1917
1943
|
},
|
1918
1944
|
summary: "Delete a extension."
|
@@ -1920,19 +1946,19 @@ var ticketContract = initContract8().router(
|
|
1920
1946
|
updateDescription: {
|
1921
1947
|
method: "PATCH",
|
1922
1948
|
path: "/description/update/:id",
|
1923
|
-
pathParams:
|
1924
|
-
body:
|
1949
|
+
pathParams: z31.object({ id: z31.string() }),
|
1950
|
+
body: z31.object({ description: z31.string() }),
|
1925
1951
|
headers: DefaultHeaderSchema,
|
1926
1952
|
responses: {
|
1927
|
-
201: DefaultSuccessResponseSchema.extend({ message:
|
1928
|
-
400:
|
1929
|
-
message:
|
1953
|
+
201: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1954
|
+
400: z31.object({
|
1955
|
+
message: z31.string()
|
1930
1956
|
}),
|
1931
|
-
409:
|
1932
|
-
message:
|
1957
|
+
409: z31.object({
|
1958
|
+
message: z31.string()
|
1933
1959
|
}),
|
1934
|
-
500:
|
1935
|
-
message:
|
1960
|
+
500: z31.object({
|
1961
|
+
message: z31.string()
|
1936
1962
|
}),
|
1937
1963
|
401: DefaultUnauthorizedSchema,
|
1938
1964
|
404: DefaultNotFoundSchema,
|
@@ -1943,19 +1969,19 @@ var ticketContract = initContract8().router(
|
|
1943
1969
|
updateTitle: {
|
1944
1970
|
method: "PATCH",
|
1945
1971
|
path: "/title/update/:id",
|
1946
|
-
pathParams:
|
1947
|
-
body:
|
1972
|
+
pathParams: z31.object({ id: z31.string() }),
|
1973
|
+
body: z31.object({ title: z31.string() }),
|
1948
1974
|
headers: DefaultHeaderSchema,
|
1949
1975
|
responses: {
|
1950
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1951
|
-
400:
|
1952
|
-
message:
|
1976
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
1977
|
+
400: z31.object({
|
1978
|
+
message: z31.string()
|
1953
1979
|
}),
|
1954
|
-
409:
|
1955
|
-
message:
|
1980
|
+
409: z31.object({
|
1981
|
+
message: z31.string()
|
1956
1982
|
}),
|
1957
|
-
500:
|
1958
|
-
message:
|
1983
|
+
500: z31.object({
|
1984
|
+
message: z31.string()
|
1959
1985
|
}),
|
1960
1986
|
401: DefaultUnauthorizedSchema,
|
1961
1987
|
404: DefaultNotFoundSchema,
|
@@ -1966,19 +1992,19 @@ var ticketContract = initContract8().router(
|
|
1966
1992
|
updateType: {
|
1967
1993
|
method: "PATCH",
|
1968
1994
|
path: "/type/update/:id",
|
1969
|
-
pathParams:
|
1970
|
-
body:
|
1995
|
+
pathParams: z31.object({ id: z31.string() }),
|
1996
|
+
body: z31.object({ type: z31.string() }),
|
1971
1997
|
headers: DefaultHeaderSchema,
|
1972
1998
|
responses: {
|
1973
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1974
|
-
400:
|
1975
|
-
message:
|
1999
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2000
|
+
400: z31.object({
|
2001
|
+
message: z31.string()
|
1976
2002
|
}),
|
1977
|
-
409:
|
1978
|
-
message:
|
2003
|
+
409: z31.object({
|
2004
|
+
message: z31.string()
|
1979
2005
|
}),
|
1980
|
-
500:
|
1981
|
-
message:
|
2006
|
+
500: z31.object({
|
2007
|
+
message: z31.string()
|
1982
2008
|
}),
|
1983
2009
|
401: DefaultUnauthorizedSchema,
|
1984
2010
|
404: DefaultNotFoundSchema,
|
@@ -1989,19 +2015,19 @@ var ticketContract = initContract8().router(
|
|
1989
2015
|
updateStatus: {
|
1990
2016
|
method: "PATCH",
|
1991
2017
|
path: "/status/update/:id",
|
1992
|
-
pathParams:
|
1993
|
-
body:
|
2018
|
+
pathParams: z31.object({ id: z31.string() }),
|
2019
|
+
body: z31.object({ status: z31.string() }),
|
1994
2020
|
headers: DefaultHeaderSchema,
|
1995
2021
|
responses: {
|
1996
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1997
|
-
400:
|
1998
|
-
message:
|
2022
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2023
|
+
400: z31.object({
|
2024
|
+
message: z31.string()
|
1999
2025
|
}),
|
2000
|
-
409:
|
2001
|
-
message:
|
2026
|
+
409: z31.object({
|
2027
|
+
message: z31.string()
|
2002
2028
|
}),
|
2003
|
-
500:
|
2004
|
-
message:
|
2029
|
+
500: z31.object({
|
2030
|
+
message: z31.string()
|
2005
2031
|
}),
|
2006
2032
|
401: DefaultUnauthorizedSchema,
|
2007
2033
|
404: DefaultNotFoundSchema,
|
@@ -2012,19 +2038,19 @@ var ticketContract = initContract8().router(
|
|
2012
2038
|
updatePriority: {
|
2013
2039
|
method: "PATCH",
|
2014
2040
|
path: "/priority/update/:id",
|
2015
|
-
pathParams:
|
2016
|
-
body:
|
2041
|
+
pathParams: z31.object({ id: z31.string() }),
|
2042
|
+
body: z31.object({ priority: z31.string() }),
|
2017
2043
|
headers: DefaultHeaderSchema,
|
2018
2044
|
responses: {
|
2019
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2020
|
-
400:
|
2021
|
-
message:
|
2045
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2046
|
+
400: z31.object({
|
2047
|
+
message: z31.string()
|
2022
2048
|
}),
|
2023
|
-
409:
|
2024
|
-
message:
|
2049
|
+
409: z31.object({
|
2050
|
+
message: z31.string()
|
2025
2051
|
}),
|
2026
|
-
500:
|
2027
|
-
message:
|
2052
|
+
500: z31.object({
|
2053
|
+
message: z31.string()
|
2028
2054
|
}),
|
2029
2055
|
401: DefaultUnauthorizedSchema,
|
2030
2056
|
404: DefaultNotFoundSchema,
|
@@ -2035,19 +2061,19 @@ var ticketContract = initContract8().router(
|
|
2035
2061
|
updateChannel: {
|
2036
2062
|
method: "PATCH",
|
2037
2063
|
path: "/channel/update/:id",
|
2038
|
-
pathParams:
|
2039
|
-
body:
|
2064
|
+
pathParams: z31.object({ id: z31.string() }),
|
2065
|
+
body: z31.object({ channel: z31.string() }),
|
2040
2066
|
headers: DefaultHeaderSchema,
|
2041
2067
|
responses: {
|
2042
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2043
|
-
400:
|
2044
|
-
message:
|
2068
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2069
|
+
400: z31.object({
|
2070
|
+
message: z31.string()
|
2045
2071
|
}),
|
2046
|
-
409:
|
2047
|
-
message:
|
2072
|
+
409: z31.object({
|
2073
|
+
message: z31.string()
|
2048
2074
|
}),
|
2049
|
-
500:
|
2050
|
-
message:
|
2075
|
+
500: z31.object({
|
2076
|
+
message: z31.string()
|
2051
2077
|
}),
|
2052
2078
|
401: DefaultUnauthorizedSchema,
|
2053
2079
|
404: DefaultNotFoundSchema,
|
@@ -2058,19 +2084,19 @@ var ticketContract = initContract8().router(
|
|
2058
2084
|
updateTags: {
|
2059
2085
|
method: "PATCH",
|
2060
2086
|
path: "/tags/update/:id",
|
2061
|
-
pathParams:
|
2062
|
-
body:
|
2087
|
+
pathParams: z31.object({ id: z31.string() }),
|
2088
|
+
body: z31.object({ tags: z31.array(z31.string()) }),
|
2063
2089
|
headers: DefaultHeaderSchema,
|
2064
2090
|
responses: {
|
2065
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2066
|
-
400:
|
2067
|
-
message:
|
2091
|
+
200: DefaultSuccessResponseSchema.extend({ message: z31.string() }),
|
2092
|
+
400: z31.object({
|
2093
|
+
message: z31.string()
|
2068
2094
|
}),
|
2069
|
-
409:
|
2070
|
-
message:
|
2095
|
+
409: z31.object({
|
2096
|
+
message: z31.string()
|
2071
2097
|
}),
|
2072
|
-
500:
|
2073
|
-
message:
|
2098
|
+
500: z31.object({
|
2099
|
+
message: z31.string()
|
2074
2100
|
}),
|
2075
2101
|
401: DefaultUnauthorizedSchema,
|
2076
2102
|
404: DefaultNotFoundSchema,
|
@@ -2081,19 +2107,19 @@ var ticketContract = initContract8().router(
|
|
2081
2107
|
changeAssignee: {
|
2082
2108
|
method: "PATCH",
|
2083
2109
|
path: "/assignee/update/:id",
|
2084
|
-
pathParams:
|
2085
|
-
body:
|
2110
|
+
pathParams: z31.object({ id: z31.string() }),
|
2111
|
+
body: z31.object({ ticketId: z31.string(), assigneeId: z31.string() }),
|
2086
2112
|
headers: DefaultHeaderSchema,
|
2087
2113
|
responses: {
|
2088
2114
|
200: TicketSchema,
|
2089
|
-
400:
|
2090
|
-
message:
|
2115
|
+
400: z31.object({
|
2116
|
+
message: z31.string()
|
2091
2117
|
}),
|
2092
|
-
409:
|
2093
|
-
message:
|
2118
|
+
409: z31.object({
|
2119
|
+
message: z31.string()
|
2094
2120
|
}),
|
2095
|
-
500:
|
2096
|
-
message:
|
2121
|
+
500: z31.object({
|
2122
|
+
message: z31.string()
|
2097
2123
|
}),
|
2098
2124
|
401: DefaultUnauthorizedSchema,
|
2099
2125
|
404: DefaultNotFoundSchema,
|
@@ -2104,12 +2130,12 @@ var ticketContract = initContract8().router(
|
|
2104
2130
|
getTicketCountByContact: {
|
2105
2131
|
method: "GET",
|
2106
2132
|
path: "/ticket_count/contact/:id",
|
2107
|
-
pathParams:
|
2133
|
+
pathParams: z31.object({ id: z31.string() }),
|
2108
2134
|
headers: DefaultHeaderSchema,
|
2109
2135
|
responses: {
|
2110
2136
|
200: TicketCountByContactSchema,
|
2111
|
-
400:
|
2112
|
-
message:
|
2137
|
+
400: z31.object({
|
2138
|
+
message: z31.string()
|
2113
2139
|
}),
|
2114
2140
|
401: DefaultUnauthorizedSchema,
|
2115
2141
|
500: DefaultErrorResponseSchema
|
@@ -2119,16 +2145,16 @@ var ticketContract = initContract8().router(
|
|
2119
2145
|
getTicketByContact: {
|
2120
2146
|
method: "GET",
|
2121
2147
|
path: "/contact/:id",
|
2122
|
-
pathParams:
|
2123
|
-
query:
|
2124
|
-
page:
|
2125
|
-
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)
|
2126
2152
|
}).optional(),
|
2127
2153
|
headers: DefaultHeaderSchema,
|
2128
2154
|
responses: {
|
2129
2155
|
200: WithPagination(TicketSchema),
|
2130
|
-
400:
|
2131
|
-
message:
|
2156
|
+
400: z31.object({
|
2157
|
+
message: z31.string()
|
2132
2158
|
}),
|
2133
2159
|
401: DefaultUnauthorizedSchema,
|
2134
2160
|
500: DefaultErrorResponseSchema
|
@@ -2142,14 +2168,14 @@ var ticketContract = initContract8().router(
|
|
2142
2168
|
body: CreateTicketAttachmentRecordsSchema,
|
2143
2169
|
responses: {
|
2144
2170
|
201: TicketCustomFieldSchema,
|
2145
|
-
400:
|
2146
|
-
message:
|
2171
|
+
400: z31.object({
|
2172
|
+
message: z31.string()
|
2147
2173
|
}),
|
2148
|
-
409:
|
2149
|
-
message:
|
2174
|
+
409: z31.object({
|
2175
|
+
message: z31.string()
|
2150
2176
|
}),
|
2151
|
-
500:
|
2152
|
-
message:
|
2177
|
+
500: z31.object({
|
2178
|
+
message: z31.string()
|
2153
2179
|
}),
|
2154
2180
|
401: DefaultUnauthorizedSchema,
|
2155
2181
|
404: DefaultNotFoundSchema,
|
@@ -2163,45 +2189,45 @@ var ticketContract = initContract8().router(
|
|
2163
2189
|
|
2164
2190
|
// src/cx-log/index.ts
|
2165
2191
|
import { initContract as initContract9 } from "@ts-rest/core";
|
2166
|
-
import
|
2192
|
+
import z33 from "zod";
|
2167
2193
|
|
2168
2194
|
// src/cx-log/validation.ts
|
2169
|
-
import
|
2170
|
-
var sentimentScoreSchema =
|
2171
|
-
|
2172
|
-
|
2195
|
+
import z32 from "zod";
|
2196
|
+
var sentimentScoreSchema = z32.union([
|
2197
|
+
z32.literal("positive"),
|
2198
|
+
z32.literal("negative")
|
2173
2199
|
]);
|
2174
|
-
var CustomFieldQueryParamsSchema =
|
2175
|
-
attributeId:
|
2176
|
-
value:
|
2177
|
-
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()
|
2178
2204
|
});
|
2179
2205
|
var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
|
2180
|
-
contactId:
|
2181
|
-
caseId:
|
2182
|
-
channelIds:
|
2183
|
-
queueId:
|
2184
|
-
agentIds:
|
2185
|
-
direction:
|
2186
|
-
disposition:
|
2187
|
-
sentimentScore:
|
2188
|
-
csatScore:
|
2189
|
-
sla:
|
2190
|
-
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()),
|
2191
2217
|
// General tags
|
2192
2218
|
// Default contact attributes
|
2193
|
-
name:
|
2194
|
-
contactLabels:
|
2195
|
-
email:
|
2196
|
-
channel:
|
2197
|
-
phone:
|
2198
|
-
notes:
|
2199
|
-
address:
|
2200
|
-
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()),
|
2201
2227
|
// Custom fields
|
2202
|
-
customFields:
|
2228
|
+
customFields: z32.array(CustomFieldQueryParamsSchema),
|
2203
2229
|
// Date filter
|
2204
|
-
selectedDate:
|
2230
|
+
selectedDate: z32.string()
|
2205
2231
|
}).partial().optional();
|
2206
2232
|
|
2207
2233
|
// src/cx-log/index.ts
|
@@ -2212,10 +2238,10 @@ var cxLogContract = initContract9().router({
|
|
2212
2238
|
headers: DefaultHeaderSchema,
|
2213
2239
|
responses: {
|
2214
2240
|
200: DefaultSuccessResponseSchema.extend({
|
2215
|
-
total:
|
2216
|
-
page:
|
2217
|
-
pageSize:
|
2218
|
-
cxLogs:
|
2241
|
+
total: z33.number(),
|
2242
|
+
page: z33.number(),
|
2243
|
+
pageSize: z33.number(),
|
2244
|
+
cxLogs: z33.array(CxLogSchema)
|
2219
2245
|
}),
|
2220
2246
|
401: DefaultUnauthorizedSchema
|
2221
2247
|
},
|
@@ -2226,16 +2252,16 @@ var cxLogContract = initContract9().router({
|
|
2226
2252
|
|
2227
2253
|
// src/extension/index.ts
|
2228
2254
|
import { initContract as initContract10 } from "@ts-rest/core";
|
2229
|
-
import
|
2255
|
+
import z35 from "zod";
|
2230
2256
|
|
2231
2257
|
// src/extension/validation.ts
|
2232
|
-
import { z as
|
2233
|
-
var CreateExtensionSchema =
|
2234
|
-
userId:
|
2235
|
-
sipUserName:
|
2236
|
-
extensionId:
|
2237
|
-
extensionName:
|
2238
|
-
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()
|
2239
2265
|
});
|
2240
2266
|
var UpdateExtensionSchema = CreateExtensionSchema;
|
2241
2267
|
|
@@ -2251,8 +2277,8 @@ var extensionContract = initContract10().router(
|
|
2251
2277
|
201: DefaultSuccessResponseSchema.extend({
|
2252
2278
|
extension: ExtensionSchema
|
2253
2279
|
}),
|
2254
|
-
400:
|
2255
|
-
message:
|
2280
|
+
400: z35.object({
|
2281
|
+
message: z35.string()
|
2256
2282
|
}),
|
2257
2283
|
401: DefaultUnauthorizedSchema,
|
2258
2284
|
500: DefaultErrorResponseSchema
|
@@ -2262,10 +2288,10 @@ var extensionContract = initContract10().router(
|
|
2262
2288
|
getExtensions: {
|
2263
2289
|
method: "GET",
|
2264
2290
|
path: "",
|
2265
|
-
query:
|
2266
|
-
page:
|
2267
|
-
pageSize:
|
2268
|
-
keyword:
|
2291
|
+
query: z35.object({
|
2292
|
+
page: z35.coerce.number().default(1),
|
2293
|
+
pageSize: z35.coerce.number().default(10),
|
2294
|
+
keyword: z35.string().optional()
|
2269
2295
|
}).optional(),
|
2270
2296
|
headers: DefaultHeaderSchema,
|
2271
2297
|
responses: {
|
@@ -2275,8 +2301,8 @@ var extensionContract = initContract10().router(
|
|
2275
2301
|
user: UserSchema
|
2276
2302
|
})
|
2277
2303
|
),
|
2278
|
-
400:
|
2279
|
-
message:
|
2304
|
+
400: z35.object({
|
2305
|
+
message: z35.string()
|
2280
2306
|
}),
|
2281
2307
|
401: DefaultUnauthorizedSchema,
|
2282
2308
|
500: DefaultErrorResponseSchema
|
@@ -2286,12 +2312,12 @@ var extensionContract = initContract10().router(
|
|
2286
2312
|
getExtensionByUserId: {
|
2287
2313
|
method: "GET",
|
2288
2314
|
path: "/user/:userId",
|
2289
|
-
pathParams:
|
2315
|
+
pathParams: z35.object({ userId: z35.string() }),
|
2290
2316
|
headers: DefaultHeaderSchema,
|
2291
2317
|
responses: {
|
2292
2318
|
200: ExtensionSchema,
|
2293
|
-
400:
|
2294
|
-
message:
|
2319
|
+
400: z35.object({
|
2320
|
+
message: z35.string()
|
2295
2321
|
}),
|
2296
2322
|
401: DefaultUnauthorizedSchema,
|
2297
2323
|
500: DefaultErrorResponseSchema
|
@@ -2301,17 +2327,17 @@ var extensionContract = initContract10().router(
|
|
2301
2327
|
getExtensionByDialpad: {
|
2302
2328
|
method: "GET",
|
2303
2329
|
path: "/dialpad",
|
2304
|
-
query:
|
2305
|
-
page:
|
2306
|
-
pageSize:
|
2307
|
-
keyword:
|
2330
|
+
query: z35.object({
|
2331
|
+
page: z35.coerce.number().default(1),
|
2332
|
+
pageSize: z35.coerce.number().default(10),
|
2333
|
+
keyword: z35.string().optional()
|
2308
2334
|
}).optional(),
|
2309
2335
|
headers: DefaultHeaderSchema,
|
2310
2336
|
responses: {
|
2311
2337
|
200: WithPagination(ExtensionSchema),
|
2312
2338
|
500: DefaultErrorResponseSchema,
|
2313
|
-
400:
|
2314
|
-
message:
|
2339
|
+
400: z35.object({
|
2340
|
+
message: z35.string()
|
2315
2341
|
}),
|
2316
2342
|
401: DefaultUnauthorizedSchema
|
2317
2343
|
},
|
@@ -2320,7 +2346,7 @@ var extensionContract = initContract10().router(
|
|
2320
2346
|
updateExtension: {
|
2321
2347
|
method: "PATCH",
|
2322
2348
|
path: "/:id",
|
2323
|
-
pathParams:
|
2349
|
+
pathParams: z35.object({ id: z35.string() }),
|
2324
2350
|
headers: DefaultHeaderSchema,
|
2325
2351
|
body: UpdateExtensionSchema,
|
2326
2352
|
responses: {
|
@@ -2334,11 +2360,11 @@ var extensionContract = initContract10().router(
|
|
2334
2360
|
deleteExtension: {
|
2335
2361
|
method: "DELETE",
|
2336
2362
|
path: "/:id",
|
2337
|
-
pathParams:
|
2363
|
+
pathParams: z35.object({ id: z35.string() }),
|
2338
2364
|
headers: DefaultHeaderSchema,
|
2339
2365
|
body: null,
|
2340
2366
|
responses: {
|
2341
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2367
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2342
2368
|
500: DefaultErrorResponseSchema
|
2343
2369
|
},
|
2344
2370
|
summary: "Delete a extension."
|
@@ -2349,22 +2375,22 @@ var extensionContract = initContract10().router(
|
|
2349
2375
|
|
2350
2376
|
// src/line/index.ts
|
2351
2377
|
import { initContract as initContract11 } from "@ts-rest/core";
|
2352
|
-
import
|
2378
|
+
import z38 from "zod";
|
2353
2379
|
|
2354
2380
|
// src/line/schema.ts
|
2355
|
-
import
|
2356
|
-
var ConnectLineSchema =
|
2357
|
-
id:
|
2358
|
-
accessToken:
|
2381
|
+
import z36 from "zod";
|
2382
|
+
var ConnectLineSchema = z36.object({
|
2383
|
+
id: z36.string(),
|
2384
|
+
accessToken: z36.string()
|
2359
2385
|
});
|
2360
2386
|
|
2361
2387
|
// src/line/validation.ts
|
2362
|
-
import
|
2363
|
-
var SendLineStickerSchema =
|
2364
|
-
userId:
|
2365
|
-
packageId:
|
2366
|
-
stickerId:
|
2367
|
-
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()
|
2368
2394
|
});
|
2369
2395
|
|
2370
2396
|
// src/line/index.ts
|
@@ -2374,7 +2400,7 @@ var lineContract = initContract11().router({
|
|
2374
2400
|
path: "sticker",
|
2375
2401
|
responses: {
|
2376
2402
|
200: DefaultSuccessResponseSchema.extend({
|
2377
|
-
data:
|
2403
|
+
data: z38.any()
|
2378
2404
|
}),
|
2379
2405
|
500: DefaultErrorResponseSchema
|
2380
2406
|
},
|
@@ -2386,7 +2412,7 @@ var lineContract = initContract11().router({
|
|
2386
2412
|
path: "connect",
|
2387
2413
|
responses: {
|
2388
2414
|
200: DefaultSuccessResponseSchema.extend({
|
2389
|
-
data:
|
2415
|
+
data: z38.any()
|
2390
2416
|
}),
|
2391
2417
|
500: DefaultErrorResponseSchema
|
2392
2418
|
},
|
@@ -2397,7 +2423,7 @@ var lineContract = initContract11().router({
|
|
2397
2423
|
|
2398
2424
|
// src/mail/email-engine-webhooks-events.contract.ts
|
2399
2425
|
import { initContract as initContract12 } from "@ts-rest/core";
|
2400
|
-
import
|
2426
|
+
import z39 from "zod";
|
2401
2427
|
var emailEngineWebhooksEventsContract = initContract12().router({
|
2402
2428
|
handleWebhooksEvents: {
|
2403
2429
|
method: "POST",
|
@@ -2405,7 +2431,7 @@ var emailEngineWebhooksEventsContract = initContract12().router({
|
|
2405
2431
|
// we don't need to respone anything but added responses just for solving type error
|
2406
2432
|
responses: {
|
2407
2433
|
200: DefaultSuccessResponseSchema.extend({
|
2408
|
-
message:
|
2434
|
+
message: z39.string()
|
2409
2435
|
})
|
2410
2436
|
},
|
2411
2437
|
body: null,
|
@@ -2418,173 +2444,173 @@ import { initContract as initContract17 } from "@ts-rest/core";
|
|
2418
2444
|
|
2419
2445
|
// src/mail/room-contract.ts
|
2420
2446
|
import { initContract as initContract13 } from "@ts-rest/core";
|
2421
|
-
import
|
2447
|
+
import z43 from "zod";
|
2422
2448
|
|
2423
2449
|
// src/mail/schemas/room.schema.ts
|
2424
|
-
import
|
2450
|
+
import z42 from "zod";
|
2425
2451
|
|
2426
2452
|
// src/mail/schemas/account.schema.ts
|
2427
|
-
import z39 from "zod";
|
2428
|
-
var MailServerSchema = z39.object({
|
2429
|
-
id: z39.string(),
|
2430
|
-
createdAt: z39.date(),
|
2431
|
-
updatedAt: z39.date(),
|
2432
|
-
deletedAt: z39.date().nullable(),
|
2433
|
-
name: z39.string(),
|
2434
|
-
smtpHost: z39.string(),
|
2435
|
-
smtpPort: z39.string(),
|
2436
|
-
smtpTlsPort: z39.string(),
|
2437
|
-
useTlsForSmtp: z39.boolean(),
|
2438
|
-
imapHost: z39.string(),
|
2439
|
-
imapPort: z39.string(),
|
2440
|
-
imapTlsPort: z39.string(),
|
2441
|
-
useTlsForImap: z39.boolean()
|
2442
|
-
});
|
2443
|
-
var MailAccountSchema = z39.object({
|
2444
|
-
id: z39.string(),
|
2445
|
-
createdAt: z39.date(),
|
2446
|
-
updatedAt: z39.date(),
|
2447
|
-
deletedAt: z39.date().nullable(),
|
2448
|
-
name: z39.string(),
|
2449
|
-
address: z39.string(),
|
2450
|
-
accountId: z39.string(),
|
2451
|
-
mailServerId: z39.string(),
|
2452
|
-
mailServer: MailServerSchema,
|
2453
|
-
state: z39.union([
|
2454
|
-
z39.literal("init"),
|
2455
|
-
z39.literal("syncing"),
|
2456
|
-
z39.literal("connecting"),
|
2457
|
-
z39.literal("connected"),
|
2458
|
-
z39.literal("disconnected"),
|
2459
|
-
z39.literal("authenticationError"),
|
2460
|
-
z39.literal("connectError"),
|
2461
|
-
z39.literal("unset")
|
2462
|
-
])
|
2463
|
-
});
|
2464
|
-
|
2465
|
-
// src/mail/schemas/message.schema.ts
|
2466
2453
|
import z40 from "zod";
|
2467
|
-
var
|
2454
|
+
var MailServerSchema = z40.object({
|
2468
2455
|
id: z40.string(),
|
2469
2456
|
createdAt: z40.date(),
|
2470
2457
|
updatedAt: z40.date(),
|
2471
|
-
deletedAt: z40.
|
2472
|
-
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2480
|
-
|
2481
|
-
updatedAt: z40.date(),
|
2482
|
-
deletedAt: z40.nullable(z40.date()),
|
2483
|
-
bucket_name: z40.string(),
|
2484
|
-
file_name: z40.string(),
|
2485
|
-
file_key: z40.string(),
|
2486
|
-
file_size: z40.number(),
|
2487
|
-
file_url: z40.string(),
|
2488
|
-
extension_name: z40.string()
|
2489
|
-
})
|
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()
|
2490
2468
|
});
|
2491
|
-
var
|
2469
|
+
var MailAccountSchema = z40.object({
|
2492
2470
|
id: z40.string(),
|
2493
2471
|
createdAt: z40.date(),
|
2494
2472
|
updatedAt: z40.date(),
|
2495
|
-
deletedAt: z40.
|
2496
|
-
|
2497
|
-
|
2498
|
-
|
2499
|
-
|
2500
|
-
|
2501
|
-
|
2502
|
-
|
2503
|
-
|
2504
|
-
|
2505
|
-
|
2506
|
-
|
2507
|
-
|
2508
|
-
|
2509
|
-
|
2510
|
-
|
2511
|
-
cc: z40.array(MailUserSchema),
|
2512
|
-
bcc: z40.array(MailUserSchema),
|
2513
|
-
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
|
+
])
|
2514
2489
|
});
|
2515
2490
|
|
2516
|
-
// src/mail/schemas/
|
2517
|
-
|
2518
|
-
|
2519
|
-
createdAt: z41.date(),
|
2520
|
-
updatedAt: z41.date(),
|
2521
|
-
deletedAt: z41.date().nullable(),
|
2522
|
-
name: z41.string(),
|
2523
|
-
address: z41.string()
|
2524
|
-
});
|
2525
|
-
var TagSchema2 = z41.object({
|
2526
|
-
color: z41.string(),
|
2491
|
+
// src/mail/schemas/message.schema.ts
|
2492
|
+
import z41 from "zod";
|
2493
|
+
var AttachmentSchema = z41.object({
|
2527
2494
|
id: z41.string(),
|
2528
2495
|
createdAt: z41.date(),
|
2529
2496
|
updatedAt: z41.date(),
|
2530
|
-
deletedAt: z41.
|
2531
|
-
name: z41.string()
|
2532
|
-
});
|
2533
|
-
var UserModel = z41.object({
|
2534
|
-
id: z41.string().uuid(),
|
2535
|
-
createdAt: z41.date(),
|
2536
|
-
updatedAt: z41.date(),
|
2537
|
-
deletedAt: z41.date().nullable(),
|
2538
|
-
name: z41.string(),
|
2539
|
-
email: z41.string(),
|
2540
|
-
address: z41.string().nullable(),
|
2541
|
-
phone: z41.string().nullable(),
|
2542
|
-
notification_count: z41.number().nullable()
|
2543
|
-
});
|
2544
|
-
var ActivityLogModel = z41.object({
|
2545
|
-
id: z41.string(),
|
2546
|
-
createdAt: z41.string(),
|
2547
|
-
updatedAt: z41.string(),
|
2548
|
-
deletedAt: z41.nullable(z41.string()),
|
2549
|
-
description: z41.string(),
|
2550
|
-
actorId: z41.string(),
|
2497
|
+
deletedAt: z41.nullable(z41.date()),
|
2551
2498
|
roomId: z41.string(),
|
2552
|
-
|
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
|
+
})
|
2553
2516
|
});
|
2554
|
-
var
|
2555
|
-
var MailRoomSchema = z41.object({
|
2517
|
+
var MessageSchema2 = z41.object({
|
2556
2518
|
id: z41.string(),
|
2557
2519
|
createdAt: z41.date(),
|
2558
2520
|
updatedAt: z41.date(),
|
2559
|
-
deletedAt: z41.
|
2521
|
+
deletedAt: z41.nullable(z41.date()),
|
2522
|
+
roomId: z41.string(),
|
2560
2523
|
subject: z41.string(),
|
2561
|
-
|
2562
|
-
|
2563
|
-
|
2564
|
-
|
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()),
|
2565
2530
|
direction: z41.string(),
|
2566
|
-
|
2567
|
-
|
2531
|
+
date: z41.date(),
|
2532
|
+
action: z41.string(),
|
2533
|
+
unseen: z41.boolean(),
|
2534
|
+
seemsLikeNew: z41.boolean(),
|
2568
2535
|
from: z41.array(MailUserSchema),
|
2569
2536
|
to: z41.array(MailUserSchema),
|
2570
2537
|
cc: z41.array(MailUserSchema),
|
2571
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),
|
2572
2598
|
firstMessage: MessageSchema2,
|
2573
2599
|
lastMessage: MessageSchema2,
|
2574
|
-
tags:
|
2600
|
+
tags: z42.array(TagSchema2),
|
2575
2601
|
assignee: UserModel,
|
2576
|
-
messages:
|
2602
|
+
messages: z42.array(MessageSchema2),
|
2577
2603
|
messagesAndLogs: MessagesAndLogs,
|
2578
2604
|
mail: MailAccountSchema,
|
2579
|
-
unReadMessageCount:
|
2605
|
+
unReadMessageCount: z42.number()
|
2580
2606
|
});
|
2581
|
-
var AttachmentSchema2 =
|
2582
|
-
fileName:
|
2583
|
-
fileType:
|
2584
|
-
emailEngineAttachmentId:
|
2585
|
-
uploadId:
|
2586
|
-
messageId:
|
2587
|
-
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(),
|
2588
2614
|
upload: UploadSchema
|
2589
2615
|
});
|
2590
2616
|
|
@@ -2596,7 +2622,7 @@ var roomContract = initContract13().router(
|
|
2596
2622
|
path: "/",
|
2597
2623
|
responses: {
|
2598
2624
|
200: DefaultSuccessResponseSchema.extend({
|
2599
|
-
message:
|
2625
|
+
message: z43.string()
|
2600
2626
|
}),
|
2601
2627
|
...DefaultResponses
|
2602
2628
|
},
|
@@ -2606,19 +2632,19 @@ var roomContract = initContract13().router(
|
|
2606
2632
|
getAll: {
|
2607
2633
|
method: "GET",
|
2608
2634
|
path: "",
|
2609
|
-
query:
|
2610
|
-
page:
|
2611
|
-
pageSize:
|
2612
|
-
keyword:
|
2613
|
-
assigneeId:
|
2614
|
-
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()
|
2615
2641
|
}),
|
2616
2642
|
responses: {
|
2617
2643
|
200: DefaultSuccessResponseSchema.extend({
|
2618
|
-
data:
|
2619
|
-
total:
|
2620
|
-
page:
|
2621
|
-
pageSize:
|
2644
|
+
data: z43.array(MailRoomSchema),
|
2645
|
+
total: z43.number(),
|
2646
|
+
page: z43.number(),
|
2647
|
+
pageSize: z43.number()
|
2622
2648
|
}),
|
2623
2649
|
...DefaultResponses
|
2624
2650
|
},
|
@@ -2627,8 +2653,8 @@ var roomContract = initContract13().router(
|
|
2627
2653
|
getById: {
|
2628
2654
|
method: "GET",
|
2629
2655
|
path: "/:id",
|
2630
|
-
pathParams:
|
2631
|
-
id:
|
2656
|
+
pathParams: z43.object({
|
2657
|
+
id: z43.string().uuid()
|
2632
2658
|
}),
|
2633
2659
|
responses: {
|
2634
2660
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -2641,12 +2667,12 @@ var roomContract = initContract13().router(
|
|
2641
2667
|
getAttachments: {
|
2642
2668
|
method: "GET",
|
2643
2669
|
path: "/:id/attachments",
|
2644
|
-
pathParams:
|
2645
|
-
id:
|
2670
|
+
pathParams: z43.object({
|
2671
|
+
id: z43.string().uuid()
|
2646
2672
|
}),
|
2647
2673
|
responses: {
|
2648
2674
|
200: DefaultSuccessResponseSchema.extend({
|
2649
|
-
data:
|
2675
|
+
data: z43.array(AttachmentSchema2)
|
2650
2676
|
}),
|
2651
2677
|
...DefaultResponses
|
2652
2678
|
},
|
@@ -2655,12 +2681,12 @@ var roomContract = initContract13().router(
|
|
2655
2681
|
getParticipants: {
|
2656
2682
|
method: "GET",
|
2657
2683
|
path: "/:id/participants",
|
2658
|
-
pathParams:
|
2659
|
-
id:
|
2684
|
+
pathParams: z43.object({
|
2685
|
+
id: z43.string().uuid()
|
2660
2686
|
}),
|
2661
2687
|
responses: {
|
2662
2688
|
200: DefaultSuccessResponseSchema.extend({
|
2663
|
-
data:
|
2689
|
+
data: z43.array(MailUserSchema)
|
2664
2690
|
}),
|
2665
2691
|
...DefaultResponses
|
2666
2692
|
},
|
@@ -2669,8 +2695,8 @@ var roomContract = initContract13().router(
|
|
2669
2695
|
update: {
|
2670
2696
|
method: "PATCH",
|
2671
2697
|
path: "/:id",
|
2672
|
-
pathParams:
|
2673
|
-
id:
|
2698
|
+
pathParams: z43.object({
|
2699
|
+
id: z43.string()
|
2674
2700
|
}),
|
2675
2701
|
responses: {
|
2676
2702
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -2678,15 +2704,15 @@ var roomContract = initContract13().router(
|
|
2678
2704
|
}),
|
2679
2705
|
...DefaultResponses
|
2680
2706
|
},
|
2681
|
-
body:
|
2682
|
-
resolved:
|
2683
|
-
|
2707
|
+
body: z43.object({
|
2708
|
+
resolved: z43.boolean().or(
|
2709
|
+
z43.union([z43.literal("true"), z43.literal("false")]).transform((value) => value.toLowerCase() === "true")
|
2684
2710
|
).optional().nullable(),
|
2685
|
-
assigneeId:
|
2686
|
-
note:
|
2687
|
-
tags:
|
2688
|
-
handover:
|
2689
|
-
|
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")
|
2690
2716
|
).optional().nullable()
|
2691
2717
|
}),
|
2692
2718
|
summary: "Update a mail room by id"
|
@@ -2694,12 +2720,12 @@ var roomContract = initContract13().router(
|
|
2694
2720
|
markAsRead: {
|
2695
2721
|
method: "GET",
|
2696
2722
|
path: "/:id",
|
2697
|
-
pathParams:
|
2698
|
-
id:
|
2723
|
+
pathParams: z43.object({
|
2724
|
+
id: z43.string().uuid()
|
2699
2725
|
}),
|
2700
2726
|
responses: {
|
2701
2727
|
200: DefaultSuccessResponseSchema.extend({
|
2702
|
-
message:
|
2728
|
+
message: z43.string()
|
2703
2729
|
}),
|
2704
2730
|
...DefaultResponses
|
2705
2731
|
},
|
@@ -2713,47 +2739,47 @@ var roomContract = initContract13().router(
|
|
2713
2739
|
|
2714
2740
|
// src/mail/account-contract.ts
|
2715
2741
|
import { initContract as initContract14 } from "@ts-rest/core";
|
2716
|
-
import
|
2742
|
+
import z45 from "zod";
|
2717
2743
|
|
2718
2744
|
// src/mail/schemas/account-validation.schema.ts
|
2719
|
-
import
|
2745
|
+
import z44 from "zod";
|
2720
2746
|
var AccountContractsValidationSchemas = {
|
2721
2747
|
create: {
|
2722
|
-
input:
|
2723
|
-
address:
|
2724
|
-
name:
|
2725
|
-
password:
|
2726
|
-
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")
|
2727
2753
|
})
|
2728
2754
|
},
|
2729
2755
|
getById: {
|
2730
|
-
input:
|
2731
|
-
id:
|
2756
|
+
input: z44.object({
|
2757
|
+
id: z44.string().uuid()
|
2732
2758
|
}),
|
2733
2759
|
output: MailAccountSchema
|
2734
2760
|
},
|
2735
2761
|
getAll: {
|
2736
|
-
output:
|
2762
|
+
output: z44.array(MailAccountSchema)
|
2737
2763
|
},
|
2738
2764
|
update: {
|
2739
2765
|
input: MailAccountSchema,
|
2740
2766
|
output: MailAccountSchema
|
2741
2767
|
},
|
2742
2768
|
disconnect: {
|
2743
|
-
input:
|
2744
|
-
id:
|
2769
|
+
input: z44.object({
|
2770
|
+
id: z44.string().uuid()
|
2745
2771
|
}),
|
2746
2772
|
output: MailAccountSchema
|
2747
2773
|
},
|
2748
2774
|
reconnect: {
|
2749
|
-
input:
|
2750
|
-
id:
|
2775
|
+
input: z44.object({
|
2776
|
+
id: z44.string()
|
2751
2777
|
}),
|
2752
2778
|
output: MailAccountSchema
|
2753
2779
|
},
|
2754
2780
|
delete: {
|
2755
|
-
input:
|
2756
|
-
id:
|
2781
|
+
input: z44.object({
|
2782
|
+
id: z44.string()
|
2757
2783
|
}),
|
2758
2784
|
output: MailAccountSchema
|
2759
2785
|
}
|
@@ -2769,16 +2795,16 @@ var accountContract = initContract14().router(
|
|
2769
2795
|
responses: {
|
2770
2796
|
201: DefaultSuccessResponseSchema.extend({
|
2771
2797
|
// data: AccountContractsValidationSchemas.create.output,
|
2772
|
-
message:
|
2798
|
+
message: z45.string()
|
2773
2799
|
}),
|
2774
|
-
400:
|
2775
|
-
message:
|
2800
|
+
400: z45.object({
|
2801
|
+
message: z45.string()
|
2776
2802
|
}),
|
2777
|
-
409:
|
2778
|
-
message:
|
2803
|
+
409: z45.object({
|
2804
|
+
message: z45.string()
|
2779
2805
|
}),
|
2780
|
-
500:
|
2781
|
-
message:
|
2806
|
+
500: z45.object({
|
2807
|
+
message: z45.string()
|
2782
2808
|
}),
|
2783
2809
|
...DefaultResponses
|
2784
2810
|
},
|
@@ -2807,7 +2833,7 @@ var accountContract = initContract14().router(
|
|
2807
2833
|
path: "",
|
2808
2834
|
responses: {
|
2809
2835
|
200: DefaultSuccessResponseSchema.extend({
|
2810
|
-
data:
|
2836
|
+
data: z45.any()
|
2811
2837
|
// data: AccountContractsValidationSchemas.getAll.output,
|
2812
2838
|
}),
|
2813
2839
|
...DefaultResponses
|
@@ -2819,8 +2845,8 @@ var accountContract = initContract14().router(
|
|
2819
2845
|
update: {
|
2820
2846
|
method: "PATCH",
|
2821
2847
|
path: "/:id",
|
2822
|
-
pathParams:
|
2823
|
-
id:
|
2848
|
+
pathParams: z45.object({
|
2849
|
+
id: z45.string().uuid()
|
2824
2850
|
}),
|
2825
2851
|
responses: {
|
2826
2852
|
201: DefaultSuccessResponseSchema.extend({
|
@@ -2869,7 +2895,7 @@ var accountContract = initContract14().router(
|
|
2869
2895
|
pathParams: AccountContractsValidationSchemas.delete.input,
|
2870
2896
|
responses: {
|
2871
2897
|
200: DefaultSuccessResponseSchema.extend({
|
2872
|
-
message:
|
2898
|
+
message: z45.string()
|
2873
2899
|
}),
|
2874
2900
|
...DefaultResponses
|
2875
2901
|
},
|
@@ -2886,7 +2912,7 @@ var accountContract = initContract14().router(
|
|
2886
2912
|
|
2887
2913
|
// src/mail/mail-server-contract.ts
|
2888
2914
|
import { initContract as initContract15 } from "@ts-rest/core";
|
2889
|
-
import
|
2915
|
+
import z46 from "zod";
|
2890
2916
|
var serverContract = initContract15().router(
|
2891
2917
|
{
|
2892
2918
|
create: {
|
@@ -2894,7 +2920,7 @@ var serverContract = initContract15().router(
|
|
2894
2920
|
path: "/",
|
2895
2921
|
responses: {
|
2896
2922
|
200: DefaultSuccessResponseSchema.extend({
|
2897
|
-
message:
|
2923
|
+
message: z46.string()
|
2898
2924
|
}),
|
2899
2925
|
...DefaultResponses
|
2900
2926
|
},
|
@@ -2904,12 +2930,12 @@ var serverContract = initContract15().router(
|
|
2904
2930
|
get: {
|
2905
2931
|
method: "GET",
|
2906
2932
|
path: "/:id",
|
2907
|
-
pathParams:
|
2908
|
-
id:
|
2933
|
+
pathParams: z46.object({
|
2934
|
+
id: z46.string()
|
2909
2935
|
}),
|
2910
2936
|
responses: {
|
2911
2937
|
200: DefaultSuccessResponseSchema.extend({
|
2912
|
-
message:
|
2938
|
+
message: z46.string()
|
2913
2939
|
}),
|
2914
2940
|
...DefaultResponses
|
2915
2941
|
},
|
@@ -2918,12 +2944,12 @@ var serverContract = initContract15().router(
|
|
2918
2944
|
update: {
|
2919
2945
|
method: "PATCH",
|
2920
2946
|
path: "/:id",
|
2921
|
-
pathParams:
|
2922
|
-
id:
|
2947
|
+
pathParams: z46.object({
|
2948
|
+
id: z46.string()
|
2923
2949
|
}),
|
2924
2950
|
responses: {
|
2925
2951
|
200: DefaultSuccessResponseSchema.extend({
|
2926
|
-
message:
|
2952
|
+
message: z46.string()
|
2927
2953
|
}),
|
2928
2954
|
...DefaultResponses
|
2929
2955
|
},
|
@@ -2933,12 +2959,12 @@ var serverContract = initContract15().router(
|
|
2933
2959
|
delete: {
|
2934
2960
|
method: "PATCH",
|
2935
2961
|
path: "/:id",
|
2936
|
-
pathParams:
|
2937
|
-
id:
|
2962
|
+
pathParams: z46.object({
|
2963
|
+
id: z46.string()
|
2938
2964
|
}),
|
2939
2965
|
responses: {
|
2940
2966
|
200: DefaultSuccessResponseSchema.extend({
|
2941
|
-
message:
|
2967
|
+
message: z46.string()
|
2942
2968
|
}),
|
2943
2969
|
...DefaultResponses
|
2944
2970
|
},
|
@@ -2953,44 +2979,44 @@ var serverContract = initContract15().router(
|
|
2953
2979
|
|
2954
2980
|
// src/mail/message-contract.ts
|
2955
2981
|
import { initContract as initContract16 } from "@ts-rest/core";
|
2956
|
-
import
|
2982
|
+
import z48 from "zod";
|
2957
2983
|
|
2958
2984
|
// src/mail/schemas/message-validation.schema.ts
|
2959
|
-
import
|
2960
|
-
var MailParticipant =
|
2961
|
-
name:
|
2962
|
-
address:
|
2985
|
+
import z47 from "zod";
|
2986
|
+
var MailParticipant = z47.object({
|
2987
|
+
name: z47.string().optional(),
|
2988
|
+
address: z47.string().email()
|
2963
2989
|
});
|
2964
2990
|
var MessageContractsValidationsSchema = {
|
2965
2991
|
submit: {
|
2966
|
-
input:
|
2967
|
-
subject:
|
2968
|
-
text:
|
2969
|
-
html:
|
2992
|
+
input: z47.object({
|
2993
|
+
subject: z47.string(),
|
2994
|
+
text: z47.string(),
|
2995
|
+
html: z47.string(),
|
2970
2996
|
from: MailParticipant,
|
2971
|
-
to:
|
2972
|
-
cc:
|
2973
|
-
bcc:
|
2974
|
-
reference:
|
2975
|
-
messageId:
|
2976
|
-
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")])
|
2977
3003
|
}).optional(),
|
2978
|
-
attachments:
|
2979
|
-
|
2980
|
-
fileType:
|
2981
|
-
fileName:
|
2982
|
-
fileKey:
|
2983
|
-
fileSize:
|
2984
|
-
bucketName:
|
2985
|
-
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()
|
2986
3012
|
})
|
2987
3013
|
).optional()
|
2988
3014
|
}),
|
2989
|
-
output:
|
2990
|
-
response:
|
2991
|
-
messageId:
|
2992
|
-
sendAt:
|
2993
|
-
queueId:
|
3015
|
+
output: z47.object({
|
3016
|
+
response: z47.string(),
|
3017
|
+
messageId: z47.string(),
|
3018
|
+
sendAt: z47.string(),
|
3019
|
+
queueId: z47.string()
|
2994
3020
|
})
|
2995
3021
|
}
|
2996
3022
|
};
|
@@ -3015,8 +3041,8 @@ var messageContract = initContract16().router(
|
|
3015
3041
|
getById: {
|
3016
3042
|
method: "GET",
|
3017
3043
|
path: "/:id",
|
3018
|
-
pathParams:
|
3019
|
-
id:
|
3044
|
+
pathParams: z48.object({
|
3045
|
+
id: z48.string()
|
3020
3046
|
}),
|
3021
3047
|
responses: {
|
3022
3048
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -3057,7 +3083,7 @@ var messengerContract = initContract18().router({
|
|
3057
3083
|
|
3058
3084
|
// src/permission/index.ts
|
3059
3085
|
import { initContract as initContract19 } from "@ts-rest/core";
|
3060
|
-
import
|
3086
|
+
import z49 from "zod";
|
3061
3087
|
var permissionContract = initContract19().router(
|
3062
3088
|
{
|
3063
3089
|
getPermissions: {
|
@@ -3065,9 +3091,9 @@ var permissionContract = initContract19().router(
|
|
3065
3091
|
path: "",
|
3066
3092
|
headers: DefaultHeaderSchema,
|
3067
3093
|
responses: {
|
3068
|
-
200:
|
3069
|
-
400:
|
3070
|
-
message:
|
3094
|
+
200: z49.object({ permissions: PermissionSchema.array() }),
|
3095
|
+
400: z49.object({
|
3096
|
+
message: z49.string()
|
3071
3097
|
}),
|
3072
3098
|
401: DefaultUnauthorizedSchema,
|
3073
3099
|
500: DefaultErrorResponseSchema
|
@@ -3080,15 +3106,15 @@ var permissionContract = initContract19().router(
|
|
3080
3106
|
|
3081
3107
|
// src/role/index.ts
|
3082
3108
|
import { initContract as initContract20 } from "@ts-rest/core";
|
3083
|
-
import
|
3109
|
+
import z51 from "zod";
|
3084
3110
|
|
3085
3111
|
// src/role/validation.ts
|
3086
|
-
import { z as
|
3087
|
-
var CreateRoleSchema =
|
3088
|
-
systemName:
|
3089
|
-
displayName:
|
3090
|
-
description:
|
3091
|
-
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())
|
3092
3118
|
});
|
3093
3119
|
var UpdateRoleSchema = CreateRoleSchema;
|
3094
3120
|
|
@@ -3104,8 +3130,8 @@ var roleContract = initContract20().router(
|
|
3104
3130
|
201: DefaultSuccessResponseSchema.extend({
|
3105
3131
|
role: RoleSchema
|
3106
3132
|
}),
|
3107
|
-
400:
|
3108
|
-
message:
|
3133
|
+
400: z51.object({
|
3134
|
+
message: z51.string()
|
3109
3135
|
}),
|
3110
3136
|
401: DefaultUnauthorizedSchema,
|
3111
3137
|
500: DefaultErrorResponseSchema
|
@@ -3115,15 +3141,15 @@ var roleContract = initContract20().router(
|
|
3115
3141
|
getRoles: {
|
3116
3142
|
method: "GET",
|
3117
3143
|
path: "",
|
3118
|
-
query:
|
3119
|
-
page:
|
3120
|
-
pageSize:
|
3144
|
+
query: z51.object({
|
3145
|
+
page: z51.coerce.number().default(1),
|
3146
|
+
pageSize: z51.coerce.number().default(10)
|
3121
3147
|
}).optional(),
|
3122
3148
|
headers: DefaultHeaderSchema,
|
3123
3149
|
responses: {
|
3124
3150
|
200: WithPagination(RoleSchema),
|
3125
|
-
400:
|
3126
|
-
message:
|
3151
|
+
400: z51.object({
|
3152
|
+
message: z51.string()
|
3127
3153
|
}),
|
3128
3154
|
401: DefaultUnauthorizedSchema,
|
3129
3155
|
500: DefaultErrorResponseSchema
|
@@ -3133,15 +3159,15 @@ var roleContract = initContract20().router(
|
|
3133
3159
|
updateRole: {
|
3134
3160
|
method: "PATCH",
|
3135
3161
|
path: "/:id",
|
3136
|
-
pathParams:
|
3162
|
+
pathParams: z51.object({ id: z51.string() }),
|
3137
3163
|
headers: DefaultHeaderSchema,
|
3138
3164
|
body: UpdateRoleSchema,
|
3139
3165
|
responses: {
|
3140
3166
|
201: DefaultSuccessResponseSchema.extend({
|
3141
3167
|
role: RoleSchema
|
3142
3168
|
}),
|
3143
|
-
400:
|
3144
|
-
message:
|
3169
|
+
400: z51.object({
|
3170
|
+
message: z51.string()
|
3145
3171
|
}),
|
3146
3172
|
401: DefaultUnauthorizedSchema,
|
3147
3173
|
500: DefaultErrorResponseSchema
|
@@ -3151,11 +3177,11 @@ var roleContract = initContract20().router(
|
|
3151
3177
|
deleteRole: {
|
3152
3178
|
method: "DELETE",
|
3153
3179
|
path: "/:id",
|
3154
|
-
pathParams:
|
3180
|
+
pathParams: z51.object({ id: z51.string() }),
|
3155
3181
|
headers: DefaultHeaderSchema,
|
3156
3182
|
body: null,
|
3157
3183
|
responses: {
|
3158
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3184
|
+
200: DefaultSuccessResponseSchema.extend({ message: z51.string() }),
|
3159
3185
|
500: DefaultErrorResponseSchema
|
3160
3186
|
},
|
3161
3187
|
summary: "Delete a role."
|
@@ -3166,19 +3192,19 @@ var roleContract = initContract20().router(
|
|
3166
3192
|
|
3167
3193
|
// src/tag/index.ts
|
3168
3194
|
import { initContract as initContract21 } from "@ts-rest/core";
|
3169
|
-
import
|
3195
|
+
import z53 from "zod";
|
3170
3196
|
|
3171
3197
|
// src/tag/validation.ts
|
3172
|
-
import { z as
|
3173
|
-
var CreateTagSchema =
|
3174
|
-
name:
|
3198
|
+
import { z as z52 } from "zod";
|
3199
|
+
var CreateTagSchema = z52.object({
|
3200
|
+
name: z52.string(),
|
3175
3201
|
group: TagGroupSchema
|
3176
3202
|
});
|
3177
|
-
var GetTagsSchema =
|
3203
|
+
var GetTagsSchema = z52.object({
|
3178
3204
|
group: TagGroupSchema.default("general"),
|
3179
|
-
keyword:
|
3205
|
+
keyword: z52.string()
|
3180
3206
|
}).partial().optional();
|
3181
|
-
var UpdateTagSchema =
|
3207
|
+
var UpdateTagSchema = z52.object({ name: z52.string() });
|
3182
3208
|
|
3183
3209
|
// src/tag/index.ts
|
3184
3210
|
var tagContract = initContract21().router(
|
@@ -3201,7 +3227,7 @@ var tagContract = initContract21().router(
|
|
3201
3227
|
query: GetTagsSchema,
|
3202
3228
|
responses: {
|
3203
3229
|
200: DefaultSuccessResponseSchema.extend({
|
3204
|
-
tags:
|
3230
|
+
tags: z53.array(TagSchema)
|
3205
3231
|
}),
|
3206
3232
|
500: DefaultErrorResponseSchema
|
3207
3233
|
},
|
@@ -3210,7 +3236,7 @@ var tagContract = initContract21().router(
|
|
3210
3236
|
updateTag: {
|
3211
3237
|
method: "PATCH",
|
3212
3238
|
path: "/:id",
|
3213
|
-
pathParams:
|
3239
|
+
pathParams: z53.object({ id: z53.string() }),
|
3214
3240
|
body: UpdateTagSchema,
|
3215
3241
|
responses: {
|
3216
3242
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -3223,11 +3249,11 @@ var tagContract = initContract21().router(
|
|
3223
3249
|
deleteTag: {
|
3224
3250
|
method: "DELETE",
|
3225
3251
|
path: "/:id",
|
3226
|
-
pathParams:
|
3227
|
-
body:
|
3252
|
+
pathParams: z53.object({ id: z53.string() }),
|
3253
|
+
body: z53.any().optional(),
|
3228
3254
|
// We don't need the body.
|
3229
3255
|
responses: {
|
3230
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3256
|
+
200: DefaultSuccessResponseSchema.extend({ message: z53.string() }),
|
3231
3257
|
500: DefaultErrorResponseSchema
|
3232
3258
|
},
|
3233
3259
|
headers: DefaultHeaderSchema
|
@@ -3240,27 +3266,27 @@ var tagContract = initContract21().router(
|
|
3240
3266
|
|
3241
3267
|
// src/telephony-agent-presence-status/index.ts
|
3242
3268
|
import { initContract as initContract22 } from "@ts-rest/core";
|
3243
|
-
import
|
3269
|
+
import z56 from "zod";
|
3244
3270
|
|
3245
3271
|
// src/telephony-agent-presence-status/schema.ts
|
3246
|
-
import
|
3272
|
+
import z54 from "zod";
|
3247
3273
|
var PresenceStatusSchema = DefaultEntitySchema.extend({
|
3248
|
-
status:
|
3249
|
-
description:
|
3274
|
+
status: z54.string(),
|
3275
|
+
description: z54.string()
|
3250
3276
|
});
|
3251
3277
|
var UserPresenceStatusSchema = DefaultEntitySchema.extend({
|
3252
3278
|
user: UserSchema,
|
3253
3279
|
presenceStatus: PresenceStatusSchema,
|
3254
|
-
customPresenceStatus:
|
3280
|
+
customPresenceStatus: z54.string().nullable().optional()
|
3255
3281
|
});
|
3256
3282
|
|
3257
3283
|
// src/telephony-agent-presence-status/validation.ts
|
3258
|
-
import { z as
|
3259
|
-
var UpdateUserStatusSchema =
|
3260
|
-
userId:
|
3261
|
-
presenceStatusId:
|
3262
|
-
customPreseneStatus:
|
3263
|
-
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()
|
3264
3290
|
});
|
3265
3291
|
|
3266
3292
|
// src/telephony-agent-presence-status/index.ts
|
@@ -3271,9 +3297,9 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3271
3297
|
path: "/presence_status",
|
3272
3298
|
headers: DefaultHeaderSchema,
|
3273
3299
|
responses: {
|
3274
|
-
200:
|
3275
|
-
400:
|
3276
|
-
message:
|
3300
|
+
200: z56.array(PresenceStatusSchema),
|
3301
|
+
400: z56.object({
|
3302
|
+
message: z56.string()
|
3277
3303
|
}),
|
3278
3304
|
401: DefaultUnauthorizedSchema,
|
3279
3305
|
500: DefaultErrorResponseSchema
|
@@ -3285,9 +3311,9 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3285
3311
|
path: "/agents/presence_status",
|
3286
3312
|
headers: DefaultHeaderSchema,
|
3287
3313
|
responses: {
|
3288
|
-
200:
|
3289
|
-
400:
|
3290
|
-
message:
|
3314
|
+
200: z56.array(UserPresenceStatusSchema),
|
3315
|
+
400: z56.object({
|
3316
|
+
message: z56.string()
|
3291
3317
|
}),
|
3292
3318
|
401: DefaultUnauthorizedSchema,
|
3293
3319
|
500: DefaultErrorResponseSchema
|
@@ -3297,12 +3323,12 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3297
3323
|
getAgentStatus: {
|
3298
3324
|
method: "GET",
|
3299
3325
|
path: "/presence_status/check_update/:userId",
|
3300
|
-
pathParams:
|
3326
|
+
pathParams: z56.object({ userId: z56.string() }),
|
3301
3327
|
headers: DefaultHeaderSchema,
|
3302
3328
|
responses: {
|
3303
3329
|
200: UserPresenceStatusSchema,
|
3304
|
-
400:
|
3305
|
-
message:
|
3330
|
+
400: z56.object({
|
3331
|
+
message: z56.string()
|
3306
3332
|
}),
|
3307
3333
|
401: DefaultUnauthorizedSchema,
|
3308
3334
|
500: DefaultErrorResponseSchema
|
@@ -3318,8 +3344,8 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3318
3344
|
200: DefaultSuccessResponseSchema.extend({
|
3319
3345
|
userPresenceStatu: UserPresenceStatusSchema
|
3320
3346
|
}),
|
3321
|
-
400:
|
3322
|
-
message:
|
3347
|
+
400: z56.object({
|
3348
|
+
message: z56.string()
|
3323
3349
|
}),
|
3324
3350
|
401: DefaultUnauthorizedSchema,
|
3325
3351
|
500: DefaultErrorResponseSchema
|
@@ -3332,35 +3358,35 @@ var telephonyAgentPresenceStatusContract = initContract22().router(
|
|
3332
3358
|
|
3333
3359
|
// src/telephony-extension/index.ts
|
3334
3360
|
import { initContract as initContract23 } from "@ts-rest/core";
|
3335
|
-
import
|
3361
|
+
import z58 from "zod";
|
3336
3362
|
|
3337
3363
|
// src/telephony-extension/schema.ts
|
3338
|
-
import
|
3339
|
-
var TelephonyExtensionSchema =
|
3340
|
-
errcode:
|
3341
|
-
errmsg:
|
3342
|
-
total_number:
|
3343
|
-
data:
|
3344
|
-
|
3345
|
-
id:
|
3346
|
-
online_status:
|
3347
|
-
fx_phone:
|
3348
|
-
sip_phone:
|
3349
|
-
status:
|
3350
|
-
ext_dev_type:
|
3351
|
-
}),
|
3352
|
-
linkus_desktop:
|
3353
|
-
linkus_mobile:
|
3354
|
-
linkus_web:
|
3355
|
-
status:
|
3356
|
-
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()
|
3357
3383
|
})
|
3358
3384
|
}).optional(),
|
3359
|
-
presence_status:
|
3360
|
-
number:
|
3361
|
-
caller_id_name:
|
3362
|
-
role_name:
|
3363
|
-
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()
|
3364
3390
|
})
|
3365
3391
|
)
|
3366
3392
|
});
|
@@ -3375,8 +3401,8 @@ var telephonyExtensionContract = initContract23().router(
|
|
3375
3401
|
query: null,
|
3376
3402
|
responses: {
|
3377
3403
|
200: TelephonyExtensionSchema,
|
3378
|
-
400:
|
3379
|
-
message:
|
3404
|
+
400: z58.object({
|
3405
|
+
message: z58.string()
|
3380
3406
|
}),
|
3381
3407
|
401: DefaultUnauthorizedSchema,
|
3382
3408
|
500: DefaultErrorResponseSchema
|
@@ -3389,21 +3415,21 @@ var telephonyExtensionContract = initContract23().router(
|
|
3389
3415
|
|
3390
3416
|
// src/user/index.ts
|
3391
3417
|
import { initContract as initContract24 } from "@ts-rest/core";
|
3392
|
-
import
|
3418
|
+
import z60 from "zod";
|
3393
3419
|
|
3394
3420
|
// src/user/validation.ts
|
3395
|
-
import { z as
|
3396
|
-
var CreateUserSchema =
|
3397
|
-
name:
|
3398
|
-
email:
|
3399
|
-
address:
|
3400
|
-
phone:
|
3401
|
-
password:
|
3402
|
-
notificationCount:
|
3403
|
-
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())
|
3404
3430
|
});
|
3405
3431
|
var UpdateUserSchema = CreateUserSchema.extend({
|
3406
|
-
newPassword:
|
3432
|
+
newPassword: z59.string()
|
3407
3433
|
});
|
3408
3434
|
|
3409
3435
|
// src/user/index.ts
|
@@ -3418,8 +3444,8 @@ var userContract = initContract24().router(
|
|
3418
3444
|
201: DefaultSuccessResponseSchema.extend({
|
3419
3445
|
user: UserSchema
|
3420
3446
|
}),
|
3421
|
-
400:
|
3422
|
-
message:
|
3447
|
+
400: z60.object({
|
3448
|
+
message: z60.string()
|
3423
3449
|
}),
|
3424
3450
|
401: DefaultUnauthorizedSchema
|
3425
3451
|
},
|
@@ -3429,15 +3455,15 @@ var userContract = initContract24().router(
|
|
3429
3455
|
method: "GET",
|
3430
3456
|
path: "",
|
3431
3457
|
headers: DefaultHeaderSchema,
|
3432
|
-
query:
|
3433
|
-
page:
|
3434
|
-
pageSize:
|
3435
|
-
keyword:
|
3458
|
+
query: z60.object({
|
3459
|
+
page: z60.coerce.number().default(1),
|
3460
|
+
pageSize: z60.coerce.number().default(10),
|
3461
|
+
keyword: z60.string().optional()
|
3436
3462
|
}).optional(),
|
3437
3463
|
responses: {
|
3438
3464
|
200: WithPagination(UserSchema),
|
3439
|
-
400:
|
3440
|
-
message:
|
3465
|
+
400: z60.object({
|
3466
|
+
message: z60.string()
|
3441
3467
|
}),
|
3442
3468
|
401: DefaultUnauthorizedSchema,
|
3443
3469
|
500: DefaultErrorResponseSchema
|
@@ -3447,12 +3473,12 @@ var userContract = initContract24().router(
|
|
3447
3473
|
getUserById: {
|
3448
3474
|
method: "GET",
|
3449
3475
|
path: "/:id",
|
3450
|
-
pathParams:
|
3476
|
+
pathParams: z60.object({ id: z60.string() }),
|
3451
3477
|
headers: DefaultHeaderSchema,
|
3452
3478
|
responses: {
|
3453
3479
|
200: UserSchema,
|
3454
|
-
400:
|
3455
|
-
message:
|
3480
|
+
400: z60.object({
|
3481
|
+
message: z60.string()
|
3456
3482
|
}),
|
3457
3483
|
401: DefaultUnauthorizedSchema
|
3458
3484
|
},
|
@@ -3461,15 +3487,15 @@ var userContract = initContract24().router(
|
|
3461
3487
|
updateUser: {
|
3462
3488
|
method: "PATCH",
|
3463
3489
|
path: "/:id",
|
3464
|
-
pathParams:
|
3490
|
+
pathParams: z60.object({ id: z60.string() }),
|
3465
3491
|
headers: DefaultHeaderSchema,
|
3466
3492
|
body: UpdateUserSchema,
|
3467
3493
|
responses: {
|
3468
3494
|
201: DefaultSuccessResponseSchema.extend({
|
3469
3495
|
role: UserSchema
|
3470
3496
|
}),
|
3471
|
-
400:
|
3472
|
-
message:
|
3497
|
+
400: z60.object({
|
3498
|
+
message: z60.string()
|
3473
3499
|
}),
|
3474
3500
|
401: DefaultUnauthorizedSchema
|
3475
3501
|
},
|
@@ -3478,11 +3504,11 @@ var userContract = initContract24().router(
|
|
3478
3504
|
deleteUser: {
|
3479
3505
|
method: "DELETE",
|
3480
3506
|
path: "/:id",
|
3481
|
-
pathParams:
|
3507
|
+
pathParams: z60.object({ id: z60.string() }),
|
3482
3508
|
headers: DefaultHeaderSchema,
|
3483
3509
|
body: null,
|
3484
3510
|
responses: {
|
3485
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3511
|
+
200: DefaultSuccessResponseSchema.extend({ message: z60.string() }),
|
3486
3512
|
500: DefaultErrorResponseSchema
|
3487
3513
|
},
|
3488
3514
|
summary: "Delete a user."
|
@@ -3493,23 +3519,23 @@ var userContract = initContract24().router(
|
|
3493
3519
|
|
3494
3520
|
// src/user-presence-status-log/index.ts
|
3495
3521
|
import { initContract as initContract25 } from "@ts-rest/core";
|
3496
|
-
import
|
3522
|
+
import z63 from "zod";
|
3497
3523
|
|
3498
3524
|
// src/user-presence-status-log/schema.ts
|
3499
|
-
import
|
3525
|
+
import z61 from "zod";
|
3500
3526
|
var UserPresenceStatusLogSchema = DefaultEntitySchema.extend({
|
3501
3527
|
user: UserSchema,
|
3502
3528
|
previousPresenceStatus: PresenceStatusSchema,
|
3503
3529
|
newPresenceStatus: PresenceStatusSchema,
|
3504
|
-
reason:
|
3530
|
+
reason: z61.string()
|
3505
3531
|
});
|
3506
3532
|
|
3507
3533
|
// src/user-presence-status-log/validation.ts
|
3508
|
-
import
|
3509
|
-
var UserPresenceStatusLogParamsSchema =
|
3510
|
-
page:
|
3511
|
-
pageSize:
|
3512
|
-
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()
|
3513
3539
|
}).optional();
|
3514
3540
|
|
3515
3541
|
// src/user-presence-status-log/index.ts
|
@@ -3522,8 +3548,8 @@ var userPresenceStatusLogContract = initContract25().router(
|
|
3522
3548
|
headers: DefaultHeaderSchema,
|
3523
3549
|
responses: {
|
3524
3550
|
200: WithPagination(UserPresenceStatusLogSchema),
|
3525
|
-
400:
|
3526
|
-
message:
|
3551
|
+
400: z63.object({
|
3552
|
+
message: z63.string()
|
3527
3553
|
}),
|
3528
3554
|
401: DefaultUnauthorizedSchema,
|
3529
3555
|
500: DefaultErrorResponseSchema
|
@@ -3536,35 +3562,35 @@ var userPresenceStatusLogContract = initContract25().router(
|
|
3536
3562
|
|
3537
3563
|
// src/widget/index.ts
|
3538
3564
|
import { initContract as initContract26 } from "@ts-rest/core";
|
3539
|
-
import
|
3565
|
+
import z66 from "zod";
|
3540
3566
|
|
3541
3567
|
// src/widget/schema.ts
|
3542
|
-
import
|
3543
|
-
var FieldsSchema =
|
3544
|
-
var WidgetPositionSchema =
|
3545
|
-
|
3546
|
-
|
3547
|
-
|
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")
|
3548
3574
|
]);
|
3549
3575
|
var WidgetSchema = DefaultEntitySchema.extend({
|
3550
|
-
name:
|
3551
|
-
description:
|
3576
|
+
name: z64.string(),
|
3577
|
+
description: z64.string().nullable(),
|
3552
3578
|
position: WidgetPositionSchema.nullable(),
|
3553
3579
|
fields: FieldsSchema,
|
3554
|
-
url:
|
3580
|
+
url: z64.string()
|
3555
3581
|
});
|
3556
3582
|
|
3557
3583
|
// src/widget/validation.ts
|
3558
|
-
import
|
3559
|
-
var CreateWidgetSchema =
|
3560
|
-
name:
|
3561
|
-
description:
|
3562
|
-
url:
|
3584
|
+
import z65 from "zod";
|
3585
|
+
var CreateWidgetSchema = z65.object({
|
3586
|
+
name: z65.string(),
|
3587
|
+
description: z65.string(),
|
3588
|
+
url: z65.string(),
|
3563
3589
|
position: WidgetPositionSchema,
|
3564
|
-
fields:
|
3590
|
+
fields: z65.object({
|
3565
3591
|
data: (
|
3566
3592
|
// Array of attribute system names
|
3567
|
-
|
3593
|
+
z65.array(z65.string())
|
3568
3594
|
)
|
3569
3595
|
}).optional()
|
3570
3596
|
});
|
@@ -3582,8 +3608,8 @@ var widgetContract = initContract26().router(
|
|
3582
3608
|
201: DefaultSuccessResponseSchema.extend({
|
3583
3609
|
widget: WidgetSchema
|
3584
3610
|
}),
|
3585
|
-
400:
|
3586
|
-
message:
|
3611
|
+
400: z66.object({
|
3612
|
+
message: z66.string()
|
3587
3613
|
}),
|
3588
3614
|
401: DefaultUnauthorizedSchema,
|
3589
3615
|
500: DefaultErrorResponseSchema
|
@@ -3593,17 +3619,17 @@ var widgetContract = initContract26().router(
|
|
3593
3619
|
getWidgets: {
|
3594
3620
|
method: "GET",
|
3595
3621
|
path: "",
|
3596
|
-
query:
|
3597
|
-
page:
|
3598
|
-
pageSize:
|
3599
|
-
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()
|
3600
3626
|
}).optional(),
|
3601
3627
|
headers: DefaultHeaderSchema,
|
3602
3628
|
responses: {
|
3603
3629
|
200: WithPagination(WidgetSchema),
|
3604
3630
|
500: DefaultErrorResponseSchema,
|
3605
|
-
400:
|
3606
|
-
message:
|
3631
|
+
400: z66.object({
|
3632
|
+
message: z66.string()
|
3607
3633
|
}),
|
3608
3634
|
401: DefaultUnauthorizedSchema
|
3609
3635
|
},
|
@@ -3614,9 +3640,9 @@ var widgetContract = initContract26().router(
|
|
3614
3640
|
path: "/menu",
|
3615
3641
|
headers: DefaultHeaderSchema,
|
3616
3642
|
responses: {
|
3617
|
-
200:
|
3618
|
-
400:
|
3619
|
-
message:
|
3643
|
+
200: z66.array(WidgetSchema),
|
3644
|
+
400: z66.object({
|
3645
|
+
message: z66.string()
|
3620
3646
|
}),
|
3621
3647
|
401: DefaultUnauthorizedSchema,
|
3622
3648
|
500: DefaultErrorResponseSchema
|
@@ -3628,9 +3654,9 @@ var widgetContract = initContract26().router(
|
|
3628
3654
|
path: "/ticket_detail",
|
3629
3655
|
headers: DefaultHeaderSchema,
|
3630
3656
|
responses: {
|
3631
|
-
200:
|
3632
|
-
400:
|
3633
|
-
message:
|
3657
|
+
200: z66.array(WidgetSchema),
|
3658
|
+
400: z66.object({
|
3659
|
+
message: z66.string()
|
3634
3660
|
}),
|
3635
3661
|
401: DefaultUnauthorizedSchema,
|
3636
3662
|
500: DefaultErrorResponseSchema
|
@@ -3642,9 +3668,9 @@ var widgetContract = initContract26().router(
|
|
3642
3668
|
path: "/contact_detail",
|
3643
3669
|
headers: DefaultHeaderSchema,
|
3644
3670
|
responses: {
|
3645
|
-
200:
|
3646
|
-
400:
|
3647
|
-
message:
|
3671
|
+
200: z66.array(WidgetSchema),
|
3672
|
+
400: z66.object({
|
3673
|
+
message: z66.string()
|
3648
3674
|
}),
|
3649
3675
|
401: DefaultUnauthorizedSchema,
|
3650
3676
|
500: DefaultErrorResponseSchema
|
@@ -3654,12 +3680,12 @@ var widgetContract = initContract26().router(
|
|
3654
3680
|
getWidgetById: {
|
3655
3681
|
method: "GET",
|
3656
3682
|
path: "/:id",
|
3657
|
-
pathParams:
|
3683
|
+
pathParams: z66.object({ id: z66.string() }),
|
3658
3684
|
headers: DefaultHeaderSchema,
|
3659
3685
|
responses: {
|
3660
3686
|
200: WidgetSchema,
|
3661
|
-
400:
|
3662
|
-
message:
|
3687
|
+
400: z66.object({
|
3688
|
+
message: z66.string()
|
3663
3689
|
}),
|
3664
3690
|
401: DefaultUnauthorizedSchema,
|
3665
3691
|
500: DefaultErrorResponseSchema
|
@@ -3693,14 +3719,14 @@ var widgetContract = initContract26().router(
|
|
3693
3719
|
updateWidget: {
|
3694
3720
|
method: "PATCH",
|
3695
3721
|
path: "/:id",
|
3696
|
-
pathParams:
|
3722
|
+
pathParams: z66.object({ id: z66.string() }),
|
3697
3723
|
headers: DefaultHeaderSchema,
|
3698
3724
|
responses: {
|
3699
3725
|
201: DefaultSuccessResponseSchema.extend({
|
3700
3726
|
widget: WidgetSchema
|
3701
3727
|
}),
|
3702
|
-
400:
|
3703
|
-
message:
|
3728
|
+
400: z66.object({
|
3729
|
+
message: z66.string()
|
3704
3730
|
}),
|
3705
3731
|
401: DefaultUnauthorizedSchema
|
3706
3732
|
},
|
@@ -3710,11 +3736,11 @@ var widgetContract = initContract26().router(
|
|
3710
3736
|
deleteWidget: {
|
3711
3737
|
method: "DELETE",
|
3712
3738
|
path: "/:id",
|
3713
|
-
pathParams:
|
3739
|
+
pathParams: z66.object({ id: z66.string() }),
|
3714
3740
|
headers: DefaultHeaderSchema,
|
3715
3741
|
body: null,
|
3716
3742
|
responses: {
|
3717
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
3743
|
+
200: DefaultSuccessResponseSchema.extend({ message: z66.string() }),
|
3718
3744
|
500: DefaultErrorResponseSchema
|
3719
3745
|
},
|
3720
3746
|
summary: "Delete a widget."
|
@@ -3727,16 +3753,6 @@ var widgetContract = initContract26().router(
|
|
3727
3753
|
import { initContract as initContract27 } from "@ts-rest/core";
|
3728
3754
|
import z68 from "zod";
|
3729
3755
|
|
3730
|
-
// src/wrap-up-form/schema.ts
|
3731
|
-
import z66 from "zod";
|
3732
|
-
var WrapUpFormSchema = DefaultEntitySchema.extend({
|
3733
|
-
note: z66.string().nullable(),
|
3734
|
-
disposition: z66.string().nullable(),
|
3735
|
-
callFrom: z66.string().nullable(),
|
3736
|
-
callTo: z66.string().nullable(),
|
3737
|
-
tags: z66.array(TagSchema)
|
3738
|
-
});
|
3739
|
-
|
3740
3756
|
// src/wrap-up-form/validation.ts
|
3741
3757
|
import { z as z67 } from "zod";
|
3742
3758
|
var CreateWrapUpFormSchema = z67.object({
|
@@ -3809,11 +3825,674 @@ var wrapUpFormContract = initContract27().router(
|
|
3809
3825
|
{ pathPrefix: "wrap-up-form" }
|
3810
3826
|
);
|
3811
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
|
+
|
3812
4490
|
// src/contract.ts
|
3813
|
-
var apiContract =
|
4491
|
+
var apiContract = initContract30().router({
|
3814
4492
|
auth: authContract,
|
3815
4493
|
mail: mailContract,
|
3816
4494
|
cxLog: cxLogContract,
|
4495
|
+
dashboard: dashboardContract,
|
3817
4496
|
permission: permissionContract,
|
3818
4497
|
role: roleContract,
|
3819
4498
|
user: userContract,
|
@@ -3830,13 +4509,14 @@ var apiContract = initContract28().router({
|
|
3830
4509
|
agentPresenceStatus: telephonyAgentPresenceStatusContract,
|
3831
4510
|
userPresenceStatusLog: userPresenceStatusLogContract,
|
3832
4511
|
contact: contactContract,
|
3833
|
-
ticket: ticketContract
|
4512
|
+
ticket: ticketContract,
|
4513
|
+
company: companyContract
|
3834
4514
|
});
|
3835
|
-
var platformContract =
|
4515
|
+
var platformContract = initContract30().router({
|
3836
4516
|
line: lineContract,
|
3837
4517
|
messenger: messengerContract
|
3838
4518
|
});
|
3839
|
-
var chatContract =
|
4519
|
+
var chatContract = initContract30().router({
|
3840
4520
|
main: mainChatContract
|
3841
4521
|
});
|
3842
4522
|
export {
|