@kl1/contracts 1.0.14 → 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 +401 -219
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +401 -219
- package/dist/index.mjs.map +1 -1
- 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 +3302 -0
- package/dist/src/contact/index.d.ts.map +1 -1
- package/dist/src/contact/validation.d.ts +3064 -0
- package/dist/src/contact/validation.d.ts.map +1 -1
- package/dist/src/contract.d.ts +18240 -11472
- 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/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,94 +1152,162 @@ 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
|
}
|
1243
|
+
},
|
1244
|
+
createContactByPhone: {
|
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(
|
1261
|
+
(value) => {
|
1262
|
+
const numericValue = value.replace(/\s/g, "");
|
1263
|
+
return /^\d+$/.test(numericValue);
|
1264
|
+
},
|
1265
|
+
{
|
1266
|
+
message: "Phone number must contain only numeric characters"
|
1267
|
+
}
|
1268
|
+
)
|
1269
|
+
}),
|
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()
|
1228
1311
|
}
|
1229
1312
|
};
|
1230
1313
|
|
@@ -1238,14 +1321,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1238
1321
|
201: DefaultSuccessResponseSchema.extend({
|
1239
1322
|
message: ContactContractValidationSchema.create.response
|
1240
1323
|
}),
|
1241
|
-
400:
|
1242
|
-
message:
|
1324
|
+
400: import_zod27.default.object({
|
1325
|
+
message: import_zod27.default.string()
|
1243
1326
|
}),
|
1244
|
-
409:
|
1245
|
-
message:
|
1327
|
+
409: import_zod27.default.object({
|
1328
|
+
message: import_zod27.default.string()
|
1246
1329
|
}),
|
1247
|
-
500:
|
1248
|
-
message:
|
1330
|
+
500: import_zod27.default.object({
|
1331
|
+
message: import_zod27.default.string()
|
1249
1332
|
}),
|
1250
1333
|
401: DefaultUnauthorizedSchema,
|
1251
1334
|
404: DefaultNotFoundSchema,
|
@@ -1262,14 +1345,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1262
1345
|
200: DefaultSuccessResponseSchema.extend({
|
1263
1346
|
data: ContactContractValidationSchema.getById.response
|
1264
1347
|
}),
|
1265
|
-
400:
|
1266
|
-
message:
|
1348
|
+
400: import_zod27.default.object({
|
1349
|
+
message: import_zod27.default.string()
|
1267
1350
|
}),
|
1268
|
-
409:
|
1269
|
-
message:
|
1351
|
+
409: import_zod27.default.object({
|
1352
|
+
message: import_zod27.default.string()
|
1270
1353
|
}),
|
1271
|
-
500:
|
1272
|
-
message:
|
1354
|
+
500: import_zod27.default.object({
|
1355
|
+
message: import_zod27.default.string()
|
1273
1356
|
}),
|
1274
1357
|
401: DefaultUnauthorizedSchema,
|
1275
1358
|
404: DefaultNotFoundSchema,
|
@@ -1285,14 +1368,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1285
1368
|
200: DefaultSuccessResponseSchema.extend(
|
1286
1369
|
ContactContractValidationSchema.getAll.response
|
1287
1370
|
),
|
1288
|
-
400:
|
1289
|
-
message:
|
1371
|
+
400: import_zod27.default.object({
|
1372
|
+
message: import_zod27.default.string()
|
1290
1373
|
}),
|
1291
|
-
409:
|
1292
|
-
message:
|
1374
|
+
409: import_zod27.default.object({
|
1375
|
+
message: import_zod27.default.string()
|
1293
1376
|
}),
|
1294
|
-
500:
|
1295
|
-
message:
|
1377
|
+
500: import_zod27.default.object({
|
1378
|
+
message: import_zod27.default.string()
|
1296
1379
|
}),
|
1297
1380
|
401: DefaultUnauthorizedSchema,
|
1298
1381
|
404: DefaultNotFoundSchema,
|
@@ -1308,14 +1391,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1308
1391
|
200: DefaultSuccessResponseSchema.extend({
|
1309
1392
|
data: ContactContractValidationSchema.getById.response
|
1310
1393
|
}),
|
1311
|
-
400:
|
1312
|
-
message:
|
1394
|
+
400: import_zod27.default.object({
|
1395
|
+
message: import_zod27.default.string()
|
1313
1396
|
}),
|
1314
|
-
409:
|
1315
|
-
message:
|
1397
|
+
409: import_zod27.default.object({
|
1398
|
+
message: import_zod27.default.string()
|
1316
1399
|
}),
|
1317
|
-
500:
|
1318
|
-
message:
|
1400
|
+
500: import_zod27.default.object({
|
1401
|
+
message: import_zod27.default.string()
|
1319
1402
|
}),
|
1320
1403
|
401: DefaultUnauthorizedSchema,
|
1321
1404
|
404: DefaultNotFoundSchema,
|
@@ -1332,14 +1415,14 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1332
1415
|
200: DefaultSuccessResponseSchema.extend({
|
1333
1416
|
message: ContactContractValidationSchema.delete.response
|
1334
1417
|
}),
|
1335
|
-
400:
|
1336
|
-
message:
|
1418
|
+
400: import_zod27.default.object({
|
1419
|
+
message: import_zod27.default.string()
|
1337
1420
|
}),
|
1338
|
-
409:
|
1339
|
-
message:
|
1421
|
+
409: import_zod27.default.object({
|
1422
|
+
message: import_zod27.default.string()
|
1340
1423
|
}),
|
1341
|
-
500:
|
1342
|
-
message:
|
1424
|
+
500: import_zod27.default.object({
|
1425
|
+
message: import_zod27.default.string()
|
1343
1426
|
}),
|
1344
1427
|
401: DefaultUnauthorizedSchema,
|
1345
1428
|
404: DefaultNotFoundSchema,
|
@@ -1347,6 +1430,121 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1347
1430
|
},
|
1348
1431
|
body: null,
|
1349
1432
|
summary: "Delete a contact"
|
1433
|
+
},
|
1434
|
+
createContactByPhone: {
|
1435
|
+
method: "POST",
|
1436
|
+
path: "/phone",
|
1437
|
+
responses: {
|
1438
|
+
201: DefaultSuccessResponseSchema.extend({
|
1439
|
+
data: ContactContractValidationSchema.createContactByPhone.response
|
1440
|
+
}),
|
1441
|
+
400: import_zod27.default.object({
|
1442
|
+
message: import_zod27.default.string()
|
1443
|
+
}),
|
1444
|
+
409: import_zod27.default.object({
|
1445
|
+
message: import_zod27.default.string()
|
1446
|
+
}),
|
1447
|
+
500: import_zod27.default.object({
|
1448
|
+
message: import_zod27.default.string()
|
1449
|
+
}),
|
1450
|
+
401: DefaultUnauthorizedSchema,
|
1451
|
+
404: DefaultNotFoundSchema,
|
1452
|
+
422: DefaultUnprocessibleSchema
|
1453
|
+
},
|
1454
|
+
body: ContactContractValidationSchema.createContactByPhone.request,
|
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"
|
1350
1548
|
}
|
1351
1549
|
},
|
1352
1550
|
{
|
@@ -1359,23 +1557,6 @@ var contactContract = (0, import_core7.initContract)().router(
|
|
1359
1557
|
var import_core8 = require("@ts-rest/core");
|
1360
1558
|
var import_zod29 = __toESM(require("zod"));
|
1361
1559
|
|
1362
|
-
// src/cx-log/schema.ts
|
1363
|
-
var import_zod27 = __toESM(require("zod"));
|
1364
|
-
var CxLogSchema = DefaultEntitySchema.extend({
|
1365
|
-
caseId: import_zod27.default.number(),
|
1366
|
-
entityId: import_zod27.default.string().uuid(),
|
1367
|
-
entityName: import_zod27.default.string(),
|
1368
|
-
contactId: import_zod27.default.string().uuid().nullable(),
|
1369
|
-
channel: import_zod27.default.string().nullable(),
|
1370
|
-
queueId: import_zod27.default.string().uuid().nullable(),
|
1371
|
-
agentId: import_zod27.default.string().uuid().nullable(),
|
1372
|
-
direction: import_zod27.default.string().nullable(),
|
1373
|
-
startedDate: import_zod27.default.date().nullable(),
|
1374
|
-
handledTime: import_zod27.default.number().nullable(),
|
1375
|
-
firstResponseTime: import_zod27.default.number().nullable(),
|
1376
|
-
disposition: import_zod27.default.string().nullable()
|
1377
|
-
});
|
1378
|
-
|
1379
1560
|
// src/cx-log/validation.ts
|
1380
1561
|
var import_zod28 = __toESM(require("zod"));
|
1381
1562
|
var sentimentScoreSchema = import_zod28.default.union([
|
@@ -2260,7 +2441,8 @@ var messengerContract = (0, import_core17.initContract)().router({
|
|
2260
2441
|
path: "/message",
|
2261
2442
|
body: SendMessageToPlatformSchema,
|
2262
2443
|
responses: {
|
2263
|
-
200:
|
2444
|
+
200: SendMessageResponseSchema,
|
2445
|
+
500: DefaultErrorResponseSchema
|
2264
2446
|
}
|
2265
2447
|
}
|
2266
2448
|
}, {
|