@kl1/contracts 1.0.4 → 1.0.6
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 +632 -319
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +632 -319
- package/dist/index.mjs.map +1 -1
- package/dist/src/call-log/schema.d.ts +4 -4
- package/dist/src/contract.d.ts +26374 -1719
- package/dist/src/contract.d.ts.map +1 -1
- package/dist/src/extension/index.d.ts +85 -0
- package/dist/src/extension/index.d.ts.map +1 -1
- package/dist/src/line/index.d.ts +2 -2
- package/dist/src/line/validation.d.ts +2 -2
- package/dist/src/mail/account-contract.d.ts +168 -224
- package/dist/src/mail/account-contract.d.ts.map +1 -1
- package/dist/src/mail/mail-contract.d.ts +11118 -250
- package/dist/src/mail/mail-contract.d.ts.map +1 -1
- package/dist/src/mail/{mail-server.d.ts → mail-server-contract.d.ts} +5 -5
- package/dist/src/mail/mail-server-contract.d.ts.map +1 -0
- package/dist/src/mail/message-contract.d.ts +502 -8
- package/dist/src/mail/message-contract.d.ts.map +1 -1
- package/dist/src/mail/room-contract.d.ts +10443 -13
- package/dist/src/mail/room-contract.d.ts.map +1 -1
- package/dist/src/mail/schemas/account-validation.schema.d.ts +790 -0
- package/dist/src/mail/schemas/account-validation.schema.d.ts.map +1 -0
- package/dist/src/mail/schemas/account.schema.d.ts +33 -888
- package/dist/src/mail/schemas/account.schema.d.ts.map +1 -1
- package/dist/src/mail/schemas/message-validation.schema.d.ts +2 -0
- package/dist/src/mail/schemas/message-validation.schema.d.ts.map +1 -0
- package/dist/src/mail/schemas/message.schema.d.ts +349 -0
- package/dist/src/mail/schemas/message.schema.d.ts.map +1 -0
- package/dist/src/mail/schemas/room.schema.d.ts +2692 -0
- package/dist/src/mail/schemas/room.schema.d.ts.map +1 -0
- package/dist/src/telephony-cdr/schema.d.ts +4 -4
- package/dist/src/user/index.d.ts +162 -279
- package/dist/src/user/index.d.ts.map +1 -1
- package/dist/src/user/schema.d.ts.map +1 -1
- package/dist/src/user/validation.d.ts +15 -6
- package/dist/src/user/validation.d.ts.map +1 -1
- package/package.json +46 -45
- package/dist/src/mail/mail-server.d.ts.map +0 -1
package/dist/index.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// src/contract.ts
|
2
|
-
import { initContract as
|
2
|
+
import { initContract as initContract20 } from "@ts-rest/core";
|
3
3
|
|
4
4
|
// src/attribute/index.ts
|
5
5
|
import { initContract } from "@ts-rest/core";
|
@@ -19,8 +19,8 @@ var DefaultEntitySchema = z.object({
|
|
19
19
|
deletedAt: z.date().nullable()
|
20
20
|
});
|
21
21
|
var DefaultQueryParamsSchema = z.object({
|
22
|
-
page: z.number().positive().default(1),
|
23
|
-
pageSize: z.number().positive().default(10)
|
22
|
+
page: z.coerce.number().positive().default(1),
|
23
|
+
pageSize: z.coerce.number().positive().default(10)
|
24
24
|
});
|
25
25
|
var DefaultSuccessResponseSchema = z.object({
|
26
26
|
requestId: z.string()
|
@@ -837,18 +837,20 @@ var emailEngineWebhooksEventsContract = initContract7().router({
|
|
837
837
|
// src/mail/mail-contract.ts
|
838
838
|
import { initContract as initContract12 } from "@ts-rest/core";
|
839
839
|
|
840
|
-
// src/mail/
|
840
|
+
// src/mail/room-contract.ts
|
841
841
|
import { initContract as initContract8 } from "@ts-rest/core";
|
842
|
-
import
|
842
|
+
import z30 from "zod";
|
843
|
+
|
844
|
+
// src/mail/schemas/room.schema.ts
|
845
|
+
import z29 from "zod";
|
843
846
|
|
844
847
|
// src/mail/schemas/account.schema.ts
|
845
848
|
import z27 from "zod";
|
846
849
|
var MailServerSchema = z27.object({
|
847
850
|
id: z27.string(),
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
tenant_id: z27.string(),
|
851
|
+
createdAt: z27.date(),
|
852
|
+
updatedAt: z27.date(),
|
853
|
+
deletedAt: z27.date().nullable(),
|
852
854
|
name: z27.string(),
|
853
855
|
smtpHost: z27.string(),
|
854
856
|
smtpPort: z27.string(),
|
@@ -861,10 +863,9 @@ var MailServerSchema = z27.object({
|
|
861
863
|
});
|
862
864
|
var MailAccountSchema = z27.object({
|
863
865
|
id: z27.string(),
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
tenant_id: z27.string(),
|
866
|
+
createdAt: z27.date(),
|
867
|
+
updatedAt: z27.date(),
|
868
|
+
deletedAt: z27.date().nullable(),
|
868
869
|
name: z27.string(),
|
869
870
|
address: z27.string(),
|
870
871
|
accountId: z27.string(),
|
@@ -881,371 +882,562 @@ var MailAccountSchema = z27.object({
|
|
881
882
|
z27.literal("unset")
|
882
883
|
])
|
883
884
|
});
|
884
|
-
var AccountContractsSchemas = {
|
885
|
-
create: {
|
886
|
-
input: z27.object({
|
887
|
-
address: z27.string().email("Email address must be valid email."),
|
888
|
-
name: z27.string().min(1, "Account name cannot be empty."),
|
889
|
-
password: z27.string().min(1, "Password cannot be empty."),
|
890
|
-
mailServerId: z27.string().uuid("Invalid mail_server_id")
|
891
|
-
})
|
892
|
-
},
|
893
|
-
getById: {
|
894
|
-
input: z27.object({
|
895
|
-
id: z27.string().uuid()
|
896
|
-
}),
|
897
|
-
output: MailAccountSchema
|
898
|
-
},
|
899
|
-
getAll: {
|
900
|
-
output: z27.array(MailAccountSchema)
|
901
|
-
},
|
902
|
-
update: {
|
903
|
-
input: MailAccountSchema,
|
904
|
-
output: MailAccountSchema
|
905
|
-
},
|
906
|
-
disconnect: {
|
907
|
-
input: z27.object({
|
908
|
-
id: z27.string().uuid()
|
909
|
-
}),
|
910
|
-
output: MailAccountSchema
|
911
|
-
},
|
912
|
-
reconnect: {
|
913
|
-
input: z27.object({
|
914
|
-
id: z27.string()
|
915
|
-
}),
|
916
|
-
output: MailAccountSchema
|
917
|
-
},
|
918
|
-
delete: {
|
919
|
-
input: z27.object({
|
920
|
-
id: z27.string()
|
921
|
-
}),
|
922
|
-
output: MailAccountSchema
|
923
|
-
}
|
924
|
-
};
|
925
885
|
|
926
|
-
// src/mail/
|
927
|
-
|
886
|
+
// src/mail/schemas/message.schema.ts
|
887
|
+
import z28 from "zod";
|
888
|
+
var AttachmentSchema = z28.object({
|
889
|
+
id: z28.string(),
|
890
|
+
createdAt: z28.date(),
|
891
|
+
updatedAt: z28.date(),
|
892
|
+
deletedAt: z28.nullable(z28.date()),
|
893
|
+
roomId: z28.string(),
|
894
|
+
messageId: z28.string(),
|
895
|
+
fileName: z28.string(),
|
896
|
+
fileType: z28.string(),
|
897
|
+
emailEngineAttachmentId: z28.string(),
|
898
|
+
uploadId: z28.string(),
|
899
|
+
upload: z28.object({
|
900
|
+
id: z28.string(),
|
901
|
+
createdAt: z28.date(),
|
902
|
+
updatedAt: z28.date(),
|
903
|
+
deletedAt: z28.nullable(z28.date()),
|
904
|
+
bucket_name: z28.string(),
|
905
|
+
file_name: z28.string(),
|
906
|
+
file_key: z28.string(),
|
907
|
+
file_size: z28.number(),
|
908
|
+
file_url: z28.string(),
|
909
|
+
extension_name: z28.string()
|
910
|
+
})
|
911
|
+
});
|
912
|
+
var MessageSchema2 = z28.object({
|
913
|
+
id: z28.string(),
|
914
|
+
createdAt: z28.date(),
|
915
|
+
updatedAt: z28.date(),
|
916
|
+
deletedAt: z28.nullable(z28.date()),
|
917
|
+
roomId: z28.string(),
|
918
|
+
subject: z28.string(),
|
919
|
+
textPlain: z28.string(),
|
920
|
+
textHtml: z28.string(),
|
921
|
+
textId: z28.string(),
|
922
|
+
emailEngineEmailId: z28.string(),
|
923
|
+
emailEngineMessageId: z28.string(),
|
924
|
+
emailEngineReplyTo: z28.nullable(z28.string()),
|
925
|
+
direction: z28.string(),
|
926
|
+
date: z28.date(),
|
927
|
+
action: z28.string(),
|
928
|
+
unseen: z28.boolean(),
|
929
|
+
seemsLikeNew: z28.boolean(),
|
930
|
+
from: z28.array(MailUserSchema),
|
931
|
+
to: z28.array(MailUserSchema),
|
932
|
+
cc: z28.array(MailUserSchema),
|
933
|
+
bcc: z28.array(MailUserSchema),
|
934
|
+
attachments: z28.array(AttachmentSchema)
|
935
|
+
});
|
936
|
+
|
937
|
+
// src/mail/schemas/room.schema.ts
|
938
|
+
var MailUserSchema = z29.object({
|
939
|
+
id: z29.string(),
|
940
|
+
createdAt: z29.date(),
|
941
|
+
updatedAt: z29.date(),
|
942
|
+
deletedAt: z29.date().nullable(),
|
943
|
+
name: z29.string(),
|
944
|
+
address: z29.string()
|
945
|
+
});
|
946
|
+
var TagSchema2 = z29.object({
|
947
|
+
color: z29.string(),
|
948
|
+
id: z29.string(),
|
949
|
+
createdAt: z29.date(),
|
950
|
+
updatedAt: z29.date(),
|
951
|
+
deletedAt: z29.date().nullable(),
|
952
|
+
name: z29.string()
|
953
|
+
});
|
954
|
+
var UserModel = z29.object({
|
955
|
+
id: z29.string().uuid(),
|
956
|
+
createdAt: z29.date(),
|
957
|
+
updatedAt: z29.date(),
|
958
|
+
deletedAt: z29.date().nullable(),
|
959
|
+
name: z29.string(),
|
960
|
+
email: z29.string(),
|
961
|
+
address: z29.string().nullable(),
|
962
|
+
phone: z29.string().nullable(),
|
963
|
+
notification_count: z29.number().nullable()
|
964
|
+
});
|
965
|
+
var ActivityLogModel = z29.object({
|
966
|
+
id: z29.string(),
|
967
|
+
createdAt: z29.string(),
|
968
|
+
updatedAt: z29.string(),
|
969
|
+
deletedAt: z29.nullable(z29.string()),
|
970
|
+
description: z29.string(),
|
971
|
+
actorId: z29.string(),
|
972
|
+
roomId: z29.string(),
|
973
|
+
actor: UserModel
|
974
|
+
});
|
975
|
+
var MessagesAndLogs = z29.array(z29.union([MessageSchema2, ActivityLogModel]));
|
976
|
+
var MailRoomSchema = z29.object({
|
977
|
+
id: z29.string(),
|
978
|
+
createdAt: z29.date(),
|
979
|
+
updatedAt: z29.date(),
|
980
|
+
deletedAt: z29.date().nullable(),
|
981
|
+
subject: z29.string(),
|
982
|
+
resolved: z29.boolean(),
|
983
|
+
assigneeId: z29.string().nullable(),
|
984
|
+
note: z29.string(),
|
985
|
+
mailId: z29.string(),
|
986
|
+
direction: z29.string(),
|
987
|
+
lastMessageId: z29.string(),
|
988
|
+
firstMessageId: z29.string(),
|
989
|
+
from: z29.array(MailUserSchema),
|
990
|
+
to: z29.array(MailUserSchema),
|
991
|
+
cc: z29.array(MailUserSchema),
|
992
|
+
bcc: z29.array(MailUserSchema),
|
993
|
+
firstMessage: MessageSchema2,
|
994
|
+
lastMessage: MessageSchema2,
|
995
|
+
tags: z29.array(TagSchema2),
|
996
|
+
assignee: UserModel,
|
997
|
+
messages: z29.array(MessageSchema2),
|
998
|
+
messagesAndLogs: MessagesAndLogs,
|
999
|
+
mail: MailAccountSchema,
|
1000
|
+
unReadMessageCount: z29.number()
|
1001
|
+
});
|
1002
|
+
var AttachmentSchema2 = z29.object({
|
1003
|
+
fileName: z29.string(),
|
1004
|
+
fileType: z29.string(),
|
1005
|
+
emailEngineAttachmentId: z29.string(),
|
1006
|
+
uploadId: z29.string(),
|
1007
|
+
messageId: z29.string(),
|
1008
|
+
roomId: z29.string(),
|
1009
|
+
upload: UploadSchema
|
1010
|
+
});
|
1011
|
+
|
1012
|
+
// src/mail/room-contract.ts
|
1013
|
+
var roomContract = initContract8().router(
|
928
1014
|
{
|
929
|
-
//#region ........register account
|
930
1015
|
create: {
|
931
1016
|
method: "POST",
|
932
|
-
path: "",
|
1017
|
+
path: "/",
|
933
1018
|
responses: {
|
934
|
-
|
935
|
-
|
936
|
-
message: z28.string()
|
937
|
-
}),
|
938
|
-
400: z28.object({
|
939
|
-
message: z28.string()
|
940
|
-
}),
|
941
|
-
409: z28.object({
|
942
|
-
message: z28.string()
|
943
|
-
}),
|
944
|
-
500: z28.object({
|
945
|
-
message: z28.string()
|
1019
|
+
200: DefaultSuccessResponseSchema.extend({
|
1020
|
+
message: z30.string()
|
946
1021
|
}),
|
947
1022
|
...DefaultResponses
|
948
1023
|
},
|
949
|
-
body:
|
950
|
-
summary: "
|
1024
|
+
body: null,
|
1025
|
+
summary: "Create a new room for new incoming mail"
|
951
1026
|
},
|
952
|
-
|
953
|
-
//#region ........get account
|
954
|
-
getById: {
|
1027
|
+
getAll: {
|
955
1028
|
method: "GET",
|
956
|
-
path: "
|
957
|
-
|
1029
|
+
path: "",
|
1030
|
+
query: z30.object({
|
1031
|
+
page: z30.coerce.number().default(1),
|
1032
|
+
pageSize: z30.coerce.number().default(10),
|
1033
|
+
keyword: z30.string().optional(),
|
1034
|
+
assigneeId: z30.string().uuid().optional().nullable(),
|
1035
|
+
resolved: z30.boolean().or(z30.string().transform((value) => value.toLowerCase() === "true")).optional().nullable()
|
1036
|
+
}),
|
958
1037
|
responses: {
|
959
1038
|
200: DefaultSuccessResponseSchema.extend({
|
960
|
-
data:
|
1039
|
+
data: z30.array(MailRoomSchema),
|
1040
|
+
total: z30.number(),
|
1041
|
+
page: z30.number(),
|
1042
|
+
pageSize: z30.number()
|
961
1043
|
}),
|
962
1044
|
...DefaultResponses
|
963
1045
|
},
|
964
|
-
summary: "Get
|
1046
|
+
summary: "Get mail rooms"
|
965
1047
|
},
|
966
|
-
|
967
|
-
//#region ........get all account
|
968
|
-
//TODO: add pagination parameters
|
969
|
-
getAll: {
|
1048
|
+
getById: {
|
970
1049
|
method: "GET",
|
971
|
-
path: "",
|
1050
|
+
path: "/:id",
|
1051
|
+
pathParams: z30.object({
|
1052
|
+
id: z30.string().uuid()
|
1053
|
+
}),
|
972
1054
|
responses: {
|
973
1055
|
200: DefaultSuccessResponseSchema.extend({
|
974
|
-
data:
|
975
|
-
// data: AccountContractsSchemas.getAll.output,
|
1056
|
+
data: MailRoomSchema
|
976
1057
|
}),
|
977
1058
|
...DefaultResponses
|
978
1059
|
},
|
979
|
-
summary: "Get
|
1060
|
+
summary: "Get a mail room by id"
|
980
1061
|
},
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
pathParams: z28.object({
|
987
|
-
id: z28.string().uuid()
|
1062
|
+
getAttachments: {
|
1063
|
+
method: "GET",
|
1064
|
+
path: "/:id/attachments",
|
1065
|
+
pathParams: z30.object({
|
1066
|
+
id: z30.string().uuid()
|
988
1067
|
}),
|
989
1068
|
responses: {
|
990
|
-
|
991
|
-
data:
|
1069
|
+
200: DefaultSuccessResponseSchema.extend({
|
1070
|
+
data: z30.array(AttachmentSchema2)
|
992
1071
|
}),
|
993
1072
|
...DefaultResponses
|
994
1073
|
},
|
995
|
-
|
996
|
-
summary: "Update a account by id"
|
1074
|
+
summary: "Get all the attachments of a room"
|
997
1075
|
},
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1076
|
+
getParticipants: {
|
1077
|
+
method: "GET",
|
1078
|
+
path: "/:id/participants",
|
1079
|
+
pathParams: z30.object({
|
1080
|
+
id: z30.string().uuid()
|
1081
|
+
}),
|
1004
1082
|
responses: {
|
1005
|
-
|
1006
|
-
data:
|
1083
|
+
200: DefaultSuccessResponseSchema.extend({
|
1084
|
+
data: z30.array(MailUserSchema)
|
1007
1085
|
}),
|
1008
1086
|
...DefaultResponses
|
1009
1087
|
},
|
1010
|
-
|
1011
|
-
summary: "Disconnect an account"
|
1088
|
+
summary: "Get all the attachments of a room"
|
1012
1089
|
},
|
1013
|
-
|
1014
|
-
//#region ........reconnect account
|
1015
|
-
reconnect: {
|
1090
|
+
update: {
|
1016
1091
|
method: "PATCH",
|
1017
|
-
path: "/:id
|
1018
|
-
pathParams:
|
1092
|
+
path: "/:id",
|
1093
|
+
pathParams: z30.object({
|
1094
|
+
id: z30.string()
|
1095
|
+
}),
|
1019
1096
|
responses: {
|
1020
|
-
|
1021
|
-
data:
|
1097
|
+
200: DefaultSuccessResponseSchema.extend({
|
1098
|
+
data: MailRoomSchema
|
1022
1099
|
}),
|
1023
1100
|
...DefaultResponses
|
1024
1101
|
},
|
1025
|
-
body:
|
1026
|
-
|
1102
|
+
body: z30.object({
|
1103
|
+
resolved: z30.boolean().or(
|
1104
|
+
z30.union([z30.literal("true"), z30.literal("false")]).transform((value) => value.toLowerCase() === "true")
|
1105
|
+
).optional().nullable(),
|
1106
|
+
assigneeId: z30.string().uuid().optional().nullable(),
|
1107
|
+
note: z30.string().optional(),
|
1108
|
+
tags: z30.array(z30.string().uuid()).optional(),
|
1109
|
+
handover: z30.boolean().or(
|
1110
|
+
z30.union([z30.literal("true"), z30.literal("false")]).transform((value) => value.toLowerCase() === "true")
|
1111
|
+
).optional().nullable()
|
1112
|
+
}),
|
1113
|
+
summary: "Update a mail room by id"
|
1027
1114
|
},
|
1028
|
-
|
1029
|
-
|
1030
|
-
delete: {
|
1031
|
-
method: "DELETE",
|
1115
|
+
markAsRead: {
|
1116
|
+
method: "GET",
|
1032
1117
|
path: "/:id",
|
1033
|
-
pathParams:
|
1118
|
+
pathParams: z30.object({
|
1119
|
+
id: z30.string().uuid()
|
1120
|
+
}),
|
1034
1121
|
responses: {
|
1035
1122
|
200: DefaultSuccessResponseSchema.extend({
|
1036
|
-
message:
|
1123
|
+
message: z30.string()
|
1037
1124
|
}),
|
1038
1125
|
...DefaultResponses
|
1039
1126
|
},
|
1040
|
-
|
1041
|
-
summary: "Delete an account by id"
|
1127
|
+
summary: "Mark all the un read messages as read"
|
1042
1128
|
}
|
1043
|
-
//#endregion delete account
|
1044
1129
|
},
|
1045
1130
|
{
|
1046
|
-
|
1047
|
-
pathPrefix: "mail/account"
|
1131
|
+
pathPrefix: "mail/room"
|
1048
1132
|
}
|
1049
1133
|
);
|
1050
1134
|
|
1051
|
-
// src/mail/
|
1135
|
+
// src/mail/message-contract.ts
|
1052
1136
|
import { initContract as initContract9 } from "@ts-rest/core";
|
1053
|
-
import
|
1054
|
-
var
|
1137
|
+
import z31 from "zod";
|
1138
|
+
var messageContract = initContract9().router(
|
1055
1139
|
{
|
1056
1140
|
create: {
|
1057
1141
|
method: "POST",
|
1058
1142
|
path: "/",
|
1059
1143
|
responses: {
|
1060
1144
|
200: DefaultSuccessResponseSchema.extend({
|
1061
|
-
message:
|
1145
|
+
message: z31.string()
|
1062
1146
|
}),
|
1063
1147
|
...DefaultResponses
|
1064
1148
|
},
|
1065
1149
|
body: null,
|
1066
|
-
summary: "
|
1150
|
+
summary: "Add a new message into a room"
|
1067
1151
|
},
|
1068
|
-
get
|
1152
|
+
//#region get a message
|
1153
|
+
getById: {
|
1069
1154
|
method: "GET",
|
1070
1155
|
path: "/:id",
|
1071
|
-
pathParams:
|
1072
|
-
id:
|
1156
|
+
pathParams: z31.object({
|
1157
|
+
id: z31.string()
|
1073
1158
|
}),
|
1074
1159
|
responses: {
|
1075
1160
|
200: DefaultSuccessResponseSchema.extend({
|
1076
|
-
|
1161
|
+
data: MessageSchema2
|
1077
1162
|
}),
|
1078
1163
|
...DefaultResponses
|
1079
1164
|
},
|
1080
|
-
summary: "Get a
|
1165
|
+
summary: "Get a message by id"
|
1081
1166
|
},
|
1167
|
+
//#endregion get a message
|
1082
1168
|
update: {
|
1083
1169
|
method: "PATCH",
|
1084
1170
|
path: "/:id",
|
1085
|
-
pathParams:
|
1086
|
-
id:
|
1171
|
+
pathParams: z31.object({
|
1172
|
+
id: z31.string()
|
1087
1173
|
}),
|
1088
1174
|
responses: {
|
1089
1175
|
200: DefaultSuccessResponseSchema.extend({
|
1090
|
-
message:
|
1176
|
+
message: z31.string()
|
1091
1177
|
}),
|
1092
1178
|
...DefaultResponses
|
1093
1179
|
},
|
1094
1180
|
body: null,
|
1095
|
-
summary: "Update a
|
1181
|
+
summary: "Update a message by id"
|
1096
1182
|
},
|
1097
1183
|
delete: {
|
1098
1184
|
method: "PATCH",
|
1099
1185
|
path: "/:id",
|
1100
|
-
pathParams:
|
1101
|
-
id:
|
1186
|
+
pathParams: z31.object({
|
1187
|
+
id: z31.string()
|
1102
1188
|
}),
|
1103
1189
|
responses: {
|
1104
1190
|
200: DefaultSuccessResponseSchema.extend({
|
1105
|
-
message:
|
1191
|
+
message: z31.string()
|
1106
1192
|
}),
|
1107
1193
|
...DefaultResponses
|
1108
1194
|
},
|
1109
1195
|
body: null,
|
1110
|
-
summary: "Delete a
|
1196
|
+
summary: "Delete a message by id"
|
1111
1197
|
}
|
1112
1198
|
},
|
1113
1199
|
{
|
1114
|
-
pathPrefix: "/
|
1200
|
+
pathPrefix: "mail/message"
|
1115
1201
|
}
|
1116
1202
|
);
|
1117
1203
|
|
1118
|
-
// src/mail/
|
1204
|
+
// src/mail/account-contract.ts
|
1119
1205
|
import { initContract as initContract10 } from "@ts-rest/core";
|
1120
|
-
import
|
1121
|
-
|
1206
|
+
import z33 from "zod";
|
1207
|
+
|
1208
|
+
// src/mail/schemas/account-validation.schema.ts
|
1209
|
+
import z32 from "zod";
|
1210
|
+
var AccountContractsValidationSchemas = {
|
1211
|
+
create: {
|
1212
|
+
input: z32.object({
|
1213
|
+
address: z32.string().email("Email address must be valid email."),
|
1214
|
+
name: z32.string().min(1, "Account name cannot be empty."),
|
1215
|
+
password: z32.string().min(1, "Password cannot be empty."),
|
1216
|
+
mailServerId: z32.string().uuid("Invalid mail_server_id")
|
1217
|
+
})
|
1218
|
+
},
|
1219
|
+
getById: {
|
1220
|
+
input: z32.object({
|
1221
|
+
id: z32.string().uuid()
|
1222
|
+
}),
|
1223
|
+
output: MailAccountSchema
|
1224
|
+
},
|
1225
|
+
getAll: {
|
1226
|
+
output: z32.array(MailAccountSchema)
|
1227
|
+
},
|
1228
|
+
update: {
|
1229
|
+
input: MailAccountSchema,
|
1230
|
+
output: MailAccountSchema
|
1231
|
+
},
|
1232
|
+
disconnect: {
|
1233
|
+
input: z32.object({
|
1234
|
+
id: z32.string().uuid()
|
1235
|
+
}),
|
1236
|
+
output: MailAccountSchema
|
1237
|
+
},
|
1238
|
+
reconnect: {
|
1239
|
+
input: z32.object({
|
1240
|
+
id: z32.string()
|
1241
|
+
}),
|
1242
|
+
output: MailAccountSchema
|
1243
|
+
},
|
1244
|
+
delete: {
|
1245
|
+
input: z32.object({
|
1246
|
+
id: z32.string()
|
1247
|
+
}),
|
1248
|
+
output: MailAccountSchema
|
1249
|
+
}
|
1250
|
+
};
|
1251
|
+
|
1252
|
+
// src/mail/account-contract.ts
|
1253
|
+
var accountContract = initContract10().router(
|
1122
1254
|
{
|
1255
|
+
//#region ........register account
|
1123
1256
|
create: {
|
1124
1257
|
method: "POST",
|
1125
|
-
path: "
|
1258
|
+
path: "",
|
1126
1259
|
responses: {
|
1127
|
-
|
1128
|
-
|
1260
|
+
201: DefaultSuccessResponseSchema.extend({
|
1261
|
+
// data: AccountContractsValidationSchemas.create.output,
|
1262
|
+
message: z33.string()
|
1263
|
+
}),
|
1264
|
+
400: z33.object({
|
1265
|
+
message: z33.string()
|
1266
|
+
}),
|
1267
|
+
409: z33.object({
|
1268
|
+
message: z33.string()
|
1269
|
+
}),
|
1270
|
+
500: z33.object({
|
1271
|
+
message: z33.string()
|
1129
1272
|
}),
|
1130
1273
|
...DefaultResponses
|
1131
1274
|
},
|
1132
|
-
body:
|
1133
|
-
summary: "
|
1275
|
+
body: AccountContractsValidationSchemas.create.input,
|
1276
|
+
summary: "Register a new mail account"
|
1134
1277
|
},
|
1135
|
-
|
1278
|
+
//#endregion register account
|
1279
|
+
//#region ........get account
|
1280
|
+
getById: {
|
1136
1281
|
method: "GET",
|
1137
1282
|
path: "/:id",
|
1138
|
-
pathParams:
|
1139
|
-
id: z30.string()
|
1140
|
-
}),
|
1283
|
+
pathParams: AccountContractsValidationSchemas.getById.input,
|
1141
1284
|
responses: {
|
1142
1285
|
200: DefaultSuccessResponseSchema.extend({
|
1143
|
-
|
1286
|
+
data: AccountContractsValidationSchemas.getById.output
|
1144
1287
|
}),
|
1145
1288
|
...DefaultResponses
|
1146
1289
|
},
|
1147
|
-
summary: "Get a
|
1290
|
+
summary: "Get a account by id"
|
1291
|
+
},
|
1292
|
+
//#endregion get account
|
1293
|
+
//#region ........get all account
|
1294
|
+
//TODO: add pagination parameters
|
1295
|
+
getAll: {
|
1296
|
+
method: "GET",
|
1297
|
+
path: "",
|
1298
|
+
responses: {
|
1299
|
+
200: DefaultSuccessResponseSchema.extend({
|
1300
|
+
data: z33.any()
|
1301
|
+
// data: AccountContractsValidationSchemas.getAll.output,
|
1302
|
+
}),
|
1303
|
+
...DefaultResponses
|
1304
|
+
},
|
1305
|
+
summary: "Get al accounts"
|
1148
1306
|
},
|
1307
|
+
//#endregion get all accounts
|
1308
|
+
//#region ........update account
|
1149
1309
|
update: {
|
1150
1310
|
method: "PATCH",
|
1151
1311
|
path: "/:id",
|
1152
|
-
pathParams:
|
1153
|
-
id:
|
1312
|
+
pathParams: z33.object({
|
1313
|
+
id: z33.string().uuid()
|
1154
1314
|
}),
|
1155
1315
|
responses: {
|
1156
|
-
|
1157
|
-
|
1316
|
+
201: DefaultSuccessResponseSchema.extend({
|
1317
|
+
data: AccountContractsValidationSchemas.update.output
|
1318
|
+
}),
|
1319
|
+
...DefaultResponses
|
1320
|
+
},
|
1321
|
+
body: AccountContractsValidationSchemas.update.input.partial(),
|
1322
|
+
summary: "Update a account by id"
|
1323
|
+
},
|
1324
|
+
//#endregion update account
|
1325
|
+
//#region ........disconnect account
|
1326
|
+
disconnect: {
|
1327
|
+
method: "PATCH",
|
1328
|
+
path: "/:id/disconnect",
|
1329
|
+
pathParams: AccountContractsValidationSchemas.disconnect.input,
|
1330
|
+
responses: {
|
1331
|
+
201: DefaultSuccessResponseSchema.extend({
|
1332
|
+
data: AccountContractsValidationSchemas.disconnect.output
|
1158
1333
|
}),
|
1159
1334
|
...DefaultResponses
|
1160
1335
|
},
|
1161
1336
|
body: null,
|
1162
|
-
summary: "
|
1337
|
+
summary: "Disconnect an account"
|
1163
1338
|
},
|
1164
|
-
|
1339
|
+
//#endregion disconnect account
|
1340
|
+
//#region ........reconnect account
|
1341
|
+
reconnect: {
|
1165
1342
|
method: "PATCH",
|
1343
|
+
path: "/:id/reconnect",
|
1344
|
+
pathParams: AccountContractsValidationSchemas.reconnect.input,
|
1345
|
+
responses: {
|
1346
|
+
201: DefaultSuccessResponseSchema.extend({
|
1347
|
+
data: AccountContractsValidationSchemas.reconnect.output
|
1348
|
+
}),
|
1349
|
+
...DefaultResponses
|
1350
|
+
},
|
1351
|
+
body: null,
|
1352
|
+
summary: "Reconnect a disconncted account"
|
1353
|
+
},
|
1354
|
+
//#endregion reconnect account
|
1355
|
+
//#region ........delete account
|
1356
|
+
delete: {
|
1357
|
+
method: "DELETE",
|
1166
1358
|
path: "/:id",
|
1167
|
-
pathParams:
|
1168
|
-
id: z30.string()
|
1169
|
-
}),
|
1359
|
+
pathParams: AccountContractsValidationSchemas.delete.input,
|
1170
1360
|
responses: {
|
1171
1361
|
200: DefaultSuccessResponseSchema.extend({
|
1172
|
-
message:
|
1362
|
+
message: z33.string()
|
1173
1363
|
}),
|
1174
1364
|
...DefaultResponses
|
1175
1365
|
},
|
1176
1366
|
body: null,
|
1177
|
-
summary: "Delete
|
1367
|
+
summary: "Delete an account by id"
|
1178
1368
|
}
|
1369
|
+
//#endregion delete account
|
1179
1370
|
},
|
1180
1371
|
{
|
1181
|
-
|
1372
|
+
baseHeaders: DefaultHeaderSchema,
|
1373
|
+
pathPrefix: "mail/account"
|
1182
1374
|
}
|
1183
1375
|
);
|
1184
1376
|
|
1185
|
-
// src/mail/
|
1377
|
+
// src/mail/mail-server-contract.ts
|
1186
1378
|
import { initContract as initContract11 } from "@ts-rest/core";
|
1187
|
-
import
|
1188
|
-
var
|
1379
|
+
import z34 from "zod";
|
1380
|
+
var serverContract = initContract11().router(
|
1189
1381
|
{
|
1190
1382
|
create: {
|
1191
1383
|
method: "POST",
|
1192
1384
|
path: "/",
|
1193
1385
|
responses: {
|
1194
1386
|
200: DefaultSuccessResponseSchema.extend({
|
1195
|
-
message:
|
1387
|
+
message: z34.string()
|
1196
1388
|
}),
|
1197
1389
|
...DefaultResponses
|
1198
1390
|
},
|
1199
1391
|
body: null,
|
1200
|
-
summary: "
|
1392
|
+
summary: "Register a new mail server"
|
1201
1393
|
},
|
1202
1394
|
get: {
|
1203
1395
|
method: "GET",
|
1204
1396
|
path: "/:id",
|
1205
|
-
pathParams:
|
1206
|
-
id:
|
1397
|
+
pathParams: z34.object({
|
1398
|
+
id: z34.string()
|
1207
1399
|
}),
|
1208
1400
|
responses: {
|
1209
1401
|
200: DefaultSuccessResponseSchema.extend({
|
1210
|
-
message:
|
1402
|
+
message: z34.string()
|
1211
1403
|
}),
|
1212
1404
|
...DefaultResponses
|
1213
1405
|
},
|
1214
|
-
summary: "Get a mail
|
1406
|
+
summary: "Get a mail server by id"
|
1215
1407
|
},
|
1216
1408
|
update: {
|
1217
1409
|
method: "PATCH",
|
1218
1410
|
path: "/:id",
|
1219
|
-
pathParams:
|
1220
|
-
id:
|
1411
|
+
pathParams: z34.object({
|
1412
|
+
id: z34.string()
|
1221
1413
|
}),
|
1222
1414
|
responses: {
|
1223
1415
|
200: DefaultSuccessResponseSchema.extend({
|
1224
|
-
message:
|
1416
|
+
message: z34.string()
|
1225
1417
|
}),
|
1226
1418
|
...DefaultResponses
|
1227
1419
|
},
|
1228
1420
|
body: null,
|
1229
|
-
summary: "Update a mail
|
1421
|
+
summary: "Update a mail server by id"
|
1230
1422
|
},
|
1231
1423
|
delete: {
|
1232
1424
|
method: "PATCH",
|
1233
1425
|
path: "/:id",
|
1234
|
-
pathParams:
|
1235
|
-
id:
|
1426
|
+
pathParams: z34.object({
|
1427
|
+
id: z34.string()
|
1236
1428
|
}),
|
1237
1429
|
responses: {
|
1238
1430
|
200: DefaultSuccessResponseSchema.extend({
|
1239
|
-
message:
|
1431
|
+
message: z34.string()
|
1240
1432
|
}),
|
1241
1433
|
...DefaultResponses
|
1242
1434
|
},
|
1243
1435
|
body: null,
|
1244
|
-
summary: "Delete a mail
|
1436
|
+
summary: "Delete a mail server by id"
|
1245
1437
|
}
|
1246
1438
|
},
|
1247
1439
|
{
|
1248
|
-
pathPrefix: "/
|
1440
|
+
pathPrefix: "mail/server"
|
1249
1441
|
}
|
1250
1442
|
);
|
1251
1443
|
|
@@ -1259,19 +1451,19 @@ var mailContract = initContract12().router({
|
|
1259
1451
|
|
1260
1452
|
// src/tag/index.ts
|
1261
1453
|
import { initContract as initContract13 } from "@ts-rest/core";
|
1262
|
-
import
|
1454
|
+
import z36 from "zod";
|
1263
1455
|
|
1264
1456
|
// src/tag/validation.ts
|
1265
|
-
import { z as
|
1266
|
-
var CreateTagSchema =
|
1267
|
-
name:
|
1457
|
+
import { z as z35 } from "zod";
|
1458
|
+
var CreateTagSchema = z35.object({
|
1459
|
+
name: z35.string(),
|
1268
1460
|
group: TagGroupSchema
|
1269
1461
|
});
|
1270
|
-
var GetTagsSchema =
|
1462
|
+
var GetTagsSchema = z35.object({
|
1271
1463
|
group: TagGroupSchema.default("general"),
|
1272
|
-
keyword:
|
1464
|
+
keyword: z35.string()
|
1273
1465
|
}).partial().optional();
|
1274
|
-
var UpdateTagSchema =
|
1466
|
+
var UpdateTagSchema = z35.object({ name: z35.string() });
|
1275
1467
|
|
1276
1468
|
// src/tag/index.ts
|
1277
1469
|
var tagContract = initContract13().router(
|
@@ -1294,7 +1486,7 @@ var tagContract = initContract13().router(
|
|
1294
1486
|
query: GetTagsSchema,
|
1295
1487
|
responses: {
|
1296
1488
|
200: DefaultSuccessResponseSchema.extend({
|
1297
|
-
tags:
|
1489
|
+
tags: z36.array(TagSchema)
|
1298
1490
|
}),
|
1299
1491
|
500: DefaultErrorResponseSchema
|
1300
1492
|
},
|
@@ -1303,7 +1495,7 @@ var tagContract = initContract13().router(
|
|
1303
1495
|
updateTag: {
|
1304
1496
|
method: "PATCH",
|
1305
1497
|
path: "/:id",
|
1306
|
-
pathParams:
|
1498
|
+
pathParams: z36.object({ id: z36.string() }),
|
1307
1499
|
body: UpdateTagSchema,
|
1308
1500
|
responses: {
|
1309
1501
|
200: DefaultSuccessResponseSchema.extend({
|
@@ -1316,11 +1508,11 @@ var tagContract = initContract13().router(
|
|
1316
1508
|
deleteTag: {
|
1317
1509
|
method: "DELETE",
|
1318
1510
|
path: "/:id",
|
1319
|
-
pathParams:
|
1320
|
-
body:
|
1511
|
+
pathParams: z36.object({ id: z36.string() }),
|
1512
|
+
body: z36.any().optional(),
|
1321
1513
|
// We don't need the body.
|
1322
1514
|
responses: {
|
1323
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1515
|
+
200: DefaultSuccessResponseSchema.extend({ message: z36.string() }),
|
1324
1516
|
500: DefaultErrorResponseSchema
|
1325
1517
|
},
|
1326
1518
|
headers: DefaultHeaderSchema
|
@@ -1333,31 +1525,31 @@ var tagContract = initContract13().router(
|
|
1333
1525
|
|
1334
1526
|
// src/extension/index.ts
|
1335
1527
|
import { initContract as initContract14 } from "@ts-rest/core";
|
1336
|
-
import
|
1528
|
+
import z39 from "zod";
|
1337
1529
|
|
1338
1530
|
// src/extension/schema.ts
|
1339
|
-
import
|
1531
|
+
import z37 from "zod";
|
1340
1532
|
var ExtensionSchema = DefaultEntitySchema.extend({
|
1341
|
-
userId:
|
1342
|
-
sipServerUrl:
|
1343
|
-
sipUserName:
|
1344
|
-
extensionId:
|
1345
|
-
extensionName:
|
1346
|
-
telephonySignature:
|
1533
|
+
userId: z37.string().nullable(),
|
1534
|
+
sipServerUrl: z37.string(),
|
1535
|
+
sipUserName: z37.string(),
|
1536
|
+
extensionId: z37.coerce.number().nullable(),
|
1537
|
+
extensionName: z37.string().nullable(),
|
1538
|
+
telephonySignature: z37.string().nullable()
|
1347
1539
|
});
|
1348
1540
|
|
1349
1541
|
// src/extension/validation.ts
|
1350
|
-
import { z as
|
1351
|
-
var CreateExtensionSchema =
|
1352
|
-
userId:
|
1353
|
-
sipServerUrl:
|
1354
|
-
sipUserName:
|
1355
|
-
extensionId:
|
1356
|
-
extensionName:
|
1357
|
-
telephonySignature:
|
1542
|
+
import { z as z38 } from "zod";
|
1543
|
+
var CreateExtensionSchema = z38.object({
|
1544
|
+
userId: z38.string().nullable(),
|
1545
|
+
sipServerUrl: z38.string(),
|
1546
|
+
sipUserName: z38.string(),
|
1547
|
+
extensionId: z38.coerce.number().nullable(),
|
1548
|
+
extensionName: z38.string().nullable(),
|
1549
|
+
telephonySignature: z38.string().nullable()
|
1358
1550
|
});
|
1359
1551
|
var UpdateExtensionSchema = CreateExtensionSchema.extend({
|
1360
|
-
id:
|
1552
|
+
id: z38.string()
|
1361
1553
|
});
|
1362
1554
|
|
1363
1555
|
// src/extension/index.ts
|
@@ -1372,8 +1564,8 @@ var extensionContract = initContract14().router(
|
|
1372
1564
|
201: DefaultSuccessResponseSchema.extend({
|
1373
1565
|
extension: ExtensionSchema
|
1374
1566
|
}),
|
1375
|
-
400:
|
1376
|
-
message:
|
1567
|
+
400: z39.object({
|
1568
|
+
message: z39.string()
|
1377
1569
|
}),
|
1378
1570
|
401: DefaultUnauthorizedSchema,
|
1379
1571
|
500: DefaultErrorResponseSchema
|
@@ -1383,36 +1575,51 @@ var extensionContract = initContract14().router(
|
|
1383
1575
|
getExtensions: {
|
1384
1576
|
method: "GET",
|
1385
1577
|
path: "",
|
1386
|
-
query:
|
1387
|
-
page:
|
1388
|
-
pageSize:
|
1389
|
-
keyword:
|
1578
|
+
query: z39.object({
|
1579
|
+
page: z39.coerce.number().default(1),
|
1580
|
+
pageSize: z39.coerce.number().default(10),
|
1581
|
+
keyword: z39.string().optional()
|
1390
1582
|
}).optional(),
|
1391
1583
|
headers: DefaultHeaderSchema,
|
1392
1584
|
responses: {
|
1393
1585
|
200: WithPagination(ExtensionSchema),
|
1394
|
-
400:
|
1395
|
-
message:
|
1586
|
+
400: z39.object({
|
1587
|
+
message: z39.string()
|
1396
1588
|
}),
|
1397
1589
|
401: DefaultUnauthorizedSchema,
|
1398
1590
|
500: DefaultErrorResponseSchema
|
1399
1591
|
},
|
1400
1592
|
summary: "Get all extensions"
|
1401
1593
|
},
|
1594
|
+
getExtensionByUserId: {
|
1595
|
+
method: "GET",
|
1596
|
+
path: "",
|
1597
|
+
pathParams: z39.object({ userId: z39.string() }),
|
1598
|
+
headers: DefaultHeaderSchema,
|
1599
|
+
responses: {
|
1600
|
+
200: ExtensionSchema,
|
1601
|
+
400: z39.object({
|
1602
|
+
message: z39.string()
|
1603
|
+
}),
|
1604
|
+
401: DefaultUnauthorizedSchema,
|
1605
|
+
500: DefaultErrorResponseSchema
|
1606
|
+
},
|
1607
|
+
summary: "Get extension by user id"
|
1608
|
+
},
|
1402
1609
|
getExtensionByDialpad: {
|
1403
1610
|
method: "GET",
|
1404
1611
|
path: "/dialpad",
|
1405
|
-
query:
|
1406
|
-
page:
|
1407
|
-
pageSize:
|
1408
|
-
keyword:
|
1612
|
+
query: z39.object({
|
1613
|
+
page: z39.coerce.number().default(1),
|
1614
|
+
pageSize: z39.coerce.number().default(10),
|
1615
|
+
keyword: z39.string().optional()
|
1409
1616
|
}).optional(),
|
1410
1617
|
headers: DefaultHeaderSchema,
|
1411
1618
|
responses: {
|
1412
1619
|
200: WithPagination(ExtensionSchema),
|
1413
1620
|
500: DefaultErrorResponseSchema,
|
1414
|
-
400:
|
1415
|
-
message:
|
1621
|
+
400: z39.object({
|
1622
|
+
message: z39.string()
|
1416
1623
|
}),
|
1417
1624
|
401: DefaultUnauthorizedSchema
|
1418
1625
|
},
|
@@ -1421,7 +1628,7 @@ var extensionContract = initContract14().router(
|
|
1421
1628
|
updateExtension: {
|
1422
1629
|
method: "PATCH",
|
1423
1630
|
path: "/:id",
|
1424
|
-
pathParams:
|
1631
|
+
pathParams: z39.object({ id: z39.string() }),
|
1425
1632
|
headers: DefaultHeaderSchema,
|
1426
1633
|
body: UpdateExtensionSchema,
|
1427
1634
|
responses: {
|
@@ -1435,11 +1642,11 @@ var extensionContract = initContract14().router(
|
|
1435
1642
|
deleteExtension: {
|
1436
1643
|
method: "DELETE",
|
1437
1644
|
path: "/:id",
|
1438
|
-
pathParams:
|
1645
|
+
pathParams: z39.object({ id: z39.string() }),
|
1439
1646
|
headers: DefaultHeaderSchema,
|
1440
1647
|
body: null,
|
1441
1648
|
responses: {
|
1442
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1649
|
+
200: DefaultSuccessResponseSchema.extend({ message: z39.string() }),
|
1443
1650
|
500: DefaultErrorResponseSchema
|
1444
1651
|
},
|
1445
1652
|
summary: "Delete a extension."
|
@@ -1450,7 +1657,7 @@ var extensionContract = initContract14().router(
|
|
1450
1657
|
|
1451
1658
|
// src/permission/index.ts
|
1452
1659
|
import { initContract as initContract15 } from "@ts-rest/core";
|
1453
|
-
import
|
1660
|
+
import z40 from "zod";
|
1454
1661
|
var permissionContract = initContract15().router(
|
1455
1662
|
{
|
1456
1663
|
getPermissions: {
|
@@ -1458,9 +1665,9 @@ var permissionContract = initContract15().router(
|
|
1458
1665
|
path: "",
|
1459
1666
|
headers: DefaultHeaderSchema,
|
1460
1667
|
responses: {
|
1461
|
-
200:
|
1462
|
-
400:
|
1463
|
-
message:
|
1668
|
+
200: z40.object({ permissions: PermissionSchema.array() }),
|
1669
|
+
400: z40.object({
|
1670
|
+
message: z40.string()
|
1464
1671
|
}),
|
1465
1672
|
401: DefaultUnauthorizedSchema,
|
1466
1673
|
500: DefaultErrorResponseSchema
|
@@ -1473,18 +1680,18 @@ var permissionContract = initContract15().router(
|
|
1473
1680
|
|
1474
1681
|
// src/role/index.ts
|
1475
1682
|
import { initContract as initContract16 } from "@ts-rest/core";
|
1476
|
-
import
|
1683
|
+
import z42 from "zod";
|
1477
1684
|
|
1478
1685
|
// src/role/validation.ts
|
1479
|
-
import { z as
|
1480
|
-
var CreateRoleSchema =
|
1481
|
-
systemName:
|
1482
|
-
displayName:
|
1483
|
-
description:
|
1484
|
-
permissions:
|
1686
|
+
import { z as z41 } from "zod";
|
1687
|
+
var CreateRoleSchema = z41.object({
|
1688
|
+
systemName: z41.string(),
|
1689
|
+
displayName: z41.string(),
|
1690
|
+
description: z41.string().nullable(),
|
1691
|
+
permissions: z41.array(z41.string())
|
1485
1692
|
});
|
1486
1693
|
var UpdateRoleSchema = CreateRoleSchema.extend({
|
1487
|
-
id:
|
1694
|
+
id: z41.string()
|
1488
1695
|
});
|
1489
1696
|
|
1490
1697
|
// src/role/index.ts
|
@@ -1499,8 +1706,8 @@ var roleContract = initContract16().router(
|
|
1499
1706
|
201: DefaultSuccessResponseSchema.extend({
|
1500
1707
|
role: RoleSchema
|
1501
1708
|
}),
|
1502
|
-
400:
|
1503
|
-
message:
|
1709
|
+
400: z42.object({
|
1710
|
+
message: z42.string()
|
1504
1711
|
}),
|
1505
1712
|
401: DefaultUnauthorizedSchema,
|
1506
1713
|
500: DefaultErrorResponseSchema
|
@@ -1510,15 +1717,15 @@ var roleContract = initContract16().router(
|
|
1510
1717
|
getRoles: {
|
1511
1718
|
method: "GET",
|
1512
1719
|
path: "",
|
1513
|
-
query:
|
1514
|
-
page:
|
1515
|
-
pageSize:
|
1720
|
+
query: z42.object({
|
1721
|
+
page: z42.coerce.number().default(1),
|
1722
|
+
pageSize: z42.coerce.number().default(10)
|
1516
1723
|
}).optional(),
|
1517
1724
|
headers: DefaultHeaderSchema,
|
1518
1725
|
responses: {
|
1519
1726
|
200: WithPagination(RoleSchema),
|
1520
|
-
400:
|
1521
|
-
message:
|
1727
|
+
400: z42.object({
|
1728
|
+
message: z42.string()
|
1522
1729
|
}),
|
1523
1730
|
401: DefaultUnauthorizedSchema,
|
1524
1731
|
500: DefaultErrorResponseSchema
|
@@ -1528,15 +1735,15 @@ var roleContract = initContract16().router(
|
|
1528
1735
|
updateRole: {
|
1529
1736
|
method: "PATCH",
|
1530
1737
|
path: "/:id",
|
1531
|
-
pathParams:
|
1738
|
+
pathParams: z42.object({ id: z42.string() }),
|
1532
1739
|
headers: DefaultHeaderSchema,
|
1533
1740
|
body: UpdateRoleSchema,
|
1534
1741
|
responses: {
|
1535
1742
|
201: DefaultSuccessResponseSchema.extend({
|
1536
1743
|
role: RoleSchema
|
1537
1744
|
}),
|
1538
|
-
400:
|
1539
|
-
message:
|
1745
|
+
400: z42.object({
|
1746
|
+
message: z42.string()
|
1540
1747
|
}),
|
1541
1748
|
401: DefaultUnauthorizedSchema,
|
1542
1749
|
500: DefaultErrorResponseSchema
|
@@ -1546,11 +1753,11 @@ var roleContract = initContract16().router(
|
|
1546
1753
|
deleteRole: {
|
1547
1754
|
method: "DELETE",
|
1548
1755
|
path: "/:id",
|
1549
|
-
pathParams:
|
1756
|
+
pathParams: z42.object({ id: z42.string() }),
|
1550
1757
|
headers: DefaultHeaderSchema,
|
1551
1758
|
body: null,
|
1552
1759
|
responses: {
|
1553
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
1760
|
+
200: DefaultSuccessResponseSchema.extend({ message: z42.string() }),
|
1554
1761
|
500: DefaultErrorResponseSchema
|
1555
1762
|
},
|
1556
1763
|
summary: "Delete a role."
|
@@ -1559,46 +1766,151 @@ var roleContract = initContract16().router(
|
|
1559
1766
|
{ pathPrefix: "role" }
|
1560
1767
|
);
|
1561
1768
|
|
1562
|
-
// src/
|
1769
|
+
// src/user/index.ts
|
1563
1770
|
import { initContract as initContract17 } from "@ts-rest/core";
|
1564
|
-
import
|
1771
|
+
import z44 from "zod";
|
1772
|
+
|
1773
|
+
// src/user/validation.ts
|
1774
|
+
import { z as z43 } from "zod";
|
1775
|
+
var CreateUserSchema = z43.object({
|
1776
|
+
name: z43.string(),
|
1777
|
+
email: z43.string().email(),
|
1778
|
+
address: z43.string().nullable(),
|
1779
|
+
phone: z43.string().nullable(),
|
1780
|
+
password: z43.string(),
|
1781
|
+
notificationCount: z43.number().nullable().optional(),
|
1782
|
+
roles: z43.array(z43.string())
|
1783
|
+
});
|
1784
|
+
var UpdateUserSchema = CreateUserSchema.extend({
|
1785
|
+
id: z43.string(),
|
1786
|
+
newPassword: z43.string()
|
1787
|
+
});
|
1788
|
+
|
1789
|
+
// src/user/index.ts
|
1790
|
+
var userContract = initContract17().router(
|
1791
|
+
{
|
1792
|
+
createUser: {
|
1793
|
+
method: "POST",
|
1794
|
+
path: "",
|
1795
|
+
headers: DefaultHeaderSchema,
|
1796
|
+
body: CreateUserSchema,
|
1797
|
+
responses: {
|
1798
|
+
201: DefaultSuccessResponseSchema.extend({
|
1799
|
+
user: UserSchema
|
1800
|
+
}),
|
1801
|
+
400: z44.object({
|
1802
|
+
message: z44.string()
|
1803
|
+
}),
|
1804
|
+
401: DefaultUnauthorizedSchema
|
1805
|
+
},
|
1806
|
+
summary: "Create a user."
|
1807
|
+
},
|
1808
|
+
getUsers: {
|
1809
|
+
method: "GET",
|
1810
|
+
path: "",
|
1811
|
+
headers: DefaultHeaderSchema,
|
1812
|
+
query: z44.object({
|
1813
|
+
page: z44.coerce.number().default(1),
|
1814
|
+
pageSize: z44.coerce.number().default(10),
|
1815
|
+
keyword: z44.string().optional()
|
1816
|
+
}).optional(),
|
1817
|
+
responses: {
|
1818
|
+
200: WithPagination(UserSchema),
|
1819
|
+
400: z44.object({
|
1820
|
+
message: z44.string()
|
1821
|
+
}),
|
1822
|
+
401: DefaultUnauthorizedSchema,
|
1823
|
+
500: DefaultErrorResponseSchema
|
1824
|
+
},
|
1825
|
+
summary: "Get all users"
|
1826
|
+
},
|
1827
|
+
getUserById: {
|
1828
|
+
method: "GET",
|
1829
|
+
path: "/:id",
|
1830
|
+
pathParams: z44.object({ id: z44.string() }),
|
1831
|
+
headers: DefaultHeaderSchema,
|
1832
|
+
responses: {
|
1833
|
+
200: UserSchema,
|
1834
|
+
400: z44.object({
|
1835
|
+
message: z44.string()
|
1836
|
+
}),
|
1837
|
+
401: DefaultUnauthorizedSchema
|
1838
|
+
},
|
1839
|
+
summary: "Get user by id"
|
1840
|
+
},
|
1841
|
+
updateUser: {
|
1842
|
+
method: "PATCH",
|
1843
|
+
path: "/:id",
|
1844
|
+
pathParams: z44.object({ id: z44.string() }),
|
1845
|
+
headers: DefaultHeaderSchema,
|
1846
|
+
body: UpdateUserSchema,
|
1847
|
+
responses: {
|
1848
|
+
201: DefaultSuccessResponseSchema.extend({
|
1849
|
+
role: UserSchema
|
1850
|
+
}),
|
1851
|
+
400: z44.object({
|
1852
|
+
message: z44.string()
|
1853
|
+
}),
|
1854
|
+
401: DefaultUnauthorizedSchema
|
1855
|
+
},
|
1856
|
+
summary: "Update a user."
|
1857
|
+
},
|
1858
|
+
deleteUser: {
|
1859
|
+
method: "DELETE",
|
1860
|
+
path: "/:id",
|
1861
|
+
pathParams: z44.object({ id: z44.string() }),
|
1862
|
+
headers: DefaultHeaderSchema,
|
1863
|
+
body: null,
|
1864
|
+
responses: {
|
1865
|
+
200: DefaultSuccessResponseSchema.extend({ message: z44.string() }),
|
1866
|
+
500: DefaultErrorResponseSchema
|
1867
|
+
},
|
1868
|
+
summary: "Delete a user."
|
1869
|
+
}
|
1870
|
+
},
|
1871
|
+
{ pathPrefix: "user" }
|
1872
|
+
);
|
1873
|
+
|
1874
|
+
// src/widget/index.ts
|
1875
|
+
import { initContract as initContract18 } from "@ts-rest/core";
|
1876
|
+
import z47 from "zod";
|
1565
1877
|
|
1566
1878
|
// src/widget/schema.ts
|
1567
|
-
import
|
1568
|
-
var FieldsSchema =
|
1569
|
-
var WidgetPositionSchema =
|
1570
|
-
|
1571
|
-
|
1572
|
-
|
1879
|
+
import z45 from "zod";
|
1880
|
+
var FieldsSchema = z45.object({ data: z45.array(z45.string()) });
|
1881
|
+
var WidgetPositionSchema = z45.union([
|
1882
|
+
z45.literal("menu"),
|
1883
|
+
z45.literal("ticket_detail"),
|
1884
|
+
z45.literal("contact_detail")
|
1573
1885
|
]);
|
1574
1886
|
var WidgetSchema = DefaultEntitySchema.extend({
|
1575
|
-
name:
|
1576
|
-
description:
|
1887
|
+
name: z45.string(),
|
1888
|
+
description: z45.string().nullable(),
|
1577
1889
|
position: WidgetPositionSchema.nullable(),
|
1578
1890
|
fields: FieldsSchema,
|
1579
|
-
url:
|
1891
|
+
url: z45.string().nullable()
|
1580
1892
|
});
|
1581
1893
|
|
1582
1894
|
// src/widget/validation.ts
|
1583
|
-
import
|
1584
|
-
var CreateWidgetSchema =
|
1585
|
-
name:
|
1586
|
-
description:
|
1587
|
-
url:
|
1895
|
+
import z46 from "zod";
|
1896
|
+
var CreateWidgetSchema = z46.object({
|
1897
|
+
name: z46.string(),
|
1898
|
+
description: z46.string(),
|
1899
|
+
url: z46.string(),
|
1588
1900
|
position: WidgetPositionSchema,
|
1589
|
-
fields:
|
1901
|
+
fields: z46.object({
|
1590
1902
|
data: (
|
1591
1903
|
// Array of attribute system names
|
1592
|
-
|
1904
|
+
z46.array(z46.string())
|
1593
1905
|
)
|
1594
1906
|
}).optional()
|
1595
1907
|
});
|
1596
1908
|
var UpdateWidgetSchema = CreateWidgetSchema.extend({
|
1597
|
-
id:
|
1909
|
+
id: z46.string()
|
1598
1910
|
});
|
1599
1911
|
|
1600
1912
|
// src/widget/index.ts
|
1601
|
-
var widgetContract =
|
1913
|
+
var widgetContract = initContract18().router(
|
1602
1914
|
{
|
1603
1915
|
createWidget: {
|
1604
1916
|
method: "POST",
|
@@ -1609,8 +1921,8 @@ var widgetContract = initContract17().router(
|
|
1609
1921
|
201: DefaultSuccessResponseSchema.extend({
|
1610
1922
|
widget: WidgetSchema
|
1611
1923
|
}),
|
1612
|
-
400:
|
1613
|
-
message:
|
1924
|
+
400: z47.object({
|
1925
|
+
message: z47.string()
|
1614
1926
|
}),
|
1615
1927
|
401: DefaultUnauthorizedSchema,
|
1616
1928
|
500: DefaultErrorResponseSchema
|
@@ -1620,17 +1932,17 @@ var widgetContract = initContract17().router(
|
|
1620
1932
|
getWidgets: {
|
1621
1933
|
method: "GET",
|
1622
1934
|
path: "",
|
1623
|
-
query:
|
1624
|
-
page:
|
1625
|
-
pageSize:
|
1626
|
-
keyword:
|
1935
|
+
query: z47.object({
|
1936
|
+
page: z47.coerce.number().default(1),
|
1937
|
+
pageSize: z47.coerce.number().default(10),
|
1938
|
+
keyword: z47.coerce.string().optional()
|
1627
1939
|
}).optional(),
|
1628
1940
|
headers: DefaultHeaderSchema,
|
1629
1941
|
responses: {
|
1630
1942
|
200: WithPagination(WidgetSchema),
|
1631
1943
|
500: DefaultErrorResponseSchema,
|
1632
|
-
400:
|
1633
|
-
message:
|
1944
|
+
400: z47.object({
|
1945
|
+
message: z47.string()
|
1634
1946
|
}),
|
1635
1947
|
401: DefaultUnauthorizedSchema
|
1636
1948
|
},
|
@@ -1641,9 +1953,9 @@ var widgetContract = initContract17().router(
|
|
1641
1953
|
path: "/menu",
|
1642
1954
|
headers: DefaultHeaderSchema,
|
1643
1955
|
responses: {
|
1644
|
-
200:
|
1645
|
-
400:
|
1646
|
-
message:
|
1956
|
+
200: z47.array(WidgetSchema),
|
1957
|
+
400: z47.object({
|
1958
|
+
message: z47.string()
|
1647
1959
|
}),
|
1648
1960
|
401: DefaultUnauthorizedSchema,
|
1649
1961
|
500: DefaultErrorResponseSchema
|
@@ -1655,9 +1967,9 @@ var widgetContract = initContract17().router(
|
|
1655
1967
|
path: "/ticket_detail",
|
1656
1968
|
headers: DefaultHeaderSchema,
|
1657
1969
|
responses: {
|
1658
|
-
200:
|
1659
|
-
400:
|
1660
|
-
message:
|
1970
|
+
200: z47.array(WidgetSchema),
|
1971
|
+
400: z47.object({
|
1972
|
+
message: z47.string()
|
1661
1973
|
}),
|
1662
1974
|
401: DefaultUnauthorizedSchema,
|
1663
1975
|
500: DefaultErrorResponseSchema
|
@@ -1669,9 +1981,9 @@ var widgetContract = initContract17().router(
|
|
1669
1981
|
path: "/contact_detail",
|
1670
1982
|
headers: DefaultHeaderSchema,
|
1671
1983
|
responses: {
|
1672
|
-
200:
|
1673
|
-
400:
|
1674
|
-
message:
|
1984
|
+
200: z47.array(WidgetSchema),
|
1985
|
+
400: z47.object({
|
1986
|
+
message: z47.string()
|
1675
1987
|
}),
|
1676
1988
|
401: DefaultUnauthorizedSchema,
|
1677
1989
|
500: DefaultErrorResponseSchema
|
@@ -1681,12 +1993,12 @@ var widgetContract = initContract17().router(
|
|
1681
1993
|
getWidgetById: {
|
1682
1994
|
method: "GET",
|
1683
1995
|
path: "/:id",
|
1684
|
-
pathParams:
|
1996
|
+
pathParams: z47.object({ id: z47.string() }),
|
1685
1997
|
headers: DefaultHeaderSchema,
|
1686
1998
|
responses: {
|
1687
1999
|
200: WidgetSchema,
|
1688
|
-
400:
|
1689
|
-
message:
|
2000
|
+
400: z47.object({
|
2001
|
+
message: z47.string()
|
1690
2002
|
}),
|
1691
2003
|
401: DefaultUnauthorizedSchema,
|
1692
2004
|
500: DefaultErrorResponseSchema
|
@@ -1720,14 +2032,14 @@ var widgetContract = initContract17().router(
|
|
1720
2032
|
updateWidget: {
|
1721
2033
|
method: "PATCH",
|
1722
2034
|
path: "/:id",
|
1723
|
-
pathParams:
|
2035
|
+
pathParams: z47.object({ id: z47.string() }),
|
1724
2036
|
headers: DefaultHeaderSchema,
|
1725
2037
|
responses: {
|
1726
2038
|
201: DefaultSuccessResponseSchema.extend({
|
1727
2039
|
widget: WidgetSchema
|
1728
2040
|
}),
|
1729
|
-
400:
|
1730
|
-
message:
|
2041
|
+
400: z47.object({
|
2042
|
+
message: z47.string()
|
1731
2043
|
}),
|
1732
2044
|
401: DefaultUnauthorizedSchema
|
1733
2045
|
},
|
@@ -1737,11 +2049,11 @@ var widgetContract = initContract17().router(
|
|
1737
2049
|
deleteWidget: {
|
1738
2050
|
method: "DELETE",
|
1739
2051
|
path: "/:id",
|
1740
|
-
pathParams:
|
2052
|
+
pathParams: z47.object({ id: z47.string() }),
|
1741
2053
|
headers: DefaultHeaderSchema,
|
1742
2054
|
body: null,
|
1743
2055
|
responses: {
|
1744
|
-
200: DefaultSuccessResponseSchema.extend({ message:
|
2056
|
+
200: DefaultSuccessResponseSchema.extend({ message: z47.string() }),
|
1745
2057
|
500: DefaultErrorResponseSchema
|
1746
2058
|
},
|
1747
2059
|
summary: "Delete a widget."
|
@@ -1751,20 +2063,20 @@ var widgetContract = initContract17().router(
|
|
1751
2063
|
);
|
1752
2064
|
|
1753
2065
|
// src/telephony-extension/index.ts
|
1754
|
-
import { initContract as
|
1755
|
-
import
|
2066
|
+
import { initContract as initContract19 } from "@ts-rest/core";
|
2067
|
+
import z49 from "zod";
|
1756
2068
|
|
1757
2069
|
// src/telephony-extension/schema.ts
|
1758
|
-
import
|
1759
|
-
var TelephonyExtensionSchema =
|
1760
|
-
errcode:
|
1761
|
-
errmsg:
|
1762
|
-
total_number:
|
1763
|
-
data:
|
2070
|
+
import z48 from "zod";
|
2071
|
+
var TelephonyExtensionSchema = z48.object({
|
2072
|
+
errcode: z48.coerce.number(),
|
2073
|
+
errmsg: z48.string(),
|
2074
|
+
total_number: z48.coerce.number(),
|
2075
|
+
data: z48.array(z48.object({}))
|
1764
2076
|
});
|
1765
2077
|
|
1766
2078
|
// src/telephony-extension/index.ts
|
1767
|
-
var telephonyExtensionContract =
|
2079
|
+
var telephonyExtensionContract = initContract19().router(
|
1768
2080
|
{
|
1769
2081
|
getTelephonyExtensions: {
|
1770
2082
|
method: "GET",
|
@@ -1773,8 +2085,8 @@ var telephonyExtensionContract = initContract18().router(
|
|
1773
2085
|
query: null,
|
1774
2086
|
responses: {
|
1775
2087
|
200: TelephonyExtensionSchema,
|
1776
|
-
400:
|
1777
|
-
message:
|
2088
|
+
400: z49.object({
|
2089
|
+
message: z49.string()
|
1778
2090
|
}),
|
1779
2091
|
401: DefaultUnauthorizedSchema,
|
1780
2092
|
500: DefaultErrorResponseSchema
|
@@ -1786,13 +2098,14 @@ var telephonyExtensionContract = initContract18().router(
|
|
1786
2098
|
);
|
1787
2099
|
|
1788
2100
|
// src/contract.ts
|
1789
|
-
var apiContract =
|
2101
|
+
var apiContract = initContract20().router({
|
1790
2102
|
auth: authContract,
|
1791
2103
|
mail: mailContract,
|
2104
|
+
mailRoom: mailContract,
|
1792
2105
|
cxLog: cxLogContract,
|
1793
2106
|
permission: permissionContract,
|
1794
2107
|
role: roleContract,
|
1795
|
-
|
2108
|
+
user: userContract,
|
1796
2109
|
extension: extensionContract,
|
1797
2110
|
widget: widgetContract,
|
1798
2111
|
emailEngineWebhooks: emailEngineWebhooksEventsContract,
|