@kl1/contracts 1.0.3 → 1.0.5

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.
Files changed (200) hide show
  1. package/dist/index.js +632 -319
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +632 -319
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/src/call-log/schema.d.ts +4 -4
  6. package/dist/src/contract.d.ts +26374 -1719
  7. package/dist/src/contract.d.ts.map +1 -1
  8. package/dist/src/extension/index.d.ts +85 -0
  9. package/dist/src/extension/index.d.ts.map +1 -1
  10. package/dist/src/line/index.d.ts +2 -2
  11. package/dist/src/line/validation.d.ts +2 -2
  12. package/dist/src/mail/account-contract.d.ts +168 -224
  13. package/dist/src/mail/account-contract.d.ts.map +1 -1
  14. package/dist/src/mail/mail-contract.d.ts +11118 -250
  15. package/dist/src/mail/mail-contract.d.ts.map +1 -1
  16. package/dist/src/mail/{mail-server.d.ts → mail-server-contract.d.ts} +5 -5
  17. package/dist/src/mail/mail-server-contract.d.ts.map +1 -0
  18. package/dist/src/mail/message-contract.d.ts +502 -8
  19. package/dist/src/mail/message-contract.d.ts.map +1 -1
  20. package/dist/src/mail/room-contract.d.ts +10443 -13
  21. package/dist/src/mail/room-contract.d.ts.map +1 -1
  22. package/dist/src/mail/schemas/account-validation.schema.d.ts +790 -0
  23. package/dist/{contract.d.ts.map → src/mail/schemas/account-validation.schema.d.ts.map} +1 -1
  24. package/dist/src/mail/schemas/account.schema.d.ts +33 -888
  25. package/dist/src/mail/schemas/account.schema.d.ts.map +1 -1
  26. package/dist/src/mail/schemas/message-validation.schema.d.ts +2 -0
  27. package/dist/src/mail/schemas/message-validation.schema.d.ts.map +1 -0
  28. package/dist/src/mail/schemas/message.schema.d.ts +349 -0
  29. package/dist/src/mail/schemas/message.schema.d.ts.map +1 -0
  30. package/dist/src/mail/schemas/room.schema.d.ts +2692 -0
  31. package/dist/src/mail/schemas/room.schema.d.ts.map +1 -0
  32. package/dist/src/telephony-cdr/schema.d.ts +4 -4
  33. package/dist/src/user/index.d.ts +162 -279
  34. package/dist/src/user/index.d.ts.map +1 -1
  35. package/dist/src/user/schema.d.ts.map +1 -1
  36. package/dist/src/user/validation.d.ts +15 -6
  37. package/dist/src/user/validation.d.ts.map +1 -1
  38. package/package.json +46 -45
  39. package/dist/api-contracts/src/auth/index.d.ts +0 -436
  40. package/dist/api-contracts/src/auth/index.d.ts.map +0 -1
  41. package/dist/api-contracts/src/auth/permission-schema.d.ts +0 -27
  42. package/dist/api-contracts/src/auth/permission-schema.d.ts.map +0 -1
  43. package/dist/api-contracts/src/auth/role-schema.d.ts +0 -70
  44. package/dist/api-contracts/src/auth/role-schema.d.ts.map +0 -1
  45. package/dist/api-contracts/src/auth/user-schema.d.ts +0 -140
  46. package/dist/api-contracts/src/auth/user-schema.d.ts.map +0 -1
  47. package/dist/api-contracts/src/base-contract.d.ts +0 -85
  48. package/dist/api-contracts/src/base-contract.d.ts.map +0 -1
  49. package/dist/api-contracts/src/contract.d.ts +0 -593
  50. package/dist/api-contracts/src/contract.d.ts.map +0 -1
  51. package/dist/api-contracts/src/cx-log/cx-log-schema.d.ts +0 -54
  52. package/dist/api-contracts/src/cx-log/cx-log-schema.d.ts.map +0 -1
  53. package/dist/api-contracts/src/cx-log/index.d.ts +0 -252
  54. package/dist/api-contracts/src/cx-log/index.d.ts.map +0 -1
  55. package/dist/api-contracts/src/index.d.ts +0 -2
  56. package/dist/api-contracts/src/index.d.ts.map +0 -1
  57. package/dist/attribute/schema.d.ts +0 -42
  58. package/dist/attribute/schema.d.ts.map +0 -1
  59. package/dist/attribute-option/schema.d.ts +0 -33
  60. package/dist/attribute-option/schema.d.ts.map +0 -1
  61. package/dist/auth/index.d.ts +0 -436
  62. package/dist/auth/index.d.ts.map +0 -1
  63. package/dist/auth/permission-schema.d.ts +0 -27
  64. package/dist/auth/permission-schema.d.ts.map +0 -1
  65. package/dist/auth/role-schema.d.ts +0 -70
  66. package/dist/auth/role-schema.d.ts.map +0 -1
  67. package/dist/auth/user-schema.d.ts +0 -140
  68. package/dist/auth/user-schema.d.ts.map +0 -1
  69. package/dist/base-contract.d.ts +0 -85
  70. package/dist/base-contract.d.ts.map +0 -1
  71. package/dist/call-log/index.d.ts +0 -4
  72. package/dist/call-log/index.d.ts.map +0 -1
  73. package/dist/call-log/schema.d.ts +0 -57
  74. package/dist/call-log/schema.d.ts.map +0 -1
  75. package/dist/call-log/validation.d.ts +0 -24
  76. package/dist/call-log/validation.d.ts.map +0 -1
  77. package/dist/company/schema.d.ts +0 -30
  78. package/dist/company/schema.d.ts.map +0 -1
  79. package/dist/contact/schema.d.ts +0 -42
  80. package/dist/contact/schema.d.ts.map +0 -1
  81. package/dist/contact-email/schema.d.ts +0 -27
  82. package/dist/contact-email/schema.d.ts.map +0 -1
  83. package/dist/contact-phone/schema.d.ts +0 -27
  84. package/dist/contact-phone/schema.d.ts.map +0 -1
  85. package/dist/contract.d.ts +0 -663
  86. package/dist/custom-field/schema.d.ts +0 -36
  87. package/dist/custom-field/schema.d.ts.map +0 -1
  88. package/dist/custom-field-upload/schema.d.ts +0 -24
  89. package/dist/custom-field-upload/schema.d.ts.map +0 -1
  90. package/dist/cx-log/cx-log-schema.d.ts +0 -54
  91. package/dist/cx-log/cx-log-schema.d.ts.map +0 -1
  92. package/dist/cx-log/index.d.ts +0 -230
  93. package/dist/cx-log/index.d.ts.map +0 -1
  94. package/dist/cx-log/schema.d.ts +0 -54
  95. package/dist/cx-log/schema.d.ts.map +0 -1
  96. package/dist/cx-log/validation.d.ts +0 -95
  97. package/dist/cx-log/validation.d.ts.map +0 -1
  98. package/dist/entities/src/base.entity.d.ts +0 -7
  99. package/dist/entities/src/base.entity.d.ts.map +0 -1
  100. package/dist/entities/src/tenants/attribute-option.entity.d.ts +0 -9
  101. package/dist/entities/src/tenants/attribute-option.entity.d.ts.map +0 -1
  102. package/dist/entities/src/tenants/attribute.entity.d.ts +0 -12
  103. package/dist/entities/src/tenants/attribute.entity.d.ts.map +0 -1
  104. package/dist/entities/src/tenants/call-log.entity.d.ts +0 -18
  105. package/dist/entities/src/tenants/call-log.entity.d.ts.map +0 -1
  106. package/dist/entities/src/tenants/company.entity.d.ts +0 -8
  107. package/dist/entities/src/tenants/company.entity.d.ts.map +0 -1
  108. package/dist/entities/src/tenants/contact-custom-field.entity.d.ts +0 -14
  109. package/dist/entities/src/tenants/contact-custom-field.entity.d.ts.map +0 -1
  110. package/dist/entities/src/tenants/contact-email.entity.d.ts +0 -7
  111. package/dist/entities/src/tenants/contact-email.entity.d.ts.map +0 -1
  112. package/dist/entities/src/tenants/contact-phone.entity.d.ts +0 -7
  113. package/dist/entities/src/tenants/contact-phone.entity.d.ts.map +0 -1
  114. package/dist/entities/src/tenants/contact.entity.d.ts +0 -14
  115. package/dist/entities/src/tenants/contact.entity.d.ts.map +0 -1
  116. package/dist/entities/src/tenants/custom-field-upload.entity.d.ts +0 -8
  117. package/dist/entities/src/tenants/custom-field-upload.entity.d.ts.map +0 -1
  118. package/dist/entities/src/tenants/custom-field.entity.d.ts +0 -10
  119. package/dist/entities/src/tenants/custom-field.entity.d.ts.map +0 -1
  120. package/dist/entities/src/tenants/cx-log.entity.d.ts +0 -20
  121. package/dist/entities/src/tenants/cx-log.entity.d.ts.map +0 -1
  122. package/dist/entities/src/tenants/evaluate-form.entity.d.ts +0 -9
  123. package/dist/entities/src/tenants/evaluate-form.entity.d.ts.map +0 -1
  124. package/dist/entities/src/tenants/extension.entity.d.ts +0 -10
  125. package/dist/entities/src/tenants/extension.entity.d.ts.map +0 -1
  126. package/dist/entities/src/tenants/group.entity.d.ts +0 -6
  127. package/dist/entities/src/tenants/group.entity.d.ts.map +0 -1
  128. package/dist/entities/src/tenants/index.d.ts +0 -25
  129. package/dist/entities/src/tenants/index.d.ts.map +0 -1
  130. package/dist/entities/src/tenants/log-form.entity.d.ts +0 -6
  131. package/dist/entities/src/tenants/log-form.entity.d.ts.map +0 -1
  132. package/dist/entities/src/tenants/permission.entity.d.ts +0 -9
  133. package/dist/entities/src/tenants/permission.entity.d.ts.map +0 -1
  134. package/dist/entities/src/tenants/platform-contact.entity.d.ts +0 -8
  135. package/dist/entities/src/tenants/platform-contact.entity.d.ts.map +0 -1
  136. package/dist/entities/src/tenants/role.entity.d.ts +0 -11
  137. package/dist/entities/src/tenants/role.entity.d.ts.map +0 -1
  138. package/dist/entities/src/tenants/tag-group.entity.d.ts +0 -8
  139. package/dist/entities/src/tenants/tag-group.entity.d.ts.map +0 -1
  140. package/dist/entities/src/tenants/tag.entity.d.ts +0 -11
  141. package/dist/entities/src/tenants/tag.entity.d.ts.map +0 -1
  142. package/dist/entities/src/tenants/telephony-cdr.entity.d.ts +0 -23
  143. package/dist/entities/src/tenants/telephony-cdr.entity.d.ts.map +0 -1
  144. package/dist/entities/src/tenants/telephony-live-queue-call.entity.d.ts +0 -7
  145. package/dist/entities/src/tenants/telephony-live-queue-call.entity.d.ts.map +0 -1
  146. package/dist/entities/src/tenants/telephony-queue-call-count.entity.d.ts +0 -15
  147. package/dist/entities/src/tenants/telephony-queue-call-count.entity.d.ts.map +0 -1
  148. package/dist/entities/src/tenants/ticket.entity.d.ts +0 -17
  149. package/dist/entities/src/tenants/ticket.entity.d.ts.map +0 -1
  150. package/dist/entities/src/tenants/upload.entity.d.ts +0 -8
  151. package/dist/entities/src/tenants/upload.entity.d.ts.map +0 -1
  152. package/dist/entities/src/tenants/user.entity.d.ts +0 -13
  153. package/dist/entities/src/tenants/user.entity.d.ts.map +0 -1
  154. package/dist/entities/src/tenants/widget.entity.d.ts +0 -9
  155. package/dist/entities/src/tenants/widget.entity.d.ts.map +0 -1
  156. package/dist/evaluate-form/schema.d.ts +0 -27
  157. package/dist/evaluate-form/schema.d.ts.map +0 -1
  158. package/dist/exchange-token/index.d.ts +0 -32
  159. package/dist/exchange-token/index.d.ts.map +0 -1
  160. package/dist/extension/schema.d.ts +0 -36
  161. package/dist/extension/schema.d.ts.map +0 -1
  162. package/dist/group/schema.d.ts +0 -24
  163. package/dist/group/schema.d.ts.map +0 -1
  164. package/dist/index.d.ts +0 -3
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/log-form/schema.d.ts +0 -24
  167. package/dist/log-form/schema.d.ts.map +0 -1
  168. package/dist/permission/schema.d.ts +0 -27
  169. package/dist/permission/schema.d.ts.map +0 -1
  170. package/dist/platform-contact/schema.d.ts +0 -30
  171. package/dist/platform-contact/schema.d.ts.map +0 -1
  172. package/dist/posts/index.d.ts +0 -118
  173. package/dist/posts/index.d.ts.map +0 -1
  174. package/dist/role/schema.d.ts +0 -70
  175. package/dist/role/schema.d.ts.map +0 -1
  176. package/dist/src/mail/mail-server.d.ts.map +0 -1
  177. package/dist/src/types.d.ts +0 -5
  178. package/dist/src/types.d.ts.map +0 -1
  179. package/dist/tag/schema.d.ts +0 -21
  180. package/dist/tag/schema.d.ts.map +0 -1
  181. package/dist/tag-group/schema.d.ts +0 -24
  182. package/dist/tag-group/schema.d.ts.map +0 -1
  183. package/dist/telephony-cdr/index.d.ts +0 -4
  184. package/dist/telephony-cdr/index.d.ts.map +0 -1
  185. package/dist/telephony-cdr/schema.d.ts +0 -75
  186. package/dist/telephony-cdr/schema.d.ts.map +0 -1
  187. package/dist/telephony-cdr/validation.d.ts +0 -48
  188. package/dist/telephony-cdr/validation.d.ts.map +0 -1
  189. package/dist/telephony-live-queue-call/schema.d.ts +0 -27
  190. package/dist/telephony-live-queue-call/schema.d.ts.map +0 -1
  191. package/dist/telephony-queue-call-count/schema.d.ts +0 -51
  192. package/dist/telephony-queue-call-count/schema.d.ts.map +0 -1
  193. package/dist/ticket/schema.d.ts +0 -51
  194. package/dist/ticket/schema.d.ts.map +0 -1
  195. package/dist/upload/schema.d.ts +0 -30
  196. package/dist/upload/schema.d.ts.map +0 -1
  197. package/dist/user/schema.d.ts +0 -140
  198. package/dist/user/schema.d.ts.map +0 -1
  199. package/dist/widget/schema.d.ts +0 -33
  200. package/dist/widget/schema.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/contract.ts
2
- import { initContract as initContract19 } from "@ts-rest/core";
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/account-contract.ts
840
+ // src/mail/room-contract.ts
841
841
  import { initContract as initContract8 } from "@ts-rest/core";
842
- import z28 from "zod";
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
- created_at: z27.string(),
849
- updated_att: z27.string(),
850
- deleted_at: z27.string().nullable(),
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
- created_at: z27.string(),
865
- updated_at: z27.string(),
866
- deleted_at: z27.date().nullable(),
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/account-contract.ts
927
- var accountContract = initContract8().router(
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
- 201: DefaultSuccessResponseSchema.extend({
935
- // data: AccountContractsSchemas.create.output,
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: AccountContractsSchemas.create.input,
950
- summary: "Register a new mail account"
1024
+ body: null,
1025
+ summary: "Create a new room for new incoming mail"
951
1026
  },
952
- //#endregion register account
953
- //#region ........get account
954
- getById: {
1027
+ getAll: {
955
1028
  method: "GET",
956
- path: "/:id",
957
- pathParams: AccountContractsSchemas.getById.input,
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: AccountContractsSchemas.getById.output
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 a account by id"
1046
+ summary: "Get mail rooms"
965
1047
  },
966
- //#endregion get account
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: z28.any()
975
- // data: AccountContractsSchemas.getAll.output,
1056
+ data: MailRoomSchema
976
1057
  }),
977
1058
  ...DefaultResponses
978
1059
  },
979
- summary: "Get al accounts"
1060
+ summary: "Get a mail room by id"
980
1061
  },
981
- //#endregion get all accounts
982
- //#region ........update account
983
- update: {
984
- method: "PATCH",
985
- path: "/:id",
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
- 201: DefaultSuccessResponseSchema.extend({
991
- data: AccountContractsSchemas.update.output
1069
+ 200: DefaultSuccessResponseSchema.extend({
1070
+ data: z30.array(AttachmentSchema2)
992
1071
  }),
993
1072
  ...DefaultResponses
994
1073
  },
995
- body: AccountContractsSchemas.update.input.partial(),
996
- summary: "Update a account by id"
1074
+ summary: "Get all the attachments of a room"
997
1075
  },
998
- //#endregion update account
999
- //#region ........disconnect account
1000
- disconnect: {
1001
- method: "PATCH",
1002
- path: "/:id/disconnect",
1003
- pathParams: AccountContractsSchemas.disconnect.input,
1076
+ getParticipants: {
1077
+ method: "GET",
1078
+ path: "/:id/participants",
1079
+ pathParams: z30.object({
1080
+ id: z30.string().uuid()
1081
+ }),
1004
1082
  responses: {
1005
- 201: DefaultSuccessResponseSchema.extend({
1006
- data: AccountContractsSchemas.disconnect.output
1083
+ 200: DefaultSuccessResponseSchema.extend({
1084
+ data: z30.array(MailUserSchema)
1007
1085
  }),
1008
1086
  ...DefaultResponses
1009
1087
  },
1010
- body: null,
1011
- summary: "Disconnect an account"
1088
+ summary: "Get all the attachments of a room"
1012
1089
  },
1013
- //#endregion disconnect account
1014
- //#region ........reconnect account
1015
- reconnect: {
1090
+ update: {
1016
1091
  method: "PATCH",
1017
- path: "/:id/reconnect",
1018
- pathParams: AccountContractsSchemas.reconnect.input,
1092
+ path: "/:id",
1093
+ pathParams: z30.object({
1094
+ id: z30.string()
1095
+ }),
1019
1096
  responses: {
1020
- 201: DefaultSuccessResponseSchema.extend({
1021
- data: AccountContractsSchemas.reconnect.output
1097
+ 200: DefaultSuccessResponseSchema.extend({
1098
+ data: MailRoomSchema
1022
1099
  }),
1023
1100
  ...DefaultResponses
1024
1101
  },
1025
- body: null,
1026
- summary: "Reconnect a disconncted account"
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
- //#endregion reconnect account
1029
- //#region ........delete account
1030
- delete: {
1031
- method: "DELETE",
1115
+ markAsRead: {
1116
+ method: "GET",
1032
1117
  path: "/:id",
1033
- pathParams: AccountContractsSchemas.delete.input,
1118
+ pathParams: z30.object({
1119
+ id: z30.string().uuid()
1120
+ }),
1034
1121
  responses: {
1035
1122
  200: DefaultSuccessResponseSchema.extend({
1036
- message: z28.string()
1123
+ message: z30.string()
1037
1124
  }),
1038
1125
  ...DefaultResponses
1039
1126
  },
1040
- body: null,
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
- baseHeaders: DefaultHeaderSchema,
1047
- pathPrefix: "mail/account"
1131
+ pathPrefix: "mail/room"
1048
1132
  }
1049
1133
  );
1050
1134
 
1051
- // src/mail/mail-server.ts
1135
+ // src/mail/message-contract.ts
1052
1136
  import { initContract as initContract9 } from "@ts-rest/core";
1053
- import z29 from "zod";
1054
- var serverContract = initContract9().router(
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: z29.string()
1145
+ message: z31.string()
1062
1146
  }),
1063
1147
  ...DefaultResponses
1064
1148
  },
1065
1149
  body: null,
1066
- summary: "Register a new mail server"
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: z29.object({
1072
- id: z29.string()
1156
+ pathParams: z31.object({
1157
+ id: z31.string()
1073
1158
  }),
1074
1159
  responses: {
1075
1160
  200: DefaultSuccessResponseSchema.extend({
1076
- message: z29.string()
1161
+ data: MessageSchema2
1077
1162
  }),
1078
1163
  ...DefaultResponses
1079
1164
  },
1080
- summary: "Get a mail server by id"
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: z29.object({
1086
- id: z29.string()
1171
+ pathParams: z31.object({
1172
+ id: z31.string()
1087
1173
  }),
1088
1174
  responses: {
1089
1175
  200: DefaultSuccessResponseSchema.extend({
1090
- message: z29.string()
1176
+ message: z31.string()
1091
1177
  }),
1092
1178
  ...DefaultResponses
1093
1179
  },
1094
1180
  body: null,
1095
- summary: "Update a mail server by id"
1181
+ summary: "Update a message by id"
1096
1182
  },
1097
1183
  delete: {
1098
1184
  method: "PATCH",
1099
1185
  path: "/:id",
1100
- pathParams: z29.object({
1101
- id: z29.string()
1186
+ pathParams: z31.object({
1187
+ id: z31.string()
1102
1188
  }),
1103
1189
  responses: {
1104
1190
  200: DefaultSuccessResponseSchema.extend({
1105
- message: z29.string()
1191
+ message: z31.string()
1106
1192
  }),
1107
1193
  ...DefaultResponses
1108
1194
  },
1109
1195
  body: null,
1110
- summary: "Delete a mail server by id"
1196
+ summary: "Delete a message by id"
1111
1197
  }
1112
1198
  },
1113
1199
  {
1114
- pathPrefix: "/server"
1200
+ pathPrefix: "mail/message"
1115
1201
  }
1116
1202
  );
1117
1203
 
1118
- // src/mail/message-contract.ts
1204
+ // src/mail/account-contract.ts
1119
1205
  import { initContract as initContract10 } from "@ts-rest/core";
1120
- import z30 from "zod";
1121
- var messageContract = initContract10().router(
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
- 200: DefaultSuccessResponseSchema.extend({
1128
- message: z30.string()
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: null,
1133
- summary: "Add a new message into a room"
1275
+ body: AccountContractsValidationSchemas.create.input,
1276
+ summary: "Register a new mail account"
1134
1277
  },
1135
- get: {
1278
+ //#endregion register account
1279
+ //#region ........get account
1280
+ getById: {
1136
1281
  method: "GET",
1137
1282
  path: "/:id",
1138
- pathParams: z30.object({
1139
- id: z30.string()
1140
- }),
1283
+ pathParams: AccountContractsValidationSchemas.getById.input,
1141
1284
  responses: {
1142
1285
  200: DefaultSuccessResponseSchema.extend({
1143
- message: z30.string()
1286
+ data: AccountContractsValidationSchemas.getById.output
1144
1287
  }),
1145
1288
  ...DefaultResponses
1146
1289
  },
1147
- summary: "Get a message by id"
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: z30.object({
1153
- id: z30.string()
1312
+ pathParams: z33.object({
1313
+ id: z33.string().uuid()
1154
1314
  }),
1155
1315
  responses: {
1156
- 200: DefaultSuccessResponseSchema.extend({
1157
- message: z30.string()
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: "Update a message by id"
1337
+ summary: "Disconnect an account"
1163
1338
  },
1164
- delete: {
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: z30.object({
1168
- id: z30.string()
1169
- }),
1359
+ pathParams: AccountContractsValidationSchemas.delete.input,
1170
1360
  responses: {
1171
1361
  200: DefaultSuccessResponseSchema.extend({
1172
- message: z30.string()
1362
+ message: z33.string()
1173
1363
  }),
1174
1364
  ...DefaultResponses
1175
1365
  },
1176
1366
  body: null,
1177
- summary: "Delete a message by id"
1367
+ summary: "Delete an account by id"
1178
1368
  }
1369
+ //#endregion delete account
1179
1370
  },
1180
1371
  {
1181
- pathPrefix: "/message"
1372
+ baseHeaders: DefaultHeaderSchema,
1373
+ pathPrefix: "mail/account"
1182
1374
  }
1183
1375
  );
1184
1376
 
1185
- // src/mail/room-contract.ts
1377
+ // src/mail/mail-server-contract.ts
1186
1378
  import { initContract as initContract11 } from "@ts-rest/core";
1187
- import z31 from "zod";
1188
- var roomContract = initContract11().router(
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: z31.string()
1387
+ message: z34.string()
1196
1388
  }),
1197
1389
  ...DefaultResponses
1198
1390
  },
1199
1391
  body: null,
1200
- summary: "Create a new room for new incoming mail"
1392
+ summary: "Register a new mail server"
1201
1393
  },
1202
1394
  get: {
1203
1395
  method: "GET",
1204
1396
  path: "/:id",
1205
- pathParams: z31.object({
1206
- id: z31.string()
1397
+ pathParams: z34.object({
1398
+ id: z34.string()
1207
1399
  }),
1208
1400
  responses: {
1209
1401
  200: DefaultSuccessResponseSchema.extend({
1210
- message: z31.string()
1402
+ message: z34.string()
1211
1403
  }),
1212
1404
  ...DefaultResponses
1213
1405
  },
1214
- summary: "Get a mail room by id"
1406
+ summary: "Get a mail server by id"
1215
1407
  },
1216
1408
  update: {
1217
1409
  method: "PATCH",
1218
1410
  path: "/:id",
1219
- pathParams: z31.object({
1220
- id: z31.string()
1411
+ pathParams: z34.object({
1412
+ id: z34.string()
1221
1413
  }),
1222
1414
  responses: {
1223
1415
  200: DefaultSuccessResponseSchema.extend({
1224
- message: z31.string()
1416
+ message: z34.string()
1225
1417
  }),
1226
1418
  ...DefaultResponses
1227
1419
  },
1228
1420
  body: null,
1229
- summary: "Update a mail room by id"
1421
+ summary: "Update a mail server by id"
1230
1422
  },
1231
1423
  delete: {
1232
1424
  method: "PATCH",
1233
1425
  path: "/:id",
1234
- pathParams: z31.object({
1235
- id: z31.string()
1426
+ pathParams: z34.object({
1427
+ id: z34.string()
1236
1428
  }),
1237
1429
  responses: {
1238
1430
  200: DefaultSuccessResponseSchema.extend({
1239
- message: z31.string()
1431
+ message: z34.string()
1240
1432
  }),
1241
1433
  ...DefaultResponses
1242
1434
  },
1243
1435
  body: null,
1244
- summary: "Delete a mail room by id"
1436
+ summary: "Delete a mail server by id"
1245
1437
  }
1246
1438
  },
1247
1439
  {
1248
- pathPrefix: "/room"
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 z33 from "zod";
1454
+ import z36 from "zod";
1263
1455
 
1264
1456
  // src/tag/validation.ts
1265
- import { z as z32 } from "zod";
1266
- var CreateTagSchema = z32.object({
1267
- name: z32.string(),
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 = z32.object({
1462
+ var GetTagsSchema = z35.object({
1271
1463
  group: TagGroupSchema.default("general"),
1272
- keyword: z32.string()
1464
+ keyword: z35.string()
1273
1465
  }).partial().optional();
1274
- var UpdateTagSchema = z32.object({ name: z32.string() });
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: z33.array(TagSchema)
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: z33.object({ id: z33.string() }),
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: z33.object({ id: z33.string() }),
1320
- body: z33.any().optional(),
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: z33.string() }),
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 z36 from "zod";
1528
+ import z39 from "zod";
1337
1529
 
1338
1530
  // src/extension/schema.ts
1339
- import z34 from "zod";
1531
+ import z37 from "zod";
1340
1532
  var ExtensionSchema = DefaultEntitySchema.extend({
1341
- userId: z34.string().nullable(),
1342
- sipServerUrl: z34.string(),
1343
- sipUserName: z34.string(),
1344
- extensionId: z34.coerce.number().nullable(),
1345
- extensionName: z34.string().nullable(),
1346
- telephonySignature: z34.string().nullable()
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 z35 } from "zod";
1351
- var CreateExtensionSchema = z35.object({
1352
- userId: z35.string().nullable(),
1353
- sipServerUrl: z35.string(),
1354
- sipUserName: z35.string(),
1355
- extensionId: z35.coerce.number().nullable(),
1356
- extensionName: z35.string().nullable(),
1357
- telephonySignature: z35.string().nullable()
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: z35.string()
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: z36.object({
1376
- message: z36.string()
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: z36.object({
1387
- page: z36.coerce.number().default(1),
1388
- pageSize: z36.coerce.number().default(10),
1389
- keyword: z36.string().optional()
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: z36.object({
1395
- message: z36.string()
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: z36.object({
1406
- page: z36.coerce.number().default(1),
1407
- pageSize: z36.coerce.number().default(10),
1408
- keyword: z36.string().optional()
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: z36.object({
1415
- message: z36.string()
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: z36.object({ id: z36.string() }),
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: z36.object({ id: z36.string() }),
1645
+ pathParams: z39.object({ id: z39.string() }),
1439
1646
  headers: DefaultHeaderSchema,
1440
1647
  body: null,
1441
1648
  responses: {
1442
- 200: DefaultSuccessResponseSchema.extend({ message: z36.string() }),
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 z37 from "zod";
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: z37.object({ permissions: PermissionSchema.array() }),
1462
- 400: z37.object({
1463
- message: z37.string()
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 z39 from "zod";
1683
+ import z42 from "zod";
1477
1684
 
1478
1685
  // src/role/validation.ts
1479
- import { z as z38 } from "zod";
1480
- var CreateRoleSchema = z38.object({
1481
- systemName: z38.string(),
1482
- displayName: z38.string(),
1483
- description: z38.string().nullable(),
1484
- permissions: z38.array(z38.string())
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: z38.string()
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: z39.object({
1503
- message: z39.string()
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: z39.object({
1514
- page: z39.coerce.number().default(1),
1515
- pageSize: z39.coerce.number().default(10)
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: z39.object({
1521
- message: z39.string()
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: z39.object({ id: z39.string() }),
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: z39.object({
1539
- message: z39.string()
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: z39.object({ id: z39.string() }),
1756
+ pathParams: z42.object({ id: z42.string() }),
1550
1757
  headers: DefaultHeaderSchema,
1551
1758
  body: null,
1552
1759
  responses: {
1553
- 200: DefaultSuccessResponseSchema.extend({ message: z39.string() }),
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/widget/index.ts
1769
+ // src/user/index.ts
1563
1770
  import { initContract as initContract17 } from "@ts-rest/core";
1564
- import z42 from "zod";
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 z40 from "zod";
1568
- var FieldsSchema = z40.object({ data: z40.array(z40.string()) });
1569
- var WidgetPositionSchema = z40.union([
1570
- z40.literal("menu"),
1571
- z40.literal("ticket_detail"),
1572
- z40.literal("contact_detail")
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: z40.string(),
1576
- description: z40.string().nullable(),
1887
+ name: z45.string(),
1888
+ description: z45.string().nullable(),
1577
1889
  position: WidgetPositionSchema.nullable(),
1578
1890
  fields: FieldsSchema,
1579
- url: z40.string().nullable()
1891
+ url: z45.string().nullable()
1580
1892
  });
1581
1893
 
1582
1894
  // src/widget/validation.ts
1583
- import z41 from "zod";
1584
- var CreateWidgetSchema = z41.object({
1585
- name: z41.string(),
1586
- description: z41.string(),
1587
- url: z41.string(),
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: z41.object({
1901
+ fields: z46.object({
1590
1902
  data: (
1591
1903
  // Array of attribute system names
1592
- z41.array(z41.string())
1904
+ z46.array(z46.string())
1593
1905
  )
1594
1906
  }).optional()
1595
1907
  });
1596
1908
  var UpdateWidgetSchema = CreateWidgetSchema.extend({
1597
- id: z41.string()
1909
+ id: z46.string()
1598
1910
  });
1599
1911
 
1600
1912
  // src/widget/index.ts
1601
- var widgetContract = initContract17().router(
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: z42.object({
1613
- message: z42.string()
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: z42.object({
1624
- page: z42.coerce.number().default(1),
1625
- pageSize: z42.coerce.number().default(10),
1626
- keyword: z42.coerce.string().optional()
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: z42.object({
1633
- message: z42.string()
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: z42.array(WidgetSchema),
1645
- 400: z42.object({
1646
- message: z42.string()
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: z42.array(WidgetSchema),
1659
- 400: z42.object({
1660
- message: z42.string()
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: z42.array(WidgetSchema),
1673
- 400: z42.object({
1674
- message: z42.string()
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: z42.object({ id: z42.string() }),
1996
+ pathParams: z47.object({ id: z47.string() }),
1685
1997
  headers: DefaultHeaderSchema,
1686
1998
  responses: {
1687
1999
  200: WidgetSchema,
1688
- 400: z42.object({
1689
- message: z42.string()
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: z42.object({ id: z42.string() }),
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: z42.object({
1730
- message: z42.string()
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: z42.object({ id: z42.string() }),
2052
+ pathParams: z47.object({ id: z47.string() }),
1741
2053
  headers: DefaultHeaderSchema,
1742
2054
  body: null,
1743
2055
  responses: {
1744
- 200: DefaultSuccessResponseSchema.extend({ message: z42.string() }),
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 initContract18 } from "@ts-rest/core";
1755
- import z44 from "zod";
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 z43 from "zod";
1759
- var TelephonyExtensionSchema = z43.object({
1760
- errcode: z43.coerce.number(),
1761
- errmsg: z43.string(),
1762
- total_number: z43.coerce.number(),
1763
- data: z43.array(z43.object({}))
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 = initContract18().router(
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: z44.object({
1777
- message: z44.string()
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 = initContract19().router({
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
- // user: userContract,
2108
+ user: userContract,
1796
2109
  extension: extensionContract,
1797
2110
  widget: widgetContract,
1798
2111
  emailEngineWebhooks: emailEngineWebhooksEventsContract,