@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.mjs
CHANGED
@@ -654,7 +654,7 @@ var channelContract = initContract5().router(
|
|
654
654
|
|
655
655
|
// src/chat/index.ts
|
656
656
|
import { initContract as initContract6 } from "@ts-rest/core";
|
657
|
-
import
|
657
|
+
import z25 from "zod";
|
658
658
|
|
659
659
|
// src/contact/schema.ts
|
660
660
|
import z20 from "zod";
|
@@ -767,18 +767,38 @@ var ContactSchema = z20.object({
|
|
767
767
|
});
|
768
768
|
|
769
769
|
// src/chat/schema.ts
|
770
|
+
import z22 from "zod";
|
771
|
+
|
772
|
+
// src/cx-log/schema.ts
|
770
773
|
import z21 from "zod";
|
771
|
-
var
|
774
|
+
var CxLogSchema = DefaultEntitySchema.extend({
|
775
|
+
caseId: z21.number(),
|
776
|
+
entityId: z21.string().uuid(),
|
777
|
+
entityName: z21.string(),
|
778
|
+
contactId: z21.string().uuid().nullable(),
|
779
|
+
channel: z21.string().nullable(),
|
780
|
+
queueId: z21.string().uuid().nullable(),
|
781
|
+
agentId: z21.string().uuid().nullable(),
|
782
|
+
direction: z21.string().nullable(),
|
783
|
+
startedDate: z21.date().nullable(),
|
784
|
+
handledTime: z21.number().nullable(),
|
785
|
+
firstResponseTime: z21.number().nullable(),
|
786
|
+
disposition: z21.string().nullable()
|
787
|
+
});
|
788
|
+
|
789
|
+
// src/chat/schema.ts
|
790
|
+
var MessageDirectionTypeSchema = z22.enum([
|
772
791
|
"incoming",
|
773
792
|
"outgoing",
|
774
793
|
"system"
|
775
794
|
]);
|
776
|
-
var MessageTypeSchema =
|
795
|
+
var MessageTypeSchema = z22.enum([
|
777
796
|
"text",
|
778
797
|
"image",
|
779
798
|
"video",
|
780
799
|
"audio",
|
781
800
|
"file",
|
801
|
+
"imagemap",
|
782
802
|
"fallback",
|
783
803
|
"location",
|
784
804
|
"attachment",
|
@@ -792,136 +812,138 @@ var MessageTypeSchema = z21.enum([
|
|
792
812
|
"updated",
|
793
813
|
"started"
|
794
814
|
]);
|
795
|
-
var MessageLocaleTypeSchema =
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
id: z21.string(),
|
802
|
-
name: z21.string(),
|
803
|
-
picture: z21.string(),
|
804
|
-
additionalCredentials: z21.any()
|
815
|
+
var MessageLocaleTypeSchema = z22.enum(["mm", "en", "th"]);
|
816
|
+
var PlatformContactMetadataSchema = z22.object({
|
817
|
+
id: z22.string(),
|
818
|
+
name: z22.string(),
|
819
|
+
picture: z22.string(),
|
820
|
+
additionalCredentials: z22.any()
|
805
821
|
});
|
806
822
|
var PlatformContactSchema = DefaultEntitySchema.extend({
|
807
|
-
channelId:
|
808
|
-
socialPlatformId:
|
809
|
-
|
823
|
+
channelId: z22.string().uuid(),
|
824
|
+
socialPlatformId: z22.string().uuid(),
|
825
|
+
type: ChannelTypeSchema,
|
810
826
|
metadata: PlatformContactMetadataSchema,
|
811
827
|
contact: ContactSchema
|
812
828
|
});
|
813
829
|
var RoomSchema = DefaultEntitySchema.extend({
|
814
|
-
lastMessage:
|
815
|
-
handleTime:
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
firstResponseTime:
|
820
|
-
isLatest:
|
830
|
+
lastMessage: z22.string(),
|
831
|
+
handleTime: z22.number(),
|
832
|
+
closeAt: z22.date(),
|
833
|
+
unreadCount: z22.number(),
|
834
|
+
firstResponseAt: z22.date(),
|
835
|
+
firstResponseTime: z22.number(),
|
836
|
+
isLatest: z22.boolean(),
|
821
837
|
direction: MessageDirectionTypeSchema,
|
822
838
|
platformContact: PlatformContactSchema,
|
823
839
|
actor: UserSchema,
|
824
840
|
assignee: UserSchema,
|
825
|
-
channel: ChannelSchema
|
841
|
+
channel: ChannelSchema,
|
842
|
+
cxLog: CxLogSchema
|
826
843
|
});
|
827
844
|
var MessageSchema = DefaultEntitySchema.extend({
|
828
|
-
message:
|
845
|
+
message: z22.string(),
|
829
846
|
direction: MessageDirectionTypeSchema,
|
830
847
|
type: MessageTypeSchema,
|
831
|
-
readAt:
|
832
|
-
metadata:
|
833
|
-
platformId:
|
834
|
-
platformMessageId:
|
835
|
-
replyPlatformMessageId:
|
836
|
-
template:
|
848
|
+
readAt: z22.date(),
|
849
|
+
metadata: z22.any(),
|
850
|
+
platformId: z22.string(),
|
851
|
+
platformMessageId: z22.string(),
|
852
|
+
replyPlatformMessageId: z22.string(),
|
853
|
+
template: z22.any(),
|
837
854
|
locale: MessageLocaleTypeSchema,
|
838
|
-
|
855
|
+
url: z22.string(),
|
856
|
+
previewUrl: z22.string(),
|
857
|
+
imageSetId: z22.string(),
|
839
858
|
room: RoomSchema,
|
840
859
|
upload: UploadSchema,
|
841
860
|
actor: UserSchema,
|
842
861
|
assignee: UserSchema,
|
843
862
|
sender: UserSchema
|
844
863
|
});
|
845
|
-
var UnreadCountsByAssigneeSchema =
|
846
|
-
assigneeId:
|
847
|
-
totalUnreadCount:
|
864
|
+
var UnreadCountsByAssigneeSchema = z22.object({
|
865
|
+
assigneeId: z22.string(),
|
866
|
+
totalUnreadCount: z22.number()
|
848
867
|
});
|
849
868
|
|
850
869
|
// src/chat/validation.ts
|
851
|
-
import
|
870
|
+
import z24 from "zod";
|
852
871
|
|
853
872
|
// src/custom-field/schema.ts
|
854
|
-
import
|
873
|
+
import z23 from "zod";
|
855
874
|
var CustomFieldSchema = DefaultEntitySchema.extend({
|
856
|
-
textValue:
|
857
|
-
booleanValue:
|
858
|
-
numberValue:
|
859
|
-
dateValue:
|
860
|
-
entityId:
|
861
|
-
attributeId:
|
875
|
+
textValue: z23.string().nullable(),
|
876
|
+
booleanValue: z23.boolean().nullable(),
|
877
|
+
numberValue: z23.number().nullable(),
|
878
|
+
dateValue: z23.date().nullable(),
|
879
|
+
entityId: z23.string().uuid(),
|
880
|
+
attributeId: z23.string().uuid()
|
862
881
|
});
|
863
882
|
|
864
883
|
// src/chat/validation.ts
|
865
|
-
var GetRoomsSchema =
|
866
|
-
page:
|
867
|
-
pageSize:
|
868
|
-
contactTagIds:
|
869
|
-
contactIds:
|
870
|
-
agentIds:
|
871
|
-
roomTagIds:
|
872
|
-
keyword:
|
873
|
-
company:
|
874
|
-
channel:
|
875
|
-
name:
|
876
|
-
address:
|
877
|
-
contactGroups:
|
878
|
-
selectedDate:
|
879
|
-
customFields:
|
880
|
-
tags:
|
881
|
-
phone:
|
882
|
-
email:
|
883
|
-
notes:
|
884
|
-
tab:
|
885
|
-
});
|
886
|
-
var UpdateRoomTagsAndNotesSchema =
|
887
|
-
|
888
|
-
tags:
|
884
|
+
var GetRoomsSchema = z24.object({
|
885
|
+
page: z24.coerce.number().positive().default(1),
|
886
|
+
pageSize: z24.coerce.number().positive().default(20),
|
887
|
+
contactTagIds: z24.string().array().optional(),
|
888
|
+
contactIds: z24.string().array().optional(),
|
889
|
+
agentIds: z24.string().array().optional(),
|
890
|
+
roomTagIds: z24.string().array().optional(),
|
891
|
+
keyword: z24.string().optional(),
|
892
|
+
company: z24.string().array().optional(),
|
893
|
+
channel: z24.string().array().optional(),
|
894
|
+
name: z24.string().optional(),
|
895
|
+
address: z24.string().optional(),
|
896
|
+
contactGroups: z24.string().array().optional(),
|
897
|
+
selectedDate: z24.string().optional(),
|
898
|
+
customFields: z24.array(CustomFieldSchema).optional(),
|
899
|
+
tags: z24.string().array().optional(),
|
900
|
+
phone: z24.string().optional(),
|
901
|
+
email: z24.string().optional(),
|
902
|
+
notes: z24.string().optional(),
|
903
|
+
tab: z24.string().optional()
|
904
|
+
});
|
905
|
+
var UpdateRoomTagsAndNotesSchema = z24.object({
|
906
|
+
note: z24.string().optional(),
|
907
|
+
tags: TagSchema.array().optional()
|
889
908
|
});
|
890
909
|
var UpdateRoomAttributesSchema = UpdateRoomTagsAndNotesSchema.extend({
|
891
|
-
roomId:
|
892
|
-
});
|
893
|
-
var MessageAttachmentSchema =
|
894
|
-
bucketName:
|
895
|
-
fileKey:
|
896
|
-
fileName:
|
897
|
-
fileSize:
|
898
|
-
url:
|
910
|
+
roomId: z24.string().uuid()
|
911
|
+
});
|
912
|
+
var MessageAttachmentSchema = z24.object({
|
913
|
+
bucketName: z24.string(),
|
914
|
+
fileKey: z24.string(),
|
915
|
+
fileName: z24.string(),
|
916
|
+
fileSize: z24.number(),
|
917
|
+
url: z24.string(),
|
899
918
|
fileType: MessageTypeSchema,
|
900
|
-
thumbnailUrl:
|
919
|
+
thumbnailUrl: z24.string().optional()
|
901
920
|
});
|
902
|
-
var SendMessageSchema =
|
903
|
-
roomId:
|
921
|
+
var SendMessageSchema = z24.object({
|
922
|
+
roomId: z24.string().uuid(),
|
904
923
|
messageType: MessageTypeSchema,
|
905
|
-
message:
|
924
|
+
message: z24.string().optional(),
|
906
925
|
direction: MessageDirectionTypeSchema,
|
907
926
|
messageAttachments: MessageAttachmentSchema.optional(),
|
908
|
-
user: UserSchema
|
909
|
-
packageId:
|
910
|
-
stickerId:
|
927
|
+
user: UserSchema,
|
928
|
+
packageId: z24.number().optional(),
|
929
|
+
stickerId: z24.number().optional()
|
911
930
|
});
|
912
|
-
var SolveRoomSchema =
|
913
|
-
roomId:
|
931
|
+
var SolveRoomSchema = z24.object({
|
932
|
+
roomId: z24.string()
|
914
933
|
});
|
915
934
|
var UpdateAssigneeSchema = SolveRoomSchema.extend({
|
916
|
-
assigneeId:
|
935
|
+
assigneeId: z24.string().uuid()
|
917
936
|
});
|
918
937
|
var SearchRoomsSchema = DefaultQueryParamsSchema.extend({
|
919
|
-
query:
|
938
|
+
query: z24.string()
|
920
939
|
});
|
921
|
-
var SendMessageToPlatformSchema =
|
940
|
+
var SendMessageToPlatformSchema = z24.object({
|
922
941
|
room: RoomSchema,
|
923
942
|
message: MessageSchema,
|
924
|
-
url:
|
943
|
+
url: z24.string().optional()
|
944
|
+
});
|
945
|
+
var SendMessageResponseSchema = DefaultSuccessResponseSchema.extend({
|
946
|
+
data: MessageSchema
|
925
947
|
});
|
926
948
|
|
927
949
|
// src/chat/index.ts
|
@@ -932,11 +954,11 @@ var mainChatContract = initContract6().router(
|
|
932
954
|
path: "/rooms",
|
933
955
|
responses: {
|
934
956
|
200: DefaultSuccessResponseSchema.extend({
|
935
|
-
total:
|
936
|
-
page:
|
937
|
-
pageSize:
|
938
|
-
data:
|
939
|
-
unreadCountsByAssignee:
|
957
|
+
total: z25.number(),
|
958
|
+
page: z25.number(),
|
959
|
+
pageSize: z25.number(),
|
960
|
+
data: z25.array(RoomSchema),
|
961
|
+
unreadCountsByAssignee: z25.array(UnreadCountsByAssigneeSchema)
|
940
962
|
}),
|
941
963
|
401: DefaultUnauthorizedSchema
|
942
964
|
},
|
@@ -946,8 +968,8 @@ var mainChatContract = initContract6().router(
|
|
946
968
|
getRoomContact: {
|
947
969
|
method: "GET",
|
948
970
|
path: "/contact/:contactId",
|
949
|
-
pathParams:
|
950
|
-
contactId:
|
971
|
+
pathParams: z25.object({
|
972
|
+
contactId: z25.string().uuid()
|
951
973
|
}),
|
952
974
|
responses: {
|
953
975
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -967,17 +989,6 @@ var mainChatContract = initContract6().router(
|
|
967
989
|
},
|
968
990
|
summary: "Update room attributes"
|
969
991
|
},
|
970
|
-
updateRoomTagsAndNotes: {
|
971
|
-
method: "PATCH",
|
972
|
-
path: "/room/:roomId",
|
973
|
-
body: UpdateRoomAttributesSchema,
|
974
|
-
responses: {
|
975
|
-
200: DefaultSuccessResponseSchema.extend({
|
976
|
-
data: RoomSchema
|
977
|
-
})
|
978
|
-
},
|
979
|
-
summary: "Update room tags and notes"
|
980
|
-
},
|
981
992
|
sendMessage: {
|
982
993
|
method: "POST",
|
983
994
|
path: "/message",
|
@@ -990,14 +1001,18 @@ var mainChatContract = initContract6().router(
|
|
990
1001
|
getMessages: {
|
991
1002
|
method: "GET",
|
992
1003
|
path: "/message/:roomId",
|
993
|
-
pathParams:
|
994
|
-
roomId:
|
1004
|
+
pathParams: z25.object({
|
1005
|
+
roomId: z25.string().uuid()
|
995
1006
|
}),
|
996
1007
|
responses: {
|
997
1008
|
200: DefaultSuccessResponseSchema.extend({
|
998
|
-
|
1009
|
+
total: z25.number(),
|
1010
|
+
page: z25.number(),
|
1011
|
+
pageSize: z25.number(),
|
1012
|
+
data: z25.array(MessageSchema)
|
999
1013
|
})
|
1000
1014
|
},
|
1015
|
+
query: DefaultQueryParamsSchema,
|
1001
1016
|
summary: "Get messages"
|
1002
1017
|
},
|
1003
1018
|
solveRoom: {
|
@@ -1007,7 +1022,7 @@ var mainChatContract = initContract6().router(
|
|
1007
1022
|
responses: {
|
1008
1023
|
200: DefaultSuccessResponseSchema.extend({
|
1009
1024
|
data: RoomSchema.extend({
|
1010
|
-
solveMessage:
|
1025
|
+
solveMessage: z25.string()
|
1011
1026
|
})
|
1012
1027
|
}),
|
1013
1028
|
409: DefaultErrorResponseSchema
|
@@ -1028,8 +1043,8 @@ var mainChatContract = initContract6().router(
|
|
1028
1043
|
getRoom: {
|
1029
1044
|
method: "GET",
|
1030
1045
|
path: "/room/:roomId",
|
1031
|
-
pathParams:
|
1032
|
-
roomId:
|
1046
|
+
pathParams: z25.object({
|
1047
|
+
roomId: z25.string().uuid()
|
1033
1048
|
}),
|
1034
1049
|
responses: {
|
1035
1050
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1041,15 +1056,15 @@ var mainChatContract = initContract6().router(
|
|
1041
1056
|
},
|
1042
1057
|
createRoom: {
|
1043
1058
|
method: "POST",
|
1044
|
-
path: "/room/create/:
|
1045
|
-
pathParams:
|
1046
|
-
|
1059
|
+
path: "/room/create/:platformContactId",
|
1060
|
+
pathParams: z25.object({
|
1061
|
+
platformContactId: z25.string().uuid()
|
1047
1062
|
}),
|
1048
1063
|
responses: {
|
1049
1064
|
200: DefaultSuccessResponseSchema.extend({
|
1050
1065
|
data: RoomSchema.extend({
|
1051
1066
|
contact: ContactSchema,
|
1052
|
-
openMessage:
|
1067
|
+
openMessage: z25.string()
|
1053
1068
|
})
|
1054
1069
|
})
|
1055
1070
|
},
|
@@ -1059,13 +1074,13 @@ var mainChatContract = initContract6().router(
|
|
1059
1074
|
readRoom: {
|
1060
1075
|
method: "POST",
|
1061
1076
|
path: "/room/:roomid/read",
|
1062
|
-
pathParams:
|
1063
|
-
roomId:
|
1077
|
+
pathParams: z25.object({
|
1078
|
+
roomId: z25.string().uuid()
|
1064
1079
|
}),
|
1065
1080
|
responses: {
|
1066
1081
|
200: DefaultSuccessResponseSchema.extend({
|
1067
1082
|
data: RoomSchema.extend({
|
1068
|
-
description:
|
1083
|
+
description: z25.string().nullable()
|
1069
1084
|
})
|
1070
1085
|
})
|
1071
1086
|
},
|
@@ -1077,10 +1092,10 @@ var mainChatContract = initContract6().router(
|
|
1077
1092
|
path: "/search",
|
1078
1093
|
responses: {
|
1079
1094
|
200: DefaultSuccessResponseSchema.extend({
|
1080
|
-
total:
|
1081
|
-
page:
|
1082
|
-
pageSize:
|
1083
|
-
data:
|
1095
|
+
total: z25.number(),
|
1096
|
+
page: z25.number(),
|
1097
|
+
pageSize: z25.number(),
|
1098
|
+
data: z25.array(RoomSchema)
|
1084
1099
|
})
|
1085
1100
|
},
|
1086
1101
|
query: SearchRoomsSchema,
|
@@ -1095,94 +1110,162 @@ var mainChatContract = initContract6().router(
|
|
1095
1110
|
|
1096
1111
|
// src/contact/index.ts
|
1097
1112
|
import { initContract as initContract7 } from "@ts-rest/core";
|
1098
|
-
import
|
1113
|
+
import z27 from "zod";
|
1099
1114
|
|
1100
1115
|
// src/contact/validation.ts
|
1101
|
-
import
|
1102
|
-
var BaseSchema =
|
1103
|
-
isRequired:
|
1104
|
-
attributeId:
|
1116
|
+
import z26 from "zod";
|
1117
|
+
var BaseSchema = z26.object({
|
1118
|
+
isRequired: z26.boolean(),
|
1119
|
+
attributeId: z26.string()
|
1105
1120
|
});
|
1106
1121
|
var SingleValue = {
|
1107
|
-
value:
|
1122
|
+
value: z26.string()
|
1108
1123
|
};
|
1109
1124
|
var ContactContractValidationSchema = {
|
1110
1125
|
create: {
|
1111
|
-
request:
|
1126
|
+
request: z26.object({
|
1112
1127
|
name: BaseSchema.extend(SingleValue),
|
1113
1128
|
email: BaseSchema.extend({
|
1114
|
-
value:
|
1115
|
-
|
1116
|
-
email:
|
1117
|
-
isPrimary:
|
1129
|
+
value: z26.array(
|
1130
|
+
z26.object({
|
1131
|
+
email: z26.string(),
|
1132
|
+
isPrimary: z26.boolean()
|
1118
1133
|
})
|
1119
1134
|
)
|
1120
1135
|
}),
|
1121
1136
|
channel: BaseSchema.extend(SingleValue),
|
1122
1137
|
address: BaseSchema.extend(SingleValue),
|
1123
1138
|
phone: BaseSchema.extend({
|
1124
|
-
value:
|
1125
|
-
|
1126
|
-
phone:
|
1127
|
-
isPrimary:
|
1139
|
+
value: z26.array(
|
1140
|
+
z26.object({
|
1141
|
+
phone: z26.string(),
|
1142
|
+
isPrimary: z26.boolean()
|
1128
1143
|
})
|
1129
1144
|
)
|
1130
1145
|
}).optional(),
|
1131
1146
|
notes: BaseSchema.extend(SingleValue),
|
1132
1147
|
tags: BaseSchema.extend({
|
1133
|
-
value:
|
1148
|
+
value: z26.array(z26.string())
|
1134
1149
|
}),
|
1135
1150
|
company: BaseSchema.extend(SingleValue),
|
1136
|
-
customFields:
|
1151
|
+
customFields: z26.array(
|
1137
1152
|
BaseSchema.extend({
|
1138
|
-
value:
|
1139
|
-
type:
|
1140
|
-
isDefaultAttribute:
|
1153
|
+
value: z26.union([z26.string(), z26.array(z26.string())]),
|
1154
|
+
type: z26.string(),
|
1155
|
+
isDefaultAttribute: z26.boolean()
|
1141
1156
|
})
|
1142
1157
|
)
|
1143
1158
|
}),
|
1144
|
-
response:
|
1159
|
+
response: z26.string()
|
1145
1160
|
},
|
1146
1161
|
getById: {
|
1147
|
-
request:
|
1148
|
-
id:
|
1162
|
+
request: z26.object({
|
1163
|
+
id: z26.string().uuid()
|
1149
1164
|
}),
|
1150
1165
|
response: ContactSchema
|
1151
1166
|
},
|
1152
1167
|
delete: {
|
1153
|
-
request:
|
1154
|
-
id:
|
1168
|
+
request: z26.object({
|
1169
|
+
id: z26.string().uuid()
|
1155
1170
|
}),
|
1156
|
-
response:
|
1171
|
+
response: z26.string()
|
1157
1172
|
},
|
1158
1173
|
getAll: {
|
1159
|
-
request:
|
1160
|
-
page:
|
1161
|
-
pageSize:
|
1162
|
-
keyword:
|
1163
|
-
company:
|
1164
|
-
name:
|
1165
|
-
address:
|
1166
|
-
channel:
|
1167
|
-
selectedDate:
|
1168
|
-
customFields:
|
1169
|
-
|
1170
|
-
attributeId:
|
1171
|
-
type:
|
1172
|
-
value:
|
1174
|
+
request: z26.object({
|
1175
|
+
page: z26.coerce.number().default(1),
|
1176
|
+
pageSize: z26.coerce.number().default(10),
|
1177
|
+
keyword: z26.string().optional(),
|
1178
|
+
company: z26.array(z26.string().uuid()),
|
1179
|
+
name: z26.string(),
|
1180
|
+
address: z26.string(),
|
1181
|
+
channel: z26.array(z26.string()),
|
1182
|
+
selectedDate: z26.string(),
|
1183
|
+
customFields: z26.array(
|
1184
|
+
z26.object({
|
1185
|
+
attributeId: z26.string().uuid(),
|
1186
|
+
type: z26.string(),
|
1187
|
+
value: z26.union([z26.string(), z26.array(z26.string())])
|
1173
1188
|
})
|
1174
1189
|
),
|
1175
|
-
tags:
|
1176
|
-
phone:
|
1177
|
-
email:
|
1178
|
-
notes:
|
1190
|
+
tags: z26.array(z26.string().uuid()),
|
1191
|
+
phone: z26.string(),
|
1192
|
+
email: z26.string(),
|
1193
|
+
notes: z26.string()
|
1179
1194
|
}).partial(),
|
1180
1195
|
response: {
|
1181
|
-
page:
|
1182
|
-
pageSize:
|
1183
|
-
total:
|
1184
|
-
data:
|
1196
|
+
page: z26.number(),
|
1197
|
+
pageSize: z26.number(),
|
1198
|
+
total: z26.number(),
|
1199
|
+
data: z26.array(ContactSchema)
|
1185
1200
|
}
|
1201
|
+
},
|
1202
|
+
createContactByPhone: {
|
1203
|
+
request: z26.object({
|
1204
|
+
phoneNumber: z26.string().refine(
|
1205
|
+
(value) => {
|
1206
|
+
const numericValue = value.replace(/\s/g, "");
|
1207
|
+
return /^\d+$/.test(numericValue);
|
1208
|
+
},
|
1209
|
+
{
|
1210
|
+
message: "Phone number must contain only numeric characters"
|
1211
|
+
}
|
1212
|
+
)
|
1213
|
+
}),
|
1214
|
+
response: ContactSchema
|
1215
|
+
},
|
1216
|
+
updateContactByPhone: {
|
1217
|
+
request: z26.object({
|
1218
|
+
phoneNumber: z26.string().refine(
|
1219
|
+
(value) => {
|
1220
|
+
const numericValue = value.replace(/\s/g, "");
|
1221
|
+
return /^\d+$/.test(numericValue);
|
1222
|
+
},
|
1223
|
+
{
|
1224
|
+
message: "Phone number must contain only numeric characters"
|
1225
|
+
}
|
1226
|
+
)
|
1227
|
+
}),
|
1228
|
+
response: ContactSchema
|
1229
|
+
},
|
1230
|
+
updateFromOngoingCall: {
|
1231
|
+
request: z26.object({
|
1232
|
+
name: z26.string(),
|
1233
|
+
companyId: z26.string().uuid()
|
1234
|
+
}).partial(),
|
1235
|
+
response: ContactSchema
|
1236
|
+
},
|
1237
|
+
merge: {
|
1238
|
+
request: z26.object({
|
1239
|
+
primaryContactId: z26.string().uuid(),
|
1240
|
+
emails: z26.array(
|
1241
|
+
z26.object({
|
1242
|
+
email: z26.string(),
|
1243
|
+
isPrimary: z26.boolean()
|
1244
|
+
})
|
1245
|
+
),
|
1246
|
+
phones: z26.array(
|
1247
|
+
z26.object({
|
1248
|
+
phone: z26.string(),
|
1249
|
+
isPrimary: z26.boolean()
|
1250
|
+
})
|
1251
|
+
),
|
1252
|
+
otherContacts: z26.array(z26.string().uuid())
|
1253
|
+
}),
|
1254
|
+
response: ContactSchema
|
1255
|
+
},
|
1256
|
+
checkContactPhone: {
|
1257
|
+
request: z26.object({
|
1258
|
+
contactId: z26.string().uuid().optional(),
|
1259
|
+
phoneNumber: z26.string()
|
1260
|
+
}),
|
1261
|
+
response: z26.boolean()
|
1262
|
+
},
|
1263
|
+
checkContactEmail: {
|
1264
|
+
request: z26.object({
|
1265
|
+
contactId: z26.string().uuid().optional(),
|
1266
|
+
email: z26.string()
|
1267
|
+
}),
|
1268
|
+
response: z26.boolean()
|
1186
1269
|
}
|
1187
1270
|
};
|
1188
1271
|
|
@@ -1196,14 +1279,14 @@ var contactContract = initContract7().router(
|
|
1196
1279
|
201: DefaultSuccessResponseSchema.extend({
|
1197
1280
|
message: ContactContractValidationSchema.create.response
|
1198
1281
|
}),
|
1199
|
-
400:
|
1200
|
-
message:
|
1282
|
+
400: z27.object({
|
1283
|
+
message: z27.string()
|
1201
1284
|
}),
|
1202
|
-
409:
|
1203
|
-
message:
|
1285
|
+
409: z27.object({
|
1286
|
+
message: z27.string()
|
1204
1287
|
}),
|
1205
|
-
500:
|
1206
|
-
message:
|
1288
|
+
500: z27.object({
|
1289
|
+
message: z27.string()
|
1207
1290
|
}),
|
1208
1291
|
401: DefaultUnauthorizedSchema,
|
1209
1292
|
404: DefaultNotFoundSchema,
|
@@ -1220,14 +1303,14 @@ var contactContract = initContract7().router(
|
|
1220
1303
|
200: DefaultSuccessResponseSchema.extend({
|
1221
1304
|
data: ContactContractValidationSchema.getById.response
|
1222
1305
|
}),
|
1223
|
-
400:
|
1224
|
-
message:
|
1306
|
+
400: z27.object({
|
1307
|
+
message: z27.string()
|
1225
1308
|
}),
|
1226
|
-
409:
|
1227
|
-
message:
|
1309
|
+
409: z27.object({
|
1310
|
+
message: z27.string()
|
1228
1311
|
}),
|
1229
|
-
500:
|
1230
|
-
message:
|
1312
|
+
500: z27.object({
|
1313
|
+
message: z27.string()
|
1231
1314
|
}),
|
1232
1315
|
401: DefaultUnauthorizedSchema,
|
1233
1316
|
404: DefaultNotFoundSchema,
|
@@ -1243,14 +1326,14 @@ var contactContract = initContract7().router(
|
|
1243
1326
|
200: DefaultSuccessResponseSchema.extend(
|
1244
1327
|
ContactContractValidationSchema.getAll.response
|
1245
1328
|
),
|
1246
|
-
400:
|
1247
|
-
message:
|
1329
|
+
400: z27.object({
|
1330
|
+
message: z27.string()
|
1248
1331
|
}),
|
1249
|
-
409:
|
1250
|
-
message:
|
1332
|
+
409: z27.object({
|
1333
|
+
message: z27.string()
|
1251
1334
|
}),
|
1252
|
-
500:
|
1253
|
-
message:
|
1335
|
+
500: z27.object({
|
1336
|
+
message: z27.string()
|
1254
1337
|
}),
|
1255
1338
|
401: DefaultUnauthorizedSchema,
|
1256
1339
|
404: DefaultNotFoundSchema,
|
@@ -1266,14 +1349,14 @@ var contactContract = initContract7().router(
|
|
1266
1349
|
200: DefaultSuccessResponseSchema.extend({
|
1267
1350
|
data: ContactContractValidationSchema.getById.response
|
1268
1351
|
}),
|
1269
|
-
400:
|
1270
|
-
message:
|
1352
|
+
400: z27.object({
|
1353
|
+
message: z27.string()
|
1271
1354
|
}),
|
1272
|
-
409:
|
1273
|
-
message:
|
1355
|
+
409: z27.object({
|
1356
|
+
message: z27.string()
|
1274
1357
|
}),
|
1275
|
-
500:
|
1276
|
-
message:
|
1358
|
+
500: z27.object({
|
1359
|
+
message: z27.string()
|
1277
1360
|
}),
|
1278
1361
|
401: DefaultUnauthorizedSchema,
|
1279
1362
|
404: DefaultNotFoundSchema,
|
@@ -1290,14 +1373,14 @@ var contactContract = initContract7().router(
|
|
1290
1373
|
200: DefaultSuccessResponseSchema.extend({
|
1291
1374
|
message: ContactContractValidationSchema.delete.response
|
1292
1375
|
}),
|
1293
|
-
400:
|
1294
|
-
message:
|
1376
|
+
400: z27.object({
|
1377
|
+
message: z27.string()
|
1295
1378
|
}),
|
1296
|
-
409:
|
1297
|
-
message:
|
1379
|
+
409: z27.object({
|
1380
|
+
message: z27.string()
|
1298
1381
|
}),
|
1299
|
-
500:
|
1300
|
-
message:
|
1382
|
+
500: z27.object({
|
1383
|
+
message: z27.string()
|
1301
1384
|
}),
|
1302
1385
|
401: DefaultUnauthorizedSchema,
|
1303
1386
|
404: DefaultNotFoundSchema,
|
@@ -1305,6 +1388,121 @@ var contactContract = initContract7().router(
|
|
1305
1388
|
},
|
1306
1389
|
body: null,
|
1307
1390
|
summary: "Delete a contact"
|
1391
|
+
},
|
1392
|
+
createContactByPhone: {
|
1393
|
+
method: "POST",
|
1394
|
+
path: "/phone",
|
1395
|
+
responses: {
|
1396
|
+
201: DefaultSuccessResponseSchema.extend({
|
1397
|
+
data: ContactContractValidationSchema.createContactByPhone.response
|
1398
|
+
}),
|
1399
|
+
400: z27.object({
|
1400
|
+
message: z27.string()
|
1401
|
+
}),
|
1402
|
+
409: z27.object({
|
1403
|
+
message: z27.string()
|
1404
|
+
}),
|
1405
|
+
500: z27.object({
|
1406
|
+
message: z27.string()
|
1407
|
+
}),
|
1408
|
+
401: DefaultUnauthorizedSchema,
|
1409
|
+
404: DefaultNotFoundSchema,
|
1410
|
+
422: DefaultUnprocessibleSchema
|
1411
|
+
},
|
1412
|
+
body: ContactContractValidationSchema.createContactByPhone.request,
|
1413
|
+
summary: "Create a new contact using phone number"
|
1414
|
+
},
|
1415
|
+
updateFromOngoingCall: {
|
1416
|
+
method: "PATCH",
|
1417
|
+
path: "/:id/ongoing",
|
1418
|
+
responses: {
|
1419
|
+
201: DefaultSuccessResponseSchema.extend({
|
1420
|
+
data: ContactContractValidationSchema.updateFromOngoingCall.response
|
1421
|
+
}),
|
1422
|
+
400: z27.object({
|
1423
|
+
message: z27.string()
|
1424
|
+
}),
|
1425
|
+
409: z27.object({
|
1426
|
+
message: z27.string()
|
1427
|
+
}),
|
1428
|
+
500: z27.object({
|
1429
|
+
message: z27.string()
|
1430
|
+
}),
|
1431
|
+
401: DefaultUnauthorizedSchema,
|
1432
|
+
404: DefaultNotFoundSchema,
|
1433
|
+
422: DefaultUnprocessibleSchema
|
1434
|
+
},
|
1435
|
+
body: ContactContractValidationSchema.updateFromOngoingCall.request,
|
1436
|
+
summary: "Update a contact with name and company while making ongoing call"
|
1437
|
+
},
|
1438
|
+
merge: {
|
1439
|
+
method: "POST",
|
1440
|
+
path: "/merge",
|
1441
|
+
responses: {
|
1442
|
+
200: DefaultSuccessResponseSchema.extend({
|
1443
|
+
data: ContactContractValidationSchema.merge.response
|
1444
|
+
}),
|
1445
|
+
400: z27.object({
|
1446
|
+
message: z27.string()
|
1447
|
+
}),
|
1448
|
+
409: z27.object({
|
1449
|
+
message: z27.string()
|
1450
|
+
}),
|
1451
|
+
500: z27.object({
|
1452
|
+
message: z27.string()
|
1453
|
+
}),
|
1454
|
+
401: DefaultUnauthorizedSchema,
|
1455
|
+
404: DefaultNotFoundSchema,
|
1456
|
+
422: DefaultUnprocessibleSchema
|
1457
|
+
},
|
1458
|
+
body: ContactContractValidationSchema.merge.request,
|
1459
|
+
summary: "Merge contacts into a single contact."
|
1460
|
+
},
|
1461
|
+
checkContactPhone: {
|
1462
|
+
method: "POST",
|
1463
|
+
path: "/check/phone",
|
1464
|
+
responses: {
|
1465
|
+
200: DefaultSuccessResponseSchema.extend({
|
1466
|
+
existed: ContactContractValidationSchema.checkContactPhone.response
|
1467
|
+
}),
|
1468
|
+
400: z27.object({
|
1469
|
+
message: z27.string()
|
1470
|
+
}),
|
1471
|
+
409: z27.object({
|
1472
|
+
message: z27.string()
|
1473
|
+
}),
|
1474
|
+
500: z27.object({
|
1475
|
+
message: z27.string()
|
1476
|
+
}),
|
1477
|
+
401: DefaultUnauthorizedSchema,
|
1478
|
+
404: DefaultNotFoundSchema,
|
1479
|
+
422: DefaultUnprocessibleSchema
|
1480
|
+
},
|
1481
|
+
body: ContactContractValidationSchema.checkContactPhone.request,
|
1482
|
+
summary: "Check whether a contact owns a phone number"
|
1483
|
+
},
|
1484
|
+
checkContactEmail: {
|
1485
|
+
method: "POST",
|
1486
|
+
path: "/check/email",
|
1487
|
+
responses: {
|
1488
|
+
200: DefaultSuccessResponseSchema.extend({
|
1489
|
+
existed: ContactContractValidationSchema.checkContactEmail.response
|
1490
|
+
}),
|
1491
|
+
400: z27.object({
|
1492
|
+
message: z27.string()
|
1493
|
+
}),
|
1494
|
+
409: z27.object({
|
1495
|
+
message: z27.string()
|
1496
|
+
}),
|
1497
|
+
500: z27.object({
|
1498
|
+
message: z27.string()
|
1499
|
+
}),
|
1500
|
+
401: DefaultUnauthorizedSchema,
|
1501
|
+
404: DefaultNotFoundSchema,
|
1502
|
+
422: DefaultUnprocessibleSchema
|
1503
|
+
},
|
1504
|
+
body: ContactContractValidationSchema.checkContactEmail.request,
|
1505
|
+
summary: "Check whether a contact owns a email"
|
1308
1506
|
}
|
1309
1507
|
},
|
1310
1508
|
{
|
@@ -1317,23 +1515,6 @@ var contactContract = initContract7().router(
|
|
1317
1515
|
import { initContract as initContract8 } from "@ts-rest/core";
|
1318
1516
|
import z29 from "zod";
|
1319
1517
|
|
1320
|
-
// src/cx-log/schema.ts
|
1321
|
-
import z27 from "zod";
|
1322
|
-
var CxLogSchema = DefaultEntitySchema.extend({
|
1323
|
-
caseId: z27.number(),
|
1324
|
-
entityId: z27.string().uuid(),
|
1325
|
-
entityName: z27.string(),
|
1326
|
-
contactId: z27.string().uuid().nullable(),
|
1327
|
-
channel: z27.string().nullable(),
|
1328
|
-
queueId: z27.string().uuid().nullable(),
|
1329
|
-
agentId: z27.string().uuid().nullable(),
|
1330
|
-
direction: z27.string().nullable(),
|
1331
|
-
startedDate: z27.date().nullable(),
|
1332
|
-
handledTime: z27.number().nullable(),
|
1333
|
-
firstResponseTime: z27.number().nullable(),
|
1334
|
-
disposition: z27.string().nullable()
|
1335
|
-
});
|
1336
|
-
|
1337
1518
|
// src/cx-log/validation.ts
|
1338
1519
|
import z28 from "zod";
|
1339
1520
|
var sentimentScoreSchema = z28.union([
|
@@ -2218,7 +2399,8 @@ var messengerContract = initContract17().router({
|
|
2218
2399
|
path: "/message",
|
2219
2400
|
body: SendMessageToPlatformSchema,
|
2220
2401
|
responses: {
|
2221
|
-
200:
|
2402
|
+
200: SendMessageResponseSchema,
|
2403
|
+
500: DefaultErrorResponseSchema
|
2222
2404
|
}
|
2223
2405
|
}
|
2224
2406
|
}, {
|