@kl1/contracts 1.0.0

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 (263) hide show
  1. package/dist/api-contracts/src/auth/index.d.ts +436 -0
  2. package/dist/api-contracts/src/auth/index.d.ts.map +1 -0
  3. package/dist/api-contracts/src/auth/permission-schema.d.ts +27 -0
  4. package/dist/api-contracts/src/auth/permission-schema.d.ts.map +1 -0
  5. package/dist/api-contracts/src/auth/role-schema.d.ts +70 -0
  6. package/dist/api-contracts/src/auth/role-schema.d.ts.map +1 -0
  7. package/dist/api-contracts/src/auth/user-schema.d.ts +140 -0
  8. package/dist/api-contracts/src/auth/user-schema.d.ts.map +1 -0
  9. package/dist/api-contracts/src/base-contract.d.ts +85 -0
  10. package/dist/api-contracts/src/base-contract.d.ts.map +1 -0
  11. package/dist/api-contracts/src/contract.d.ts +593 -0
  12. package/dist/api-contracts/src/contract.d.ts.map +1 -0
  13. package/dist/api-contracts/src/cx-log/cx-log-schema.d.ts +54 -0
  14. package/dist/api-contracts/src/cx-log/cx-log-schema.d.ts.map +1 -0
  15. package/dist/api-contracts/src/cx-log/index.d.ts +252 -0
  16. package/dist/api-contracts/src/cx-log/index.d.ts.map +1 -0
  17. package/dist/api-contracts/src/index.d.ts +2 -0
  18. package/dist/api-contracts/src/index.d.ts.map +1 -0
  19. package/dist/attribute/schema.d.ts +42 -0
  20. package/dist/attribute/schema.d.ts.map +1 -0
  21. package/dist/attribute-option/schema.d.ts +33 -0
  22. package/dist/attribute-option/schema.d.ts.map +1 -0
  23. package/dist/auth/index.d.ts +436 -0
  24. package/dist/auth/index.d.ts.map +1 -0
  25. package/dist/auth/permission-schema.d.ts +27 -0
  26. package/dist/auth/permission-schema.d.ts.map +1 -0
  27. package/dist/auth/role-schema.d.ts +70 -0
  28. package/dist/auth/role-schema.d.ts.map +1 -0
  29. package/dist/auth/user-schema.d.ts +140 -0
  30. package/dist/auth/user-schema.d.ts.map +1 -0
  31. package/dist/base-contract.d.ts +85 -0
  32. package/dist/base-contract.d.ts.map +1 -0
  33. package/dist/call-log/index.d.ts +4 -0
  34. package/dist/call-log/index.d.ts.map +1 -0
  35. package/dist/call-log/schema.d.ts +57 -0
  36. package/dist/call-log/schema.d.ts.map +1 -0
  37. package/dist/call-log/validation.d.ts +24 -0
  38. package/dist/call-log/validation.d.ts.map +1 -0
  39. package/dist/company/schema.d.ts +30 -0
  40. package/dist/company/schema.d.ts.map +1 -0
  41. package/dist/contact/schema.d.ts +42 -0
  42. package/dist/contact/schema.d.ts.map +1 -0
  43. package/dist/contact-email/schema.d.ts +27 -0
  44. package/dist/contact-email/schema.d.ts.map +1 -0
  45. package/dist/contact-phone/schema.d.ts +27 -0
  46. package/dist/contact-phone/schema.d.ts.map +1 -0
  47. package/dist/contract.d.ts +663 -0
  48. package/dist/contract.d.ts.map +1 -0
  49. package/dist/custom-field/schema.d.ts +36 -0
  50. package/dist/custom-field/schema.d.ts.map +1 -0
  51. package/dist/custom-field-upload/schema.d.ts +24 -0
  52. package/dist/custom-field-upload/schema.d.ts.map +1 -0
  53. package/dist/cx-log/cx-log-schema.d.ts +54 -0
  54. package/dist/cx-log/cx-log-schema.d.ts.map +1 -0
  55. package/dist/cx-log/index.d.ts +230 -0
  56. package/dist/cx-log/index.d.ts.map +1 -0
  57. package/dist/cx-log/schema.d.ts +54 -0
  58. package/dist/cx-log/schema.d.ts.map +1 -0
  59. package/dist/cx-log/validation.d.ts +95 -0
  60. package/dist/cx-log/validation.d.ts.map +1 -0
  61. package/dist/entities/src/base.entity.d.ts +7 -0
  62. package/dist/entities/src/base.entity.d.ts.map +1 -0
  63. package/dist/entities/src/tenants/attribute-option.entity.d.ts +9 -0
  64. package/dist/entities/src/tenants/attribute-option.entity.d.ts.map +1 -0
  65. package/dist/entities/src/tenants/attribute.entity.d.ts +12 -0
  66. package/dist/entities/src/tenants/attribute.entity.d.ts.map +1 -0
  67. package/dist/entities/src/tenants/call-log.entity.d.ts +18 -0
  68. package/dist/entities/src/tenants/call-log.entity.d.ts.map +1 -0
  69. package/dist/entities/src/tenants/company.entity.d.ts +8 -0
  70. package/dist/entities/src/tenants/company.entity.d.ts.map +1 -0
  71. package/dist/entities/src/tenants/contact-custom-field.entity.d.ts +14 -0
  72. package/dist/entities/src/tenants/contact-custom-field.entity.d.ts.map +1 -0
  73. package/dist/entities/src/tenants/contact-email.entity.d.ts +7 -0
  74. package/dist/entities/src/tenants/contact-email.entity.d.ts.map +1 -0
  75. package/dist/entities/src/tenants/contact-phone.entity.d.ts +7 -0
  76. package/dist/entities/src/tenants/contact-phone.entity.d.ts.map +1 -0
  77. package/dist/entities/src/tenants/contact.entity.d.ts +14 -0
  78. package/dist/entities/src/tenants/contact.entity.d.ts.map +1 -0
  79. package/dist/entities/src/tenants/custom-field-upload.entity.d.ts +8 -0
  80. package/dist/entities/src/tenants/custom-field-upload.entity.d.ts.map +1 -0
  81. package/dist/entities/src/tenants/custom-field.entity.d.ts +10 -0
  82. package/dist/entities/src/tenants/custom-field.entity.d.ts.map +1 -0
  83. package/dist/entities/src/tenants/cx-log.entity.d.ts +20 -0
  84. package/dist/entities/src/tenants/cx-log.entity.d.ts.map +1 -0
  85. package/dist/entities/src/tenants/evaluate-form.entity.d.ts +9 -0
  86. package/dist/entities/src/tenants/evaluate-form.entity.d.ts.map +1 -0
  87. package/dist/entities/src/tenants/extension.entity.d.ts +10 -0
  88. package/dist/entities/src/tenants/extension.entity.d.ts.map +1 -0
  89. package/dist/entities/src/tenants/group.entity.d.ts +6 -0
  90. package/dist/entities/src/tenants/group.entity.d.ts.map +1 -0
  91. package/dist/entities/src/tenants/index.d.ts +25 -0
  92. package/dist/entities/src/tenants/index.d.ts.map +1 -0
  93. package/dist/entities/src/tenants/log-form.entity.d.ts +6 -0
  94. package/dist/entities/src/tenants/log-form.entity.d.ts.map +1 -0
  95. package/dist/entities/src/tenants/permission.entity.d.ts +9 -0
  96. package/dist/entities/src/tenants/permission.entity.d.ts.map +1 -0
  97. package/dist/entities/src/tenants/platform-contact.entity.d.ts +8 -0
  98. package/dist/entities/src/tenants/platform-contact.entity.d.ts.map +1 -0
  99. package/dist/entities/src/tenants/role.entity.d.ts +11 -0
  100. package/dist/entities/src/tenants/role.entity.d.ts.map +1 -0
  101. package/dist/entities/src/tenants/tag-group.entity.d.ts +8 -0
  102. package/dist/entities/src/tenants/tag-group.entity.d.ts.map +1 -0
  103. package/dist/entities/src/tenants/tag.entity.d.ts +11 -0
  104. package/dist/entities/src/tenants/tag.entity.d.ts.map +1 -0
  105. package/dist/entities/src/tenants/telephony-cdr.entity.d.ts +23 -0
  106. package/dist/entities/src/tenants/telephony-cdr.entity.d.ts.map +1 -0
  107. package/dist/entities/src/tenants/telephony-live-queue-call.entity.d.ts +7 -0
  108. package/dist/entities/src/tenants/telephony-live-queue-call.entity.d.ts.map +1 -0
  109. package/dist/entities/src/tenants/telephony-queue-call-count.entity.d.ts +15 -0
  110. package/dist/entities/src/tenants/telephony-queue-call-count.entity.d.ts.map +1 -0
  111. package/dist/entities/src/tenants/ticket.entity.d.ts +17 -0
  112. package/dist/entities/src/tenants/ticket.entity.d.ts.map +1 -0
  113. package/dist/entities/src/tenants/upload.entity.d.ts +8 -0
  114. package/dist/entities/src/tenants/upload.entity.d.ts.map +1 -0
  115. package/dist/entities/src/tenants/user.entity.d.ts +13 -0
  116. package/dist/entities/src/tenants/user.entity.d.ts.map +1 -0
  117. package/dist/entities/src/tenants/widget.entity.d.ts +9 -0
  118. package/dist/entities/src/tenants/widget.entity.d.ts.map +1 -0
  119. package/dist/evaluate-form/schema.d.ts +27 -0
  120. package/dist/evaluate-form/schema.d.ts.map +1 -0
  121. package/dist/exchange-token/index.d.ts +32 -0
  122. package/dist/exchange-token/index.d.ts.map +1 -0
  123. package/dist/extension/schema.d.ts +36 -0
  124. package/dist/extension/schema.d.ts.map +1 -0
  125. package/dist/group/schema.d.ts +24 -0
  126. package/dist/group/schema.d.ts.map +1 -0
  127. package/dist/index.d.ts +3 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +855 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/index.mjs +817 -0
  132. package/dist/index.mjs.map +1 -0
  133. package/dist/log-form/schema.d.ts +24 -0
  134. package/dist/log-form/schema.d.ts.map +1 -0
  135. package/dist/permission/schema.d.ts +27 -0
  136. package/dist/permission/schema.d.ts.map +1 -0
  137. package/dist/platform-contact/schema.d.ts +30 -0
  138. package/dist/platform-contact/schema.d.ts.map +1 -0
  139. package/dist/posts/index.d.ts +118 -0
  140. package/dist/posts/index.d.ts.map +1 -0
  141. package/dist/role/schema.d.ts +70 -0
  142. package/dist/role/schema.d.ts.map +1 -0
  143. package/dist/src/attribute/index.d.ts +433 -0
  144. package/dist/src/attribute/index.d.ts.map +1 -0
  145. package/dist/src/attribute/schema.d.ts +42 -0
  146. package/dist/src/attribute/schema.d.ts.map +1 -0
  147. package/dist/src/attribute/validation.d.ts +131 -0
  148. package/dist/src/attribute/validation.d.ts.map +1 -0
  149. package/dist/src/attribute-option/schema.d.ts +33 -0
  150. package/dist/src/attribute-option/schema.d.ts.map +1 -0
  151. package/dist/src/auth/index.d.ts +431 -0
  152. package/dist/src/auth/index.d.ts.map +1 -0
  153. package/dist/src/base-contract.d.ts +117 -0
  154. package/dist/src/base-contract.d.ts.map +1 -0
  155. package/dist/src/call-log/index.d.ts +4 -0
  156. package/dist/src/call-log/index.d.ts.map +1 -0
  157. package/dist/src/call-log/schema.d.ts +57 -0
  158. package/dist/src/call-log/schema.d.ts.map +1 -0
  159. package/dist/src/call-log/validation.d.ts +24 -0
  160. package/dist/src/call-log/validation.d.ts.map +1 -0
  161. package/dist/src/category/index.d.ts +633 -0
  162. package/dist/src/category/index.d.ts.map +1 -0
  163. package/dist/src/category/schema.d.ts +94 -0
  164. package/dist/src/category/schema.d.ts.map +1 -0
  165. package/dist/src/category/validation.d.ts +45 -0
  166. package/dist/src/category/validation.d.ts.map +1 -0
  167. package/dist/src/company/schema.d.ts +30 -0
  168. package/dist/src/company/schema.d.ts.map +1 -0
  169. package/dist/src/contact/schema.d.ts +42 -0
  170. package/dist/src/contact/schema.d.ts.map +1 -0
  171. package/dist/src/contact-email/schema.d.ts +27 -0
  172. package/dist/src/contact-email/schema.d.ts.map +1 -0
  173. package/dist/src/contact-phone/schema.d.ts +27 -0
  174. package/dist/src/contact-phone/schema.d.ts.map +1 -0
  175. package/dist/src/contract.d.ts +3196 -0
  176. package/dist/src/contract.d.ts.map +1 -0
  177. package/dist/src/custom-field/schema.d.ts +36 -0
  178. package/dist/src/custom-field/schema.d.ts.map +1 -0
  179. package/dist/src/custom-field-upload/schema.d.ts +24 -0
  180. package/dist/src/custom-field-upload/schema.d.ts.map +1 -0
  181. package/dist/src/cx-log/index.d.ts +230 -0
  182. package/dist/src/cx-log/index.d.ts.map +1 -0
  183. package/dist/src/cx-log/schema.d.ts +54 -0
  184. package/dist/src/cx-log/schema.d.ts.map +1 -0
  185. package/dist/src/cx-log/validation.d.ts +95 -0
  186. package/dist/src/cx-log/validation.d.ts.map +1 -0
  187. package/dist/src/evaluate-form/schema.d.ts +27 -0
  188. package/dist/src/evaluate-form/schema.d.ts.map +1 -0
  189. package/dist/src/extension/schema.d.ts +36 -0
  190. package/dist/src/extension/schema.d.ts.map +1 -0
  191. package/dist/src/group/schema.d.ts +24 -0
  192. package/dist/src/group/schema.d.ts.map +1 -0
  193. package/dist/src/index.d.ts +6 -0
  194. package/dist/src/index.d.ts.map +1 -0
  195. package/dist/src/log-form/schema.d.ts +24 -0
  196. package/dist/src/log-form/schema.d.ts.map +1 -0
  197. package/dist/src/mail/account-contract.d.ts +1250 -0
  198. package/dist/src/mail/account-contract.d.ts.map +1 -0
  199. package/dist/src/mail/email-engine-webhooks-events.contract.d.ts +22 -0
  200. package/dist/src/mail/email-engine-webhooks-events.contract.d.ts.map +1 -0
  201. package/dist/src/mail/mail-contract.d.ts +1894 -0
  202. package/dist/src/mail/mail-contract.d.ts.map +1 -0
  203. package/dist/src/mail/mail-server.d.ts +216 -0
  204. package/dist/src/mail/mail-server.d.ts.map +1 -0
  205. package/dist/src/mail/message-contract.d.ts +216 -0
  206. package/dist/src/mail/message-contract.d.ts.map +1 -0
  207. package/dist/src/mail/room-contract.d.ts +216 -0
  208. package/dist/src/mail/room-contract.d.ts.map +1 -0
  209. package/dist/src/mail/schemas/account.schema.d.ts +1004 -0
  210. package/dist/src/mail/schemas/account.schema.d.ts.map +1 -0
  211. package/dist/src/permission/schema.d.ts +27 -0
  212. package/dist/src/permission/schema.d.ts.map +1 -0
  213. package/dist/src/platform-contact/schema.d.ts +30 -0
  214. package/dist/src/platform-contact/schema.d.ts.map +1 -0
  215. package/dist/src/role/schema.d.ts +70 -0
  216. package/dist/src/role/schema.d.ts.map +1 -0
  217. package/dist/src/tag/schema.d.ts +21 -0
  218. package/dist/src/tag/schema.d.ts.map +1 -0
  219. package/dist/src/tag-group/schema.d.ts +24 -0
  220. package/dist/src/tag-group/schema.d.ts.map +1 -0
  221. package/dist/src/telephony-cdr/index.d.ts +4 -0
  222. package/dist/src/telephony-cdr/index.d.ts.map +1 -0
  223. package/dist/src/telephony-cdr/schema.d.ts +75 -0
  224. package/dist/src/telephony-cdr/schema.d.ts.map +1 -0
  225. package/dist/src/telephony-cdr/validation.d.ts +48 -0
  226. package/dist/src/telephony-cdr/validation.d.ts.map +1 -0
  227. package/dist/src/telephony-live-queue-call/schema.d.ts +27 -0
  228. package/dist/src/telephony-live-queue-call/schema.d.ts.map +1 -0
  229. package/dist/src/telephony-queue-call-count/schema.d.ts +51 -0
  230. package/dist/src/telephony-queue-call-count/schema.d.ts.map +1 -0
  231. package/dist/src/ticket/schema.d.ts +51 -0
  232. package/dist/src/ticket/schema.d.ts.map +1 -0
  233. package/dist/src/upload/schema.d.ts +30 -0
  234. package/dist/src/upload/schema.d.ts.map +1 -0
  235. package/dist/src/user/schema.d.ts +137 -0
  236. package/dist/src/user/schema.d.ts.map +1 -0
  237. package/dist/src/widget/schema.d.ts +33 -0
  238. package/dist/src/widget/schema.d.ts.map +1 -0
  239. package/dist/tag/schema.d.ts +21 -0
  240. package/dist/tag/schema.d.ts.map +1 -0
  241. package/dist/tag-group/schema.d.ts +24 -0
  242. package/dist/tag-group/schema.d.ts.map +1 -0
  243. package/dist/telephony-cdr/index.d.ts +4 -0
  244. package/dist/telephony-cdr/index.d.ts.map +1 -0
  245. package/dist/telephony-cdr/schema.d.ts +75 -0
  246. package/dist/telephony-cdr/schema.d.ts.map +1 -0
  247. package/dist/telephony-cdr/validation.d.ts +48 -0
  248. package/dist/telephony-cdr/validation.d.ts.map +1 -0
  249. package/dist/telephony-live-queue-call/schema.d.ts +27 -0
  250. package/dist/telephony-live-queue-call/schema.d.ts.map +1 -0
  251. package/dist/telephony-queue-call-count/schema.d.ts +51 -0
  252. package/dist/telephony-queue-call-count/schema.d.ts.map +1 -0
  253. package/dist/ticket/schema.d.ts +51 -0
  254. package/dist/ticket/schema.d.ts.map +1 -0
  255. package/dist/upload/schema.d.ts +30 -0
  256. package/dist/upload/schema.d.ts.map +1 -0
  257. package/dist/user/schema.d.ts +140 -0
  258. package/dist/user/schema.d.ts.map +1 -0
  259. package/dist/utils.d.ts +37 -0
  260. package/dist/utils.d.ts.map +1 -0
  261. package/dist/widget/schema.d.ts +33 -0
  262. package/dist/widget/schema.d.ts.map +1 -0
  263. package/package.json +48 -0
package/dist/index.mjs ADDED
@@ -0,0 +1,817 @@
1
+ // src/contract.ts
2
+ import { initContract as initContract10 } from "@ts-rest/core";
3
+
4
+ // src/auth/index.ts
5
+ import { initContract } from "@ts-rest/core";
6
+ import { z as z5 } from "zod";
7
+
8
+ // src/base-contract.ts
9
+ import z from "zod";
10
+ var DefaultHeaderSchema = z.object({
11
+ // biome-ignore lint/style/useNamingConvention: <explanation>
12
+ "x-tenant": z.string({ required_error: "Tenant id is required" }),
13
+ authorization: z.string()
14
+ });
15
+ var DefaultEntitySchema = z.object({
16
+ id: z.string().uuid(),
17
+ createdAt: z.date(),
18
+ updatedAt: z.date(),
19
+ deletedAt: z.date()
20
+ });
21
+ var DefaultQueryParamsSchema = z.object({
22
+ page: z.number().positive().default(1),
23
+ pageSize: z.number().positive().default(10)
24
+ });
25
+ var DefaultSuccessResponseSchema = z.object({
26
+ requestId: z.string()
27
+ });
28
+ var DefaultErrorResponseSchema = z.object({
29
+ message: z.string(),
30
+ error: z.any()
31
+ });
32
+ var DefaultNotFoundSchema = DefaultErrorResponseSchema;
33
+ var DefaultUnprocessibleSchema = DefaultErrorResponseSchema;
34
+ var DefaultUnauthorizedSchema = DefaultErrorResponseSchema;
35
+ var defaultResponses = {
36
+ 401: DefaultUnauthorizedSchema,
37
+ 404: DefaultNotFoundSchema,
38
+ 422: DefaultUnprocessibleSchema
39
+ };
40
+
41
+ // src/user/schema.ts
42
+ import z4 from "zod";
43
+
44
+ // src/role/schema.ts
45
+ import z3 from "zod";
46
+
47
+ // src/permission/schema.ts
48
+ import z2 from "zod";
49
+ var PermissionSchema = DefaultEntitySchema.extend({
50
+ systemName: z2.string(),
51
+ displayName: z2.string(),
52
+ description: z2.string().nullable()
53
+ });
54
+
55
+ // src/role/schema.ts
56
+ var RoleSchema = DefaultEntitySchema.extend({
57
+ systemName: z3.string(),
58
+ displayName: z3.string(),
59
+ description: z3.string().nullable(),
60
+ permissions: z3.array(PermissionSchema)
61
+ });
62
+
63
+ // src/user/schema.ts
64
+ var UserSchema = DefaultEntitySchema.extend({
65
+ name: z4.string(),
66
+ email: z4.string().email(),
67
+ address: z4.string().nullable(),
68
+ phone: z4.string().nullable(),
69
+ notificationCount: z4.number().nullable(),
70
+ roles: z4.array(RoleSchema)
71
+ });
72
+
73
+ // src/auth/index.ts
74
+ var authContract = initContract().router(
75
+ {
76
+ refreshToken: {
77
+ method: "POST",
78
+ path: "/refresh-token",
79
+ headers: DefaultHeaderSchema,
80
+ responses: {
81
+ 200: DefaultSuccessResponseSchema.extend({
82
+ accessToken: z5.string(),
83
+ refreshToken: z5.string()
84
+ }),
85
+ 401: DefaultUnauthorizedSchema,
86
+ 404: DefaultNotFoundSchema,
87
+ 422: DefaultUnprocessibleSchema
88
+ },
89
+ body: null,
90
+ summary: "Refresh token"
91
+ },
92
+ exchangeToken: {
93
+ method: "POST",
94
+ path: "/exchange-token",
95
+ responses: {
96
+ 200: DefaultSuccessResponseSchema.extend({
97
+ accessToken: z5.string(),
98
+ refreshToken: z5.string()
99
+ }),
100
+ 401: DefaultUnauthorizedSchema,
101
+ 404: DefaultNotFoundSchema,
102
+ 422: DefaultUnprocessibleSchema
103
+ },
104
+ body: null,
105
+ headers: DefaultHeaderSchema,
106
+ summary: "Exchange jwt token"
107
+ },
108
+ logout: {
109
+ method: "POST",
110
+ path: "/logout",
111
+ headers: DefaultHeaderSchema,
112
+ responses: {
113
+ 200: DefaultSuccessResponseSchema.extend({
114
+ message: z5.string()
115
+ }),
116
+ 401: DefaultUnauthorizedSchema,
117
+ 404: DefaultNotFoundSchema,
118
+ 422: DefaultUnprocessibleSchema
119
+ },
120
+ body: null,
121
+ summary: "Logout"
122
+ },
123
+ me: {
124
+ method: "GET",
125
+ path: "/me",
126
+ headers: DefaultHeaderSchema,
127
+ responses: {
128
+ 200: DefaultSuccessResponseSchema.extend({
129
+ user: UserSchema
130
+ }),
131
+ 401: DefaultUnauthorizedSchema,
132
+ 404: DefaultNotFoundSchema,
133
+ 422: DefaultUnprocessibleSchema
134
+ },
135
+ summary: "Get current user"
136
+ }
137
+ },
138
+ { pathPrefix: "auth" }
139
+ );
140
+
141
+ // src/mail/mail-contract.ts
142
+ import { initContract as initContract6 } from "@ts-rest/core";
143
+
144
+ // src/mail/room-contract.ts
145
+ import { initContract as initContract2 } from "@ts-rest/core";
146
+ import z6 from "zod";
147
+ var roomContract = initContract2().router(
148
+ {
149
+ create: {
150
+ method: "POST",
151
+ path: "/",
152
+ responses: {
153
+ 200: DefaultSuccessResponseSchema.extend({
154
+ message: z6.string()
155
+ }),
156
+ ...defaultResponses
157
+ },
158
+ body: null,
159
+ summary: "Create a new room for new incoming mail"
160
+ },
161
+ get: {
162
+ method: "GET",
163
+ path: "/:id",
164
+ pathParams: z6.object({
165
+ id: z6.string()
166
+ }),
167
+ responses: {
168
+ 200: DefaultSuccessResponseSchema.extend({
169
+ message: z6.string()
170
+ }),
171
+ ...defaultResponses
172
+ },
173
+ summary: "Get a mail room by id"
174
+ },
175
+ update: {
176
+ method: "PATCH",
177
+ path: "/:id",
178
+ pathParams: z6.object({
179
+ id: z6.string()
180
+ }),
181
+ responses: {
182
+ 200: DefaultSuccessResponseSchema.extend({
183
+ message: z6.string()
184
+ }),
185
+ ...defaultResponses
186
+ },
187
+ body: null,
188
+ summary: "Update a mail room by id"
189
+ },
190
+ delete: {
191
+ method: "PATCH",
192
+ path: "/:id",
193
+ pathParams: z6.object({
194
+ id: z6.string()
195
+ }),
196
+ responses: {
197
+ 200: DefaultSuccessResponseSchema.extend({
198
+ message: z6.string()
199
+ }),
200
+ ...defaultResponses
201
+ },
202
+ body: null,
203
+ summary: "Delete a mail room by id"
204
+ }
205
+ },
206
+ {
207
+ pathPrefix: "/room"
208
+ }
209
+ );
210
+
211
+ // src/mail/message-contract.ts
212
+ import { initContract as initContract3 } from "@ts-rest/core";
213
+ import z7 from "zod";
214
+ var messageContract = initContract3().router(
215
+ {
216
+ create: {
217
+ method: "POST",
218
+ path: "/",
219
+ responses: {
220
+ 200: DefaultSuccessResponseSchema.extend({
221
+ message: z7.string()
222
+ }),
223
+ ...defaultResponses
224
+ },
225
+ body: null,
226
+ summary: "Add a new message into a room"
227
+ },
228
+ get: {
229
+ method: "GET",
230
+ path: "/:id",
231
+ pathParams: z7.object({
232
+ id: z7.string()
233
+ }),
234
+ responses: {
235
+ 200: DefaultSuccessResponseSchema.extend({
236
+ message: z7.string()
237
+ }),
238
+ ...defaultResponses
239
+ },
240
+ summary: "Get a message by id"
241
+ },
242
+ update: {
243
+ method: "PATCH",
244
+ path: "/:id",
245
+ pathParams: z7.object({
246
+ id: z7.string()
247
+ }),
248
+ responses: {
249
+ 200: DefaultSuccessResponseSchema.extend({
250
+ message: z7.string()
251
+ }),
252
+ ...defaultResponses
253
+ },
254
+ body: null,
255
+ summary: "Update a message by id"
256
+ },
257
+ delete: {
258
+ method: "PATCH",
259
+ path: "/:id",
260
+ pathParams: z7.object({
261
+ id: z7.string()
262
+ }),
263
+ responses: {
264
+ 200: DefaultSuccessResponseSchema.extend({
265
+ message: z7.string()
266
+ }),
267
+ ...defaultResponses
268
+ },
269
+ body: null,
270
+ summary: "Delete a message by id"
271
+ }
272
+ },
273
+ {
274
+ pathPrefix: "/message"
275
+ }
276
+ );
277
+
278
+ // src/mail/account-contract.ts
279
+ import { initContract as initContract4 } from "@ts-rest/core";
280
+ import z9 from "zod";
281
+
282
+ // src/mail/schemas/account.schema.ts
283
+ import z8 from "zod";
284
+ var mailServerSchema = z8.object({
285
+ id: z8.string(),
286
+ created_at: z8.string(),
287
+ updated_at: z8.string(),
288
+ deletedAt: z8.string().nullable(),
289
+ tenant_id: z8.string(),
290
+ name: z8.string(),
291
+ smtpHost: z8.string(),
292
+ smtpPort: z8.string(),
293
+ smtpTlsPort: z8.string(),
294
+ useTlsForSmtp: z8.boolean(),
295
+ imapHost: z8.string(),
296
+ imapPort: z8.string(),
297
+ imapTlsPort: z8.string(),
298
+ useTlsForImap: z8.boolean()
299
+ });
300
+ var mailAccountSchema = z8.object({
301
+ id: z8.string(),
302
+ created_at: z8.string(),
303
+ updated_at: z8.string(),
304
+ deletedAt: z8.date().nullable(),
305
+ tenant_id: z8.string(),
306
+ name: z8.string(),
307
+ address: z8.string(),
308
+ accountId: z8.string(),
309
+ mailServerId: z8.string(),
310
+ mailServer: mailServerSchema,
311
+ state: z8.union([
312
+ z8.literal("init"),
313
+ z8.literal("syncing"),
314
+ z8.literal("connecting"),
315
+ z8.literal("connected"),
316
+ z8.literal("disconnected"),
317
+ z8.literal("authenticationError"),
318
+ z8.literal("connectError"),
319
+ z8.literal("unset")
320
+ ])
321
+ });
322
+ var accountContractsSchemas = {
323
+ create: {
324
+ input: z8.object({
325
+ address: z8.string().email("Email address must be valid email."),
326
+ name: z8.string().min(1, "Account name cannot be empty."),
327
+ password: z8.string().min(1, "Password cannot be empty."),
328
+ mailServerId: z8.string().uuid("Invalid mail_server_id")
329
+ })
330
+ },
331
+ getById: {
332
+ input: z8.object({
333
+ id: z8.string().uuid()
334
+ }),
335
+ output: mailAccountSchema
336
+ },
337
+ getAll: {
338
+ output: z8.array(mailAccountSchema)
339
+ },
340
+ update: {
341
+ input: mailAccountSchema,
342
+ output: mailAccountSchema
343
+ },
344
+ disconnect: {
345
+ input: z8.object({
346
+ id: z8.string().uuid()
347
+ }),
348
+ output: mailAccountSchema
349
+ },
350
+ reconnect: {
351
+ input: z8.object({
352
+ id: z8.string()
353
+ }),
354
+ output: mailAccountSchema
355
+ },
356
+ delete: {
357
+ input: z8.object({
358
+ id: z8.string()
359
+ }),
360
+ output: mailAccountSchema
361
+ }
362
+ };
363
+
364
+ // src/mail/account-contract.ts
365
+ var accountContract = initContract4().router(
366
+ {
367
+ //#region ........register account
368
+ create: {
369
+ method: "POST",
370
+ path: "",
371
+ responses: {
372
+ 201: DefaultSuccessResponseSchema.extend({
373
+ // data: accountContractsSchemas.create.output,
374
+ message: z9.string()
375
+ }),
376
+ 400: z9.object({
377
+ message: z9.string()
378
+ }),
379
+ 409: z9.object({
380
+ message: z9.string()
381
+ }),
382
+ 500: z9.object({
383
+ message: z9.string()
384
+ }),
385
+ ...defaultResponses
386
+ },
387
+ body: accountContractsSchemas.create.input,
388
+ summary: "Register a new mail account"
389
+ },
390
+ //#endregion register account
391
+ //#region ........get account
392
+ getById: {
393
+ method: "GET",
394
+ path: "/:id",
395
+ pathParams: accountContractsSchemas.getById.input,
396
+ responses: {
397
+ 200: DefaultSuccessResponseSchema.extend({
398
+ data: accountContractsSchemas.getById.output
399
+ }),
400
+ ...defaultResponses
401
+ },
402
+ summary: "Get a account by id"
403
+ },
404
+ //#endregion get account
405
+ //#region ........get all account
406
+ //TODO: add pagination parameters
407
+ getAll: {
408
+ method: "GET",
409
+ path: "",
410
+ responses: {
411
+ 200: DefaultSuccessResponseSchema.extend({
412
+ data: z9.any()
413
+ // data: accountContractsSchemas.getAll.output,
414
+ }),
415
+ ...defaultResponses
416
+ },
417
+ summary: "Get al accounts"
418
+ },
419
+ //#endregion get all accounts
420
+ //#region ........update account
421
+ update: {
422
+ method: "PATCH",
423
+ path: "/:id",
424
+ pathParams: z9.object({
425
+ id: z9.string().uuid()
426
+ }),
427
+ responses: {
428
+ 201: DefaultSuccessResponseSchema.extend({
429
+ data: accountContractsSchemas.update.output
430
+ }),
431
+ ...defaultResponses
432
+ },
433
+ body: accountContractsSchemas.update.input.partial(),
434
+ summary: "Update a account by id"
435
+ },
436
+ //#endregion update account
437
+ //#region ........disconnect account
438
+ disconnect: {
439
+ method: "PATCH",
440
+ path: "/:id/disconnect",
441
+ pathParams: accountContractsSchemas.disconnect.input,
442
+ responses: {
443
+ 201: DefaultSuccessResponseSchema.extend({
444
+ data: accountContractsSchemas.disconnect.output
445
+ }),
446
+ ...defaultResponses
447
+ },
448
+ body: null,
449
+ summary: "Disconnect an account"
450
+ },
451
+ //#endregion disconnect account
452
+ //#region ........reconnect account
453
+ reconnect: {
454
+ method: "PATCH",
455
+ path: "/:id/reconnect",
456
+ pathParams: accountContractsSchemas.reconnect.input,
457
+ responses: {
458
+ 201: DefaultSuccessResponseSchema.extend({
459
+ data: accountContractsSchemas.reconnect.output
460
+ }),
461
+ ...defaultResponses
462
+ },
463
+ body: null,
464
+ summary: "Reconnect a disconncted account"
465
+ },
466
+ //#endregion reconnect account
467
+ //#region ........delete account
468
+ delete: {
469
+ method: "DELETE",
470
+ path: "/:id",
471
+ pathParams: accountContractsSchemas.delete.input,
472
+ responses: {
473
+ 200: DefaultSuccessResponseSchema.extend({
474
+ message: z9.string()
475
+ }),
476
+ ...defaultResponses
477
+ },
478
+ body: null,
479
+ summary: "Delete an account by id"
480
+ }
481
+ //#endregion delete account
482
+ },
483
+ {
484
+ baseHeaders: DefaultHeaderSchema,
485
+ pathPrefix: "mail/account"
486
+ }
487
+ );
488
+
489
+ // src/mail/mail-server.ts
490
+ import { initContract as initContract5 } from "@ts-rest/core";
491
+ import z10 from "zod";
492
+ var serverContract = initContract5().router(
493
+ {
494
+ create: {
495
+ method: "POST",
496
+ path: "/",
497
+ responses: {
498
+ 200: DefaultSuccessResponseSchema.extend({
499
+ message: z10.string()
500
+ }),
501
+ ...defaultResponses
502
+ },
503
+ body: null,
504
+ summary: "Register a new mail server"
505
+ },
506
+ get: {
507
+ method: "GET",
508
+ path: "/:id",
509
+ pathParams: z10.object({
510
+ id: z10.string()
511
+ }),
512
+ responses: {
513
+ 200: DefaultSuccessResponseSchema.extend({
514
+ message: z10.string()
515
+ }),
516
+ ...defaultResponses
517
+ },
518
+ summary: "Get a mail server by id"
519
+ },
520
+ update: {
521
+ method: "PATCH",
522
+ path: "/:id",
523
+ pathParams: z10.object({
524
+ id: z10.string()
525
+ }),
526
+ responses: {
527
+ 200: DefaultSuccessResponseSchema.extend({
528
+ message: z10.string()
529
+ }),
530
+ ...defaultResponses
531
+ },
532
+ body: null,
533
+ summary: "Update a mail server by id"
534
+ },
535
+ delete: {
536
+ method: "PATCH",
537
+ path: "/:id",
538
+ pathParams: z10.object({
539
+ id: z10.string()
540
+ }),
541
+ responses: {
542
+ 200: DefaultSuccessResponseSchema.extend({
543
+ message: z10.string()
544
+ }),
545
+ ...defaultResponses
546
+ },
547
+ body: null,
548
+ summary: "Delete a mail server by id"
549
+ }
550
+ },
551
+ {
552
+ pathPrefix: "/server"
553
+ }
554
+ );
555
+
556
+ // src/mail/mail-contract.ts
557
+ var mailContract = initContract6().router({
558
+ room: roomContract,
559
+ message: messageContract,
560
+ account: accountContract,
561
+ server: serverContract
562
+ });
563
+
564
+ // src/cx-log/index.ts
565
+ import { initContract as initContract7 } from "@ts-rest/core";
566
+ import z13 from "zod";
567
+
568
+ // src/cx-log/schema.ts
569
+ import z11 from "zod";
570
+ var CxLogSchema = DefaultEntitySchema.extend({
571
+ caseId: z11.number(),
572
+ entityId: z11.string().uuid(),
573
+ entityName: z11.string(),
574
+ contactId: z11.string().uuid().nullable(),
575
+ channel: z11.string().nullable(),
576
+ queueId: z11.string().uuid().nullable(),
577
+ agentId: z11.string().uuid().nullable(),
578
+ direction: z11.string().nullable(),
579
+ startedDate: z11.date().nullable(),
580
+ handledTime: z11.number().nullable(),
581
+ firstResponseTime: z11.number().nullable(),
582
+ disposition: z11.string().nullable()
583
+ });
584
+
585
+ // src/cx-log/validation.ts
586
+ import z12 from "zod";
587
+ var CustomFieldQueryParamsSchema = z12.object({
588
+ attributeId: z12.string(),
589
+ value: z12.string().or(z12.array(z12.string())),
590
+ type: z12.string()
591
+ });
592
+ var GetAllCxLogQueryParamsSchema = DefaultQueryParamsSchema.extend({
593
+ contactId: z12.string().uuid().optional(),
594
+ channelIds: z12.string().uuid().optional(),
595
+ queueIds: z12.string().uuid().optional(),
596
+ direction: z12.enum(["inbound", "outbound"]).array().optional(),
597
+ sentimentScore: z12.enum(["positive", "negative"]).array().optional(),
598
+ csatScore: z12.string().optional(),
599
+ sla: z12.enum(["meet", "unmeet"]).array().optional(),
600
+ caseId: z12.string().optional(),
601
+ name: z12.string().optional(),
602
+ email: z12.string().optional(),
603
+ phone: z12.string().optional(),
604
+ address: z12.string().optional(),
605
+ company: z12.string().optional(),
606
+ agentIds: z12.string().array().optional(),
607
+ channel: z12.string().array().optional(),
608
+ disposition: z12.string().array().optional(),
609
+ notes: z12.string().optional(),
610
+ contactLabels: z12.string().array().optional(),
611
+ tags: z12.string().array().optional(),
612
+ selectedDate: z12.string().optional(),
613
+ customFields: z12.array(CustomFieldQueryParamsSchema).optional()
614
+ });
615
+
616
+ // src/cx-log/index.ts
617
+ var cxLogContract = initContract7().router({
618
+ findAll: {
619
+ method: "GET",
620
+ path: "/cx-logs",
621
+ headers: DefaultHeaderSchema,
622
+ responses: {
623
+ 200: DefaultSuccessResponseSchema.extend({
624
+ total: z13.number(),
625
+ page: z13.number(),
626
+ pageSize: z13.number(),
627
+ cxLogs: z13.array(CxLogSchema)
628
+ }),
629
+ 401: DefaultUnauthorizedSchema
630
+ },
631
+ query: GetAllCxLogQueryParamsSchema,
632
+ summary: "Get all cx-logs"
633
+ }
634
+ });
635
+
636
+ // src/mail/email-engine-webhooks-events.contract.ts
637
+ import { initContract as initContract8 } from "@ts-rest/core";
638
+ import z14 from "zod";
639
+ var emailEngineWebhooksEventsContract = initContract8().router({
640
+ handleWebhooksEvents: {
641
+ method: "POST",
642
+ path: "/email_engine/webhooks",
643
+ // we don't need to respone anything but added responses just for solving type error
644
+ responses: {
645
+ 200: DefaultSuccessResponseSchema.extend({
646
+ message: z14.string()
647
+ })
648
+ },
649
+ body: null,
650
+ summary: "Handle email engine webhooks events such as authenticationSuccess, messageNew"
651
+ }
652
+ });
653
+
654
+ // src/category/index.ts
655
+ import { initContract as initContract9 } from "@ts-rest/core";
656
+ import z18 from "zod";
657
+
658
+ // utils.ts
659
+ import { z as z15 } from "zod";
660
+ var paginationSchema = z15.object({
661
+ page: z15.number().default(1),
662
+ pageSize: z15.number().default(10),
663
+ total: z15.number(),
664
+ lastPage: z15.number().optional().nullable()
665
+ });
666
+ var withPagination = (dataSchema) => {
667
+ return paginationSchema.extend({
668
+ data: z15.array(dataSchema)
669
+ });
670
+ };
671
+
672
+ // src/category/schema.ts
673
+ import { z as z16 } from "zod";
674
+ var categoryLevelSchema = z16.union([
675
+ z16.literal(1),
676
+ z16.literal(2),
677
+ z16.literal(3)
678
+ ]);
679
+ var categorySchema = z16.object({
680
+ id: z16.string(),
681
+ value: z16.string(),
682
+ level: categoryLevelSchema,
683
+ parentId: z16.string().nullable(),
684
+ childCategoryList: z16.array(
685
+ z16.object({
686
+ id: z16.string(),
687
+ value: z16.string(),
688
+ level: categoryLevelSchema,
689
+ parentId: z16.string().nullable(),
690
+ childCategoryList: z16.array(
691
+ z16.object({
692
+ id: z16.string(),
693
+ value: z16.string(),
694
+ level: categoryLevelSchema,
695
+ parentId: z16.string().nullable(),
696
+ childCategoryList: z16.array(z16.any())
697
+ // This is an empty array.
698
+ })
699
+ )
700
+ })
701
+ )
702
+ });
703
+
704
+ // src/category/validation.ts
705
+ import { z as z17 } from "zod";
706
+ var createCategorySchema = z17.object({
707
+ value: z17.string(),
708
+ level: categoryLevelSchema,
709
+ parentId: z17.string().nullable()
710
+ });
711
+ var updateCategorySchema = z17.object({ value: z17.string() });
712
+ var createCategoryLevelSchema = z17.object({
713
+ name: z17.string(),
714
+ level: categoryLevelSchema
715
+ });
716
+ var updateCategoryLevelSchema = z17.object({
717
+ id: z17.string(),
718
+ name: z17.string(),
719
+ level: categoryLevelSchema
720
+ });
721
+
722
+ // src/category/index.ts
723
+ var categoryContract = initContract9().router(
724
+ {
725
+ createCategory: {
726
+ method: "POST",
727
+ path: "",
728
+ headers: DefaultHeaderSchema,
729
+ body: createCategorySchema,
730
+ responses: {
731
+ 201: DefaultSuccessResponseSchema.extend({
732
+ category: categorySchema
733
+ }),
734
+ 500: DefaultErrorResponseSchema
735
+ }
736
+ },
737
+ getCategories: {
738
+ method: "GET",
739
+ path: "",
740
+ query: z18.object({
741
+ page: z18.coerce.number().optional(),
742
+ pageSize: z18.coerce.number().optional()
743
+ }).optional(),
744
+ headers: DefaultHeaderSchema,
745
+ responses: {
746
+ 200: withPagination(categorySchema),
747
+ 500: DefaultErrorResponseSchema
748
+ }
749
+ },
750
+ updateCategory: {
751
+ method: "PATCH",
752
+ path: "/:id",
753
+ pathParams: z18.object({ id: z18.string() }),
754
+ headers: DefaultHeaderSchema.extend({
755
+ category: categorySchema
756
+ }),
757
+ body: updateCategorySchema,
758
+ responses: {
759
+ 200: DefaultSuccessResponseSchema,
760
+ 500: DefaultErrorResponseSchema
761
+ }
762
+ },
763
+ deleteCategory: {
764
+ method: "DELETE",
765
+ path: "/:id",
766
+ pathParams: z18.object({ id: z18.string() }),
767
+ headers: DefaultHeaderSchema,
768
+ body: z18.any().optional(),
769
+ responses: {
770
+ 200: DefaultSuccessResponseSchema.extend({ message: z18.string() }),
771
+ 500: DefaultErrorResponseSchema
772
+ }
773
+ },
774
+ createCategoryLevel: {
775
+ method: "POST",
776
+ path: "/level",
777
+ headers: DefaultHeaderSchema,
778
+ body: createCategoryLevelSchema,
779
+ responses: {
780
+ 200: DefaultSuccessResponseSchema.extend({
781
+ categoryLevel: categoryLevelSchema
782
+ }),
783
+ 500: DefaultErrorResponseSchema
784
+ }
785
+ },
786
+ updateCategoryLevel: {
787
+ method: "PATCH",
788
+ path: "/level/:id",
789
+ pathParams: z18.object({ id: z18.string() }),
790
+ headers: DefaultHeaderSchema,
791
+ body: updateCategoryLevelSchema,
792
+ responses: {
793
+ 200: DefaultSuccessResponseSchema.extend({
794
+ categoryLevel: categoryLevelSchema
795
+ }),
796
+ 500: DefaultErrorResponseSchema
797
+ }
798
+ }
799
+ },
800
+ {
801
+ pathPrefix: "categories"
802
+ }
803
+ );
804
+
805
+ // src/contract.ts
806
+ var apiContract = initContract10().router({
807
+ auth: authContract,
808
+ mail: mailContract,
809
+ cxLog: cxLogContract,
810
+ emailEngineWebhooks: emailEngineWebhooksEventsContract,
811
+ category: categoryContract
812
+ });
813
+ export {
814
+ apiContract,
815
+ categoryContract
816
+ };
817
+ //# sourceMappingURL=index.mjs.map