@purpleschool/multisite 0.0.1

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 (254) hide show
  1. package/api/controller/http/ai-proxy.ts +6 -0
  2. package/api/controller/http/auth.ts +7 -0
  3. package/api/controller/http/cloud-payments.ts +6 -0
  4. package/api/controller/http/file.ts +7 -0
  5. package/api/controller/http/health.ts +4 -0
  6. package/api/controller/http/image-generation.ts +15 -0
  7. package/api/controller/http/index.ts +12 -0
  8. package/api/controller/http/payment.ts +6 -0
  9. package/api/controller/http/product.ts +7 -0
  10. package/api/controller/http/subscription.ts +8 -0
  11. package/api/controller/http/transaction.ts +6 -0
  12. package/api/controller/http/unregistered-user.ts +1 -0
  13. package/api/controller/http/user.ts +5 -0
  14. package/api/controller/index.ts +2 -0
  15. package/api/index.ts +2 -0
  16. package/api/routes.ts +76 -0
  17. package/build/api/controller/http/ai-proxy.js +7 -0
  18. package/build/api/controller/http/auth.js +8 -0
  19. package/build/api/controller/http/cloud-payments.js +7 -0
  20. package/build/api/controller/http/file.js +8 -0
  21. package/build/api/controller/http/health.js +6 -0
  22. package/build/api/controller/http/image-generation.js +17 -0
  23. package/build/api/controller/http/index.js +28 -0
  24. package/build/api/controller/http/payment.js +7 -0
  25. package/build/api/controller/http/product.js +9 -0
  26. package/build/api/controller/http/subscription.js +9 -0
  27. package/build/api/controller/http/transaction.js +7 -0
  28. package/build/api/controller/http/unregistered-user.js +4 -0
  29. package/build/api/controller/http/user.js +7 -0
  30. package/build/api/controller/index.js +17 -0
  31. package/build/api/index.js +18 -0
  32. package/build/api/routes.js +103 -0
  33. package/build/commands/auth/index.js +18 -0
  34. package/build/commands/auth/login.command.js +17 -0
  35. package/build/commands/auth/register.command.js +17 -0
  36. package/build/commands/file/index.js +17 -0
  37. package/build/commands/file/upload-file.command.js +11 -0
  38. package/build/commands/image-generation/execute-image-generation.command.js +17 -0
  39. package/build/commands/image-generation/index.js +23 -0
  40. package/build/commands/image-generation/proxy-image-generation-callback.command.js +21 -0
  41. package/build/commands/image-generation/retry-image-generation-job.command.js +17 -0
  42. package/build/commands/image-generation/set-reaction-to-image-generation-job.command.js +26 -0
  43. package/build/commands/image-generation/soft-delete-image-generation-job-by-uuid.command.js +10 -0
  44. package/build/commands/image-generation/soft-delete-image-generation-jobs-by-criteria.command.js +10 -0
  45. package/build/commands/image-generation/update-image-generation-job-title.command.js +14 -0
  46. package/build/commands/index.js +24 -0
  47. package/build/commands/payment/cloud-payments.command.js +47 -0
  48. package/build/commands/payment/index.js +17 -0
  49. package/build/commands/product/buy-product.command.js +17 -0
  50. package/build/commands/product/index.js +17 -0
  51. package/build/commands/subscription/buy-subscription.command.js +17 -0
  52. package/build/commands/subscription/index.js +17 -0
  53. package/build/commands/transaction/index.js +17 -0
  54. package/build/commands/transaction/write-off.command.js +19 -0
  55. package/build/commands/unregistered-user/index.js +17 -0
  56. package/build/commands/unregistered-user/upsert-unregistered-user.command.js +16 -0
  57. package/build/constants/common/enums/index.js +17 -0
  58. package/build/constants/common/enums/user-reaction.enum.js +8 -0
  59. package/build/constants/common/index.js +17 -0
  60. package/build/constants/errors/errors.js +298 -0
  61. package/build/constants/errors/index.js +17 -0
  62. package/build/constants/files/enums/file-type.enum.js +7 -0
  63. package/build/constants/files/enums/index.js +17 -0
  64. package/build/constants/files/index.js +17 -0
  65. package/build/constants/image-generation/enums/image-generation-model-strategy.enum.js +18 -0
  66. package/build/constants/image-generation/enums/image-generation-resolution.enum.js +9 -0
  67. package/build/constants/image-generation/enums/index.js +18 -0
  68. package/build/constants/image-generation/index.js +17 -0
  69. package/build/constants/index.js +28 -0
  70. package/build/constants/order/enums/index.js +18 -0
  71. package/build/constants/order/enums/order-status.enum.js +9 -0
  72. package/build/constants/order/enums/order-type.enum.js +7 -0
  73. package/build/constants/order/index.js +17 -0
  74. package/build/constants/payment/enums/index.js +17 -0
  75. package/build/constants/payment/enums/payment-status.enum.js +7 -0
  76. package/build/constants/payment/index.js +17 -0
  77. package/build/constants/subscription/free-subscription-id.constant.js +4 -0
  78. package/build/constants/subscription/index.js +17 -0
  79. package/build/constants/tools/enums/index.js +20 -0
  80. package/build/constants/tools/enums/job-request-origin.enum.js +7 -0
  81. package/build/constants/tools/enums/job-status.enum.js +9 -0
  82. package/build/constants/tools/enums/tool-model-status.enum.js +8 -0
  83. package/build/constants/tools/enums/tool-type.enum.js +7 -0
  84. package/build/constants/tools/index.js +17 -0
  85. package/build/constants/transaction/enums/index.js +17 -0
  86. package/build/constants/transaction/enums/transaction-status.enum.js +9 -0
  87. package/build/constants/transaction/index.js +17 -0
  88. package/build/constants/user/enums/index.js +18 -0
  89. package/build/constants/user/enums/user-role.enum.js +9 -0
  90. package/build/constants/user/enums/user-status.enum.js +9 -0
  91. package/build/constants/user/index.js +17 -0
  92. package/build/constants/user-to-product/enums/index.js +17 -0
  93. package/build/constants/user-to-product/enums/user-to-product-status.enum.js +7 -0
  94. package/build/constants/user-to-product/index.js +17 -0
  95. package/build/constants/user-to-subscription/enums/index.js +17 -0
  96. package/build/constants/user-to-subscription/enums/user-to-subscription-status.enum.js +7 -0
  97. package/build/constants/user-to-subscription/index.js +17 -0
  98. package/build/index.js +21 -0
  99. package/build/models/cloud-payments-widget-data.schema.js +17 -0
  100. package/build/models/cloud-payments-widget.schema.js +17 -0
  101. package/build/models/common/attached-file.schema.js +14 -0
  102. package/build/models/common/icon-variants.schema.js +12 -0
  103. package/build/models/common/index.js +20 -0
  104. package/build/models/common/json-value.schema.js +6 -0
  105. package/build/models/common/receipt.schema.js +18 -0
  106. package/build/models/file.schema.js +15 -0
  107. package/build/models/image-generation/image-generation-config.schema.js +10 -0
  108. package/build/models/image-generation/image-generation-job-attempt.schema.js +11 -0
  109. package/build/models/image-generation/image-generation-job-params.schema.js +12 -0
  110. package/build/models/image-generation/image-generation-job-request-params.schema.js +11 -0
  111. package/build/models/image-generation/image-generation-job.schema.js +32 -0
  112. package/build/models/image-generation/image-generation-model-params.schema.js +20 -0
  113. package/build/models/image-generation/image-generation-model.schema.js +30 -0
  114. package/build/models/image-generation/image-generation-preset.schema.js +10 -0
  115. package/build/models/image-generation/image-generation-pricing-rule.schema.js +14 -0
  116. package/build/models/image-generation/image-generation-vendor.schema.js +9 -0
  117. package/build/models/image-generation/index.js +26 -0
  118. package/build/models/index.js +25 -0
  119. package/build/models/product.schema.js +12 -0
  120. package/build/models/subscription.schema.js +14 -0
  121. package/build/models/tools/index.js +17 -0
  122. package/build/models/tools/vendor.schema.js +11 -0
  123. package/build/models/user.schema.js +13 -0
  124. package/build/queries/file/find-files.command.js +20 -0
  125. package/build/queries/file/get-file.command.js +14 -0
  126. package/build/queries/file/index.js +18 -0
  127. package/build/queries/image-generation/find-image-generation-jobs.command.js +20 -0
  128. package/build/queries/image-generation/get-image-generation-config.command.js +11 -0
  129. package/build/queries/image-generation/get-image-generation-job.command.js +14 -0
  130. package/build/queries/image-generation/get-image-generation-price.command.js +19 -0
  131. package/build/queries/image-generation/index.js +20 -0
  132. package/build/queries/index.js +22 -0
  133. package/build/queries/payment/get-payment-history.command.js +18 -0
  134. package/build/queries/payment/index.js +17 -0
  135. package/build/queries/product/find-products.command.js +11 -0
  136. package/build/queries/product/index.js +17 -0
  137. package/build/queries/subscription/find-subscriptions.command.js +11 -0
  138. package/build/queries/subscription/index.js +17 -0
  139. package/build/queries/user/get-my-products.command.js +19 -0
  140. package/build/queries/user/get-my-subscriptions.command.js +21 -0
  141. package/build/queries/user/get-user.command.js +16 -0
  142. package/build/queries/user/index.js +19 -0
  143. package/commands/auth/index.ts +2 -0
  144. package/commands/auth/login.command.ts +18 -0
  145. package/commands/auth/register.command.ts +18 -0
  146. package/commands/file/index.ts +1 -0
  147. package/commands/file/upload-file.command.ts +10 -0
  148. package/commands/image-generation/execute-image-generation.command.ts +20 -0
  149. package/commands/image-generation/index.ts +7 -0
  150. package/commands/image-generation/proxy-image-generation-callback.command.ts +21 -0
  151. package/commands/image-generation/retry-image-generation-job.command.ts +20 -0
  152. package/commands/image-generation/set-reaction-to-image-generation-job.command.ts +29 -0
  153. package/commands/image-generation/soft-delete-image-generation-job-by-uuid.command.ts +10 -0
  154. package/commands/image-generation/soft-delete-image-generation-jobs-by-criteria.command.ts +10 -0
  155. package/commands/image-generation/update-image-generation-job-title.command.ts +17 -0
  156. package/commands/index.ts +8 -0
  157. package/commands/payment/cloud-payments.command.ts +53 -0
  158. package/commands/payment/index.ts +1 -0
  159. package/commands/product/buy-product.command.ts +20 -0
  160. package/commands/product/index.ts +1 -0
  161. package/commands/subscription/buy-subscription.command.ts +20 -0
  162. package/commands/subscription/index.ts +1 -0
  163. package/commands/transaction/index.ts +1 -0
  164. package/commands/transaction/write-off.command.ts +19 -0
  165. package/commands/unregistered-user/index.ts +2 -0
  166. package/commands/unregistered-user/upsert-unregistered-user.command.ts +17 -0
  167. package/constants/common/enums/index.ts +2 -0
  168. package/constants/common/enums/user-reaction.enum.ts +5 -0
  169. package/constants/common/index.ts +2 -0
  170. package/constants/errors/errors.ts +308 -0
  171. package/constants/errors/index.ts +2 -0
  172. package/constants/files/enums/file-type.enum.ts +4 -0
  173. package/constants/files/enums/index.ts +2 -0
  174. package/constants/files/index.ts +2 -0
  175. package/constants/image-generation/enums/image-generation-model-strategy.enum.ts +15 -0
  176. package/constants/image-generation/enums/image-generation-resolution.enum.ts +6 -0
  177. package/constants/image-generation/enums/index.ts +2 -0
  178. package/constants/image-generation/index.ts +2 -0
  179. package/constants/index.ts +12 -0
  180. package/constants/order/enums/index.ts +3 -0
  181. package/constants/order/enums/order-status.enum.ts +6 -0
  182. package/constants/order/enums/order-type.enum.ts +4 -0
  183. package/constants/order/index.ts +2 -0
  184. package/constants/payment/enums/index.ts +2 -0
  185. package/constants/payment/enums/payment-status.enum.ts +4 -0
  186. package/constants/payment/index.ts +2 -0
  187. package/constants/subscription/free-subscription-id.constant.ts +2 -0
  188. package/constants/subscription/index.ts +2 -0
  189. package/constants/tools/enums/index.ts +4 -0
  190. package/constants/tools/enums/job-request-origin.enum.ts +4 -0
  191. package/constants/tools/enums/job-status.enum.ts +6 -0
  192. package/constants/tools/enums/tool-model-status.enum.ts +5 -0
  193. package/constants/tools/enums/tool-type.enum.ts +4 -0
  194. package/constants/tools/index.ts +2 -0
  195. package/constants/transaction/enums/index.ts +2 -0
  196. package/constants/transaction/enums/transaction-status.enum.ts +6 -0
  197. package/constants/transaction/index.ts +2 -0
  198. package/constants/user/enums/index.ts +3 -0
  199. package/constants/user/enums/user-role.enum.ts +6 -0
  200. package/constants/user/enums/user-status.enum.ts +6 -0
  201. package/constants/user/index.ts +2 -0
  202. package/constants/user-to-product/enums/index.ts +2 -0
  203. package/constants/user-to-product/enums/user-to-product-status.enum.ts +4 -0
  204. package/constants/user-to-product/index.ts +2 -0
  205. package/constants/user-to-subscription/enums/index.ts +2 -0
  206. package/constants/user-to-subscription/enums/user-to-subscription-status.enum.ts +4 -0
  207. package/constants/user-to-subscription/index.ts +2 -0
  208. package/index.ts +5 -0
  209. package/models/cloud-payments-widget-data.schema.ts +19 -0
  210. package/models/cloud-payments-widget.schema.ts +15 -0
  211. package/models/common/attached-file.schema.ts +14 -0
  212. package/models/common/icon-variants.schema.ts +13 -0
  213. package/models/common/index.ts +4 -0
  214. package/models/common/json-value.schema.ts +11 -0
  215. package/models/common/receipt.schema.ts +20 -0
  216. package/models/file.schema.ts +14 -0
  217. package/models/image-generation/image-generation-config.schema.ts +11 -0
  218. package/models/image-generation/image-generation-job-attempt.schema.ts +12 -0
  219. package/models/image-generation/image-generation-job-params.schema.ts +11 -0
  220. package/models/image-generation/image-generation-job-request-params.schema.ts +11 -0
  221. package/models/image-generation/image-generation-job.schema.ts +30 -0
  222. package/models/image-generation/image-generation-model-params.schema.ts +22 -0
  223. package/models/image-generation/image-generation-model.schema.ts +28 -0
  224. package/models/image-generation/image-generation-preset.schema.ts +11 -0
  225. package/models/image-generation/image-generation-pricing-rule.schema.ts +20 -0
  226. package/models/image-generation/image-generation-vendor.schema.ts +9 -0
  227. package/models/image-generation/index.ts +10 -0
  228. package/models/index.ts +9 -0
  229. package/models/product.schema.ts +10 -0
  230. package/models/subscription.schema.ts +12 -0
  231. package/models/tools/index.ts +2 -0
  232. package/models/tools/vendor.schema.ts +12 -0
  233. package/models/user.schema.ts +11 -0
  234. package/package.json +18 -0
  235. package/queries/file/find-files.command.ts +21 -0
  236. package/queries/file/get-file.command.ts +15 -0
  237. package/queries/file/index.ts +3 -0
  238. package/queries/image-generation/find-image-generation-jobs.command.ts +21 -0
  239. package/queries/image-generation/get-image-generation-config.command.ts +9 -0
  240. package/queries/image-generation/get-image-generation-job.command.ts +15 -0
  241. package/queries/image-generation/get-image-generation-price.command.ts +19 -0
  242. package/queries/image-generation/index.ts +4 -0
  243. package/queries/index.ts +7 -0
  244. package/queries/payment/get-payment-history.command.ts +17 -0
  245. package/queries/payment/index.ts +2 -0
  246. package/queries/product/find-products.command.ts +10 -0
  247. package/queries/product/index.ts +2 -0
  248. package/queries/subscription/find-subscriptions.command.ts +10 -0
  249. package/queries/subscription/index.ts +2 -0
  250. package/queries/user/get-my-products.command.ts +19 -0
  251. package/queries/user/get-my-subscriptions.command.ts +21 -0
  252. package/queries/user/get-user.command.ts +14 -0
  253. package/queries/user/index.ts +3 -0
  254. package/tsconfig.json +104 -0
@@ -0,0 +1,308 @@
1
+ export const ERRORS = {
2
+ UNKNOWN_ERROR: {
3
+ message: 'Неизвестная ошибка',
4
+ code: 'UNKNOWN_001',
5
+ httpCode: 500,
6
+ },
7
+
8
+ // TENANT
9
+ TENANT_MISSING_SITE_ID: {
10
+ message: 'Missing X-Site-Id header',
11
+ code: 'TENANT_001',
12
+ httpCode: 400,
13
+ },
14
+ TENANT_UNKNOWN_SITE_ID: {
15
+ message: 'Unknown siteId',
16
+ code: 'TENANT_002',
17
+ httpCode: 400,
18
+ },
19
+ TENANT_MISSING_JWT_SECRET: {
20
+ message: 'Missing JWT secret for site',
21
+ code: 'TENANT_003',
22
+ httpCode: 500,
23
+ },
24
+
25
+ // AUTH
26
+ AUTH_REGISTER_CONFLICT: {
27
+ message: 'Пользователь с этим email уже существует',
28
+ code: 'AUTH_001',
29
+ httpCode: 409,
30
+ },
31
+ AUTH_CREATE_USER_ERROR: {
32
+ message: 'Ошибка при создании пользователя',
33
+ code: 'AUTH_002',
34
+ httpCode: 500,
35
+ },
36
+ AUTH_LOGIN_ERROR: {
37
+ message: 'Неверный email или пароль',
38
+ code: 'AUTH_003',
39
+ httpCode: 401,
40
+ },
41
+ AUTH_ACCOUNT_NOT_ACTIVE: {
42
+ message: 'Аккаунт не активен',
43
+ code: 'AUTH_004',
44
+ httpCode: 401,
45
+ },
46
+
47
+ // USER
48
+ USER_NOT_FOUND: {
49
+ message: 'Пользователь не найден',
50
+ code: 'USER_001',
51
+ httpCode: 404,
52
+ },
53
+ USER_NOT_ID: {
54
+ message: 'Пользователь не найден по ID',
55
+ code: 'USER_002',
56
+ httpCode: 404,
57
+ },
58
+ USER_NOT_EMAIL: {
59
+ message: 'Пользователь не найден по email',
60
+ code: 'USER_003',
61
+ httpCode: 404,
62
+ },
63
+ USER_NOT_CREATED: {
64
+ message: 'Ошибка при создании пользователя',
65
+ code: 'USER_004',
66
+ httpCode: 500,
67
+ },
68
+
69
+ // UNREGISTERED USER
70
+ UNREGISTERED_USER_NOT_FOUND: {
71
+ message: 'Пользователь не найден',
72
+ code: 'UNREGISTERED_USER_001',
73
+ httpCode: 404,
74
+ },
75
+ UNREGISTERED_USER_SESSION_LIMIT: {
76
+ message: 'Слишком много активных сессий',
77
+ code: 'UNREGISTERED_USER_002',
78
+ httpCode: 429,
79
+ },
80
+ UNREGISTERED_USER_CREATE_ERROR: {
81
+ message: 'Ошибка при создании пользователя',
82
+ code: 'UNREGISTERED_USER_003',
83
+ httpCode: 500,
84
+ },
85
+ UNREGISTERED_USER_UPDATE_ERROR: {
86
+ message: 'Ошибка при обновлении пользователя',
87
+ code: 'UNREGISTERED_USER_004',
88
+ httpCode: 500,
89
+ },
90
+ UNREGISTERED_USER_FIND_ERROR: {
91
+ message: 'Ошибка при поиске пользователя',
92
+ code: 'UNREGISTERED_USER_005',
93
+ httpCode: 500,
94
+ },
95
+ UNREGISTERED_USER_DELETE_ERROR: {
96
+ message: 'Ошибка при удалении пользователя',
97
+ code: 'UNREGISTERED_USER_006',
98
+ httpCode: 500,
99
+ },
100
+
101
+ // PRODUCT
102
+ PRODUCT_NOT_FOUND: {
103
+ message: 'Продукт не найден',
104
+ code: 'PRODUCT_001',
105
+ httpCode: 404,
106
+ },
107
+ PRODUCT_FIND_ERROR: {
108
+ message: 'Ошибка при поиске продуктов',
109
+ code: 'PRODUCT_002',
110
+ httpCode: 500,
111
+ },
112
+ PRODUCT_CREATE_ERROR: {
113
+ message: 'Ошибка при создании продукта',
114
+ code: 'PRODUCT_003',
115
+ httpCode: 500,
116
+ },
117
+ PRODUCT_BUY_ERROR: {
118
+ message: 'Ошибка при покупке продукта',
119
+ code: 'PRODUCT_004',
120
+ httpCode: 500,
121
+ },
122
+
123
+ // SUBSCRIPTION
124
+ SUBSCRIPTION_NOT_FOUND: {
125
+ message: 'Подписка не найдена',
126
+ code: 'SUBSCRIPTION_001',
127
+ httpCode: 404,
128
+ },
129
+ SUBSCRIPTION_FIND_ERROR: {
130
+ message: 'Ошибка при поиске подписок',
131
+ code: 'SUBSCRIPTION_002',
132
+ httpCode: 500,
133
+ },
134
+ SUBSCRIPTION_CREATE_ERROR: {
135
+ message: 'Ошибка при создании подписки',
136
+ code: 'SUBSCRIPTION_003',
137
+ httpCode: 500,
138
+ },
139
+ SUBSCRIPTION_BUY_ERROR: {
140
+ message: 'Ошибка при покупке подписки',
141
+ code: 'SUBSCRIPTION_004',
142
+ httpCode: 500,
143
+ },
144
+ SUBSCRIPTION_ALREADY_ACTIVE: {
145
+ message: 'У пользователя уже есть активная подписка',
146
+ code: 'SUBSCRIPTION_005',
147
+ httpCode: 409,
148
+ },
149
+
150
+ // ORDER
151
+ ORDER_NOT_FOUND: {
152
+ message: 'Заказ не найден',
153
+ code: 'ORDER_001',
154
+ httpCode: 404,
155
+ },
156
+ ORDER_CREATE_ERROR: {
157
+ message: 'Ошибка при создании заказа',
158
+ code: 'ORDER_002',
159
+ httpCode: 500,
160
+ },
161
+ ORDER_RECEIPT_ERROR: {
162
+ message: 'Ошибка при формировании чека',
163
+ code: 'ORDER_003',
164
+ httpCode: 500,
165
+ },
166
+ ORDER_UPDATE_ERROR: {
167
+ message: 'Ошибка при обновлении заказа',
168
+ code: 'ORDER_004',
169
+ httpCode: 500,
170
+ },
171
+
172
+ // PAYMENT
173
+ PAYMENT_HISTORY_ERROR: {
174
+ message: 'Ошибка при получении истории оплат',
175
+ code: 'PAYMENT_001',
176
+ httpCode: 500,
177
+ },
178
+ PAYMENT_PROCESS_ERROR: {
179
+ message: 'Ошибка при обработке платежа',
180
+ code: 'PAYMENT_002',
181
+ httpCode: 500,
182
+ },
183
+
184
+ // TRANSACTION
185
+ TRANSACTION_WRITE_OFF_ERROR: {
186
+ message: 'Ошибка при списании токенов',
187
+ code: 'TRANSACTION_001',
188
+ httpCode: 500,
189
+ },
190
+
191
+ // S3
192
+ S3_GET_FILE_STREAM_ERROR: {
193
+ message: 'Ошибка при получении потока файла',
194
+ code: 'S3_001',
195
+ httpCode: 500,
196
+ },
197
+ S3_UPLOAD_STREAM_ERROR: {
198
+ message: 'Ошибка при загрузке потока файла',
199
+ code: 'S3_002',
200
+ httpCode: 500,
201
+ },
202
+ S3_UPLOAD_ERROR: {
203
+ message: 'Ошибка при загрузке файла',
204
+ code: 'S3_003',
205
+ httpCode: 500,
206
+ },
207
+ S3_DELETE_OBJECTS_ERROR: {
208
+ message: 'Ошибка при удалении файлов',
209
+ code: 'S3_004',
210
+ httpCode: 500,
211
+ },
212
+
213
+ // IMAGE GENERATION
214
+ IMAGE_GENERATION_MODEL_NOT_FOUND: {
215
+ message: 'Модель генерации изображений не найдена',
216
+ code: 'IMAGE_GENERATION_001',
217
+ httpCode: 404,
218
+ },
219
+ IMAGE_GENERATION_MODEL_INACTIVE: {
220
+ message: 'Модель генерации изображений недоступна',
221
+ code: 'IMAGE_GENERATION_002',
222
+ httpCode: 400,
223
+ },
224
+ IMAGE_GENERATION_MODEL_NOT_AVAILABLE: {
225
+ message: 'Модель недоступна по вашей подписке',
226
+ code: 'IMAGE_GENERATION_009',
227
+ httpCode: 403,
228
+ },
229
+ IMAGE_GENERATION_NOT_ENOUGH_TOKENS: {
230
+ message: 'Недостаточно токенов',
231
+ code: 'IMAGE_GENERATION_003',
232
+ httpCode: 402,
233
+ },
234
+ IMAGE_GENERATION_JOB_NOT_FOUND: {
235
+ message: 'Задача генерации изображений не найдена',
236
+ code: 'IMAGE_GENERATION_004',
237
+ httpCode: 404,
238
+ },
239
+ IMAGE_GENERATION_JOB_NOT_IN_FAILED_STATE_TO_RETRY: {
240
+ message: 'Задача не в статусе FAILED',
241
+ code: 'IMAGE_GENERATION_008',
242
+ httpCode: 400,
243
+ },
244
+ IMAGE_GENERATION_CALLBACK_UNAUTHORIZED: {
245
+ message: 'Неверный токен коллбека',
246
+ code: 'IMAGE_GENERATION_005',
247
+ httpCode: 401,
248
+ },
249
+ IMAGE_GENERATION_PROXY_ERROR: {
250
+ message: 'Ошибка при запросе к AI proxy',
251
+ code: 'IMAGE_GENERATION_006',
252
+ httpCode: 500,
253
+ },
254
+ IMAGE_GENERATION_UPLOAD_ERROR: {
255
+ message: 'Ошибка при загрузке изображений',
256
+ code: 'IMAGE_GENERATION_007',
257
+ httpCode: 500,
258
+ },
259
+ IMAGE_GENERATION_CONFIG_BUILD_ERROR: {
260
+ message: 'Ошибка при формировании конфига',
261
+ code: 'IMAGE_GENERATION_010',
262
+ httpCode: 500,
263
+ },
264
+ IMAGE_GENERATION_VENDOR_FIND_ERROR: {
265
+ message: 'Ошибка при получении вендоров',
266
+ code: 'IMAGE_GENERATION_011',
267
+ httpCode: 500,
268
+ },
269
+ IMAGE_GENERATION_MODEL_FIND_ERROR: {
270
+ message: 'Ошибка при получении моделей',
271
+ code: 'IMAGE_GENERATION_012',
272
+ httpCode: 500,
273
+ },
274
+ IMAGE_GENERATION_PRESET_FIND_ERROR: {
275
+ message: 'Ошибка при получении пресетов',
276
+ code: 'IMAGE_GENERATION_013',
277
+ httpCode: 500,
278
+ },
279
+
280
+ // FILES
281
+ FILE_NOT_FOUND: {
282
+ message: 'Файл не найден',
283
+ code: 'FILE_001',
284
+ httpCode: 404,
285
+ },
286
+ FILE_TYPE_NOT_SUPPORTED: {
287
+ message: 'Тип файла не поддерживается',
288
+ code: 'FILE_002',
289
+ httpCode: 400,
290
+ },
291
+ FILE_UPLOAD_ERROR: {
292
+ message: 'Ошибка при загрузке файла',
293
+ code: 'FILE_003',
294
+ httpCode: 500,
295
+ },
296
+
297
+ // PROMPT MODERATION
298
+ PROMPT_MODERATION_ERROR: {
299
+ message: 'Ошибка при проверке запроса',
300
+ code: 'MODERATION_001',
301
+ httpCode: 500,
302
+ },
303
+ PROMPT_MODERATION_NOT_COMPLIANT: {
304
+ message: 'Запрос был отклонен модерацией',
305
+ code: 'MODERATION_002',
306
+ httpCode: 400,
307
+ },
308
+ } as const;
@@ -0,0 +1,2 @@
1
+ export * from './errors';
2
+
@@ -0,0 +1,4 @@
1
+ export enum FILE_TYPE {
2
+ IMAGE = 'image',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './file-type.enum';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,15 @@
1
+ export enum IMAGE_GENERATION_MODEL_STRATEGY {
2
+ DEFAULT = 'default',
3
+
4
+ KIE_Z_IMAGE_GENERATION = 'KIE_Z_IMAGE_GENERATION',
5
+ FLUX_IMAGE_GENERATION = 'FLUX_IMAGE_GENERATION',
6
+ FLUX_DEV_IMAGE_GENERATION = 'FLUX_DEV_IMAGE_GENERATION',
7
+ GROK_IMAGE_GENERATION = 'GROK_IMAGE_GENERATION',
8
+ IMAGEN_IMAGE_GENERATION = 'IMAGEN_IMAGE_GENERATION',
9
+ DALLE_IMAGE_GENERATION = 'DALLE_IMAGE_GENERATION',
10
+ MIDJOURNEY_IMAGE_GENERATION = 'MIDJOURNEY_IMAGE_GENERATION',
11
+ OPENAI_IMAGE_1_GENERATION = 'OPENAI_IMAGE_1_GENERATION',
12
+ NANO_BANANA_IMAGE_GENERATION = 'NANO_BANANA_IMAGE_GENERATION',
13
+ KIE_FLUX_IMAGE_GENERATION = 'KIE_FLUX_IMAGE_GENERATION',
14
+ KIE_SEEDREAM_IMAGE_GENERATION = 'KIE_SEEDREAM_IMAGE_GENERATION',
15
+ }
@@ -0,0 +1,6 @@
1
+ export enum IMAGE_GENERATION_RESOLUTION {
2
+ LOW = '1K',
3
+ MEDIUM = '2K',
4
+ HIGH = '4K',
5
+ }
6
+
@@ -0,0 +1,2 @@
1
+ export * from './image-generation-model-strategy.enum';
2
+ export * from './image-generation-resolution.enum';
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,12 @@
1
+ export * from './errors';
2
+ export * from './common';
3
+ export * from './user';
4
+ export * from './payment';
5
+ export * from './transaction';
6
+ export * from './user-to-product';
7
+ export * from './user-to-subscription';
8
+ export * from './subscription';
9
+ export * from './order';
10
+ export * from './tools';
11
+ export * from './files';
12
+ export * from './image-generation';
@@ -0,0 +1,3 @@
1
+ export * from './order-status.enum';
2
+ export * from './order-type.enum';
3
+
@@ -0,0 +1,6 @@
1
+ export enum ORDER_STATUS {
2
+ NEW = 'new',
3
+ SUCCESS = 'success',
4
+ SUB_PROCESSING = 'sub_processing',
5
+ }
6
+
@@ -0,0 +1,4 @@
1
+ export enum ORDER_TYPE {
2
+ PURCHASE = 'purchase',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './payment-status.enum';
2
+
@@ -0,0 +1,4 @@
1
+ export enum PAYMENT_STATUS {
2
+ SUCCESS = 'success',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,2 @@
1
+ export const FREE_SUBSCRIPTION_ID = '00000000-0000-0000-0000-000000000000' as const;
2
+
@@ -0,0 +1,2 @@
1
+ export * from './free-subscription-id.constant';
2
+
@@ -0,0 +1,4 @@
1
+ export * from './job-status.enum';
2
+ export * from './tool-model-status.enum';
3
+ export * from './job-request-origin.enum';
4
+ export * from './tool-type.enum';
@@ -0,0 +1,4 @@
1
+ export enum JOB_REQUEST_ORIGIN {
2
+ API = 'api',
3
+ }
4
+
@@ -0,0 +1,6 @@
1
+ export enum JOB_STATUS {
2
+ PENDING = 'pending',
3
+ COMPLETED = 'completed',
4
+ FAILED = 'failed',
5
+ }
6
+
@@ -0,0 +1,5 @@
1
+ export enum TOOL_MODEL_STATUS {
2
+ ACTIVE = 'active',
3
+ INACTIVE = 'inactive',
4
+ }
5
+
@@ -0,0 +1,4 @@
1
+ export enum TOOL_TYPE {
2
+ IMAGE_GENERATION = 'image_generation',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './transaction-status.enum';
2
+
@@ -0,0 +1,6 @@
1
+ export enum TRANSACTION_STATUS {
2
+ PROCESSING = 'processing',
3
+ SUCCESS = 'success',
4
+ WAITING_FOR_PAYMENT = 'waiting_for_payment',
5
+ }
6
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,3 @@
1
+ export * from './user-role.enum';
2
+ export * from './user-status.enum';
3
+
@@ -0,0 +1,6 @@
1
+ export enum USER_ROLE {
2
+ USER = 'user',
3
+ ADMIN = 'admin',
4
+ DEACTIVATED = 'deactivated',
5
+ }
6
+
@@ -0,0 +1,6 @@
1
+ export enum USER_STATUS {
2
+ ACTIVE = 'active',
3
+ INACTIVE = 'inactive',
4
+ DELETED = 'deleted',
5
+ }
6
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './user-to-product-status.enum';
2
+
@@ -0,0 +1,4 @@
1
+ export enum USER_TO_PRODUCT_STATUS {
2
+ ACTIVE = 'active',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './user-to-subscription-status.enum';
2
+
@@ -0,0 +1,4 @@
1
+ export enum USER_TO_SUBSCRIPTION_STATUS {
2
+ ACTIVE = 'active',
3
+ }
4
+
@@ -0,0 +1,2 @@
1
+ export * from './enums';
2
+
package/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './api';
2
+ export * from './commands';
3
+ export * from './queries';
4
+ export * from './models';
5
+ export * from './constants';
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { ReceiptSchema } from './common';
3
+
4
+ export const CloudPaymentsRecurrentDataSchema = z.object({
5
+ period: z.number().int().positive(),
6
+ interval: z.literal('Month'),
7
+ customerReceipt: ReceiptSchema,
8
+ amount: z.number().nonnegative(),
9
+ });
10
+ export type CloudPaymentsRecurrentData = z.infer<typeof CloudPaymentsRecurrentDataSchema>;
11
+
12
+ export const CloudPaymentsWidgetDataSchema = z.object({
13
+ CloudPayments: z.object({
14
+ CustomerReceipt: ReceiptSchema,
15
+ recurrent: CloudPaymentsRecurrentDataSchema.optional(),
16
+ }),
17
+ });
18
+ export type CloudPaymentsWidgetData = z.infer<typeof CloudPaymentsWidgetDataSchema>;
19
+
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { CloudPaymentsWidgetDataSchema } from './cloud-payments-widget-data.schema';
3
+
4
+ export const CloudPaymentsWidgetSchema = z.object({
5
+ publicId: z.string(),
6
+ amount: z.number(),
7
+ currency: z.string(),
8
+ accountId: z.string(),
9
+ description: z.string(),
10
+ invoiceId: z.string(),
11
+ email: z.string().email(),
12
+ skin: z.string(),
13
+ autoClose: z.number(),
14
+ data: CloudPaymentsWidgetDataSchema,
15
+ });
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { FILE_TYPE } from '../../constants';
3
+
4
+ export const AttachedFileSchema = z.object({
5
+ uuid: z.string().uuid(),
6
+ url: z.string().url(),
7
+ name: z.string(),
8
+ mimeType: z.string(),
9
+ type: z.nativeEnum(FILE_TYPE),
10
+ size: z.number().int().nonnegative(),
11
+ duration: z.number().optional().nullable(),
12
+ });
13
+ export type AttachedFile = z.infer<typeof AttachedFileSchema>;
14
+
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+
3
+ export const IconVariantSchema = z.object({
4
+ png: z.string().url().optional(),
5
+ svg: z.string().url().optional(),
6
+ });
7
+
8
+ export const IconVariantsSchema = z.object({
9
+ light: IconVariantSchema,
10
+ dark: IconVariantSchema,
11
+ });
12
+ export type IconVariants = z.infer<typeof IconVariantsSchema>;
13
+
@@ -0,0 +1,4 @@
1
+ export * from './attached-file.schema';
2
+ export * from './icon-variants.schema';
3
+ export * from './json-value.schema';
4
+ export * from './receipt.schema';
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+
3
+ export type JsonPrimitive = string | number | boolean | null;
4
+ export type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };
5
+
6
+ export const JsonPrimitiveSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
7
+
8
+ export const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>
9
+ z.union([JsonPrimitiveSchema, z.array(JsonValueSchema), z.record(JsonValueSchema)]),
10
+ );
11
+
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+
3
+ export const ReceiptItemSchema = z.object({
4
+ label: z.string().min(1),
5
+ price: z.number().nonnegative(),
6
+ quantity: z.number().int().positive(),
7
+ amount: z.number().nonnegative(),
8
+ vat: z.number().int().nonnegative(),
9
+ });
10
+ export type ReceiptItem = z.infer<typeof ReceiptItemSchema>;
11
+
12
+ export const ReceiptSchema = z.object({
13
+ items: z.array(ReceiptItemSchema),
14
+ taxationSystem: z.number().int().nonnegative(),
15
+ email: z.string().email(),
16
+ isBso: z.boolean(),
17
+ amounts: z.object({ electronic: z.number().nonnegative() }),
18
+ });
19
+ export type Receipt = z.infer<typeof ReceiptSchema>;
20
+
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { FILE_TYPE } from '../constants';
3
+
4
+ export const FileSchema = z.object({
5
+ uuid: z.string().uuid(),
6
+ name: z.string(),
7
+ key: z.string(),
8
+ url: z.string().url(),
9
+ mimeType: z.string(),
10
+ size: z.number().int().nonnegative(),
11
+ type: z.nativeEnum(FILE_TYPE),
12
+ createdAt: z.string().datetime().or(z.date()).optional(),
13
+ });
14
+