@kl1/contracts 1.0.15 → 1.0.16
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 +372 -227
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +372 -227
- package/dist/index.mjs.map +1 -1
- package/dist/src/app/index.d.ts +17 -0
- package/dist/src/app/index.d.ts.map +1 -0
- package/dist/src/call-log/schema.d.ts +2 -2
- package/dist/src/chat/index.d.ts +1437 -3140
- package/dist/src/chat/index.d.ts.map +1 -1
- package/dist/src/chat/schema.d.ts +256 -47
- package/dist/src/chat/schema.d.ts.map +1 -1
- package/dist/src/chat/validation.d.ts +5327 -92
- package/dist/src/chat/validation.d.ts.map +1 -1
- package/dist/src/contact/index.d.ts +2274 -0
- package/dist/src/contact/index.d.ts.map +1 -1
- package/dist/src/contact/validation.d.ts +2315 -0
- package/dist/src/contact/validation.d.ts.map +1 -1
- package/dist/src/contract.d.ts +17305 -11563
- package/dist/src/contract.d.ts.map +1 -1
- package/dist/src/cx-log/index.d.ts +8 -8
- package/dist/src/cx-log/schema.d.ts +4 -4
- package/dist/src/mail/mail-contract.d.ts +12 -12
- package/dist/src/mail/mail-server.d.ts +216 -0
- package/dist/src/mail/mail-server.d.ts.map +1 -0
- 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 +5232 -54
- package/dist/src/messenger/index.d.ts.map +1 -1
- package/dist/src/platform-contact/schema.d.ts +2 -2
- package/dist/src/ticket/schema.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -696,7 +696,7 @@ var channelContract = (0, import_core5.initContract)().router(
|
|
696
696
|
|
697
697
|
// src/chat/index.ts
|
698
698
|
var import_core6 = require("@ts-rest/core");
|
699
|
-
var
|
699
|
+
var import_zod25 = __toESM(require("zod"));
|
700
700
|
|
701
701
|
// src/contact/schema.ts
|
702
702
|
var import_zod20 = __toESM(require("zod"));
|
@@ -809,18 +809,38 @@ var ContactSchema = import_zod20.default.object({
|
|
809
809
|
});
|
810
810
|
|
811
811
|
// src/chat/schema.ts
|
812
|
+
var import_zod22 = __toESM(require("zod"));
|
813
|
+
|
814
|
+
// src/cx-log/schema.ts
|
812
815
|
var import_zod21 = __toESM(require("zod"));
|
813
|
-
var
|
816
|
+
var CxLogSchema = DefaultEntitySchema.extend({
|
817
|
+
caseId: import_zod21.default.number(),
|
818
|
+
entityId: import_zod21.default.string().uuid(),
|
819
|
+
entityName: import_zod21.default.string(),
|
820
|
+
contactId: import_zod21.default.string().uuid().nullable(),
|
821
|
+
channel: import_zod21.default.string().nullable(),
|
822
|
+
queueId: import_zod21.default.string().uuid().nullable(),
|
823
|
+
agentId: import_zod21.default.string().uuid().nullable(),
|
824
|
+
direction: import_zod21.default.string().nullable(),
|
825
|
+
startedDate: import_zod21.default.date().nullable(),
|
826
|
+
handledTime: import_zod21.default.number().nullable(),
|
827
|
+
firstResponseTime: import_zod21.default.number().nullable(),
|
828
|
+
disposition: import_zod21.default.string().nullable()
|
829
|
+
});
|
830
|
+
|
831
|
+
// src/chat/schema.ts
|
832
|
+
var MessageDirectionTypeSchema = import_zod22.default.enum([
|
814
833
|
"incoming",
|
815
834
|
"outgoing",
|
816
835
|
"system"
|
817
836
|
]);
|
818
|
-
var MessageTypeSchema =
|
837
|
+
var MessageTypeSchema = import_zod22.default.enum([
|
819
838
|
"text",
|
820
839
|
"image",
|
821
840
|
"video",
|
822
841
|
"audio",
|
823
842
|
"file",
|
843
|
+
"imagemap",
|
824
844
|
"fallback",
|
825
845
|
"location",
|
826
846
|
"attachment",
|
@@ -834,136 +854,138 @@ var MessageTypeSchema = import_zod21.default.enum([
|
|
834
854
|
"updated",
|
835
855
|
"started"
|
836
856
|
]);
|
837
|
-
var MessageLocaleTypeSchema =
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
id: import_zod21.default.string(),
|
844
|
-
name: import_zod21.default.string(),
|
845
|
-
picture: import_zod21.default.string(),
|
846
|
-
additionalCredentials: import_zod21.default.any()
|
857
|
+
var MessageLocaleTypeSchema = import_zod22.default.enum(["mm", "en", "th"]);
|
858
|
+
var PlatformContactMetadataSchema = import_zod22.default.object({
|
859
|
+
id: import_zod22.default.string(),
|
860
|
+
name: import_zod22.default.string(),
|
861
|
+
picture: import_zod22.default.string(),
|
862
|
+
additionalCredentials: import_zod22.default.any()
|
847
863
|
});
|
848
864
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
849
|
-
channelId:
|
850
|
-
socialPlatformId:
|
851
|
-
|
865
|
+
channelId: import_zod22.default.string().uuid(),
|
866
|
+
socialPlatformId: import_zod22.default.string().uuid(),
|
867
|
+
type: ChannelTypeSchema,
|
852
868
|
metadata: PlatformContactMetadataSchema,
|
853
869
|
contact: ContactSchema
|
854
870
|
});
|
855
871
|
var RoomSchema = DefaultEntitySchema.extend({
|
856
|
-
lastMessage:
|
857
|
-
handleTime:
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
firstResponseTime:
|
862
|
-
isLatest:
|
872
|
+
lastMessage: import_zod22.default.string(),
|
873
|
+
handleTime: import_zod22.default.number(),
|
874
|
+
closeAt: import_zod22.default.date(),
|
875
|
+
unreadCount: import_zod22.default.number(),
|
876
|
+
firstResponseAt: import_zod22.default.date(),
|
877
|
+
firstResponseTime: import_zod22.default.number(),
|
878
|
+
isLatest: import_zod22.default.boolean(),
|
863
879
|
direction: MessageDirectionTypeSchema,
|
864
880
|
platformContact: PlatformContactSchema,
|
865
881
|
actor: UserSchema,
|
866
882
|
assignee: UserSchema,
|
867
|
-
channel: ChannelSchema
|
883
|
+
channel: ChannelSchema,
|
884
|
+
cxLog: CxLogSchema
|
868
885
|
});
|
869
886
|
var MessageSchema = DefaultEntitySchema.extend({
|
870
|
-
message:
|
887
|
+
message: import_zod22.default.string(),
|
871
888
|
direction: MessageDirectionTypeSchema,
|
872
889
|
type: MessageTypeSchema,
|
873
|
-
readAt:
|
874
|
-
metadata:
|
875
|
-
platformId:
|
876
|
-
platformMessageId:
|
877
|
-
replyPlatformMessageId:
|
878
|
-
template:
|
890
|
+
readAt: import_zod22.default.date(),
|
891
|
+
metadata: import_zod22.default.any(),
|
892
|
+
platformId: import_zod22.default.string(),
|
893
|
+
platformMessageId: import_zod22.default.string(),
|
894
|
+
replyPlatformMessageId: import_zod22.default.string(),
|
895
|
+
template: import_zod22.default.any(),
|
879
896
|
locale: MessageLocaleTypeSchema,
|
880
|
-
|
897
|
+
url: import_zod22.default.string(),
|
898
|
+
previewUrl: import_zod22.default.string(),
|
899
|
+
imageSetId: import_zod22.default.string(),
|
881
900
|
room: RoomSchema,
|
882
901
|
upload: UploadSchema,
|
883
902
|
actor: UserSchema,
|
884
903
|
assignee: UserSchema,
|
885
904
|
sender: UserSchema
|
886
905
|
});
|
887
|
-
var UnreadCountsByAssigneeSchema =
|
888
|
-
assigneeId:
|
889
|
-
totalUnreadCount:
|
906
|
+
var UnreadCountsByAssigneeSchema = import_zod22.default.object({
|
907
|
+
assigneeId: import_zod22.default.string(),
|
908
|
+
totalUnreadCount: import_zod22.default.number()
|
890
909
|
});
|
891
910
|
|
892
911
|
// src/chat/validation.ts
|
893
|
-
var
|
912
|
+
var import_zod24 = __toESM(require("zod"));
|
894
913
|
|
895
914
|
// src/custom-field/schema.ts
|
896
|
-
var
|
915
|
+
var import_zod23 = __toESM(require("zod"));
|
897
916
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
898
|
-
textValue:
|
899
|
-
booleanValue:
|
900
|
-
numberValue:
|
901
|
-
dateValue:
|
902
|
-
entityId:
|
903
|
-
attributeId:
|
917
|
+
textValue: import_zod23.default.string().nullable(),
|
918
|
+
booleanValue: import_zod23.default.boolean().nullable(),
|
919
|
+
numberValue: import_zod23.default.number().nullable(),
|
920
|
+
dateValue: import_zod23.default.date().nullable(),
|
921
|
+
entityId: import_zod23.default.string().uuid(),
|
922
|
+
attributeId: import_zod23.default.string().uuid()
|
904
923
|
});
|
905
924
|
|
906
925
|
// src/chat/validation.ts
|
907
|
-
var GetRoomsSchema =
|
908
|
-
page:
|
909
|
-
pageSize:
|
910
|
-
contactTagIds:
|
911
|
-
contactIds:
|
912
|
-
agentIds:
|
913
|
-
roomTagIds:
|
914
|
-
keyword:
|
915
|
-
company:
|
916
|
-
channel:
|
917
|
-
name:
|
918
|
-
address:
|
919
|
-
contactGroups:
|
920
|
-
selectedDate:
|
921
|
-
customFields:
|
922
|
-
tags:
|
923
|
-
phone:
|
924
|
-
email:
|
925
|
-
notes:
|
926
|
-
tab:
|
927
|
-
});
|
928
|
-
var UpdateRoomTagsAndNotesSchema =
|
929
|
-
|
930
|
-
tags:
|
926
|
+
var GetRoomsSchema = import_zod24.default.object({
|
927
|
+
page: import_zod24.default.coerce.number().positive().default(1),
|
928
|
+
pageSize: import_zod24.default.coerce.number().positive().default(20),
|
929
|
+
contactTagIds: import_zod24.default.string().array().optional(),
|
930
|
+
contactIds: import_zod24.default.string().array().optional(),
|
931
|
+
agentIds: import_zod24.default.string().array().optional(),
|
932
|
+
roomTagIds: import_zod24.default.string().array().optional(),
|
933
|
+
keyword: import_zod24.default.string().optional(),
|
934
|
+
company: import_zod24.default.string().array().optional(),
|
935
|
+
channel: import_zod24.default.string().array().optional(),
|
936
|
+
name: import_zod24.default.string().optional(),
|
937
|
+
address: import_zod24.default.string().optional(),
|
938
|
+
contactGroups: import_zod24.default.string().array().optional(),
|
939
|
+
selectedDate: import_zod24.default.string().optional(),
|
940
|
+
customFields: import_zod24.default.array(CustomFieldSchema).optional(),
|
941
|
+
tags: import_zod24.default.string().array().optional(),
|
942
|
+
phone: import_zod24.default.string().optional(),
|
943
|
+
email: import_zod24.default.string().optional(),
|
944
|
+
notes: import_zod24.default.string().optional(),
|
945
|
+
tab: import_zod24.default.string().optional()
|
946
|
+
});
|
947
|
+
var UpdateRoomTagsAndNotesSchema = import_zod24.default.object({
|
948
|
+
note: import_zod24.default.string().optional(),
|
949
|
+
tags: TagSchema.array().optional()
|
931
950
|
});
|
932
951
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
933
|
-
roomId:
|
934
|
-
});
|
935
|
-
var MessageAttachmentSchema =
|
936
|
-
bucketName:
|
937
|
-
fileKey:
|
938
|
-
fileName:
|
939
|
-
fileSize:
|
940
|
-
url:
|
952
|
+
roomId: import_zod24.default.string().uuid()
|
953
|
+
});
|
954
|
+
var MessageAttachmentSchema = import_zod24.default.object({
|
955
|
+
bucketName: import_zod24.default.string(),
|
956
|
+
fileKey: import_zod24.default.string(),
|
957
|
+
fileName: import_zod24.default.string(),
|
958
|
+
fileSize: import_zod24.default.number(),
|
959
|
+
url: import_zod24.default.string(),
|
941
960
|
fileType: MessageTypeSchema,
|
942
|
-
thumbnailUrl:
|
961
|
+
thumbnailUrl: import_zod24.default.string().optional()
|
943
962
|
});
|
944
|
-
var SendMessageSchema =
|
945
|
-
roomId:
|
963
|
+
var SendMessageSchema = import_zod24.default.object({
|
964
|
+
roomId: import_zod24.default.string().uuid(),
|
946
965
|
messageType: MessageTypeSchema,
|
947
|
-
message:
|
966
|
+
message: import_zod24.default.string().optional(),
|
948
967
|
direction: MessageDirectionTypeSchema,
|
949
968
|
messageAttachments: MessageAttachmentSchema.optional(),
|
950
|
-
user: UserSchema
|
951
|
-
packageId:
|
952
|
-
stickerId:
|
969
|
+
user: UserSchema,
|
970
|
+
packageId: import_zod24.default.number().optional(),
|
971
|
+
stickerId: import_zod24.default.number().optional()
|
953
972
|
});
|
954
|
-
var SolveRoomSchema =
|
955
|
-
roomId:
|
973
|
+
var SolveRoomSchema = import_zod24.default.object({
|
974
|
+
roomId: import_zod24.default.string()
|
956
975
|
});
|
957
976
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
958
|
-
assigneeId:
|
977
|
+
assigneeId: import_zod24.default.string().uuid()
|
959
978
|
});
|
960
979
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
961
|
-
query:
|
980
|
+
query: import_zod24.default.string()
|
962
981
|
});
|
963
|
-
var SendMessageToPlatformSchema =
|
982
|
+
var SendMessageToPlatformSchema = import_zod24.default.object({
|
964
983
|
room: RoomSchema,
|
965
984
|
message: MessageSchema,
|
966
|
-
url:
|
985
|
+
url: import_zod24.default.string().optional()
|
986
|
+
});
|
987
|
+
var SendMessageResponseSchema = DefaultSuccessResponseSchema.extend({
|
988
|
+
data: MessageSchema
|
967
989
|
});
|
968
990
|
|
969
991
|
// src/chat/index.ts
|
@@ -974,11 +996,11 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
974
996
|
path: "/rooms",
|
975
997
|
responses: {
|
976
998
|
200: DefaultSuccessResponseSchema.extend({
|
977
|
-
total:
|
978
|
-
page:
|
979
|
-
pageSize:
|
980
|
-
data:
|
981
|
-
unreadCountsByAssignee:
|
999
|
+
total: import_zod25.default.number(),
|
1000
|
+
page: import_zod25.default.number(),
|
1001
|
+
pageSize: import_zod25.default.number(),
|
1002
|
+
data: import_zod25.default.array(RoomSchema),
|
1003
|
+
unreadCountsByAssignee: import_zod25.default.array(UnreadCountsByAssigneeSchema)
|
982
1004
|
}),
|
983
1005
|
401: DefaultUnauthorizedSchema
|
984
1006
|
},
|
@@ -988,8 +1010,8 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
988
1010
|
getRoomContact: {
|
989
1011
|
method: "GET",
|
990
1012
|
path: "/contact/:contactId",
|
991
|
-
pathParams:
|
992
|
-
contactId:
|
1013
|
+
pathParams: import_zod25.default.object({
|
1014
|
+
contactId: import_zod25.default.string().uuid()
|
993
1015
|
}),
|
994
1016
|
responses: {
|
995
1017
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1009,17 +1031,6 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1009
1031
|
},
|
1010
1032
|
summary: "Update room attributes"
|
1011
1033
|
},
|
1012
|
-
updateRoomTagsAndNotes: {
|
1013
|
-
method: "PATCH",
|
1014
|
-
path: "/room/:roomId",
|
1015
|
-
body: UpdateRoomAttributesSchema,
|
1016
|
-
responses: {
|
1017
|
-
200: DefaultSuccessResponseSchema.extend({
|
1018
|
-
data: RoomSchema
|
1019
|
-
})
|
1020
|
-
},
|
1021
|
-
summary: "Update room tags and notes"
|
1022
|
-
},
|
1023
1034
|
sendMessage: {
|
1024
1035
|
method: "POST",
|
1025
1036
|
path: "/message",
|
@@ -1032,14 +1043,18 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1032
1043
|
getMessages: {
|
1033
1044
|
method: "GET",
|
1034
1045
|
path: "/message/:roomId",
|
1035
|
-
pathParams:
|
1036
|
-
roomId:
|
1046
|
+
pathParams: import_zod25.default.object({
|
1047
|
+
roomId: import_zod25.default.string().uuid()
|
1037
1048
|
}),
|
1038
1049
|
responses: {
|
1039
1050
|
200: DefaultSuccessResponseSchema.extend({
|
1040
|
-
|
1051
|
+
total: import_zod25.default.number(),
|
1052
|
+
page: import_zod25.default.number(),
|
1053
|
+
pageSize: import_zod25.default.number(),
|
1054
|
+
data: import_zod25.default.array(MessageSchema)
|
1041
1055
|
})
|
1042
1056
|
},
|
1057
|
+
query: DefaultQueryParamsSchema,
|
1043
1058
|
summary: "Get messages"
|
1044
1059
|
},
|
1045
1060
|
solveRoom: {
|
@@ -1049,7 +1064,7 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1049
1064
|
responses: {
|
1050
1065
|
200: DefaultSuccessResponseSchema.extend({
|
1051
1066
|
data: RoomSchema.extend({
|
1052
|
-
solveMessage:
|
1067
|
+
solveMessage: import_zod25.default.string()
|
1053
1068
|
})
|
1054
1069
|
}),
|
1055
1070
|
409: DefaultErrorResponseSchema
|
@@ -1070,8 +1085,8 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1070
1085
|
getRoom: {
|
1071
1086
|
method: "GET",
|
1072
1087
|
path: "/room/:roomId",
|
1073
|
-
pathParams:
|
1074
|
-
roomId:
|
1088
|
+
pathParams: import_zod25.default.object({
|
1089
|
+
roomId: import_zod25.default.string().uuid()
|
1075
1090
|
}),
|
1076
1091
|
responses: {
|
1077
1092
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1083,15 +1098,15 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1083
1098
|
},
|
1084
1099
|
createRoom: {
|
1085
1100
|
method: "POST",
|
1086
|
-
path: "/room/create/:
|
1087
|
-
pathParams:
|
1088
|
-
|
1101
|
+
path: "/room/create/:platformContactId",
|
1102
|
+
pathParams: import_zod25.default.object({
|
1103
|
+
platformContactId: import_zod25.default.string().uuid()
|
1089
1104
|
}),
|
1090
1105
|
responses: {
|
1091
1106
|
200: DefaultSuccessResponseSchema.extend({
|
1092
1107
|
data: RoomSchema.extend({
|
1093
1108
|
contact: ContactSchema,
|
1094
|
-
openMessage:
|
1109
|
+
openMessage: import_zod25.default.string()
|
1095
1110
|
})
|
1096
1111
|
})
|
1097
1112
|
},
|
@@ -1101,13 +1116,13 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1101
1116
|
readRoom: {
|
1102
1117
|
method: "POST",
|
1103
1118
|
path: "/room/:roomid/read",
|
1104
|
-
pathParams:
|
1105
|
-
roomId:
|
1119
|
+
pathParams: import_zod25.default.object({
|
1120
|
+
roomId: import_zod25.default.string().uuid()
|
1106
1121
|
}),
|
1107
1122
|
responses: {
|
1108
1123
|
200: DefaultSuccessResponseSchema.extend({
|
1109
1124
|
data: RoomSchema.extend({
|
1110
|
-
description:
|
1125
|
+
description: import_zod25.default.string().nullable()
|
1111
1126
|
})
|
1112
1127
|
})
|
1113
1128
|
},
|
@@ -1119,10 +1134,10 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1119
1134
|
path: "/search",
|
1120
1135
|
responses: {
|
1121
1136
|
200: DefaultSuccessResponseSchema.extend({
|
1122
|
-
total:
|
1123
|
-
page:
|
1124
|
-
pageSize:
|
1125
|
-
data:
|
1137
|
+
total: import_zod25.default.number(),
|
1138
|
+
page: import_zod25.default.number(),
|
1139
|
+
pageSize: import_zod25.default.number(),
|
1140
|
+
data: import_zod25.default.array(RoomSchema)
|
1126
1141
|
})
|
1127
1142
|
},
|
1128
1143
|
query: SearchRoomsSchema,
|
@@ -1137,98 +1152,112 @@ var mainChatContract = (0, import_core6.initContract)().router(
|
|
1137
1152
|
|
1138
1153
|
// src/contact/index.ts
|
1139
1154
|
var import_core7 = require("@ts-rest/core");
|
1140
|
-
var
|
1155
|
+
var import_zod27 = __toESM(require("zod"));
|
1141
1156
|
|
1142
1157
|
// src/contact/validation.ts
|
1143
|
-
var
|
1144
|
-
var BaseSchema =
|
1145
|
-
isRequired:
|
1146
|
-
attributeId:
|
1158
|
+
var import_zod26 = __toESM(require("zod"));
|
1159
|
+
var BaseSchema = import_zod26.default.object({
|
1160
|
+
isRequired: import_zod26.default.boolean(),
|
1161
|
+
attributeId: import_zod26.default.string()
|
1147
1162
|
});
|
1148
1163
|
var SingleValue = {
|
1149
|
-
value:
|
1164
|
+
value: import_zod26.default.string()
|
1150
1165
|
};
|
1151
1166
|
var ContactContractValidationSchema = {
|
1152
1167
|
create: {
|
1153
|
-
request:
|
1168
|
+
request: import_zod26.default.object({
|
1154
1169
|
name: BaseSchema.extend(SingleValue),
|
1155
1170
|
email: BaseSchema.extend({
|
1156
|
-
value:
|
1157
|
-
|
1158
|
-
email:
|
1159
|
-
isPrimary:
|
1171
|
+
value: import_zod26.default.array(
|
1172
|
+
import_zod26.default.object({
|
1173
|
+
email: import_zod26.default.string(),
|
1174
|
+
isPrimary: import_zod26.default.boolean()
|
1160
1175
|
})
|
1161
1176
|
)
|
1162
1177
|
}),
|
1163
1178
|
channel: BaseSchema.extend(SingleValue),
|
1164
1179
|
address: BaseSchema.extend(SingleValue),
|
1165
1180
|
phone: BaseSchema.extend({
|
1166
|
-
value:
|
1167
|
-
|
1168
|
-
phone:
|
1169
|
-
isPrimary:
|
1181
|
+
value: import_zod26.default.array(
|
1182
|
+
import_zod26.default.object({
|
1183
|
+
phone: import_zod26.default.string(),
|
1184
|
+
isPrimary: import_zod26.default.boolean()
|
1170
1185
|
})
|
1171
1186
|
)
|
1172
1187
|
}).optional(),
|
1173
1188
|
notes: BaseSchema.extend(SingleValue),
|
1174
1189
|
tags: BaseSchema.extend({
|
1175
|
-
value:
|
1190
|
+
value: import_zod26.default.array(import_zod26.default.string())
|
1176
1191
|
}),
|
1177
1192
|
company: BaseSchema.extend(SingleValue),
|
1178
|
-
customFields:
|
1193
|
+
customFields: import_zod26.default.array(
|
1179
1194
|
BaseSchema.extend({
|
1180
|
-
value:
|
1181
|
-
type:
|
1182
|
-
isDefaultAttribute:
|
1195
|
+
value: import_zod26.default.union([import_zod26.default.string(), import_zod26.default.array(import_zod26.default.string())]),
|
1196
|
+
type: import_zod26.default.string(),
|
1197
|
+
isDefaultAttribute: import_zod26.default.boolean()
|
1183
1198
|
})
|
1184
1199
|
)
|
1185
1200
|
}),
|
1186
|
-
response:
|
1201
|
+
response: import_zod26.default.string()
|
1187
1202
|
},
|
1188
1203
|
getById: {
|
1189
|
-
request:
|
1190
|
-
id:
|
1204
|
+
request: import_zod26.default.object({
|
1205
|
+
id: import_zod26.default.string().uuid()
|
1191
1206
|
}),
|
1192
1207
|
response: ContactSchema
|
1193
1208
|
},
|
1194
1209
|
delete: {
|
1195
|
-
request:
|
1196
|
-
id:
|
1210
|
+
request: import_zod26.default.object({
|
1211
|
+
id: import_zod26.default.string().uuid()
|
1197
1212
|
}),
|
1198
|
-
response:
|
1213
|
+
response: import_zod26.default.string()
|
1199
1214
|
},
|
1200
1215
|
getAll: {
|
1201
|
-
request:
|
1202
|
-
page:
|
1203
|
-
pageSize:
|
1204
|
-
keyword:
|
1205
|
-
company:
|
1206
|
-
name:
|
1207
|
-
address:
|
1208
|
-
channel:
|
1209
|
-
selectedDate:
|
1210
|
-
customFields:
|
1211
|
-
|
1212
|
-
attributeId:
|
1213
|
-
type:
|
1214
|
-
value:
|
1216
|
+
request: import_zod26.default.object({
|
1217
|
+
page: import_zod26.default.coerce.number().default(1),
|
1218
|
+
pageSize: import_zod26.default.coerce.number().default(10),
|
1219
|
+
keyword: import_zod26.default.string().optional(),
|
1220
|
+
company: import_zod26.default.array(import_zod26.default.string().uuid()),
|
1221
|
+
name: import_zod26.default.string(),
|
1222
|
+
address: import_zod26.default.string(),
|
1223
|
+
channel: import_zod26.default.array(import_zod26.default.string()),
|
1224
|
+
selectedDate: import_zod26.default.string(),
|
1225
|
+
customFields: import_zod26.default.array(
|
1226
|
+
import_zod26.default.object({
|
1227
|
+
attributeId: import_zod26.default.string().uuid(),
|
1228
|
+
type: import_zod26.default.string(),
|
1229
|
+
value: import_zod26.default.union([import_zod26.default.string(), import_zod26.default.array(import_zod26.default.string())])
|
1215
1230
|
})
|
1216
1231
|
),
|
1217
|
-
tags:
|
1218
|
-
phone:
|
1219
|
-
email:
|
1220
|
-
notes:
|
1232
|
+
tags: import_zod26.default.array(import_zod26.default.string().uuid()),
|
1233
|
+
phone: import_zod26.default.string(),
|
1234
|
+
email: import_zod26.default.string(),
|
1235
|
+
notes: import_zod26.default.string()
|
1221
1236
|
}).partial(),
|
1222
1237
|
response: {
|
1223
|
-
page:
|
1224
|
-
pageSize:
|
1225
|
-
total:
|
1226
|
-
data:
|
1238
|
+
page: import_zod26.default.number(),
|
1239
|
+
pageSize: import_zod26.default.number(),
|
1240
|
+
total: import_zod26.default.number(),
|
1241
|
+
data: import_zod26.default.array(ContactSchema)
|
1227
1242
|
}
|
1228
1243
|
},
|
1229
1244
|
createContactByPhone: {
|
1230
|
-
request:
|
1231
|
-
phoneNumber:
|
1245
|
+
request: import_zod26.default.object({
|
1246
|
+
phoneNumber: import_zod26.default.string().refine(
|
1247
|
+
(value) => {
|
1248
|
+
const numericValue = value.replace(/\s/g, "");
|
1249
|
+
return /^\d+$/.test(numericValue);
|
1250
|
+
},
|
1251
|
+
{
|
1252
|
+
message: "Phone number must contain only numeric characters"
|
1253
|
+
}
|
1254
|
+
)
|
1255
|
+
}),
|
1256
|
+
response: ContactSchema
|
1257
|
+
},
|
1258
|
+
updateContactByPhone: {
|
1259
|
+
request: import_zod26.default.object({
|
1260
|
+
phoneNumber: import_zod26.default.string().refine(
|
1232
1261
|
(value) => {
|
1233
1262
|
const numericValue = value.replace(/\s/g, "");
|
1234
1263
|
return /^\d+$/.test(numericValue);
|
@@ -1239,6 +1268,46 @@ var ContactContractValidationSchema = {
|
|
1239
1268
|
)
|
1240
1269
|
}),
|
1241
1270
|
response: ContactSchema
|
1271
|
+
},
|
1272
|
+
updateFromOngoingCall: {
|
1273
|
+
request: import_zod26.default.object({
|
1274
|
+
name: import_zod26.default.string(),
|
1275
|
+
companyId: import_zod26.default.string().uuid()
|
1276
|
+
}).partial(),
|
1277
|
+
response: ContactSchema
|
1278
|
+
},
|
1279
|
+
merge: {
|
1280
|
+
request: import_zod26.default.object({
|
1281
|
+
primaryContactId: import_zod26.default.string().uuid(),
|
1282
|
+
emails: import_zod26.default.array(
|
1283
|
+
import_zod26.default.object({
|
1284
|
+
email: import_zod26.default.string(),
|
1285
|
+
isPrimary: import_zod26.default.boolean()
|
1286
|
+
})
|
1287
|
+
),
|
1288
|
+
phones: import_zod26.default.array(
|
1289
|
+
import_zod26.default.object({
|
1290
|
+
phone: import_zod26.default.string(),
|
1291
|
+
isPrimary: import_zod26.default.boolean()
|
1292
|
+
})
|
1293
|
+
),
|
1294
|
+
otherContacts: import_zod26.default.array(import_zod26.default.string().uuid())
|
1295
|
+
}),
|
1296
|
+
response: ContactSchema
|
1297
|
+
},
|
1298
|
+
checkContactPhone: {
|
1299
|
+
request: import_zod26.default.object({
|
1300
|
+
contactId: import_zod26.default.string().uuid().optional(),
|
1301
|
+
phoneNumber: import_zod26.default.string()
|
1302
|
+
}),
|
1303
|
+
response: import_zod26.default.boolean()
|
1304
|
+
},
|
1305
|
+
checkContactEmail: {
|
1306
|
+
request: import_zod26.default.object({
|
1307
|
+
contactId: import_zod26.default.string().uuid().optional(),
|
1308
|
+
email: import_zod26.default.string()
|
1309
|
+
}),
|
1310
|
+
response: import_zod26.default.boolean()
|
1242
1311
|
}
|
1243
1312
|
};
|
1244
1313
|
|
@@ -1252,14 +1321,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1252
1321
|
201: DefaultSuccessResponseSchema.extend({
|
1253
1322
|
message: ContactContractValidationSchema.create.response
|
1254
1323
|
}),
|
1255
|
-
400:
|
1256
|
-
message:
|
1324
|
+
400: import_zod27.default.object({
|
1325
|
+
message: import_zod27.default.string()
|
1257
1326
|
}),
|
1258
|
-
409:
|
1259
|
-
message:
|
1327
|
+
409: import_zod27.default.object({
|
1328
|
+
message: import_zod27.default.string()
|
1260
1329
|
}),
|
1261
|
-
500:
|
1262
|
-
message:
|
1330
|
+
500: import_zod27.default.object({
|
1331
|
+
message: import_zod27.default.string()
|
1263
1332
|
}),
|
1264
1333
|
401: DefaultUnauthorizedSchema,
|
1265
1334
|
404: DefaultNotFoundSchema,
|
@@ -1276,14 +1345,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1276
1345
|
200: DefaultSuccessResponseSchema.extend({
|
1277
1346
|
data: ContactContractValidationSchema.getById.response
|
1278
1347
|
}),
|
1279
|
-
400:
|
1280
|
-
message:
|
1348
|
+
400: import_zod27.default.object({
|
1349
|
+
message: import_zod27.default.string()
|
1281
1350
|
}),
|
1282
|
-
409:
|
1283
|
-
message:
|
1351
|
+
409: import_zod27.default.object({
|
1352
|
+
message: import_zod27.default.string()
|
1284
1353
|
}),
|
1285
|
-
500:
|
1286
|
-
message:
|
1354
|
+
500: import_zod27.default.object({
|
1355
|
+
message: import_zod27.default.string()
|
1287
1356
|
}),
|
1288
1357
|
401: DefaultUnauthorizedSchema,
|
1289
1358
|
404: DefaultNotFoundSchema,
|
@@ -1299,14 +1368,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1299
1368
|
200: DefaultSuccessResponseSchema.extend(
|
1300
1369
|
ContactContractValidationSchema.getAll.response
|
1301
1370
|
),
|
1302
|
-
400:
|
1303
|
-
message:
|
1371
|
+
400: import_zod27.default.object({
|
1372
|
+
message: import_zod27.default.string()
|
1304
1373
|
}),
|
1305
|
-
409:
|
1306
|
-
message:
|
1374
|
+
409: import_zod27.default.object({
|
1375
|
+
message: import_zod27.default.string()
|
1307
1376
|
}),
|
1308
|
-
500:
|
1309
|
-
message:
|
1377
|
+
500: import_zod27.default.object({
|
1378
|
+
message: import_zod27.default.string()
|
1310
1379
|
}),
|
1311
1380
|
401: DefaultUnauthorizedSchema,
|
1312
1381
|
404: DefaultNotFoundSchema,
|
@@ -1322,14 +1391,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1322
1391
|
200: DefaultSuccessResponseSchema.extend({
|
1323
1392
|
data: ContactContractValidationSchema.getById.response
|
1324
1393
|
}),
|
1325
|
-
400:
|
1326
|
-
message:
|
1394
|
+
400: import_zod27.default.object({
|
1395
|
+
message: import_zod27.default.string()
|
1327
1396
|
}),
|
1328
|
-
409:
|
1329
|
-
message:
|
1397
|
+
409: import_zod27.default.object({
|
1398
|
+
message: import_zod27.default.string()
|
1330
1399
|
}),
|
1331
|
-
500:
|
1332
|
-
message:
|
1400
|
+
500: import_zod27.default.object({
|
1401
|
+
message: import_zod27.default.string()
|
1333
1402
|
}),
|
1334
1403
|
401: DefaultUnauthorizedSchema,
|
1335
1404
|
404: DefaultNotFoundSchema,
|
@@ -1346,14 +1415,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1346
1415
|
200: DefaultSuccessResponseSchema.extend({
|
1347
1416
|
message: ContactContractValidationSchema.delete.response
|
1348
1417
|
}),
|
1349
|
-
400:
|
1350
|
-
message:
|
1418
|
+
400: import_zod27.default.object({
|
1419
|
+
message: import_zod27.default.string()
|
1351
1420
|
}),
|
1352
|
-
409:
|
1353
|
-
message:
|
1421
|
+
409: import_zod27.default.object({
|
1422
|
+
message: import_zod27.default.string()
|
1354
1423
|
}),
|
1355
|
-
500:
|
1356
|
-
message:
|
1424
|
+
500: import_zod27.default.object({
|
1425
|
+
message: import_zod27.default.string()
|
1357
1426
|
}),
|
1358
1427
|
401: DefaultUnauthorizedSchema,
|
1359
1428
|
404: DefaultNotFoundSchema,
|
@@ -1369,14 +1438,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1369
1438
|
201: DefaultSuccessResponseSchema.extend({
|
1370
1439
|
data: ContactContractValidationSchema.createContactByPhone.response
|
1371
1440
|
}),
|
1372
|
-
400:
|
1373
|
-
message:
|
1441
|
+
400: import_zod27.default.object({
|
1442
|
+
message: import_zod27.default.string()
|
1374
1443
|
}),
|
1375
|
-
409:
|
1376
|
-
message:
|
1444
|
+
409: import_zod27.default.object({
|
1445
|
+
message: import_zod27.default.string()
|
1377
1446
|
}),
|
1378
|
-
500:
|
1379
|
-
message:
|
1447
|
+
500: import_zod27.default.object({
|
1448
|
+
message: import_zod27.default.string()
|
1380
1449
|
}),
|
1381
1450
|
401: DefaultUnauthorizedSchema,
|
1382
1451
|
404: DefaultNotFoundSchema,
|
@@ -1384,6 +1453,98 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1384
1453
|
},
|
1385
1454
|
body: ContactContractValidationSchema.createContactByPhone.request,
|
1386
1455
|
summary: "Create a new contact using phone number"
|
1456
|
+
},
|
1457
|
+
updateFromOngoingCall: {
|
1458
|
+
method: "PATCH",
|
1459
|
+
path: "/:id/ongoing",
|
1460
|
+
responses: {
|
1461
|
+
201: DefaultSuccessResponseSchema.extend({
|
1462
|
+
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1463
|
+
}),
|
1464
|
+
400: import_zod27.default.object({
|
1465
|
+
message: import_zod27.default.string()
|
1466
|
+
}),
|
1467
|
+
409: import_zod27.default.object({
|
1468
|
+
message: import_zod27.default.string()
|
1469
|
+
}),
|
1470
|
+
500: import_zod27.default.object({
|
1471
|
+
message: import_zod27.default.string()
|
1472
|
+
}),
|
1473
|
+
401: DefaultUnauthorizedSchema,
|
1474
|
+
404: DefaultNotFoundSchema,
|
1475
|
+
422: DefaultUnprocessibleSchema
|
1476
|
+
},
|
1477
|
+
body: ContactContractValidationSchema.updateFromOngoingCall.request,
|
1478
|
+
summary: "Update a contact with name and company while making ongoing call"
|
1479
|
+
},
|
1480
|
+
merge: {
|
1481
|
+
method: "POST",
|
1482
|
+
path: "/merge",
|
1483
|
+
responses: {
|
1484
|
+
200: DefaultSuccessResponseSchema.extend({
|
1485
|
+
data: ContactContractValidationSchema.merge.response
|
1486
|
+
}),
|
1487
|
+
400: import_zod27.default.object({
|
1488
|
+
message: import_zod27.default.string()
|
1489
|
+
}),
|
1490
|
+
409: import_zod27.default.object({
|
1491
|
+
message: import_zod27.default.string()
|
1492
|
+
}),
|
1493
|
+
500: import_zod27.default.object({
|
1494
|
+
message: import_zod27.default.string()
|
1495
|
+
}),
|
1496
|
+
401: DefaultUnauthorizedSchema,
|
1497
|
+
404: DefaultNotFoundSchema,
|
1498
|
+
422: DefaultUnprocessibleSchema
|
1499
|
+
},
|
1500
|
+
body: ContactContractValidationSchema.merge.request,
|
1501
|
+
summary: "Merge contacts into a single contact."
|
1502
|
+
},
|
1503
|
+
checkContactPhone: {
|
1504
|
+
method: "POST",
|
1505
|
+
path: "/check/phone",
|
1506
|
+
responses: {
|
1507
|
+
200: DefaultSuccessResponseSchema.extend({
|
1508
|
+
existed: ContactContractValidationSchema.checkContactPhone.response
|
1509
|
+
}),
|
1510
|
+
400: import_zod27.default.object({
|
1511
|
+
message: import_zod27.default.string()
|
1512
|
+
}),
|
1513
|
+
409: import_zod27.default.object({
|
1514
|
+
message: import_zod27.default.string()
|
1515
|
+
}),
|
1516
|
+
500: import_zod27.default.object({
|
1517
|
+
message: import_zod27.default.string()
|
1518
|
+
}),
|
1519
|
+
401: DefaultUnauthorizedSchema,
|
1520
|
+
404: DefaultNotFoundSchema,
|
1521
|
+
422: DefaultUnprocessibleSchema
|
1522
|
+
},
|
1523
|
+
body: ContactContractValidationSchema.checkContactPhone.request,
|
1524
|
+
summary: "Check whether a contact owns a phone number"
|
1525
|
+
},
|
1526
|
+
checkContactEmail: {
|
1527
|
+
method: "POST",
|
1528
|
+
path: "/check/email",
|
1529
|
+
responses: {
|
1530
|
+
200: DefaultSuccessResponseSchema.extend({
|
1531
|
+
existed: ContactContractValidationSchema.checkContactEmail.response
|
1532
|
+
}),
|
1533
|
+
400: import_zod27.default.object({
|
1534
|
+
message: import_zod27.default.string()
|
1535
|
+
}),
|
1536
|
+
409: import_zod27.default.object({
|
1537
|
+
message: import_zod27.default.string()
|
1538
|
+
}),
|
1539
|
+
500: import_zod27.default.object({
|
1540
|
+
message: import_zod27.default.string()
|
1541
|
+
}),
|
1542
|
+
401: DefaultUnauthorizedSchema,
|
1543
|
+
404: DefaultNotFoundSchema,
|
1544
|
+
422: DefaultUnprocessibleSchema
|
1545
|
+
},
|
1546
|
+
body: ContactContractValidationSchema.checkContactEmail.request,
|
1547
|
+
summary: "Check whether a contact owns a email"
|
1387
1548
|
}
|
1388
1549
|
},
|
1389
1550
|
{
|
@@ -1396,23 +1557,6 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1396
1557
|
var import_core8 = require("@ts-rest/core");
|
1397
1558
|
var import_zod29 = __toESM(require("zod"));
|
1398
1559
|
|
1399
|
-
// src/cx-log/schema.ts
|
1400
|
-
var import_zod27 = __toESM(require("zod"));
|
1401
|
-
var CxLogSchema = DefaultEntitySchema.extend({
|
1402
|
-
caseId: import_zod27.default.number(),
|
1403
|
-
entityId: import_zod27.default.string().uuid(),
|
1404
|
-
entityName: import_zod27.default.string(),
|
1405
|
-
contactId: import_zod27.default.string().uuid().nullable(),
|
1406
|
-
channel: import_zod27.default.string().nullable(),
|
1407
|
-
queueId: import_zod27.default.string().uuid().nullable(),
|
1408
|
-
agentId: import_zod27.default.string().uuid().nullable(),
|
1409
|
-
direction: import_zod27.default.string().nullable(),
|
1410
|
-
startedDate: import_zod27.default.date().nullable(),
|
1411
|
-
handledTime: import_zod27.default.number().nullable(),
|
1412
|
-
firstResponseTime: import_zod27.default.number().nullable(),
|
1413
|
-
disposition: import_zod27.default.string().nullable()
|
1414
|
-
});
|
1415
|
-
|
1416
1560
|
// src/cx-log/validation.ts
|
1417
1561
|
var import_zod28 = __toESM(require("zod"));
|
1418
1562
|
var sentimentScoreSchema = import_zod28.default.union([
|
@@ -2297,7 +2441,8 @@ var messengerContract = (0, import_core17.initContract)().router({
|
|
2297
2441
|
path: "/message",
|
2298
2442
|
body: SendMessageToPlatformSchema,
|
2299
2443
|
responses: {
|
2300
|
-
200:
|
2444
|
+
200: SendMessageResponseSchema,
|
2445
|
+
500: DefaultErrorResponseSchema
|
2301
2446
|
}
|
2302
2447
|
}
|
2303
2448
|
}, {
|