@kl1/contracts 1.0.39 → 1.0.40
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 +702 -691
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +702 -691
- package/dist/index.mjs.map +1 -1
- package/dist/src/chat/index.d.ts +72 -72
- package/dist/src/chat/schema.d.ts +10 -10
- package/dist/src/chat/validation.d.ts +16 -16
- package/dist/src/contract.d.ts +12263 -7817
- package/dist/src/contract.d.ts.map +1 -1
- package/dist/src/cx-log/index.d.ts +1616 -46
- package/dist/src/cx-log/index.d.ts.map +1 -1
- package/dist/src/cx-log/schema.d.ts +1551 -233
- package/dist/src/cx-log/schema.d.ts.map +1 -1
- package/dist/src/dashboard/index.d.ts +4 -1
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/schema.d.ts +50 -0
- package/dist/src/dashboard/schema.d.ts.map +1 -1
- package/dist/src/messenger/index.d.ts +8 -8
- package/dist/src/telephony-cdr/index.d.ts +2878 -0
- package/dist/src/telephony-cdr/index.d.ts.map +1 -1
- package/dist/src/telephony-cdr/schema.d.ts +1070 -4
- package/dist/src/telephony-cdr/schema.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -732,7 +732,7 @@ var channelContract = initContract5().router(
|
|
732
732
|
|
733
733
|
// src/chat/index.ts
|
734
734
|
import { initContract as initContract6 } from "@ts-rest/core";
|
735
|
-
import
|
735
|
+
import z30 from "zod";
|
736
736
|
|
737
737
|
// src/contact/schema.ts
|
738
738
|
import z21 from "zod";
|
@@ -846,10 +846,10 @@ var ContactSchema = z21.object({
|
|
846
846
|
});
|
847
847
|
|
848
848
|
// src/chat/schema.ts
|
849
|
-
import
|
849
|
+
import z27 from "zod";
|
850
850
|
|
851
851
|
// src/cx-log/schema.ts
|
852
|
-
import
|
852
|
+
import z26 from "zod";
|
853
853
|
|
854
854
|
// src/evaluate-form/schema.ts
|
855
855
|
import z22 from "zod";
|
@@ -860,82 +860,109 @@ var EvaluateFormSchema = DefaultEntitySchema.extend({
|
|
860
860
|
});
|
861
861
|
|
862
862
|
// src/telephony-cdr/schema.ts
|
863
|
+
import z24 from "zod";
|
864
|
+
|
865
|
+
// src/extension/schema.ts
|
863
866
|
import z23 from "zod";
|
867
|
+
var ExtensionSchema = z23.object({
|
868
|
+
id: z23.string().uuid(),
|
869
|
+
createdAt: z23.date(),
|
870
|
+
updatedAt: z23.date(),
|
871
|
+
deletedAt: z23.date().nullable(),
|
872
|
+
userId: z23.string().nullable(),
|
873
|
+
sipServerUrl: z23.string(),
|
874
|
+
sipUserName: z23.string(),
|
875
|
+
webphoneLoginUser: z23.string(),
|
876
|
+
extensionId: z23.coerce.number(),
|
877
|
+
extensionName: z23.string(),
|
878
|
+
telephonySignature: z23.string().nullable()
|
879
|
+
});
|
880
|
+
|
881
|
+
// src/telephony-cdr/schema.ts
|
864
882
|
var TelephonyCdrSchema = DefaultEntitySchema.extend({
|
865
|
-
uniqueCallId:
|
866
|
-
timeStart:
|
867
|
-
callFrom:
|
868
|
-
callTo:
|
869
|
-
callDuration:
|
870
|
-
talkDuration:
|
871
|
-
srcTrunkName:
|
872
|
-
dstTrunkName:
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
883
|
+
uniqueCallId: z24.string(),
|
884
|
+
timeStart: z24.string(),
|
885
|
+
callFrom: z24.string(),
|
886
|
+
callTo: z24.string(),
|
887
|
+
callDuration: z24.number().nullable(),
|
888
|
+
talkDuration: z24.number().nullable(),
|
889
|
+
srcTrunkName: z24.string().nullable(),
|
890
|
+
dstTrunkName: z24.string().nullable(),
|
891
|
+
contact: ContactSchema.optional(),
|
892
|
+
// TODO: refactor this zod schema using TelephonyQueue entity schema
|
893
|
+
telephonyQueue: DefaultEntitySchema.extend({
|
894
|
+
queueId: z24.number(),
|
895
|
+
queueName: z24.string(),
|
896
|
+
queueNumber: z24.string(),
|
897
|
+
maximumWaitingTime: z24.number()
|
898
|
+
}).optional().nullable(),
|
899
|
+
pinCode: z24.string().nullable(),
|
900
|
+
status: z24.string(),
|
901
|
+
type: z24.string(),
|
902
|
+
recording: z24.string().nullable(),
|
903
|
+
didNumber: z24.string().nullable(),
|
904
|
+
agentRingTime: z24.number().nullable(),
|
905
|
+
uploadId: z24.string().nullable(),
|
906
|
+
upload: UploadSchema.optional().nullable(),
|
907
|
+
serialNumber: z24.string().nullable(),
|
908
|
+
extensionId: z24.string().uuid().nullable(),
|
909
|
+
extension: ExtensionSchema.optional().nullable(),
|
910
|
+
telephonyQueueId: z24.string().uuid().nullable(),
|
911
|
+
contactId: z24.string().nullable()
|
885
912
|
});
|
886
913
|
|
887
914
|
// src/wrap-up-form/schema.ts
|
888
|
-
import
|
915
|
+
import z25 from "zod";
|
889
916
|
var WrapUpFormSchema = DefaultEntitySchema.extend({
|
890
|
-
note:
|
891
|
-
disposition:
|
892
|
-
callFrom:
|
893
|
-
callTo:
|
894
|
-
tags:
|
917
|
+
note: z25.string().nullable(),
|
918
|
+
disposition: z25.string().nullable(),
|
919
|
+
callFrom: z25.string().nullable(),
|
920
|
+
callTo: z25.string().nullable(),
|
921
|
+
tags: z25.array(TagSchema)
|
895
922
|
});
|
896
923
|
|
897
924
|
// src/cx-log/schema.ts
|
898
925
|
var CxLogSchema = DefaultEntitySchema.extend({
|
899
|
-
caseId:
|
900
|
-
entityId:
|
901
|
-
entityName:
|
902
|
-
contactId:
|
903
|
-
channel:
|
904
|
-
queueId:
|
905
|
-
agentId:
|
906
|
-
direction:
|
907
|
-
startedDate:
|
908
|
-
handledTime:
|
909
|
-
firstResponseTime:
|
910
|
-
disposition:
|
926
|
+
caseId: z26.number(),
|
927
|
+
entityId: z26.string().uuid(),
|
928
|
+
entityName: z26.string(),
|
929
|
+
contactId: z26.string().uuid().nullable(),
|
930
|
+
channel: z26.string().nullable(),
|
931
|
+
queueId: z26.string().uuid().nullable(),
|
932
|
+
agentId: z26.string().uuid().nullable(),
|
933
|
+
direction: z26.string().nullable(),
|
934
|
+
startedDate: z26.date().nullable(),
|
935
|
+
handledTime: z26.number().nullable(),
|
936
|
+
firstResponseTime: z26.number().nullable(),
|
937
|
+
disposition: z26.string().nullable(),
|
911
938
|
wrapUpForm: WrapUpFormSchema.nullable()
|
912
939
|
});
|
913
940
|
var CxLogSchemaWithRelations = DefaultEntitySchema.extend({
|
914
|
-
caseId:
|
915
|
-
entityId:
|
916
|
-
entityName:
|
917
|
-
channelType:
|
918
|
-
channel:
|
919
|
-
direction:
|
920
|
-
startedDate:
|
921
|
-
handledTime:
|
922
|
-
firstResponseTime:
|
923
|
-
disposition:
|
924
|
-
slaMeet:
|
941
|
+
caseId: z26.number(),
|
942
|
+
entityId: z26.string().uuid(),
|
943
|
+
entityName: z26.string(),
|
944
|
+
channelType: z26.string().nullable(),
|
945
|
+
channel: z26.string().nullable(),
|
946
|
+
direction: z26.string().nullable(),
|
947
|
+
startedDate: z26.string().nullable(),
|
948
|
+
handledTime: z26.string().nullable(),
|
949
|
+
firstResponseTime: z26.string().nullable(),
|
950
|
+
disposition: z26.string().nullable(),
|
951
|
+
slaMeet: z26.string().nullable(),
|
925
952
|
evaluateForm: EvaluateFormSchema.nullable(),
|
926
953
|
wrapUpForm: WrapUpFormSchema.nullable(),
|
927
|
-
room:
|
928
|
-
id:
|
929
|
-
createdAt:
|
930
|
-
updatedAt:
|
931
|
-
deletedAt:
|
932
|
-
lastMessage:
|
933
|
-
handleTime:
|
934
|
-
closeAt:
|
935
|
-
unreadCount:
|
936
|
-
firstResponseAt:
|
937
|
-
firstResponseTime:
|
938
|
-
isLatest:
|
954
|
+
room: z26.object({
|
955
|
+
id: z26.string().uuid(),
|
956
|
+
createdAt: z26.date(),
|
957
|
+
updatedAt: z26.date(),
|
958
|
+
deletedAt: z26.date().nullable(),
|
959
|
+
lastMessage: z26.string(),
|
960
|
+
handleTime: z26.number(),
|
961
|
+
closeAt: z26.date(),
|
962
|
+
unreadCount: z26.number(),
|
963
|
+
firstResponseAt: z26.date(),
|
964
|
+
firstResponseTime: z26.number(),
|
965
|
+
isLatest: z26.boolean(),
|
939
966
|
direction: MessageDirectionTypeSchema,
|
940
967
|
platformContact: PlatformContactSchema,
|
941
968
|
actor: UserSchema,
|
@@ -943,20 +970,20 @@ var CxLogSchemaWithRelations = DefaultEntitySchema.extend({
|
|
943
970
|
channel: ChannelSchema
|
944
971
|
}).nullable(),
|
945
972
|
telephonyCdr: TelephonyCdrSchema.nullable(),
|
946
|
-
queue:
|
947
|
-
queueName:
|
973
|
+
queue: z26.object({
|
974
|
+
queueName: z26.string().nullable().optional()
|
948
975
|
}).nullable(),
|
949
976
|
contact: ContactSchema.nullable(),
|
950
977
|
agent: UserSchema.nullable()
|
951
978
|
});
|
952
979
|
|
953
980
|
// src/chat/schema.ts
|
954
|
-
var MessageDirectionTypeSchema =
|
981
|
+
var MessageDirectionTypeSchema = z27.enum([
|
955
982
|
"incoming",
|
956
983
|
"outgoing",
|
957
984
|
"system"
|
958
985
|
]);
|
959
|
-
var MessageTypeSchema =
|
986
|
+
var MessageTypeSchema = z27.enum([
|
960
987
|
"text",
|
961
988
|
"image",
|
962
989
|
"video",
|
@@ -976,28 +1003,28 @@ var MessageTypeSchema = z26.enum([
|
|
976
1003
|
"updated",
|
977
1004
|
"started"
|
978
1005
|
]);
|
979
|
-
var MessageLocaleTypeSchema =
|
980
|
-
var PlatformContactMetadataSchema =
|
981
|
-
id:
|
982
|
-
name:
|
983
|
-
picture:
|
984
|
-
additionalCredentials:
|
1006
|
+
var MessageLocaleTypeSchema = z27.enum(["mm", "en", "th", ""]);
|
1007
|
+
var PlatformContactMetadataSchema = z27.object({
|
1008
|
+
id: z27.string(),
|
1009
|
+
name: z27.string(),
|
1010
|
+
picture: z27.string().optional(),
|
1011
|
+
additionalCredentials: z27.any()
|
985
1012
|
});
|
986
1013
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
987
|
-
channelId:
|
988
|
-
socialPlatformId:
|
1014
|
+
channelId: z27.string().uuid(),
|
1015
|
+
socialPlatformId: z27.string(),
|
989
1016
|
type: ChannelTypeSchema,
|
990
1017
|
metadata: PlatformContactMetadataSchema,
|
991
1018
|
contact: ContactSchema
|
992
1019
|
});
|
993
1020
|
var RoomSchema = DefaultEntitySchema.extend({
|
994
|
-
lastMessage:
|
995
|
-
handleTime:
|
996
|
-
closeAt:
|
997
|
-
unreadCount:
|
998
|
-
firstResponseAt:
|
999
|
-
firstResponseTime:
|
1000
|
-
isLatest:
|
1021
|
+
lastMessage: z27.string(),
|
1022
|
+
handleTime: z27.number(),
|
1023
|
+
closeAt: z27.date(),
|
1024
|
+
unreadCount: z27.number(),
|
1025
|
+
firstResponseAt: z27.date(),
|
1026
|
+
firstResponseTime: z27.number(),
|
1027
|
+
isLatest: z27.boolean(),
|
1001
1028
|
direction: MessageDirectionTypeSchema,
|
1002
1029
|
platformContact: PlatformContactSchema,
|
1003
1030
|
actor: UserSchema,
|
@@ -1006,167 +1033,167 @@ var RoomSchema = DefaultEntitySchema.extend({
|
|
1006
1033
|
cxlog: CxLogSchema
|
1007
1034
|
});
|
1008
1035
|
var MessageSchema = DefaultEntitySchema.extend({
|
1009
|
-
message:
|
1036
|
+
message: z27.string(),
|
1010
1037
|
direction: MessageDirectionTypeSchema,
|
1011
1038
|
type: MessageTypeSchema,
|
1012
|
-
readAt:
|
1013
|
-
metadata:
|
1014
|
-
platformId:
|
1015
|
-
platformMessageId:
|
1016
|
-
replyPlatformMessageId:
|
1017
|
-
template:
|
1039
|
+
readAt: z27.date(),
|
1040
|
+
metadata: z27.any(),
|
1041
|
+
platformId: z27.string(),
|
1042
|
+
platformMessageId: z27.string(),
|
1043
|
+
replyPlatformMessageId: z27.string(),
|
1044
|
+
template: z27.any(),
|
1018
1045
|
locale: MessageLocaleTypeSchema,
|
1019
|
-
url:
|
1020
|
-
previewUrl:
|
1021
|
-
imageSetId:
|
1046
|
+
url: z27.string(),
|
1047
|
+
previewUrl: z27.string(),
|
1048
|
+
imageSetId: z27.string(),
|
1022
1049
|
room: RoomSchema,
|
1023
1050
|
upload: UploadSchema,
|
1024
1051
|
actor: UserSchema,
|
1025
1052
|
assignee: UserSchema,
|
1026
1053
|
sender: UserSchema
|
1027
1054
|
});
|
1028
|
-
var UnreadCountsByAssigneeSchema =
|
1029
|
-
assigneeId:
|
1030
|
-
totalUnreadCount:
|
1055
|
+
var UnreadCountsByAssigneeSchema = z27.object({
|
1056
|
+
assigneeId: z27.string(),
|
1057
|
+
totalUnreadCount: z27.number()
|
1031
1058
|
});
|
1032
1059
|
|
1033
1060
|
// src/chat/validation.ts
|
1034
|
-
import
|
1061
|
+
import z29 from "zod";
|
1035
1062
|
|
1036
1063
|
// src/custom-field/schema.ts
|
1037
|
-
import
|
1064
|
+
import z28 from "zod";
|
1038
1065
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
1039
|
-
textValue:
|
1040
|
-
booleanValue:
|
1041
|
-
numberValue:
|
1042
|
-
dateValue:
|
1043
|
-
entityId:
|
1044
|
-
attributeId:
|
1066
|
+
textValue: z28.string().nullable(),
|
1067
|
+
booleanValue: z28.boolean().nullable(),
|
1068
|
+
numberValue: z28.number().nullable(),
|
1069
|
+
dateValue: z28.date().nullable(),
|
1070
|
+
entityId: z28.string().uuid(),
|
1071
|
+
attributeId: z28.string().uuid()
|
1045
1072
|
});
|
1046
1073
|
|
1047
1074
|
// src/chat/validation.ts
|
1048
|
-
var GetRoomsSchema =
|
1049
|
-
page:
|
1050
|
-
pageSize:
|
1051
|
-
contactTagIds:
|
1052
|
-
contactIds:
|
1053
|
-
agentIds:
|
1054
|
-
roomTagIds:
|
1055
|
-
keyword:
|
1056
|
-
company:
|
1057
|
-
channel:
|
1058
|
-
name:
|
1059
|
-
address:
|
1060
|
-
contactGroups:
|
1061
|
-
selectedDate:
|
1062
|
-
customFields:
|
1063
|
-
tags:
|
1064
|
-
phone:
|
1065
|
-
email:
|
1066
|
-
notes:
|
1067
|
-
tab:
|
1068
|
-
});
|
1069
|
-
var UpdateRoomTagsAndNotesSchema =
|
1070
|
-
note:
|
1075
|
+
var GetRoomsSchema = z29.object({
|
1076
|
+
page: z29.coerce.number().positive().default(1),
|
1077
|
+
pageSize: z29.coerce.number().positive().default(20),
|
1078
|
+
contactTagIds: z29.string().array().optional(),
|
1079
|
+
contactIds: z29.string().array().optional(),
|
1080
|
+
agentIds: z29.string().array().optional(),
|
1081
|
+
roomTagIds: z29.string().array().optional(),
|
1082
|
+
keyword: z29.string().optional(),
|
1083
|
+
company: z29.string().array().optional(),
|
1084
|
+
channel: z29.string().array().optional(),
|
1085
|
+
name: z29.string().optional(),
|
1086
|
+
address: z29.string().optional(),
|
1087
|
+
contactGroups: z29.string().array().optional(),
|
1088
|
+
selectedDate: z29.string().optional(),
|
1089
|
+
customFields: z29.array(CustomFieldSchema).optional(),
|
1090
|
+
tags: z29.string().array().optional(),
|
1091
|
+
phone: z29.string().optional(),
|
1092
|
+
email: z29.string().optional(),
|
1093
|
+
notes: z29.string().optional(),
|
1094
|
+
tab: z29.string().optional()
|
1095
|
+
});
|
1096
|
+
var UpdateRoomTagsAndNotesSchema = z29.object({
|
1097
|
+
note: z29.string().optional(),
|
1071
1098
|
tags: TagSchema.array().optional()
|
1072
1099
|
});
|
1073
1100
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
1074
|
-
roomId:
|
1075
|
-
});
|
1076
|
-
var MessageAttachmentSchema =
|
1077
|
-
bucketName:
|
1078
|
-
fileKey:
|
1079
|
-
fileName:
|
1080
|
-
fileSize:
|
1081
|
-
url:
|
1101
|
+
roomId: z29.string().uuid()
|
1102
|
+
});
|
1103
|
+
var MessageAttachmentSchema = z29.object({
|
1104
|
+
bucketName: z29.string(),
|
1105
|
+
fileKey: z29.string(),
|
1106
|
+
fileName: z29.string(),
|
1107
|
+
fileSize: z29.number(),
|
1108
|
+
url: z29.string(),
|
1082
1109
|
fileType: MessageTypeSchema,
|
1083
|
-
thumbnailUrl:
|
1110
|
+
thumbnailUrl: z29.string().optional()
|
1084
1111
|
});
|
1085
|
-
var SendMessageSchema =
|
1086
|
-
roomId:
|
1112
|
+
var SendMessageSchema = z29.object({
|
1113
|
+
roomId: z29.string().uuid(),
|
1087
1114
|
messageType: MessageTypeSchema,
|
1088
|
-
message:
|
1115
|
+
message: z29.string().optional(),
|
1089
1116
|
messageAttachments: MessageAttachmentSchema.optional(),
|
1090
1117
|
user: UserSchema.optional(),
|
1091
|
-
packageId:
|
1092
|
-
stickerId:
|
1118
|
+
packageId: z29.number().optional(),
|
1119
|
+
stickerId: z29.number().optional()
|
1093
1120
|
});
|
1094
|
-
var SolveRoomSchema =
|
1095
|
-
roomId:
|
1096
|
-
disposition:
|
1121
|
+
var SolveRoomSchema = z29.object({
|
1122
|
+
roomId: z29.string(),
|
1123
|
+
disposition: z29.string()
|
1097
1124
|
});
|
1098
1125
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
1099
|
-
assigneeId:
|
1126
|
+
assigneeId: z29.string().uuid()
|
1100
1127
|
});
|
1101
1128
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
1102
|
-
query:
|
1129
|
+
query: z29.string()
|
1103
1130
|
});
|
1104
|
-
var ChannelSchema2 =
|
1105
|
-
name:
|
1131
|
+
var ChannelSchema2 = z29.object({
|
1132
|
+
name: z29.string(),
|
1106
1133
|
type: ChannelTypeSchema,
|
1107
1134
|
metadata: ChannelMetadataSchema,
|
1108
|
-
platformId:
|
1109
|
-
brandName:
|
1135
|
+
platformId: z29.string(),
|
1136
|
+
brandName: z29.string(),
|
1110
1137
|
status: ChannelStatusTypeSchema,
|
1111
|
-
connectedUserName:
|
1112
|
-
connectedUserId:
|
1113
|
-
actor:
|
1114
|
-
id:
|
1115
|
-
name:
|
1116
|
-
email:
|
1117
|
-
address:
|
1118
|
-
phone:
|
1138
|
+
connectedUserName: z29.string().optional().nullable(),
|
1139
|
+
connectedUserId: z29.string().optional().nullable(),
|
1140
|
+
actor: z29.object({
|
1141
|
+
id: z29.string().uuid(),
|
1142
|
+
name: z29.string(),
|
1143
|
+
email: z29.string().email(),
|
1144
|
+
address: z29.string().nullable(),
|
1145
|
+
phone: z29.string().nullable()
|
1119
1146
|
}).optional()
|
1120
1147
|
});
|
1121
|
-
var SendMessageToPlatformSchema =
|
1122
|
-
room:
|
1123
|
-
id:
|
1124
|
-
lastMessage:
|
1125
|
-
handleTime:
|
1126
|
-
isLatest:
|
1148
|
+
var SendMessageToPlatformSchema = z29.object({
|
1149
|
+
room: z29.object({
|
1150
|
+
id: z29.string().uuid(),
|
1151
|
+
lastMessage: z29.string().optional(),
|
1152
|
+
handleTime: z29.number().optional(),
|
1153
|
+
isLatest: z29.boolean(),
|
1127
1154
|
direction: MessageDirectionTypeSchema,
|
1128
|
-
platformContact:
|
1129
|
-
channelId:
|
1130
|
-
socialPlatformId:
|
1155
|
+
platformContact: z29.object({
|
1156
|
+
channelId: z29.string().uuid(),
|
1157
|
+
socialPlatformId: z29.string().nullable(),
|
1131
1158
|
type: ChannelTypeSchema,
|
1132
1159
|
metadata: PlatformContactMetadataSchema,
|
1133
|
-
contact:
|
1134
|
-
name:
|
1135
|
-
address:
|
1136
|
-
channel:
|
1137
|
-
notes:
|
1138
|
-
contactProfile:
|
1139
|
-
socialProfileUrl:
|
1160
|
+
contact: z29.object({
|
1161
|
+
name: z29.string(),
|
1162
|
+
address: z29.string().nullable(),
|
1163
|
+
channel: z29.string().nullable(),
|
1164
|
+
notes: z29.string().nullable(),
|
1165
|
+
contactProfile: z29.string().nullable(),
|
1166
|
+
socialProfileUrl: z29.string().nullable()
|
1140
1167
|
})
|
1141
1168
|
}),
|
1142
|
-
actor:
|
1143
|
-
name:
|
1144
|
-
email:
|
1145
|
-
address:
|
1146
|
-
phone:
|
1169
|
+
actor: z29.object({
|
1170
|
+
name: z29.string(),
|
1171
|
+
email: z29.string().email(),
|
1172
|
+
address: z29.string().nullable(),
|
1173
|
+
phone: z29.string().nullable()
|
1147
1174
|
}).nullable(),
|
1148
1175
|
channel: ChannelSchema2
|
1149
1176
|
}),
|
1150
|
-
message:
|
1151
|
-
message:
|
1177
|
+
message: z29.object({
|
1178
|
+
message: z29.string().optional(),
|
1152
1179
|
direction: MessageDirectionTypeSchema,
|
1153
1180
|
type: MessageTypeSchema,
|
1154
|
-
readAt:
|
1155
|
-
metadata:
|
1156
|
-
platformId:
|
1157
|
-
platformMessageId:
|
1158
|
-
replyPlatformMessageId:
|
1159
|
-
template:
|
1181
|
+
readAt: z29.date().optional(),
|
1182
|
+
metadata: z29.any().optional(),
|
1183
|
+
platformId: z29.string().optional(),
|
1184
|
+
platformMessageId: z29.string().optional(),
|
1185
|
+
replyPlatformMessageId: z29.string().optional(),
|
1186
|
+
template: z29.any().optional(),
|
1160
1187
|
locale: MessageLocaleTypeSchema.optional(),
|
1161
|
-
url:
|
1162
|
-
previewUrl:
|
1163
|
-
imageSetId:
|
1188
|
+
url: z29.string().optional(),
|
1189
|
+
previewUrl: z29.string().optional(),
|
1190
|
+
imageSetId: z29.string().optional(),
|
1164
1191
|
upload: UploadSchema.optional(),
|
1165
|
-
sender:
|
1166
|
-
name:
|
1167
|
-
email:
|
1168
|
-
address:
|
1169
|
-
phone:
|
1192
|
+
sender: z29.object({
|
1193
|
+
name: z29.string(),
|
1194
|
+
email: z29.string().email(),
|
1195
|
+
address: z29.string().nullable(),
|
1196
|
+
phone: z29.string().nullable()
|
1170
1197
|
})
|
1171
1198
|
})
|
1172
1199
|
});
|
@@ -1178,28 +1205,28 @@ var ChannelServiceResponseSchema = DefaultSuccessResponseSchema.extend(
|
|
1178
1205
|
data: ChannelSchema2
|
1179
1206
|
}
|
1180
1207
|
);
|
1181
|
-
var ReceiveMessageSchema =
|
1182
|
-
message:
|
1183
|
-
message:
|
1208
|
+
var ReceiveMessageSchema = z29.object({
|
1209
|
+
message: z29.object({
|
1210
|
+
message: z29.string(),
|
1184
1211
|
direction: MessageDirectionTypeSchema,
|
1185
1212
|
type: MessageTypeSchema,
|
1186
|
-
metadata:
|
1187
|
-
platformId:
|
1188
|
-
platformMessageId:
|
1189
|
-
replyPlatformMessageId:
|
1190
|
-
template:
|
1213
|
+
metadata: z29.any(),
|
1214
|
+
platformId: z29.string(),
|
1215
|
+
platformMessageId: z29.string(),
|
1216
|
+
replyPlatformMessageId: z29.string().optional(),
|
1217
|
+
template: z29.any(),
|
1191
1218
|
locale: MessageLocaleTypeSchema.nullable(),
|
1192
|
-
url:
|
1193
|
-
previewUrl:
|
1194
|
-
imageSetId:
|
1195
|
-
room:
|
1196
|
-
lastMessage:
|
1197
|
-
handleTime:
|
1198
|
-
closeAt:
|
1199
|
-
unreadCount:
|
1200
|
-
firstResponseAt:
|
1201
|
-
firstResponseTime:
|
1202
|
-
isLatest:
|
1219
|
+
url: z29.string().optional(),
|
1220
|
+
previewUrl: z29.string().optional(),
|
1221
|
+
imageSetId: z29.string().optional(),
|
1222
|
+
room: z29.object({
|
1223
|
+
lastMessage: z29.string(),
|
1224
|
+
handleTime: z29.number(),
|
1225
|
+
closeAt: z29.date(),
|
1226
|
+
unreadCount: z29.number(),
|
1227
|
+
firstResponseAt: z29.date().nullable(),
|
1228
|
+
firstResponseTime: z29.number().nullable(),
|
1229
|
+
isLatest: z29.boolean(),
|
1203
1230
|
direction: MessageDirectionTypeSchema,
|
1204
1231
|
platformContact: PlatformContactSchema,
|
1205
1232
|
actor: UserSchema,
|
@@ -1229,9 +1256,9 @@ var receiveMessageContract = initContract6().router(
|
|
1229
1256
|
}
|
1230
1257
|
},
|
1231
1258
|
{
|
1232
|
-
baseHeaders:
|
1233
|
-
"x-code":
|
1234
|
-
"x-tenant":
|
1259
|
+
baseHeaders: z30.object({
|
1260
|
+
"x-code": z30.string().uuid(),
|
1261
|
+
"x-tenant": z30.string().uuid()
|
1235
1262
|
}),
|
1236
1263
|
pathPrefix: "message"
|
1237
1264
|
}
|
@@ -1243,11 +1270,11 @@ var mainChatContract = initContract6().router(
|
|
1243
1270
|
path: "/rooms",
|
1244
1271
|
responses: {
|
1245
1272
|
200: DefaultSuccessResponseSchema.extend({
|
1246
|
-
total:
|
1247
|
-
page:
|
1248
|
-
pageSize:
|
1249
|
-
data:
|
1250
|
-
unreadCountsByAssignee:
|
1273
|
+
total: z30.number(),
|
1274
|
+
page: z30.number(),
|
1275
|
+
pageSize: z30.number(),
|
1276
|
+
data: z30.array(RoomSchema),
|
1277
|
+
unreadCountsByAssignee: z30.array(UnreadCountsByAssigneeSchema)
|
1251
1278
|
}),
|
1252
1279
|
401: DefaultUnauthorizedSchema
|
1253
1280
|
},
|
@@ -1257,8 +1284,8 @@ var mainChatContract = initContract6().router(
|
|
1257
1284
|
getRoomContact: {
|
1258
1285
|
method: "GET",
|
1259
1286
|
path: "/contact/:contactId",
|
1260
|
-
pathParams:
|
1261
|
-
contactId:
|
1287
|
+
pathParams: z30.object({
|
1288
|
+
contactId: z30.string().uuid()
|
1262
1289
|
}),
|
1263
1290
|
responses: {
|
1264
1291
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1293,32 +1320,32 @@ var mainChatContract = initContract6().router(
|
|
1293
1320
|
getRoomsByPlatformContactId: {
|
1294
1321
|
method: "GET",
|
1295
1322
|
path: "/rooms/:platformContactId",
|
1296
|
-
pathParams:
|
1297
|
-
platformContactId:
|
1323
|
+
pathParams: z30.object({
|
1324
|
+
platformContactId: z30.string()
|
1298
1325
|
}),
|
1299
1326
|
responses: {
|
1300
1327
|
200: DefaultSuccessResponseSchema.extend({
|
1301
|
-
data:
|
1302
|
-
|
1303
|
-
id:
|
1328
|
+
data: z30.array(
|
1329
|
+
z30.object({
|
1330
|
+
id: z30.string().uuid()
|
1304
1331
|
})
|
1305
1332
|
),
|
1306
|
-
total:
|
1333
|
+
total: z30.number()
|
1307
1334
|
})
|
1308
1335
|
}
|
1309
1336
|
},
|
1310
1337
|
getMessages: {
|
1311
1338
|
method: "GET",
|
1312
1339
|
path: "/message/:roomId",
|
1313
|
-
pathParams:
|
1314
|
-
roomId:
|
1340
|
+
pathParams: z30.object({
|
1341
|
+
roomId: z30.string().uuid()
|
1315
1342
|
}),
|
1316
1343
|
responses: {
|
1317
1344
|
200: DefaultSuccessResponseSchema.extend({
|
1318
|
-
total:
|
1319
|
-
page:
|
1320
|
-
pageSize:
|
1321
|
-
data:
|
1345
|
+
total: z30.number(),
|
1346
|
+
page: z30.number(),
|
1347
|
+
pageSize: z30.number(),
|
1348
|
+
data: z30.array(MessageSchema)
|
1322
1349
|
})
|
1323
1350
|
},
|
1324
1351
|
query: DefaultQueryParamsSchema,
|
@@ -1331,7 +1358,7 @@ var mainChatContract = initContract6().router(
|
|
1331
1358
|
responses: {
|
1332
1359
|
200: DefaultSuccessResponseSchema.extend({
|
1333
1360
|
data: RoomSchema.extend({
|
1334
|
-
solveMessage:
|
1361
|
+
solveMessage: z30.string()
|
1335
1362
|
})
|
1336
1363
|
}),
|
1337
1364
|
409: DefaultErrorResponseSchema
|
@@ -1352,8 +1379,8 @@ var mainChatContract = initContract6().router(
|
|
1352
1379
|
getRoom: {
|
1353
1380
|
method: "GET",
|
1354
1381
|
path: "/room/:roomId",
|
1355
|
-
pathParams:
|
1356
|
-
roomId:
|
1382
|
+
pathParams: z30.object({
|
1383
|
+
roomId: z30.string().uuid()
|
1357
1384
|
}),
|
1358
1385
|
responses: {
|
1359
1386
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1366,14 +1393,14 @@ var mainChatContract = initContract6().router(
|
|
1366
1393
|
createRoom: {
|
1367
1394
|
method: "POST",
|
1368
1395
|
path: "/room/create/:platformContactId",
|
1369
|
-
pathParams:
|
1370
|
-
platformContactId:
|
1396
|
+
pathParams: z30.object({
|
1397
|
+
platformContactId: z30.string().uuid()
|
1371
1398
|
}),
|
1372
1399
|
responses: {
|
1373
1400
|
200: DefaultSuccessResponseSchema.extend({
|
1374
1401
|
data: RoomSchema.extend({
|
1375
1402
|
contact: ContactSchema,
|
1376
|
-
openMessage:
|
1403
|
+
openMessage: z30.string()
|
1377
1404
|
})
|
1378
1405
|
})
|
1379
1406
|
},
|
@@ -1383,13 +1410,13 @@ var mainChatContract = initContract6().router(
|
|
1383
1410
|
readRoom: {
|
1384
1411
|
method: "POST",
|
1385
1412
|
path: "/room/:roomid/read",
|
1386
|
-
pathParams:
|
1387
|
-
roomId:
|
1413
|
+
pathParams: z30.object({
|
1414
|
+
roomId: z30.string().uuid()
|
1388
1415
|
}),
|
1389
1416
|
responses: {
|
1390
1417
|
200: DefaultSuccessResponseSchema.extend({
|
1391
1418
|
data: RoomSchema.extend({
|
1392
|
-
description:
|
1419
|
+
description: z30.string().nullable()
|
1393
1420
|
})
|
1394
1421
|
})
|
1395
1422
|
},
|
@@ -1401,10 +1428,10 @@ var mainChatContract = initContract6().router(
|
|
1401
1428
|
path: "/search",
|
1402
1429
|
responses: {
|
1403
1430
|
200: DefaultSuccessResponseSchema.extend({
|
1404
|
-
total:
|
1405
|
-
page:
|
1406
|
-
pageSize:
|
1407
|
-
data:
|
1431
|
+
total: z30.number(),
|
1432
|
+
page: z30.number(),
|
1433
|
+
pageSize: z30.number(),
|
1434
|
+
data: z30.array(RoomSchema)
|
1408
1435
|
})
|
1409
1436
|
},
|
1410
1437
|
query: SearchRoomsSchema,
|
@@ -1419,99 +1446,99 @@ var mainChatContract = initContract6().router(
|
|
1419
1446
|
|
1420
1447
|
// src/contact/index.ts
|
1421
1448
|
import { initContract as initContract7 } from "@ts-rest/core";
|
1422
|
-
import
|
1449
|
+
import z32 from "zod";
|
1423
1450
|
|
1424
1451
|
// src/contact/validation.ts
|
1425
|
-
import
|
1426
|
-
var BaseSchema =
|
1427
|
-
isRequired:
|
1428
|
-
attributeId:
|
1452
|
+
import z31 from "zod";
|
1453
|
+
var BaseSchema = z31.object({
|
1454
|
+
isRequired: z31.boolean(),
|
1455
|
+
attributeId: z31.string()
|
1429
1456
|
});
|
1430
1457
|
var SingleValue = {
|
1431
|
-
value:
|
1458
|
+
value: z31.string()
|
1432
1459
|
};
|
1433
1460
|
var ContactContractValidationSchema = {
|
1434
1461
|
create: {
|
1435
|
-
request:
|
1462
|
+
request: z31.object({
|
1436
1463
|
name: BaseSchema.extend(SingleValue),
|
1437
1464
|
email: BaseSchema.extend({
|
1438
|
-
value:
|
1439
|
-
|
1440
|
-
email:
|
1441
|
-
isPrimary:
|
1465
|
+
value: z31.array(
|
1466
|
+
z31.object({
|
1467
|
+
email: z31.string(),
|
1468
|
+
isPrimary: z31.boolean()
|
1442
1469
|
})
|
1443
1470
|
)
|
1444
1471
|
}),
|
1445
1472
|
channel: BaseSchema.extend(SingleValue),
|
1446
1473
|
address: BaseSchema.extend(SingleValue),
|
1447
1474
|
phone: BaseSchema.extend({
|
1448
|
-
value:
|
1449
|
-
|
1450
|
-
phone:
|
1451
|
-
isPrimary:
|
1475
|
+
value: z31.array(
|
1476
|
+
z31.object({
|
1477
|
+
phone: z31.string(),
|
1478
|
+
isPrimary: z31.boolean()
|
1452
1479
|
})
|
1453
1480
|
)
|
1454
1481
|
}).optional(),
|
1455
1482
|
notes: BaseSchema.extend(SingleValue),
|
1456
1483
|
tags: BaseSchema.extend({
|
1457
|
-
value:
|
1484
|
+
value: z31.array(z31.string())
|
1458
1485
|
}),
|
1459
1486
|
company: BaseSchema.extend(SingleValue),
|
1460
|
-
customFields:
|
1487
|
+
customFields: z31.array(
|
1461
1488
|
BaseSchema.extend({
|
1462
|
-
value:
|
1463
|
-
type:
|
1464
|
-
isDefaultAttribute:
|
1489
|
+
value: z31.union([z31.string(), z31.array(z31.string())]),
|
1490
|
+
type: z31.string(),
|
1491
|
+
isDefaultAttribute: z31.boolean()
|
1465
1492
|
})
|
1466
1493
|
)
|
1467
1494
|
}),
|
1468
|
-
response:
|
1495
|
+
response: z31.string()
|
1469
1496
|
},
|
1470
1497
|
getById: {
|
1471
|
-
request:
|
1472
|
-
id:
|
1498
|
+
request: z31.object({
|
1499
|
+
id: z31.string().uuid()
|
1473
1500
|
}),
|
1474
1501
|
response: ContactSchema
|
1475
1502
|
},
|
1476
1503
|
delete: {
|
1477
|
-
request:
|
1478
|
-
id:
|
1504
|
+
request: z31.object({
|
1505
|
+
id: z31.string().uuid()
|
1479
1506
|
}),
|
1480
|
-
response:
|
1507
|
+
response: z31.string()
|
1481
1508
|
},
|
1482
1509
|
getAll: {
|
1483
|
-
request:
|
1484
|
-
page:
|
1485
|
-
pageSize:
|
1486
|
-
keyword:
|
1487
|
-
company:
|
1488
|
-
name:
|
1489
|
-
address:
|
1490
|
-
channel:
|
1491
|
-
selectedDate:
|
1492
|
-
customFields:
|
1493
|
-
|
1494
|
-
attributeId:
|
1495
|
-
type:
|
1496
|
-
value:
|
1510
|
+
request: z31.object({
|
1511
|
+
page: z31.coerce.number().default(1),
|
1512
|
+
pageSize: z31.coerce.number().default(10),
|
1513
|
+
keyword: z31.string().optional(),
|
1514
|
+
company: z31.array(z31.string().uuid()),
|
1515
|
+
name: z31.string(),
|
1516
|
+
address: z31.string(),
|
1517
|
+
channel: z31.array(z31.string()),
|
1518
|
+
selectedDate: z31.string(),
|
1519
|
+
customFields: z31.array(
|
1520
|
+
z31.object({
|
1521
|
+
attributeId: z31.string().uuid(),
|
1522
|
+
type: z31.string(),
|
1523
|
+
value: z31.union([z31.string(), z31.array(z31.string())])
|
1497
1524
|
})
|
1498
1525
|
),
|
1499
|
-
tags:
|
1500
|
-
phone:
|
1501
|
-
email:
|
1502
|
-
notes:
|
1526
|
+
tags: z31.array(z31.string().uuid()),
|
1527
|
+
phone: z31.string(),
|
1528
|
+
email: z31.string(),
|
1529
|
+
notes: z31.string()
|
1503
1530
|
}).partial(),
|
1504
1531
|
response: {
|
1505
|
-
page:
|
1506
|
-
pageSize:
|
1507
|
-
total:
|
1508
|
-
lastPage:
|
1509
|
-
data:
|
1532
|
+
page: z31.number(),
|
1533
|
+
pageSize: z31.number(),
|
1534
|
+
total: z31.number(),
|
1535
|
+
lastPage: z31.number(),
|
1536
|
+
data: z31.array(ContactSchema)
|
1510
1537
|
}
|
1511
1538
|
},
|
1512
1539
|
createContactByPhone: {
|
1513
|
-
request:
|
1514
|
-
phoneNumber:
|
1540
|
+
request: z31.object({
|
1541
|
+
phoneNumber: z31.string().refine(
|
1515
1542
|
(value) => {
|
1516
1543
|
const numericValue = value.replace(/\s/g, "");
|
1517
1544
|
return /^\d+$/.test(numericValue);
|
@@ -1524,8 +1551,8 @@ var ContactContractValidationSchema = {
|
|
1524
1551
|
response: ContactSchema
|
1525
1552
|
},
|
1526
1553
|
updateContactByPhone: {
|
1527
|
-
request:
|
1528
|
-
phoneNumber:
|
1554
|
+
request: z31.object({
|
1555
|
+
phoneNumber: z31.string().refine(
|
1529
1556
|
(value) => {
|
1530
1557
|
const numericValue = value.replace(/\s/g, "");
|
1531
1558
|
return /^\d+$/.test(numericValue);
|
@@ -1538,68 +1565,68 @@ var ContactContractValidationSchema = {
|
|
1538
1565
|
response: ContactSchema
|
1539
1566
|
},
|
1540
1567
|
updateFromOngoingCall: {
|
1541
|
-
request:
|
1542
|
-
name:
|
1543
|
-
companyId:
|
1568
|
+
request: z31.object({
|
1569
|
+
name: z31.string(),
|
1570
|
+
companyId: z31.string().uuid()
|
1544
1571
|
}).partial(),
|
1545
1572
|
response: ContactSchema
|
1546
1573
|
},
|
1547
1574
|
merge: {
|
1548
|
-
request:
|
1549
|
-
primaryContactId:
|
1550
|
-
emails:
|
1551
|
-
|
1552
|
-
email:
|
1553
|
-
isPrimary:
|
1575
|
+
request: z31.object({
|
1576
|
+
primaryContactId: z31.string().uuid(),
|
1577
|
+
emails: z31.array(
|
1578
|
+
z31.object({
|
1579
|
+
email: z31.string(),
|
1580
|
+
isPrimary: z31.boolean()
|
1554
1581
|
})
|
1555
1582
|
),
|
1556
|
-
phones:
|
1557
|
-
|
1558
|
-
phone:
|
1559
|
-
isPrimary:
|
1583
|
+
phones: z31.array(
|
1584
|
+
z31.object({
|
1585
|
+
phone: z31.string(),
|
1586
|
+
isPrimary: z31.boolean()
|
1560
1587
|
})
|
1561
1588
|
),
|
1562
|
-
otherContacts:
|
1589
|
+
otherContacts: z31.array(z31.string().uuid())
|
1563
1590
|
}),
|
1564
1591
|
response: ContactSchema
|
1565
1592
|
},
|
1566
1593
|
checkContactPhone: {
|
1567
|
-
request:
|
1568
|
-
contactId:
|
1569
|
-
phoneNumber:
|
1594
|
+
request: z31.object({
|
1595
|
+
contactId: z31.string().uuid().optional(),
|
1596
|
+
phoneNumber: z31.string()
|
1570
1597
|
}),
|
1571
|
-
response:
|
1598
|
+
response: z31.boolean()
|
1572
1599
|
},
|
1573
1600
|
checkContactEmail: {
|
1574
|
-
request:
|
1575
|
-
contactId:
|
1576
|
-
email:
|
1601
|
+
request: z31.object({
|
1602
|
+
contactId: z31.string().uuid().optional(),
|
1603
|
+
email: z31.string()
|
1577
1604
|
}),
|
1578
|
-
response:
|
1605
|
+
response: z31.boolean()
|
1579
1606
|
},
|
1580
1607
|
filterContacts: {
|
1581
|
-
request:
|
1582
|
-
page:
|
1583
|
-
pageSize:
|
1584
|
-
keyword:
|
1608
|
+
request: z31.object({
|
1609
|
+
page: z31.coerce.number().default(1),
|
1610
|
+
pageSize: z31.coerce.number().default(10),
|
1611
|
+
keyword: z31.string()
|
1585
1612
|
}).partial(),
|
1586
1613
|
response: {
|
1587
|
-
page:
|
1588
|
-
pageSize:
|
1589
|
-
total:
|
1590
|
-
lastPage:
|
1591
|
-
data:
|
1614
|
+
page: z31.number(),
|
1615
|
+
pageSize: z31.number(),
|
1616
|
+
total: z31.number(),
|
1617
|
+
lastPage: z31.number(),
|
1618
|
+
data: z31.array(ContactSchema)
|
1592
1619
|
}
|
1593
1620
|
},
|
1594
1621
|
addAttachments: {
|
1595
|
-
request:
|
1596
|
-
attributeId:
|
1597
|
-
attachments:
|
1598
|
-
|
1599
|
-
bucketName:
|
1600
|
-
fileKey:
|
1601
|
-
fileName:
|
1602
|
-
fileSize:
|
1622
|
+
request: z31.object({
|
1623
|
+
attributeId: z31.string().uuid(),
|
1624
|
+
attachments: z31.array(
|
1625
|
+
z31.object({
|
1626
|
+
bucketName: z31.string(),
|
1627
|
+
fileKey: z31.string(),
|
1628
|
+
fileName: z31.string(),
|
1629
|
+
fileSize: z31.coerce.number()
|
1603
1630
|
})
|
1604
1631
|
).optional()
|
1605
1632
|
}),
|
@@ -1617,14 +1644,14 @@ var contactContract = initContract7().router(
|
|
1617
1644
|
201: DefaultSuccessResponseSchema.extend({
|
1618
1645
|
message: ContactContractValidationSchema.create.response
|
1619
1646
|
}),
|
1620
|
-
400:
|
1621
|
-
message:
|
1647
|
+
400: z32.object({
|
1648
|
+
message: z32.string()
|
1622
1649
|
}),
|
1623
|
-
409:
|
1624
|
-
message:
|
1650
|
+
409: z32.object({
|
1651
|
+
message: z32.string()
|
1625
1652
|
}),
|
1626
|
-
500:
|
1627
|
-
message:
|
1653
|
+
500: z32.object({
|
1654
|
+
message: z32.string()
|
1628
1655
|
}),
|
1629
1656
|
401: DefaultUnauthorizedSchema,
|
1630
1657
|
404: DefaultNotFoundSchema,
|
@@ -1641,14 +1668,14 @@ var contactContract = initContract7().router(
|
|
1641
1668
|
200: DefaultSuccessResponseSchema.extend(
|
1642
1669
|
ContactContractValidationSchema.getAll.response
|
1643
1670
|
),
|
1644
|
-
400:
|
1645
|
-
message:
|
1671
|
+
400: z32.object({
|
1672
|
+
message: z32.string()
|
1646
1673
|
}),
|
1647
|
-
409:
|
1648
|
-
message:
|
1674
|
+
409: z32.object({
|
1675
|
+
message: z32.string()
|
1649
1676
|
}),
|
1650
|
-
500:
|
1651
|
-
message:
|
1677
|
+
500: z32.object({
|
1678
|
+
message: z32.string()
|
1652
1679
|
}),
|
1653
1680
|
401: DefaultUnauthorizedSchema,
|
1654
1681
|
404: DefaultNotFoundSchema,
|
@@ -1664,14 +1691,14 @@ var contactContract = initContract7().router(
|
|
1664
1691
|
200: DefaultSuccessResponseSchema.extend(
|
1665
1692
|
ContactContractValidationSchema.filterContacts.response
|
1666
1693
|
),
|
1667
|
-
400:
|
1668
|
-
message:
|
1694
|
+
400: z32.object({
|
1695
|
+
message: z32.string()
|
1669
1696
|
}),
|
1670
|
-
409:
|
1671
|
-
message:
|
1697
|
+
409: z32.object({
|
1698
|
+
message: z32.string()
|
1672
1699
|
}),
|
1673
|
-
500:
|
1674
|
-
message:
|
1700
|
+
500: z32.object({
|
1701
|
+
message: z32.string()
|
1675
1702
|
}),
|
1676
1703
|
401: DefaultUnauthorizedSchema,
|
1677
1704
|
404: DefaultNotFoundSchema,
|
@@ -1687,14 +1714,14 @@ var contactContract = initContract7().router(
|
|
1687
1714
|
200: DefaultSuccessResponseSchema.extend({
|
1688
1715
|
data: ContactContractValidationSchema.getById.response
|
1689
1716
|
}),
|
1690
|
-
400:
|
1691
|
-
message:
|
1717
|
+
400: z32.object({
|
1718
|
+
message: z32.string()
|
1692
1719
|
}),
|
1693
|
-
409:
|
1694
|
-
message:
|
1720
|
+
409: z32.object({
|
1721
|
+
message: z32.string()
|
1695
1722
|
}),
|
1696
|
-
500:
|
1697
|
-
message:
|
1723
|
+
500: z32.object({
|
1724
|
+
message: z32.string()
|
1698
1725
|
}),
|
1699
1726
|
401: DefaultUnauthorizedSchema,
|
1700
1727
|
404: DefaultNotFoundSchema,
|
@@ -1711,14 +1738,14 @@ var contactContract = initContract7().router(
|
|
1711
1738
|
200: DefaultSuccessResponseSchema.extend({
|
1712
1739
|
message: ContactContractValidationSchema.delete.response
|
1713
1740
|
}),
|
1714
|
-
400:
|
1715
|
-
message:
|
1741
|
+
400: z32.object({
|
1742
|
+
message: z32.string()
|
1716
1743
|
}),
|
1717
|
-
409:
|
1718
|
-
message:
|
1744
|
+
409: z32.object({
|
1745
|
+
message: z32.string()
|
1719
1746
|
}),
|
1720
|
-
500:
|
1721
|
-
message:
|
1747
|
+
500: z32.object({
|
1748
|
+
message: z32.string()
|
1722
1749
|
}),
|
1723
1750
|
401: DefaultUnauthorizedSchema,
|
1724
1751
|
404: DefaultNotFoundSchema,
|
@@ -1734,14 +1761,14 @@ var contactContract = initContract7().router(
|
|
1734
1761
|
201: DefaultSuccessResponseSchema.extend({
|
1735
1762
|
data: ContactContractValidationSchema.createContactByPhone.response
|
1736
1763
|
}),
|
1737
|
-
400:
|
1738
|
-
message:
|
1764
|
+
400: z32.object({
|
1765
|
+
message: z32.string()
|
1739
1766
|
}),
|
1740
|
-
409:
|
1741
|
-
message:
|
1767
|
+
409: z32.object({
|
1768
|
+
message: z32.string()
|
1742
1769
|
}),
|
1743
|
-
500:
|
1744
|
-
message:
|
1770
|
+
500: z32.object({
|
1771
|
+
message: z32.string()
|
1745
1772
|
}),
|
1746
1773
|
401: DefaultUnauthorizedSchema,
|
1747
1774
|
404: DefaultNotFoundSchema,
|
@@ -1757,14 +1784,14 @@ var contactContract = initContract7().router(
|
|
1757
1784
|
201: DefaultSuccessResponseSchema.extend({
|
1758
1785
|
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1759
1786
|
}),
|
1760
|
-
400:
|
1761
|
-
message:
|
1787
|
+
400: z32.object({
|
1788
|
+
message: z32.string()
|
1762
1789
|
}),
|
1763
|
-
409:
|
1764
|
-
message:
|
1790
|
+
409: z32.object({
|
1791
|
+
message: z32.string()
|
1765
1792
|
}),
|
1766
|
-
500:
|
1767
|
-
message:
|
1793
|
+
500: z32.object({
|
1794
|
+
message: z32.string()
|
1768
1795
|
}),
|
1769
1796
|
401: DefaultUnauthorizedSchema,
|
1770
1797
|
404: DefaultNotFoundSchema,
|
@@ -1780,14 +1807,14 @@ var contactContract = initContract7().router(
|
|
1780
1807
|
200: DefaultSuccessResponseSchema.extend({
|
1781
1808
|
data: ContactContractValidationSchema.merge.response
|
1782
1809
|
}),
|
1783
|
-
400:
|
1784
|
-
message:
|
1810
|
+
400: z32.object({
|
1811
|
+
message: z32.string()
|
1785
1812
|
}),
|
1786
|
-
409:
|
1787
|
-
message:
|
1813
|
+
409: z32.object({
|
1814
|
+
message: z32.string()
|
1788
1815
|
}),
|
1789
|
-
500:
|
1790
|
-
message:
|
1816
|
+
500: z32.object({
|
1817
|
+
message: z32.string()
|
1791
1818
|
}),
|
1792
1819
|
401: DefaultUnauthorizedSchema,
|
1793
1820
|
404: DefaultNotFoundSchema,
|
@@ -1803,14 +1830,14 @@ var contactContract = initContract7().router(
|
|
1803
1830
|
200: DefaultSuccessResponseSchema.extend({
|
1804
1831
|
existed: ContactContractValidationSchema.checkContactPhone.response
|
1805
1832
|
}),
|
1806
|
-
400:
|
1807
|
-
message:
|
1833
|
+
400: z32.object({
|
1834
|
+
message: z32.string()
|
1808
1835
|
}),
|
1809
|
-
409:
|
1810
|
-
message:
|
1836
|
+
409: z32.object({
|
1837
|
+
message: z32.string()
|
1811
1838
|
}),
|
1812
|
-
500:
|
1813
|
-
message:
|
1839
|
+
500: z32.object({
|
1840
|
+
message: z32.string()
|
1814
1841
|
}),
|
1815
1842
|
401: DefaultUnauthorizedSchema,
|
1816
1843
|
404: DefaultNotFoundSchema,
|
@@ -1826,14 +1853,14 @@ var contactContract = initContract7().router(
|
|
1826
1853
|
200: DefaultSuccessResponseSchema.extend({
|
1827
1854
|
existed: ContactContractValidationSchema.checkContactEmail.response
|
1828
1855
|
}),
|
1829
|
-
400:
|
1830
|
-
message:
|
1856
|
+
400: z32.object({
|
1857
|
+
message: z32.string()
|
1831
1858
|
}),
|
1832
|
-
409:
|
1833
|
-
message:
|
1859
|
+
409: z32.object({
|
1860
|
+
message: z32.string()
|
1834
1861
|
}),
|
1835
|
-
500:
|
1836
|
-
message:
|
1862
|
+
500: z32.object({
|
1863
|
+
message: z32.string()
|
1837
1864
|
}),
|
1838
1865
|
401: DefaultUnauthorizedSchema,
|
1839
1866
|
404: DefaultNotFoundSchema,
|
@@ -1845,21 +1872,21 @@ var contactContract = initContract7().router(
|
|
1845
1872
|
addAttachments: {
|
1846
1873
|
method: "POST",
|
1847
1874
|
path: "/:id/attachments",
|
1848
|
-
pathParams:
|
1849
|
-
id:
|
1875
|
+
pathParams: z32.object({
|
1876
|
+
id: z32.string().uuid()
|
1850
1877
|
}),
|
1851
1878
|
responses: {
|
1852
1879
|
201: DefaultSuccessResponseSchema.extend({
|
1853
1880
|
message: ContactContractValidationSchema.addAttachments.response
|
1854
1881
|
}),
|
1855
|
-
400:
|
1856
|
-
message:
|
1882
|
+
400: z32.object({
|
1883
|
+
message: z32.string()
|
1857
1884
|
}),
|
1858
|
-
409:
|
1859
|
-
message:
|
1885
|
+
409: z32.object({
|
1886
|
+
message: z32.string()
|
1860
1887
|
}),
|
1861
|
-
500:
|
1862
|
-
message:
|
1888
|
+
500: z32.object({
|
1889
|
+
message: z32.string()
|
1863
1890
|
}),
|
1864
1891
|
401: DefaultUnauthorizedSchema,
|
1865
1892
|
404: DefaultNotFoundSchema,
|
@@ -1876,14 +1903,14 @@ var contactContract = initContract7().router(
|
|
1876
1903
|
200: DefaultSuccessResponseSchema.extend({
|
1877
1904
|
data: ContactContractValidationSchema.getById.response
|
1878
1905
|
}),
|
1879
|
-
400:
|
1880
|
-
message:
|
1906
|
+
400: z32.object({
|
1907
|
+
message: z32.string()
|
1881
1908
|
}),
|
1882
|
-
409:
|
1883
|
-
message:
|
1909
|
+
409: z32.object({
|
1910
|
+
message: z32.string()
|
1884
1911
|
}),
|
1885
|
-
500:
|
1886
|
-
message:
|
1912
|
+
500: z32.object({
|
1913
|
+
message: z32.string()
|
1887
1914
|
}),
|
1888
1915
|
401: DefaultUnauthorizedSchema,
|
1889
1916
|
404: DefaultNotFoundSchema,
|
@@ -1900,63 +1927,63 @@ var contactContract = initContract7().router(
|
|
1900
1927
|
|
1901
1928
|
// src/ticket/index.ts
|
1902
1929
|
import { initContract as initContract8 } from "@ts-rest/core";
|
1903
|
-
import
|
1930
|
+
import z35 from "zod";
|
1904
1931
|
|
1905
1932
|
// src/ticket/schema.ts
|
1906
|
-
import
|
1933
|
+
import z33 from "zod";
|
1907
1934
|
var TicketCustomFieldSchema = DefaultEntitySchema.extend({
|
1908
|
-
textValue:
|
1909
|
-
booleanValue:
|
1910
|
-
numberValue:
|
1911
|
-
dateValue:
|
1935
|
+
textValue: z33.string().nullable(),
|
1936
|
+
booleanValue: z33.boolean().nullable(),
|
1937
|
+
numberValue: z33.coerce.number().nullable(),
|
1938
|
+
dateValue: z33.date().nullable(),
|
1912
1939
|
attribute: AttributeSchema.omit({ options: true, group: true }),
|
1913
|
-
uploads:
|
1914
|
-
});
|
1915
|
-
var TicketEntityTypesSchema =
|
1916
|
-
id:
|
1917
|
-
createdAt:
|
1918
|
-
updatedAt:
|
1919
|
-
deletedAt:
|
1920
|
-
entity:
|
1921
|
-
description:
|
1922
|
-
});
|
1923
|
-
var TicketActivitySchema =
|
1924
|
-
id:
|
1925
|
-
createdAt:
|
1926
|
-
updatedAt:
|
1927
|
-
deletedAt:
|
1928
|
-
entityId:
|
1929
|
-
description:
|
1940
|
+
uploads: z33.array(UploadSchema)
|
1941
|
+
});
|
1942
|
+
var TicketEntityTypesSchema = z33.object({
|
1943
|
+
id: z33.string().uuid(),
|
1944
|
+
createdAt: z33.date(),
|
1945
|
+
updatedAt: z33.date(),
|
1946
|
+
deletedAt: z33.date().nullable(),
|
1947
|
+
entity: z33.string(),
|
1948
|
+
description: z33.string().nullable()
|
1949
|
+
});
|
1950
|
+
var TicketActivitySchema = z33.object({
|
1951
|
+
id: z33.string().uuid(),
|
1952
|
+
createdAt: z33.date(),
|
1953
|
+
updatedAt: z33.date(),
|
1954
|
+
deletedAt: z33.date().nullable(),
|
1955
|
+
entityId: z33.string(),
|
1956
|
+
description: z33.string(),
|
1930
1957
|
entityType: TicketEntityTypesSchema
|
1931
1958
|
});
|
1932
1959
|
var TicketSchema = DefaultEntitySchema.extend({
|
1933
|
-
title:
|
1934
|
-
description:
|
1935
|
-
type:
|
1936
|
-
channel:
|
1937
|
-
priority:
|
1938
|
-
status:
|
1939
|
-
contactId:
|
1940
|
-
creatorId:
|
1941
|
-
assigneeId:
|
1960
|
+
title: z33.string(),
|
1961
|
+
description: z33.string().nullable(),
|
1962
|
+
type: z33.string(),
|
1963
|
+
channel: z33.string(),
|
1964
|
+
priority: z33.string(),
|
1965
|
+
status: z33.string(),
|
1966
|
+
contactId: z33.string().uuid(),
|
1967
|
+
creatorId: z33.string().uuid(),
|
1968
|
+
assigneeId: z33.string().uuid(),
|
1942
1969
|
assignee: UserSchema,
|
1943
|
-
reasonToAssign:
|
1944
|
-
ticketNumber:
|
1945
|
-
customFields:
|
1946
|
-
tags:
|
1947
|
-
categories:
|
1970
|
+
reasonToAssign: z33.string().nullable(),
|
1971
|
+
ticketNumber: z33.coerce.number().optional(),
|
1972
|
+
customFields: z33.array(TicketCustomFieldSchema),
|
1973
|
+
tags: z33.array(TagSchema),
|
1974
|
+
categories: z33.array(CategorySchema),
|
1948
1975
|
contact: ContactSchema
|
1949
1976
|
});
|
1950
|
-
var TicketCountByContactSchema =
|
1951
|
-
total:
|
1952
|
-
open:
|
1953
|
-
pending:
|
1954
|
-
closed:
|
1955
|
-
solved:
|
1977
|
+
var TicketCountByContactSchema = z33.object({
|
1978
|
+
total: z33.coerce.number(),
|
1979
|
+
open: z33.coerce.number(),
|
1980
|
+
pending: z33.coerce.number(),
|
1981
|
+
closed: z33.coerce.number(),
|
1982
|
+
solved: z33.coerce.number()
|
1956
1983
|
});
|
1957
1984
|
|
1958
1985
|
// src/ticket/validation.ts
|
1959
|
-
import
|
1986
|
+
import z34 from "zod";
|
1960
1987
|
var addErrorMessage = (field) => {
|
1961
1988
|
return field.refine(
|
1962
1989
|
({ isRequired, value }) => {
|
@@ -1974,106 +2001,106 @@ var addErrorMessage = (field) => {
|
|
1974
2001
|
}
|
1975
2002
|
);
|
1976
2003
|
};
|
1977
|
-
var BaseSchema2 =
|
1978
|
-
isRequired:
|
1979
|
-
attributeId:
|
2004
|
+
var BaseSchema2 = z34.object({
|
2005
|
+
isRequired: z34.boolean(),
|
2006
|
+
attributeId: z34.string()
|
1980
2007
|
});
|
1981
2008
|
var SingleValue2 = addErrorMessage(
|
1982
2009
|
BaseSchema2.extend({
|
1983
|
-
value:
|
2010
|
+
value: z34.string()
|
1984
2011
|
})
|
1985
2012
|
);
|
1986
|
-
var CreateTicketValidationSchema =
|
2013
|
+
var CreateTicketValidationSchema = z34.object({
|
1987
2014
|
title: SingleValue2,
|
1988
2015
|
description: SingleValue2,
|
1989
2016
|
status: SingleValue2,
|
1990
2017
|
type: SingleValue2,
|
1991
2018
|
priority: SingleValue2,
|
1992
2019
|
contact: SingleValue2,
|
1993
|
-
assignee:
|
1994
|
-
isRequired:
|
1995
|
-
attributeId:
|
1996
|
-
value:
|
2020
|
+
assignee: z34.object({
|
2021
|
+
isRequired: z34.boolean(),
|
2022
|
+
attributeId: z34.string(),
|
2023
|
+
value: z34.string()
|
1997
2024
|
}),
|
1998
2025
|
channel: SingleValue2,
|
1999
|
-
tags: addErrorMessage(BaseSchema2.extend({ value:
|
2000
|
-
categories: BaseSchema2.extend({ value:
|
2001
|
-
customFields:
|
2026
|
+
tags: addErrorMessage(BaseSchema2.extend({ value: z34.array(z34.string()) })),
|
2027
|
+
categories: BaseSchema2.extend({ value: z34.array(z34.string()) }),
|
2028
|
+
customFields: z34.array(
|
2002
2029
|
addErrorMessage(
|
2003
2030
|
BaseSchema2.extend({
|
2004
|
-
value:
|
2005
|
-
type:
|
2006
|
-
isDefaultAttribute:
|
2031
|
+
value: z34.union([z34.string(), z34.array(z34.string())]),
|
2032
|
+
type: z34.string(),
|
2033
|
+
isDefaultAttribute: z34.boolean()
|
2007
2034
|
})
|
2008
2035
|
)
|
2009
2036
|
),
|
2010
|
-
reasonToAssign:
|
2037
|
+
reasonToAssign: z34.object({ value: z34.string() }).optional()
|
2011
2038
|
});
|
2012
2039
|
var UpdateTicketValidationSchema = CreateTicketValidationSchema;
|
2013
|
-
var TicketAttachmentRecordSchema =
|
2014
|
-
bucketName:
|
2015
|
-
fileKey:
|
2016
|
-
fileName:
|
2017
|
-
fileSize:
|
2018
|
-
url:
|
2019
|
-
});
|
2020
|
-
var CreateTicketAttachmentRecordsSchema =
|
2021
|
-
ticketId:
|
2022
|
-
attributeId:
|
2023
|
-
ticketAttachmentRecords:
|
2024
|
-
});
|
2025
|
-
var TicketParamsSchema =
|
2026
|
-
page:
|
2027
|
-
pageSize:
|
2028
|
-
});
|
2029
|
-
var CustomFieldQuery =
|
2030
|
-
attributeId:
|
2031
|
-
type:
|
2032
|
-
value:
|
2033
|
-
});
|
2034
|
-
var GetAllTicketQuerySchema =
|
2035
|
-
page:
|
2036
|
-
pageSize:
|
2037
|
-
agent:
|
2038
|
-
selectedDate:
|
2039
|
-
keyword:
|
2040
|
-
title:
|
2041
|
-
description:
|
2042
|
-
status:
|
2043
|
-
priority:
|
2044
|
-
channel:
|
2045
|
-
type:
|
2046
|
-
ticketType:
|
2047
|
-
contact:
|
2048
|
-
tags:
|
2049
|
-
categories:
|
2050
|
-
customFields:
|
2051
|
-
|
2052
|
-
attributeId:
|
2053
|
-
type:
|
2054
|
-
value:
|
2040
|
+
var TicketAttachmentRecordSchema = z34.object({
|
2041
|
+
bucketName: z34.string(),
|
2042
|
+
fileKey: z34.string(),
|
2043
|
+
fileName: z34.string(),
|
2044
|
+
fileSize: z34.coerce.number(),
|
2045
|
+
url: z34.string()
|
2046
|
+
});
|
2047
|
+
var CreateTicketAttachmentRecordsSchema = z34.object({
|
2048
|
+
ticketId: z34.string(),
|
2049
|
+
attributeId: z34.string(),
|
2050
|
+
ticketAttachmentRecords: z34.array(TicketAttachmentRecordSchema)
|
2051
|
+
});
|
2052
|
+
var TicketParamsSchema = z34.object({
|
2053
|
+
page: z34.coerce.number().default(1),
|
2054
|
+
pageSize: z34.coerce.number().default(10)
|
2055
|
+
});
|
2056
|
+
var CustomFieldQuery = z34.object({
|
2057
|
+
attributeId: z34.string(),
|
2058
|
+
type: z34.string(),
|
2059
|
+
value: z34.union([z34.string(), z34.array(z34.string())])
|
2060
|
+
});
|
2061
|
+
var GetAllTicketQuerySchema = z34.object({
|
2062
|
+
page: z34.string().transform((value) => Number(value)),
|
2063
|
+
pageSize: z34.string().transform((value) => Number(value)),
|
2064
|
+
agent: z34.array(z34.string()),
|
2065
|
+
selectedDate: z34.string(),
|
2066
|
+
keyword: z34.string(),
|
2067
|
+
title: z34.string(),
|
2068
|
+
description: z34.string(),
|
2069
|
+
status: z34.array(z34.string()),
|
2070
|
+
priority: z34.array(z34.string()),
|
2071
|
+
channel: z34.array(z34.string()),
|
2072
|
+
type: z34.array(z34.string()),
|
2073
|
+
ticketType: z34.array(z34.string()),
|
2074
|
+
contact: z34.array(z34.string()),
|
2075
|
+
tags: z34.array(z34.string()),
|
2076
|
+
categories: z34.array(z34.string()),
|
2077
|
+
customFields: z34.array(
|
2078
|
+
z34.object({
|
2079
|
+
attributeId: z34.string().uuid(),
|
2080
|
+
type: z34.string(),
|
2081
|
+
value: z34.union([z34.string(), z34.array(z34.string())])
|
2055
2082
|
})
|
2056
2083
|
)
|
2057
2084
|
}).partial();
|
2058
|
-
var ExportAllTicketQuerySchema =
|
2059
|
-
agent:
|
2060
|
-
selectedDate:
|
2061
|
-
keyword:
|
2062
|
-
title:
|
2063
|
-
description:
|
2064
|
-
status:
|
2065
|
-
priority:
|
2066
|
-
channel:
|
2067
|
-
type:
|
2068
|
-
ticketType:
|
2069
|
-
contact:
|
2070
|
-
tags:
|
2071
|
-
categories:
|
2072
|
-
customFields:
|
2073
|
-
|
2074
|
-
attributeId:
|
2075
|
-
type:
|
2076
|
-
value:
|
2085
|
+
var ExportAllTicketQuerySchema = z34.object({
|
2086
|
+
agent: z34.array(z34.string()),
|
2087
|
+
selectedDate: z34.string(),
|
2088
|
+
keyword: z34.string(),
|
2089
|
+
title: z34.string(),
|
2090
|
+
description: z34.string(),
|
2091
|
+
status: z34.array(z34.string()),
|
2092
|
+
priority: z34.array(z34.string()),
|
2093
|
+
channel: z34.array(z34.string()),
|
2094
|
+
type: z34.array(z34.string()),
|
2095
|
+
ticketType: z34.array(z34.string()),
|
2096
|
+
contact: z34.array(z34.string()),
|
2097
|
+
tags: z34.array(z34.string()),
|
2098
|
+
categories: z34.array(z34.string()),
|
2099
|
+
customFields: z34.array(
|
2100
|
+
z34.object({
|
2101
|
+
attributeId: z34.string().uuid(),
|
2102
|
+
type: z34.string(),
|
2103
|
+
value: z34.union([z34.string(), z34.array(z34.string())])
|
2077
2104
|
})
|
2078
2105
|
)
|
2079
2106
|
}).partial();
|
@@ -2089,14 +2116,14 @@ var ticketContract = initContract8().router(
|
|
2089
2116
|
201: DefaultSuccessResponseSchema.extend({
|
2090
2117
|
data: TicketSchema
|
2091
2118
|
}),
|
2092
|
-
400:
|
2093
|
-
message:
|
2119
|
+
400: z35.object({
|
2120
|
+
message: z35.string()
|
2094
2121
|
}),
|
2095
|
-
409:
|
2096
|
-
message:
|
2122
|
+
409: z35.object({
|
2123
|
+
message: z35.string()
|
2097
2124
|
}),
|
2098
|
-
500:
|
2099
|
-
message:
|
2125
|
+
500: z35.object({
|
2126
|
+
message: z35.string()
|
2100
2127
|
}),
|
2101
2128
|
401: DefaultUnauthorizedSchema,
|
2102
2129
|
404: DefaultNotFoundSchema,
|
@@ -2117,8 +2144,8 @@ var ticketContract = initContract8().router(
|
|
2117
2144
|
TicketSchema
|
2118
2145
|
)
|
2119
2146
|
}),
|
2120
|
-
400:
|
2121
|
-
message:
|
2147
|
+
400: z35.object({
|
2148
|
+
message: z35.string()
|
2122
2149
|
}),
|
2123
2150
|
401: DefaultUnauthorizedSchema,
|
2124
2151
|
500: DefaultErrorResponseSchema
|
@@ -2128,14 +2155,14 @@ var ticketContract = initContract8().router(
|
|
2128
2155
|
getTicketById: {
|
2129
2156
|
method: "GET",
|
2130
2157
|
path: "/:id",
|
2131
|
-
pathParams:
|
2158
|
+
pathParams: z35.object({ id: z35.string() }),
|
2132
2159
|
headers: DefaultHeaderSchema,
|
2133
2160
|
responses: {
|
2134
2161
|
200: DefaultSuccessResponseSchema.extend({
|
2135
2162
|
data: TicketSchema
|
2136
2163
|
}),
|
2137
|
-
400:
|
2138
|
-
message:
|
2164
|
+
400: z35.object({
|
2165
|
+
message: z35.string()
|
2139
2166
|
}),
|
2140
2167
|
401: DefaultUnauthorizedSchema,
|
2141
2168
|
500: DefaultErrorResponseSchema
|
@@ -2145,15 +2172,15 @@ var ticketContract = initContract8().router(
|
|
2145
2172
|
getTicketByContactId: {
|
2146
2173
|
method: "GET",
|
2147
2174
|
path: "/contact/:id",
|
2148
|
-
pathParams:
|
2175
|
+
pathParams: z35.object({ id: z35.string() }),
|
2149
2176
|
query: TicketParamsSchema,
|
2150
2177
|
headers: DefaultHeaderSchema,
|
2151
2178
|
responses: {
|
2152
2179
|
200: DefaultSuccessResponseSchema.extend({
|
2153
2180
|
data: WithPagination(TicketSchema)
|
2154
2181
|
}),
|
2155
|
-
400:
|
2156
|
-
message:
|
2182
|
+
400: z35.object({
|
2183
|
+
message: z35.string()
|
2157
2184
|
}),
|
2158
2185
|
401: DefaultUnauthorizedSchema,
|
2159
2186
|
500: DefaultErrorResponseSchema
|
@@ -2163,21 +2190,21 @@ var ticketContract = initContract8().router(
|
|
2163
2190
|
updateTicket: {
|
2164
2191
|
method: "PATCH",
|
2165
2192
|
path: "/:id",
|
2166
|
-
pathParams:
|
2193
|
+
pathParams: z35.object({ id: z35.string() }),
|
2167
2194
|
body: UpdateTicketValidationSchema,
|
2168
2195
|
headers: DefaultHeaderSchema,
|
2169
2196
|
responses: {
|
2170
2197
|
201: DefaultSuccessResponseSchema.extend({
|
2171
2198
|
message: TicketSchema
|
2172
2199
|
}),
|
2173
|
-
400:
|
2174
|
-
message:
|
2200
|
+
400: z35.object({
|
2201
|
+
message: z35.string()
|
2175
2202
|
}),
|
2176
|
-
409:
|
2177
|
-
message:
|
2203
|
+
409: z35.object({
|
2204
|
+
message: z35.string()
|
2178
2205
|
}),
|
2179
|
-
500:
|
2180
|
-
message:
|
2206
|
+
500: z35.object({
|
2207
|
+
message: z35.string()
|
2181
2208
|
}),
|
2182
2209
|
401: DefaultUnauthorizedSchema,
|
2183
2210
|
404: DefaultNotFoundSchema,
|
@@ -2188,11 +2215,11 @@ var ticketContract = initContract8().router(
|
|
2188
2215
|
deleteTicket: {
|
2189
2216
|
method: "DELETE",
|
2190
2217
|
path: "/:id",
|
2191
|
-
pathParams:
|
2218
|
+
pathParams: z35.object({ id: z35.string() }),
|
2192
2219
|
headers: DefaultHeaderSchema,
|
2193
2220
|
body: null,
|
2194
2221
|
responses: {
|
2195
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2222
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2196
2223
|
500: DefaultErrorResponseSchema
|
2197
2224
|
},
|
2198
2225
|
summary: "Delete a extension."
|
@@ -2200,19 +2227,19 @@ var ticketContract = initContract8().router(
|
|
2200
2227
|
updateDescription: {
|
2201
2228
|
method: "PATCH",
|
2202
2229
|
path: "/description/update/:id",
|
2203
|
-
pathParams:
|
2204
|
-
body:
|
2230
|
+
pathParams: z35.object({ id: z35.string() }),
|
2231
|
+
body: z35.object({ description: z35.string() }),
|
2205
2232
|
headers: DefaultHeaderSchema,
|
2206
2233
|
responses: {
|
2207
|
-
201: DefaultSuccessResponseSchema.extend({ message:
|
2208
|
-
400:
|
2209
|
-
message:
|
2234
|
+
201: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2235
|
+
400: z35.object({
|
2236
|
+
message: z35.string()
|
2210
2237
|
}),
|
2211
|
-
409:
|
2212
|
-
message:
|
2238
|
+
409: z35.object({
|
2239
|
+
message: z35.string()
|
2213
2240
|
}),
|
2214
|
-
500:
|
2215
|
-
message:
|
2241
|
+
500: z35.object({
|
2242
|
+
message: z35.string()
|
2216
2243
|
}),
|
2217
2244
|
401: DefaultUnauthorizedSchema,
|
2218
2245
|
404: DefaultNotFoundSchema,
|
@@ -2223,19 +2250,19 @@ var ticketContract = initContract8().router(
|
|
2223
2250
|
updateTitle: {
|
2224
2251
|
method: "PATCH",
|
2225
2252
|
path: "/title/update/:id",
|
2226
|
-
pathParams:
|
2227
|
-
body:
|
2253
|
+
pathParams: z35.object({ id: z35.string() }),
|
2254
|
+
body: z35.object({ title: z35.string() }),
|
2228
2255
|
headers: DefaultHeaderSchema,
|
2229
2256
|
responses: {
|
2230
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2231
|
-
400:
|
2232
|
-
message:
|
2257
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2258
|
+
400: z35.object({
|
2259
|
+
message: z35.string()
|
2233
2260
|
}),
|
2234
|
-
409:
|
2235
|
-
message:
|
2261
|
+
409: z35.object({
|
2262
|
+
message: z35.string()
|
2236
2263
|
}),
|
2237
|
-
500:
|
2238
|
-
message:
|
2264
|
+
500: z35.object({
|
2265
|
+
message: z35.string()
|
2239
2266
|
}),
|
2240
2267
|
401: DefaultUnauthorizedSchema,
|
2241
2268
|
404: DefaultNotFoundSchema,
|
@@ -2246,19 +2273,19 @@ var ticketContract = initContract8().router(
|
|
2246
2273
|
updateType: {
|
2247
2274
|
method: "PATCH",
|
2248
2275
|
path: "/type/update/:id",
|
2249
|
-
pathParams:
|
2250
|
-
body:
|
2276
|
+
pathParams: z35.object({ id: z35.string() }),
|
2277
|
+
body: z35.object({ type: z35.string() }),
|
2251
2278
|
headers: DefaultHeaderSchema,
|
2252
2279
|
responses: {
|
2253
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2254
|
-
400:
|
2255
|
-
message:
|
2280
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2281
|
+
400: z35.object({
|
2282
|
+
message: z35.string()
|
2256
2283
|
}),
|
2257
|
-
409:
|
2258
|
-
message:
|
2284
|
+
409: z35.object({
|
2285
|
+
message: z35.string()
|
2259
2286
|
}),
|
2260
|
-
500:
|
2261
|
-
message:
|
2287
|
+
500: z35.object({
|
2288
|
+
message: z35.string()
|
2262
2289
|
}),
|
2263
2290
|
401: DefaultUnauthorizedSchema,
|
2264
2291
|
404: DefaultNotFoundSchema,
|
@@ -2269,19 +2296,19 @@ var ticketContract = initContract8().router(
|
|
2269
2296
|
updateStatus: {
|
2270
2297
|
method: "PATCH",
|
2271
2298
|
path: "/status/update/:id",
|
2272
|
-
pathParams:
|
2273
|
-
body:
|
2299
|
+
pathParams: z35.object({ id: z35.string() }),
|
2300
|
+
body: z35.object({ status: z35.string() }),
|
2274
2301
|
headers: DefaultHeaderSchema,
|
2275
2302
|
responses: {
|
2276
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2277
|
-
400:
|
2278
|
-
message:
|
2303
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2304
|
+
400: z35.object({
|
2305
|
+
message: z35.string()
|
2279
2306
|
}),
|
2280
|
-
409:
|
2281
|
-
message:
|
2307
|
+
409: z35.object({
|
2308
|
+
message: z35.string()
|
2282
2309
|
}),
|
2283
|
-
500:
|
2284
|
-
message:
|
2310
|
+
500: z35.object({
|
2311
|
+
message: z35.string()
|
2285
2312
|
}),
|
2286
2313
|
401: DefaultUnauthorizedSchema,
|
2287
2314
|
404: DefaultNotFoundSchema,
|
@@ -2292,19 +2319,19 @@ var ticketContract = initContract8().router(
|
|
2292
2319
|
updatePriority: {
|
2293
2320
|
method: "PATCH",
|
2294
2321
|
path: "/priority/update/:id",
|
2295
|
-
pathParams:
|
2296
|
-
body:
|
2322
|
+
pathParams: z35.object({ id: z35.string() }),
|
2323
|
+
body: z35.object({ priority: z35.string() }),
|
2297
2324
|
headers: DefaultHeaderSchema,
|
2298
2325
|
responses: {
|
2299
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2300
|
-
400:
|
2301
|
-
message:
|
2326
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2327
|
+
400: z35.object({
|
2328
|
+
message: z35.string()
|
2302
2329
|
}),
|
2303
|
-
409:
|
2304
|
-
message:
|
2330
|
+
409: z35.object({
|
2331
|
+
message: z35.string()
|
2305
2332
|
}),
|
2306
|
-
500:
|
2307
|
-
message:
|
2333
|
+
500: z35.object({
|
2334
|
+
message: z35.string()
|
2308
2335
|
}),
|
2309
2336
|
401: DefaultUnauthorizedSchema,
|
2310
2337
|
404: DefaultNotFoundSchema,
|
@@ -2315,19 +2342,19 @@ var ticketContract = initContract8().router(
|
|
2315
2342
|
updateChannel: {
|
2316
2343
|
method: "PATCH",
|
2317
2344
|
path: "/channel/update/:id",
|
2318
|
-
pathParams:
|
2319
|
-
body:
|
2345
|
+
pathParams: z35.object({ id: z35.string() }),
|
2346
|
+
body: z35.object({ channel: z35.string() }),
|
2320
2347
|
headers: DefaultHeaderSchema,
|
2321
2348
|
responses: {
|
2322
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2323
|
-
400:
|
2324
|
-
message:
|
2349
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2350
|
+
400: z35.object({
|
2351
|
+
message: z35.string()
|
2325
2352
|
}),
|
2326
|
-
409:
|
2327
|
-
message:
|
2353
|
+
409: z35.object({
|
2354
|
+
message: z35.string()
|
2328
2355
|
}),
|
2329
|
-
500:
|
2330
|
-
message:
|
2356
|
+
500: z35.object({
|
2357
|
+
message: z35.string()
|
2331
2358
|
}),
|
2332
2359
|
401: DefaultUnauthorizedSchema,
|
2333
2360
|
404: DefaultNotFoundSchema,
|
@@ -2338,19 +2365,19 @@ var ticketContract = initContract8().router(
|
|
2338
2365
|
updateTags: {
|
2339
2366
|
method: "PATCH",
|
2340
2367
|
path: "/tags/update/:id",
|
2341
|
-
pathParams:
|
2342
|
-
body:
|
2368
|
+
pathParams: z35.object({ id: z35.string() }),
|
2369
|
+
body: z35.object({ tags: z35.array(z35.string()) }),
|
2343
2370
|
headers: DefaultHeaderSchema,
|
2344
2371
|
responses: {
|
2345
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2346
|
-
400:
|
2347
|
-
message:
|
2372
|
+
200: DefaultSuccessResponseSchema.extend({ message: z35.string() }),
|
2373
|
+
400: z35.object({
|
2374
|
+
message: z35.string()
|
2348
2375
|
}),
|
2349
|
-
409:
|
2350
|
-
message:
|
2376
|
+
409: z35.object({
|
2377
|
+
message: z35.string()
|
2351
2378
|
}),
|
2352
|
-
500:
|
2353
|
-
message:
|
2379
|
+
500: z35.object({
|
2380
|
+
message: z35.string()
|
2354
2381
|
}),
|
2355
2382
|
401: DefaultUnauthorizedSchema,
|
2356
2383
|
404: DefaultNotFoundSchema,
|
@@ -2361,21 +2388,21 @@ var ticketContract = initContract8().router(
|
|
2361
2388
|
changeAssignee: {
|
2362
2389
|
method: "PATCH",
|
2363
2390
|
path: "/assignee/update/:id",
|
2364
|
-
pathParams:
|
2365
|
-
body:
|
2391
|
+
pathParams: z35.object({ id: z35.string() }),
|
2392
|
+
body: z35.object({ ticketId: z35.string(), assigneeId: z35.string() }),
|
2366
2393
|
headers: DefaultHeaderSchema,
|
2367
2394
|
responses: {
|
2368
2395
|
200: DefaultSuccessResponseSchema.extend({
|
2369
2396
|
data: TicketSchema
|
2370
2397
|
}),
|
2371
|
-
400:
|
2372
|
-
message:
|
2398
|
+
400: z35.object({
|
2399
|
+
message: z35.string()
|
2373
2400
|
}),
|
2374
|
-
409:
|
2375
|
-
message:
|
2401
|
+
409: z35.object({
|
2402
|
+
message: z35.string()
|
2376
2403
|
}),
|
2377
|
-
500:
|
2378
|
-
message:
|
2404
|
+
500: z35.object({
|
2405
|
+
message: z35.string()
|
2379
2406
|
}),
|
2380
2407
|
401: DefaultUnauthorizedSchema,
|
2381
2408
|
404: DefaultNotFoundSchema,
|
@@ -2386,14 +2413,14 @@ var ticketContract = initContract8().router(
|
|
2386
2413
|
getTicketCountByContact: {
|
2387
2414
|
method: "GET",
|
2388
2415
|
path: "/ticket_count/contact/:id",
|
2389
|
-
pathParams:
|
2416
|
+
pathParams: z35.object({ id: z35.string() }),
|
2390
2417
|
headers: DefaultHeaderSchema,
|
2391
2418
|
responses: {
|
2392
2419
|
200: DefaultSuccessResponseSchema.extend({
|
2393
2420
|
data: TicketCountByContactSchema
|
2394
2421
|
}),
|
2395
|
-
400:
|
2396
|
-
message:
|
2422
|
+
400: z35.object({
|
2423
|
+
message: z35.string()
|
2397
2424
|
}),
|
2398
2425
|
401: DefaultUnauthorizedSchema,
|
2399
2426
|
500: DefaultErrorResponseSchema
|
@@ -2409,14 +2436,14 @@ var ticketContract = initContract8().router(
|
|
2409
2436
|
201: DefaultSuccessResponseSchema.extend({
|
2410
2437
|
data: TicketCustomFieldSchema
|
2411
2438
|
}),
|
2412
|
-
400:
|
2413
|
-
message:
|
2439
|
+
400: z35.object({
|
2440
|
+
message: z35.string()
|
2414
2441
|
}),
|
2415
|
-
409:
|
2416
|
-
message:
|
2442
|
+
409: z35.object({
|
2443
|
+
message: z35.string()
|
2417
2444
|
}),
|
2418
|
-
500:
|
2419
|
-
message:
|
2445
|
+
500: z35.object({
|
2446
|
+
message: z35.string()
|
2420
2447
|
}),
|
2421
2448
|
401: DefaultUnauthorizedSchema,
|
2422
2449
|
404: DefaultNotFoundSchema,
|
@@ -2441,45 +2468,45 @@ var ticketContract = initContract8().router(
|
|
2441
2468
|
|
2442
2469
|
// src/cx-log/index.ts
|
2443
2470
|
import { initContract as initContract9 } from "@ts-rest/core";
|
2444
|
-
import
|
2471
|
+
import z37 from "zod";
|
2445
2472
|
|
2446
2473
|
// src/cx-log/validation.ts
|
2447
|
-
import
|
2448
|
-
var sentimentScoreSchema =
|
2449
|
-
|
2450
|
-
|
2474
|
+
import z36 from "zod";
|
2475
|
+
var sentimentScoreSchema = z36.union([
|
2476
|
+
z36.literal("positive"),
|
2477
|
+
z36.literal("negative")
|
2451
2478
|
]);
|
2452
|
-
var CustomFieldQueryParamsSchema =
|
2453
|
-
attributeId:
|
2454
|
-
value:
|
2455
|
-
type:
|
2479
|
+
var CustomFieldQueryParamsSchema = z36.object({
|
2480
|
+
attributeId: z36.string(),
|
2481
|
+
value: z36.union([z36.string(), z36.array(z36.string())]),
|
2482
|
+
type: z36.string().optional()
|
2456
2483
|
});
|
2457
2484
|
var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
|
2458
|
-
contactId:
|
2459
|
-
caseId:
|
2460
|
-
channelIds:
|
2461
|
-
queueId:
|
2462
|
-
agentIds:
|
2463
|
-
direction:
|
2464
|
-
disposition:
|
2465
|
-
sentimentScore:
|
2466
|
-
csatScore:
|
2467
|
-
sla:
|
2468
|
-
tags:
|
2485
|
+
contactId: z36.string().uuid(),
|
2486
|
+
caseId: z36.string(),
|
2487
|
+
channelIds: z36.array(z36.string().uuid()),
|
2488
|
+
queueId: z36.array(z36.string()),
|
2489
|
+
agentIds: z36.array(z36.string()),
|
2490
|
+
direction: z36.array(z36.union([z36.literal("inbound"), z36.literal("outbound")])),
|
2491
|
+
disposition: z36.array(z36.string()),
|
2492
|
+
sentimentScore: z36.array(sentimentScoreSchema),
|
2493
|
+
csatScore: z36.string(),
|
2494
|
+
sla: z36.array(z36.union([z36.literal("meet"), z36.literal("unmeet")])),
|
2495
|
+
tags: z36.array(z36.string()),
|
2469
2496
|
// General tags
|
2470
2497
|
// Default contact attributes
|
2471
|
-
name:
|
2472
|
-
contactLabels:
|
2473
|
-
email:
|
2474
|
-
channel:
|
2475
|
-
phone:
|
2476
|
-
notes:
|
2477
|
-
address:
|
2478
|
-
company:
|
2498
|
+
name: z36.string(),
|
2499
|
+
contactLabels: z36.array(z36.string()),
|
2500
|
+
email: z36.string(),
|
2501
|
+
channel: z36.array(z36.string()),
|
2502
|
+
phone: z36.string(),
|
2503
|
+
notes: z36.string(),
|
2504
|
+
address: z36.string(),
|
2505
|
+
company: z36.array(z36.string()),
|
2479
2506
|
// Custom fields
|
2480
|
-
customFields:
|
2507
|
+
customFields: z36.array(CustomFieldQueryParamsSchema),
|
2481
2508
|
// Date filter
|
2482
|
-
selectedDate:
|
2509
|
+
selectedDate: z36.string()
|
2483
2510
|
}).partial().optional();
|
2484
2511
|
|
2485
2512
|
// src/cx-log/index.ts
|
@@ -2490,10 +2517,10 @@ var cxLogContract = initContract9().router({
|
|
2490
2517
|
headers: DefaultHeaderSchema,
|
2491
2518
|
responses: {
|
2492
2519
|
200: DefaultSuccessResponseSchema.extend({
|
2493
|
-
total:
|
2494
|
-
page:
|
2495
|
-
pageSize:
|
2496
|
-
cxLogs:
|
2520
|
+
total: z37.number(),
|
2521
|
+
page: z37.number(),
|
2522
|
+
pageSize: z37.number(),
|
2523
|
+
cxLogs: z37.array(CxLogSchemaWithRelations)
|
2497
2524
|
}),
|
2498
2525
|
401: DefaultUnauthorizedSchema
|
2499
2526
|
},
|
@@ -2517,22 +2544,6 @@ var cxLogContract = initContract9().router({
|
|
2517
2544
|
import { initContract as initContract10 } from "@ts-rest/core";
|
2518
2545
|
import z39 from "zod";
|
2519
2546
|
|
2520
|
-
// src/extension/schema.ts
|
2521
|
-
import z37 from "zod";
|
2522
|
-
var ExtensionSchema = z37.object({
|
2523
|
-
id: z37.string().uuid(),
|
2524
|
-
createdAt: z37.date(),
|
2525
|
-
updatedAt: z37.date(),
|
2526
|
-
deletedAt: z37.date().nullable(),
|
2527
|
-
userId: z37.string().nullable(),
|
2528
|
-
sipServerUrl: z37.string(),
|
2529
|
-
sipUserName: z37.string(),
|
2530
|
-
webphoneLoginUser: z37.string(),
|
2531
|
-
extensionId: z37.coerce.number(),
|
2532
|
-
extensionName: z37.string(),
|
2533
|
-
telephonySignature: z37.string().nullable()
|
2534
|
-
});
|
2535
|
-
|
2536
2547
|
// src/extension/validation.ts
|
2537
2548
|
import { z as z38 } from "zod";
|
2538
2549
|
var CreateExtensionSchema = z38.object({
|
@@ -5014,7 +5025,7 @@ var telephonyCdrContract = initContract32().router(
|
|
5014
5025
|
total: z84.number(),
|
5015
5026
|
page: z84.number(),
|
5016
5027
|
pageSize: z84.number(),
|
5017
|
-
telephonyCdrs: z84.array(
|
5028
|
+
telephonyCdrs: z84.array(TelephonyCdrSchema)
|
5018
5029
|
}),
|
5019
5030
|
401: DefaultUnauthorizedSchema
|
5020
5031
|
},
|
@@ -5030,7 +5041,7 @@ var telephonyCdrContract = initContract32().router(
|
|
5030
5041
|
total: z84.number(),
|
5031
5042
|
page: z84.number(),
|
5032
5043
|
pageSize: z84.number(),
|
5033
|
-
telephonyCdrs: z84.array(
|
5044
|
+
telephonyCdrs: z84.array(TelephonyCdrSchema)
|
5034
5045
|
}),
|
5035
5046
|
401: DefaultUnauthorizedSchema
|
5036
5047
|
},
|