@purpleschool/gptbot 0.12.68 → 0.12.70-stage-2

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 (214) hide show
  1. package/api/controllers/http/blog.ts +4 -0
  2. package/api/controllers/http/canvas-template.ts +10 -0
  3. package/api/controllers/http/category.ts +4 -0
  4. package/api/controllers/http/course.ts +12 -0
  5. package/api/controllers/http/index.ts +2 -0
  6. package/api/controllers/http/page.ts +4 -0
  7. package/api/controllers/http/prompt-category.ts +4 -0
  8. package/api/controllers/http/prompt-topic.ts +4 -0
  9. package/api/controllers/http/prompt.ts +4 -0
  10. package/api/controllers/http/question.ts +4 -0
  11. package/api/controllers/http/team-account.ts +1 -0
  12. package/api/routes.ts +81 -0
  13. package/build/api/controllers/http/blog.js +3 -0
  14. package/build/api/controllers/http/canvas-template.js +12 -0
  15. package/build/api/controllers/http/category.js +3 -0
  16. package/build/api/controllers/http/course.js +9 -0
  17. package/build/api/controllers/http/index.js +1 -0
  18. package/build/api/controllers/http/page.js +3 -0
  19. package/build/api/controllers/http/prompt-category.js +3 -0
  20. package/build/api/controllers/http/prompt-topic.js +3 -0
  21. package/build/api/controllers/http/prompt.js +3 -0
  22. package/build/api/controllers/http/question.js +3 -0
  23. package/build/api/controllers/http/team-account.js +1 -0
  24. package/build/api/routes.js +42 -0
  25. package/build/commands/blog/create-post-translation.command.js +23 -0
  26. package/build/commands/blog/create-post.command.js +6 -0
  27. package/build/commands/blog/get-all-post-translations.query.js +14 -0
  28. package/build/commands/blog/index.js +3 -0
  29. package/build/commands/blog/update-post-translation.command.js +23 -0
  30. package/build/commands/blog/update-post.command.js +6 -0
  31. package/build/commands/cabinet/get-user-statistics-by-month.command.js +6 -13
  32. package/build/commands/cabinet/get-user-statistics-overview.command.js +5 -1
  33. package/build/commands/canvas-template/create-canvas-from-template.command.js +17 -0
  34. package/build/commands/canvas-template/create-canvas-template.command.js +18 -0
  35. package/build/commands/canvas-template/delete-canvas-template.command.js +15 -0
  36. package/build/commands/canvas-template/find-canvas-template-by-uuid.query.js +14 -0
  37. package/build/commands/canvas-template/find-canvas-templates.query.js +18 -0
  38. package/build/commands/canvas-template/index.js +22 -0
  39. package/build/commands/canvas-template/update-canvas-template.command.js +21 -0
  40. package/build/commands/category/create-category-translation.command.js +21 -0
  41. package/build/commands/category/create-category.command.js +4 -0
  42. package/build/commands/category/get-all-category-translations.query.js +14 -0
  43. package/build/commands/category/index.js +3 -0
  44. package/build/commands/category/update-category-translation.command.js +21 -0
  45. package/build/commands/category/update-category.command.js +4 -0
  46. package/build/commands/course/create-course-translation.command.js +22 -0
  47. package/build/commands/course/create-course.command.js +5 -0
  48. package/build/commands/course/create-lesson-translation.command.js +18 -0
  49. package/build/commands/course/create-section-translation.command.js +18 -0
  50. package/build/commands/course/get-all-course-translations.query.js +14 -0
  51. package/build/commands/course/get-all-lesson-translations.query.js +14 -0
  52. package/build/commands/course/get-all-section-translations.query.js +14 -0
  53. package/build/commands/course/index.js +9 -0
  54. package/build/commands/course/update-course-translation.command.js +22 -0
  55. package/build/commands/course/update-lesson-translation.command.js +18 -0
  56. package/build/commands/course/update-section-translation.command.js +18 -0
  57. package/build/commands/index.js +1 -0
  58. package/build/commands/page/create-page-translation.command.js +23 -0
  59. package/build/commands/page/create-page.command.js +6 -0
  60. package/build/commands/page/find-page.command.js +10 -2
  61. package/build/commands/page/get-all-page-translations.query.js +14 -0
  62. package/build/commands/page/index.js +3 -0
  63. package/build/commands/page/update-page-translation.command.js +23 -0
  64. package/build/commands/page/update-page.command.js +5 -0
  65. package/build/commands/prompt/create-prompt-translation.command.js +19 -0
  66. package/build/commands/prompt/create-prompt.command.js +2 -0
  67. package/build/commands/prompt/get-all-prompt-translations.query.js +14 -0
  68. package/build/commands/prompt/index.js +3 -0
  69. package/build/commands/prompt/update-prompt-translation.command.js +19 -0
  70. package/build/commands/prompt/update-prompt.command.js +2 -0
  71. package/build/commands/prompt-category/create-prompt-category-translation.command.js +20 -0
  72. package/build/commands/prompt-category/create-prompt-category.command.js +3 -0
  73. package/build/commands/prompt-category/get-all-prompt-category-translations.query.js +14 -0
  74. package/build/commands/prompt-category/index.js +3 -0
  75. package/build/commands/prompt-category/update-prompt-category-translation.command.js +20 -0
  76. package/build/commands/prompt-category/update-prompt-category.command.js +3 -0
  77. package/build/commands/prompt-topic/create-prompt-topic-translation.command.js +22 -0
  78. package/build/commands/prompt-topic/create-prompt-topic.command.js +5 -0
  79. package/build/commands/prompt-topic/get-all-prompt-topic-translations.query.js +14 -0
  80. package/build/commands/prompt-topic/index.js +3 -0
  81. package/build/commands/prompt-topic/update-prompt-topic-translation.command.js +22 -0
  82. package/build/commands/prompt-topic/update-prompt-topic.command.js +5 -0
  83. package/build/commands/question/create-question-translation.command.js +19 -0
  84. package/build/commands/question/create-question.command.js +2 -0
  85. package/build/commands/question/get-all-question-translations.query.js +14 -0
  86. package/build/commands/question/index.js +3 -0
  87. package/build/commands/question/update-question-translation.command.js +19 -0
  88. package/build/commands/question/update-question.command.js +2 -0
  89. package/build/commands/team-account/get-team-account-statistics-by-month.command.js +6 -13
  90. package/build/commands/team-account/get-team-account-statistics-overview.command.js +5 -1
  91. package/build/commands/team-account/index.js +1 -0
  92. package/build/commands/team-account/update-team-account-invite.command.js +17 -0
  93. package/build/commands/ui-notification/create-admin-broadcast-ui-notification.command.js +9 -2
  94. package/build/commands/unregistered-user/patch-locale.command.js +3 -3
  95. package/build/commands/user/get-me.command.js +2 -1
  96. package/build/commands/user/patch-locale.command.js +3 -3
  97. package/build/constants/cabinet/enums/index.js +1 -0
  98. package/build/constants/cabinet/enums/statistics-request-type.enum.js +24 -0
  99. package/build/constants/subscription/enums/index.js +1 -0
  100. package/build/constants/subscription/enums/subscription-balance-field.enum.js +8 -0
  101. package/build/constants/tool/enums/index.js +0 -1
  102. package/build/constants/user/enums/index.js +0 -1
  103. package/build/models/canvas-template.schema.js +63 -0
  104. package/build/models/category-translation.schema.js +16 -0
  105. package/build/models/course-translation.schema.js +17 -0
  106. package/build/models/index.js +11 -0
  107. package/build/models/lesson-translation.schema.js +13 -0
  108. package/build/models/page-translation.schema.js +18 -0
  109. package/build/models/post-translation.schema.js +18 -0
  110. package/build/models/prompt-category-translation.schema.js +18 -0
  111. package/build/models/prompt-topic-translation.schema.js +20 -0
  112. package/build/models/prompt-translation.schema.js +14 -0
  113. package/build/models/question-translation.schema.js +14 -0
  114. package/build/models/section-translation.schema.js +13 -0
  115. package/build/models/ui-notification.schema.js +13 -8
  116. package/build/models/user.schema.js +2 -2
  117. package/commands/blog/create-post-translation.command.ts +28 -0
  118. package/commands/blog/create-post.command.ts +6 -0
  119. package/commands/blog/get-all-post-translations.query.ts +16 -0
  120. package/commands/blog/index.ts +3 -0
  121. package/commands/blog/update-post-translation.command.ts +28 -0
  122. package/commands/blog/update-post.command.ts +6 -0
  123. package/commands/cabinet/get-user-statistics-by-month.command.ts +7 -14
  124. package/commands/cabinet/get-user-statistics-overview.command.ts +6 -2
  125. package/commands/canvas-template/create-canvas-from-template.command.ts +19 -0
  126. package/commands/canvas-template/create-canvas-template.command.ts +20 -0
  127. package/commands/canvas-template/delete-canvas-template.command.ts +17 -0
  128. package/commands/canvas-template/find-canvas-template-by-uuid.query.ts +16 -0
  129. package/commands/canvas-template/find-canvas-templates.query.ts +20 -0
  130. package/commands/canvas-template/index.ts +6 -0
  131. package/commands/canvas-template/update-canvas-template.command.ts +26 -0
  132. package/commands/category/create-category-translation.command.ts +26 -0
  133. package/commands/category/create-category.command.ts +4 -0
  134. package/commands/category/get-all-category-translations.query.ts +16 -0
  135. package/commands/category/index.ts +3 -0
  136. package/commands/category/update-category-translation.command.ts +26 -0
  137. package/commands/category/update-category.command.ts +4 -0
  138. package/commands/course/create-course-translation.command.ts +27 -0
  139. package/commands/course/create-course.command.ts +5 -0
  140. package/commands/course/create-lesson-translation.command.ts +23 -0
  141. package/commands/course/create-section-translation.command.ts +23 -0
  142. package/commands/course/get-all-course-translations.query.ts +16 -0
  143. package/commands/course/get-all-lesson-translations.query.ts +16 -0
  144. package/commands/course/get-all-section-translations.query.ts +16 -0
  145. package/commands/course/index.ts +9 -0
  146. package/commands/course/update-course-translation.command.ts +27 -0
  147. package/commands/course/update-lesson-translation.command.ts +23 -0
  148. package/commands/course/update-section-translation.command.ts +23 -0
  149. package/commands/index.ts +2 -0
  150. package/commands/page/create-page-translation.command.ts +28 -0
  151. package/commands/page/create-page.command.ts +6 -0
  152. package/commands/page/find-page.command.ts +15 -2
  153. package/commands/page/get-all-page-translations.query.ts +16 -0
  154. package/commands/page/index.ts +3 -0
  155. package/commands/page/update-page-translation.command.ts +28 -0
  156. package/commands/page/update-page.command.ts +5 -0
  157. package/commands/prompt/create-prompt-translation.command.ts +24 -0
  158. package/commands/prompt/create-prompt.command.ts +2 -0
  159. package/commands/prompt/get-all-prompt-translations.query.ts +16 -0
  160. package/commands/prompt/index.ts +3 -0
  161. package/commands/prompt/update-prompt-translation.command.ts +24 -0
  162. package/commands/prompt/update-prompt.command.ts +2 -0
  163. package/commands/prompt-category/create-prompt-category-translation.command.ts +25 -0
  164. package/commands/prompt-category/create-prompt-category.command.ts +3 -0
  165. package/commands/prompt-category/get-all-prompt-category-translations.query.ts +16 -0
  166. package/commands/prompt-category/index.ts +3 -0
  167. package/commands/prompt-category/update-prompt-category-translation.command.ts +25 -0
  168. package/commands/prompt-category/update-prompt-category.command.ts +3 -0
  169. package/commands/prompt-topic/create-prompt-topic-translation.command.ts +27 -0
  170. package/commands/prompt-topic/create-prompt-topic.command.ts +5 -0
  171. package/commands/prompt-topic/get-all-prompt-topic-translations.query.ts +16 -0
  172. package/commands/prompt-topic/index.ts +3 -0
  173. package/commands/prompt-topic/update-prompt-topic-translation.command.ts +27 -0
  174. package/commands/prompt-topic/update-prompt-topic.command.ts +5 -0
  175. package/commands/question/create-question-translation.command.ts +24 -0
  176. package/commands/question/create-question.command.ts +2 -0
  177. package/commands/question/get-all-question-translations.query.ts +16 -0
  178. package/commands/question/index.ts +3 -0
  179. package/commands/question/update-question-translation.command.ts +24 -0
  180. package/commands/question/update-question.command.ts +2 -0
  181. package/commands/team-account/find-team-accounts-by-name.command.ts +1 -1
  182. package/commands/team-account/get-team-account-statistics-by-month.command.ts +7 -14
  183. package/commands/team-account/get-team-account-statistics-overview.command.ts +6 -2
  184. package/commands/team-account/index.ts +1 -0
  185. package/commands/team-account/update-team-account-invite.command.ts +22 -0
  186. package/commands/ui-notification/create-admin-broadcast-ui-notification.command.ts +9 -2
  187. package/commands/unregistered-user/patch-locale.command.ts +1 -1
  188. package/commands/user/get-me.command.ts +2 -1
  189. package/commands/user/patch-locale.command.ts +1 -1
  190. package/constants/cabinet/enums/index.ts +1 -0
  191. package/constants/cabinet/enums/statistics-request-type.enum.ts +20 -0
  192. package/constants/subscription/enums/index.ts +1 -0
  193. package/constants/subscription/enums/subscription-balance-field.enum.ts +4 -0
  194. package/constants/tool/enums/index.ts +0 -1
  195. package/constants/user/enums/index.ts +0 -1
  196. package/models/canvas-template.schema.ts +68 -0
  197. package/models/category-translation.schema.ts +14 -0
  198. package/models/course-translation.schema.ts +15 -0
  199. package/models/index.ts +12 -0
  200. package/models/lesson-translation.schema.ts +11 -0
  201. package/models/page-translation.schema.ts +16 -0
  202. package/models/post-translation.schema.ts +16 -0
  203. package/models/prompt-category-translation.schema.ts +13 -0
  204. package/models/prompt-topic-translation.schema.ts +15 -0
  205. package/models/prompt-translation.schema.ts +12 -0
  206. package/models/question-translation.schema.ts +12 -0
  207. package/models/section-translation.schema.ts +11 -0
  208. package/models/ui-notification.schema.ts +14 -7
  209. package/models/user.schema.ts +1 -1
  210. package/package.json +2 -1
  211. package/build/constants/tool/enums/job-request-origin.enum.js +0 -8
  212. package/build/constants/user/enums/locale.enum.js +0 -8
  213. package/constants/tool/enums/job-request-origin.enum.ts +0 -4
  214. package/constants/user/enums/locale.enum.ts +0 -4
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./tool-content-type.enum"), exports);
18
18
  __exportStar(require("./tool-group.enum"), exports);
19
19
  __exportStar(require("./tool-job-status.enum"), exports);
20
- __exportStar(require("./job-request-origin.enum"), exports);
21
20
  __exportStar(require("./tool-type.enum"), exports);
22
21
  __exportStar(require("./tool-workspace-item-slot.enum"), exports);
23
22
  __exportStar(require("./tool-workspace-status.enum"), exports);
@@ -18,4 +18,3 @@ __exportStar(require("./singup-method.enum"), exports);
18
18
  __exportStar(require("./user-status"), exports);
19
19
  __exportStar(require("./user-sort-by.enum"), exports);
20
20
  __exportStar(require("./sort-order.enum"), exports);
21
- __exportStar(require("./locale.enum"), exports);
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CanvasTemplateSchema = exports.CanvasTemplateGraphSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../constants");
6
+ const canvas_node_schema_1 = require("./canvas-node.schema");
7
+ const CanvasTemplateGraphNodeSchema = zod_1.z.object({
8
+ uuid: zod_1.z.string().trim().min(1),
9
+ nodeDefinitionId: zod_1.z.nativeEnum(constants_1.CANVAS_NODE_TYPE),
10
+ position: canvas_node_schema_1.CanvasNodePositionSchema,
11
+ params: canvas_node_schema_1.CanvasNodeParamsSchema.nullable().optional(),
12
+ });
13
+ const CanvasTemplateGraphEdgeSchema = zod_1.z.object({
14
+ sourceId: zod_1.z.string().trim().min(1),
15
+ targetId: zod_1.z.string().trim().min(1),
16
+ handle: zod_1.z.nativeEnum(constants_1.INPUT_OUTPUT_TYPE),
17
+ });
18
+ exports.CanvasTemplateGraphSchema = zod_1.z
19
+ .object({
20
+ nodes: zod_1.z.array(CanvasTemplateGraphNodeSchema),
21
+ edges: zod_1.z.array(CanvasTemplateGraphEdgeSchema),
22
+ })
23
+ .superRefine((graph, ctx) => {
24
+ const nodeIds = new Set();
25
+ for (const [index, node] of graph.nodes.entries()) {
26
+ if (nodeIds.has(node.uuid)) {
27
+ ctx.addIssue({
28
+ code: zod_1.z.ZodIssueCode.custom,
29
+ path: ['nodes', index, 'uuid'],
30
+ message: `Duplicate node id: ${node.uuid}`,
31
+ });
32
+ continue;
33
+ }
34
+ nodeIds.add(node.uuid);
35
+ }
36
+ for (const [index, edge] of graph.edges.entries()) {
37
+ if (!nodeIds.has(edge.sourceId)) {
38
+ ctx.addIssue({
39
+ code: zod_1.z.ZodIssueCode.custom,
40
+ path: ['edges', index, 'sourceId'],
41
+ message: `Source node not found: ${edge.sourceId}`,
42
+ });
43
+ }
44
+ if (!nodeIds.has(edge.targetId)) {
45
+ ctx.addIssue({
46
+ code: zod_1.z.ZodIssueCode.custom,
47
+ path: ['edges', index, 'targetId'],
48
+ message: `Target node not found: ${edge.targetId}`,
49
+ });
50
+ }
51
+ }
52
+ });
53
+ exports.CanvasTemplateSchema = zod_1.z.object({
54
+ uuid: zod_1.z.string().uuid(),
55
+ name: zod_1.z.string(),
56
+ description: zod_1.z.string().nullable(),
57
+ userId: zod_1.z.string().uuid().nullable(),
58
+ previewImageUrl: zod_1.z.string().url().nullable(),
59
+ tags: zod_1.z.array(zod_1.z.string()),
60
+ graph: exports.CanvasTemplateGraphSchema,
61
+ createdAt: zod_1.z.date(),
62
+ updatedAt: zod_1.z.date(),
63
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CategoryTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.CategoryTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ categoryId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ name: zod_1.z.string().min(3).max(16384),
11
+ prompt: zod_1.z.nullable(zod_1.z.string().min(3).max(16384)),
12
+ placeholder: zod_1.z.nullable(zod_1.z.string()),
13
+ seoName: zod_1.z.string().min(3).max(16384),
14
+ createdAt: zod_1.z.date(),
15
+ updatedAt: zod_1.z.date(),
16
+ });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CourseTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.CourseTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ courseId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string(),
11
+ subtitle: zod_1.z.string(),
12
+ prerequisites: zod_1.z.string(),
13
+ description: zod_1.z.string(),
14
+ skills: zod_1.z.array(zod_1.z.string()),
15
+ createdAt: zod_1.z.date(),
16
+ updatedAt: zod_1.z.date(),
17
+ });
@@ -24,11 +24,13 @@ __exportStar(require("./canvas-node-definition.schema"), exports);
24
24
  __exportStar(require("./canvas-node.schema"), exports);
25
25
  __exportStar(require("./canvas-edge.schema"), exports);
26
26
  __exportStar(require("./category.schema"), exports);
27
+ __exportStar(require("./category-translation.schema"), exports);
27
28
  __exportStar(require("./chat-with-messages.schema"), exports);
28
29
  __exportStar(require("./chat.schema"), exports);
29
30
  __exportStar(require("./cloud-payments-receipt.schema"), exports);
30
31
  __exportStar(require("./course-author.schema"), exports);
31
32
  __exportStar(require("./course.schema"), exports);
33
+ __exportStar(require("./course-translation.schema"), exports);
32
34
  __exportStar(require("./date.schema"), exports);
33
35
  __exportStar(require("./feedback.schema"), exports);
34
36
  __exportStar(require("./file.schema"), exports);
@@ -36,19 +38,24 @@ __exportStar(require("./key-value.schema"), exports);
36
38
  __exportStar(require("./form-submission.schema"), exports);
37
39
  __exportStar(require("./icon-variants.schema"), exports);
38
40
  __exportStar(require("./lesson.schema"), exports);
41
+ __exportStar(require("./lesson-translation.schema"), exports);
39
42
  __exportStar(require("./message.schema"), exports);
40
43
  __exportStar(require("./midjourney-job.schema"), exports);
41
44
  __exportStar(require("./order.schema"), exports);
42
45
  __exportStar(require("./page.schema"), exports);
46
+ __exportStar(require("./page-translation.schema"), exports);
43
47
  __exportStar(require("./payment-history-item.schema"), exports);
44
48
  __exportStar(require("./payment.schema"), exports);
45
49
  __exportStar(require("./invoice-for-payment.schema"), exports);
46
50
  __exportStar(require("./post.schema"), exports);
51
+ __exportStar(require("./post-translation.schema"), exports);
47
52
  __exportStar(require("./product.schema"), exports);
48
53
  __exportStar(require("./promocode.schema"), exports);
49
54
  __exportStar(require("./question.schema"), exports);
55
+ __exportStar(require("./question-translation.schema"), exports);
50
56
  __exportStar(require("./referral-bonus.schema"), exports);
51
57
  __exportStar(require("./section.schema"), exports);
58
+ __exportStar(require("./section-translation.schema"), exports);
52
59
  __exportStar(require("./subscription-feature.schema"), exports);
53
60
  __exportStar(require("./team-subscription-feature.schema"), exports);
54
61
  __exportStar(require("./subscription-upgrade-schema"), exports);
@@ -67,8 +74,11 @@ __exportStar(require("./utm.schema"), exports);
67
74
  __exportStar(require("./ui-notification.schema"), exports);
68
75
  __exportStar(require("./review.schema"), exports);
69
76
  __exportStar(require("./prompt-category.schema"), exports);
77
+ __exportStar(require("./prompt-category-translation.schema"), exports);
70
78
  __exportStar(require("./prompt-topic.schema"), exports);
79
+ __exportStar(require("./prompt-topic-translation.schema"), exports);
71
80
  __exportStar(require("./prompt.schema"), exports);
81
+ __exportStar(require("./prompt-translation.schema"), exports);
72
82
  __exportStar(require("./folder.schema"), exports);
73
83
  __exportStar(require("./filters.schema"), exports);
74
84
  __exportStar(require("./users-filter-notification.schema"), exports);
@@ -83,3 +93,4 @@ __exportStar(require("./user-profile.schema"), exports);
83
93
  __exportStar(require("./b2b"), exports);
84
94
  __exportStar(require("./json-value.schema"), exports);
85
95
  __exportStar(require("./team-account"), exports);
96
+ __exportStar(require("./canvas-template.schema"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LessonTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.LessonTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ lessonId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string(),
11
+ createdAt: zod_1.z.date(),
12
+ updatedAt: zod_1.z.date(),
13
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.PageTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ pageId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ metaTitle: zod_1.z.string().min(3).max(16384),
11
+ metaDescription: zod_1.z.string().min(3).max(16384),
12
+ title: zod_1.z.string().min(3).max(16384),
13
+ subTitle: zod_1.z.string().min(3).max(16384),
14
+ seoTextMd: zod_1.z.string().min(3).max(16384),
15
+ toolTitle: zod_1.z.string().nullable(),
16
+ createdAt: zod_1.z.date(),
17
+ updatedAt: zod_1.z.date(),
18
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.PostTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ postId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string(),
11
+ content: zod_1.z.string(),
12
+ author: zod_1.z.string(),
13
+ contentPreview: zod_1.z.nullable(zod_1.z.string()),
14
+ metaTitle: zod_1.z.nullable(zod_1.z.string()),
15
+ metaDescription: zod_1.z.nullable(zod_1.z.string()),
16
+ createdAt: zod_1.z.date(),
17
+ updatedAt: zod_1.z.date(),
18
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PromptCategoryTranslationSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
9
+ exports.PromptCategoryTranslationSchema = zod_1.default.object({
10
+ uuid: zod_1.default.string().uuid(),
11
+ promptCategoryId: zod_1.default.string().uuid(),
12
+ locale: zod_1.default.nativeEnum(rugpt_lib_common_1.LOCALE),
13
+ title: zod_1.default.string(),
14
+ metaTitle: zod_1.default.string().nullable(),
15
+ metaDescription: zod_1.default.string().nullable(),
16
+ createdAt: zod_1.default.date(),
17
+ updatedAt: zod_1.default.date(),
18
+ });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PromptTopicTranslationSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
9
+ exports.PromptTopicTranslationSchema = zod_1.default.object({
10
+ uuid: zod_1.default.string().uuid(),
11
+ promptTopicId: zod_1.default.string().uuid(),
12
+ locale: zod_1.default.nativeEnum(rugpt_lib_common_1.LOCALE),
13
+ title: zod_1.default.string(),
14
+ content: zod_1.default.string(),
15
+ metaTitle: zod_1.default.string().nullable(),
16
+ metaDescription: zod_1.default.string().nullable(),
17
+ seoText: zod_1.default.string().nullable(),
18
+ createdAt: zod_1.default.date(),
19
+ updatedAt: zod_1.default.date(),
20
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromptTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.PromptTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ promptId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string().nullable(),
11
+ content: zod_1.z.string(),
12
+ createdAt: zod_1.z.date(),
13
+ updatedAt: zod_1.z.date(),
14
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuestionTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.QuestionTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ questionId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ question: zod_1.z.string().min(3).max(16384),
11
+ answer: zod_1.z.string().min(3).max(16384),
12
+ createdAt: zod_1.z.date(),
13
+ updatedAt: zod_1.z.date(),
14
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SectionTranslationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
6
+ exports.SectionTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ sectionId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string(),
11
+ createdAt: zod_1.z.date(),
12
+ updatedAt: zod_1.z.date(),
13
+ });
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UiNotificationSchema = exports.EmailNotVerifiedUiContentSchema = exports.GenericUiContentSchema = exports.PromocodeOfferUiContentSchema = exports.FraudDetectedUiContentSchema = exports.SubscriptionPastDueUiContentSchema = exports.ConnectTelegramBonusUiContentSchema = exports.UiNotificationBaseSchema = void 0;
3
+ exports.UiNotificationSchema = exports.EmailNotVerifiedUiContentSchema = exports.GenericUiContentSchema = exports.PromocodeOfferUiContentSchema = exports.FraudDetectedUiContentSchema = exports.SubscriptionPastDueUiContentSchema = exports.ConnectTelegramBonusUiContentSchema = exports.LocalizedUiNotificationTextSchema = exports.UiNotificationBaseSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
5
6
  const constants_1 = require("../constants");
6
7
  exports.UiNotificationBaseSchema = zod_1.z.object({
7
8
  uuid: zod_1.z.string().uuid(),
@@ -14,6 +15,10 @@ exports.UiNotificationBaseSchema = zod_1.z.object({
14
15
  endDate: zod_1.z.date().nullable(),
15
16
  serverTime: zod_1.z.date().optional(),
16
17
  });
18
+ exports.LocalizedUiNotificationTextSchema = zod_1.z.object({
19
+ [rugpt_lib_common_1.LOCALE.RU]: zod_1.z.string(),
20
+ [rugpt_lib_common_1.LOCALE.EN]: zod_1.z.string(),
21
+ });
17
22
  exports.ConnectTelegramBonusUiContentSchema = zod_1.z.object({
18
23
  promocode: zod_1.z.string(),
19
24
  bonusPercent: zod_1.z.number(),
@@ -24,23 +29,23 @@ exports.SubscriptionPastDueUiContentSchema = zod_1.z.object({
24
29
  endDate: zod_1.z.string().datetime(),
25
30
  });
26
31
  exports.FraudDetectedUiContentSchema = zod_1.z.object({
27
- message: zod_1.z.string(),
32
+ message: exports.LocalizedUiNotificationTextSchema,
28
33
  endDate: zod_1.z.string().datetime(),
29
34
  });
30
35
  exports.PromocodeOfferUiContentSchema = zod_1.z.object({
31
- title: zod_1.z.string(),
32
- message: zod_1.z.string(),
36
+ title: exports.LocalizedUiNotificationTextSchema,
37
+ message: exports.LocalizedUiNotificationTextSchema,
33
38
  promocode: zod_1.z.string(),
34
39
  bonusPercent: zod_1.z.number(),
35
40
  validTill: zod_1.z.string().datetime().nullable(),
36
41
  });
37
42
  exports.GenericUiContentSchema = zod_1.z.object({
38
- title: zod_1.z.string(),
39
- message: zod_1.z.string(),
43
+ title: exports.LocalizedUiNotificationTextSchema,
44
+ message: exports.LocalizedUiNotificationTextSchema,
40
45
  });
41
46
  exports.EmailNotVerifiedUiContentSchema = zod_1.z.object({
42
- title: zod_1.z.string(),
43
- message: zod_1.z.string(),
47
+ title: exports.LocalizedUiNotificationTextSchema,
48
+ message: exports.LocalizedUiNotificationTextSchema,
44
49
  });
45
50
  exports.UiNotificationSchema = zod_1.z.discriminatedUnion('type', [
46
51
  exports.UiNotificationBaseSchema.extend({
@@ -4,7 +4,7 @@ exports.UserAggregateSchema = exports.UserSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const user_to_subscription_schema_1 = require("./user-to-subscription.schema");
6
6
  const user_to_product_schema_1 = require("./user-to-product.schema");
7
- const constants_1 = require("../constants");
7
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
8
8
  exports.UserSchema = zod_1.z.object({
9
9
  uuid: zod_1.z.string().uuid(),
10
10
  email: zod_1.z.string().email(),
@@ -16,7 +16,7 @@ exports.UserSchema = zod_1.z.object({
16
16
  restoreTokenHash: zod_1.z.string(),
17
17
  tokenBonusBalance: zod_1.z.number(),
18
18
  role: zod_1.z.string(),
19
- locale: zod_1.z.nativeEnum(constants_1.LOCALE),
19
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
20
20
  createdAt: zod_1.z.date(),
21
21
  updatedAt: zod_1.z.date(),
22
22
  deletedAt: zod_1.z.date().nullable(),
@@ -0,0 +1,28 @@
1
+ import { PostTranslationSchema } from '../../models';
2
+ import { z } from 'zod';
3
+
4
+ export namespace CreatePostTranslationCommand {
5
+ export const RequestSchema = PostTranslationSchema.pick({
6
+ title: true,
7
+ content: true,
8
+ author: true,
9
+ contentPreview: true,
10
+ metaTitle: true,
11
+ metaDescription: true,
12
+ locale: true,
13
+ });
14
+
15
+ export type Request = z.infer<typeof RequestSchema>;
16
+
17
+ export const RequestParamSchema = z.object({
18
+ uuid: z.string().uuid(),
19
+ });
20
+
21
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
22
+
23
+ export const ResponseSchema = z.object({
24
+ data: PostTranslationSchema,
25
+ });
26
+
27
+ export type Response = z.infer<typeof ResponseSchema>;
28
+ }
@@ -4,7 +4,13 @@ import { z } from 'zod';
4
4
  export namespace CreatePostCommand {
5
5
  export const RequestSchema = PostSchema.omit({
6
6
  uuid: true,
7
+ title: true,
8
+ author: true,
7
9
  views: true,
10
+ content: true,
11
+ contentPreview: true,
12
+ metaTitle: true,
13
+ metaDescription: true,
8
14
  createdAt: true,
9
15
  updatedAt: true,
10
16
  });
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { PostTranslationSchema } from '../../models';
3
+
4
+ export namespace GetAllPostTranslationsQuery {
5
+ export const RequestParamSchema = z.object({
6
+ uuid: z.string().uuid(),
7
+ });
8
+
9
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: z.array(PostTranslationSchema),
13
+ });
14
+
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -1,9 +1,12 @@
1
1
  export * from './create-post.command';
2
+ export * from './create-post-translation.command';
2
3
  export * from './delete-post.command';
3
4
  export * from './find-all-posts.command';
4
5
  export * from './find-post-by-alias.command';
5
6
  export * from './find-post-by-uuid.command';
6
7
  export * from './find-posts.command';
7
8
  export * from './get-latest-updates.command';
9
+ export * from './get-all-post-translations.query';
8
10
  export * from './get-posts-count.command';
9
11
  export * from './update-post.command';
12
+ export * from './update-post-translation.command';
@@ -0,0 +1,28 @@
1
+ import { PostTranslationSchema } from '../../models';
2
+ import { z } from 'zod';
3
+
4
+ export namespace UpdatePostTranslationCommand {
5
+ export const RequestSchema = PostTranslationSchema.pick({
6
+ title: true,
7
+ content: true,
8
+ author: true,
9
+ contentPreview: true,
10
+ metaTitle: true,
11
+ metaDescription: true,
12
+ }).partial();
13
+
14
+ export type Request = z.infer<typeof RequestSchema>;
15
+
16
+ export const RequestParamSchema = z.object({
17
+ uuid: z.string().uuid(),
18
+ translationUuid: z.string().uuid(),
19
+ });
20
+
21
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
22
+
23
+ export const ResponseSchema = z.object({
24
+ data: PostTranslationSchema,
25
+ });
26
+
27
+ export type Response = z.infer<typeof ResponseSchema>;
28
+ }
@@ -7,6 +7,12 @@ export namespace UpdatePostCommand {
7
7
  updatedAt: true,
8
8
  views: true,
9
9
  uuid: true,
10
+ title: true,
11
+ content: true,
12
+ author: true,
13
+ contentPreview: true,
14
+ metaTitle: true,
15
+ metaDescription: true,
10
16
  }).partial();
11
17
 
12
18
  export type Request = z.infer<typeof RequestSchema>;
@@ -1,9 +1,13 @@
1
1
  import { z } from 'zod';
2
- import { JOB_REQUEST_ORIGIN, STATISTICS_METRIC_TYPE } from '../../constants';
2
+ import { STATISTICS_CALL_ORIGIN } from '@purpleschool/rugpt-lib-common';
3
+ import { STATISTICS_METRIC_TYPE, STATISTICS_REQUEST_TYPE } from '../../constants';
3
4
 
4
5
  export namespace GetUserStatisticsByMonthCommand {
5
6
  export const RequestSchema = z.object({
6
- origin: z.nativeEnum(JOB_REQUEST_ORIGIN).default(JOB_REQUEST_ORIGIN.API).optional(),
7
+ callOrigin: z
8
+ .nativeEnum(STATISTICS_CALL_ORIGIN)
9
+ .default(STATISTICS_CALL_ORIGIN.WEB)
10
+ .optional(),
7
11
  metric: z
8
12
  .nativeEnum(STATISTICS_METRIC_TYPE)
9
13
  .default(STATISTICS_METRIC_TYPE.REQUESTS)
@@ -14,18 +18,7 @@ export namespace GetUserStatisticsByMonthCommand {
14
18
 
15
19
  export const UserStatisticsByMonthResponseSchema = z.object({
16
20
  month: z.string(),
17
- total_texts: z.number(),
18
- total_audios: z.number(),
19
- total_images: z.number(),
20
- total_videos: z.number(),
21
- total_presentations: z.number(),
22
- total_paraphrases: z.number(),
23
- writers: z.object({
24
- total_writers: z.number(),
25
- total_writer_actions: z.number(),
26
- }),
27
- total_video_edits: z.number(),
28
- total_musics: z.number(),
21
+ statistics: z.record(z.nativeEnum(STATISTICS_REQUEST_TYPE), z.number()),
29
22
  });
30
23
 
31
24
  export const ResponseSchema = z.object({
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { GROUP_BY, JOB_REQUEST_ORIGIN } from '../../constants';
2
+ import { STATISTICS_CALL_ORIGIN } from '@purpleschool/rugpt-lib-common';
3
+ import { GROUP_BY } from '../../constants';
3
4
 
4
5
  export namespace GetUserStatisticsOverviewCommand {
5
6
  export const RequestSchema = z.object({
@@ -10,7 +11,10 @@ export namespace GetUserStatisticsOverviewCommand {
10
11
  message: 'to must be a valid date string',
11
12
  }),
12
13
  groupBy: z.nativeEnum(GROUP_BY).default(GROUP_BY.DAY),
13
- origin: z.nativeEnum(JOB_REQUEST_ORIGIN).default(JOB_REQUEST_ORIGIN.API).optional(),
14
+ callOrigin: z
15
+ .nativeEnum(STATISTICS_CALL_ORIGIN)
16
+ .default(STATISTICS_CALL_ORIGIN.WEB)
17
+ .optional(),
14
18
  });
15
19
 
16
20
  export type Request = z.infer<typeof RequestSchema>;
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../models';
3
+
4
+ export namespace CreateCanvasFromTemplateCommand {
5
+ export const RequestParamSchema = z.object({
6
+ uuid: z.string().uuid(),
7
+ });
8
+
9
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: CanvasSchema.extend({
13
+ nodes: z.array(CanvasNodeSchema),
14
+ edges: z.array(CanvasEdgeSchema),
15
+ }),
16
+ });
17
+
18
+ export type Response = z.infer<typeof ResponseSchema>;
19
+ }
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { CanvasTemplateSchema, CanvasTemplateGraphSchema } from '../../models';
3
+
4
+ export namespace CreateCanvasTemplateCommand {
5
+ export const RequestSchema = z.object({
6
+ name: z.string().trim().min(1),
7
+ description: z.string().trim().min(1).optional().nullable(),
8
+ previewImageUrl: z.string().url().optional().nullable(),
9
+ tags: z.array(z.string().trim().min(1)).default([]),
10
+ graph: CanvasTemplateGraphSchema,
11
+ });
12
+
13
+ export type Request = z.infer<typeof RequestSchema>;
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: CanvasTemplateSchema,
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace DeleteCanvasTemplateCommand {
4
+ export const RequestParamSchema = z.object({
5
+ uuid: z.string().uuid(),
6
+ });
7
+
8
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
9
+
10
+ export const ResponseSchema = z.object({
11
+ data: z.object({
12
+ isDeleted: z.boolean(),
13
+ }),
14
+ });
15
+
16
+ export type Response = z.infer<typeof ResponseSchema>;
17
+ }
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { CanvasTemplateSchema } from '../../models';
3
+
4
+ export namespace FindCanvasTemplateByUuidQuery {
5
+ export const RequestSchema = CanvasTemplateSchema.pick({
6
+ uuid: true,
7
+ });
8
+
9
+ export type Request = z.infer<typeof RequestSchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: CanvasTemplateSchema,
13
+ });
14
+
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { CanvasTemplateSchema } from '../../models';
3
+
4
+ export namespace FindCanvasTemplatesQuery {
5
+ export const RequestSchema = z.object({
6
+ limit: z.coerce.number().min(1).default(10),
7
+ offset: z.coerce.number().min(0).default(0),
8
+ search: z.string().trim().optional(),
9
+ });
10
+
11
+ export type Request = z.infer<typeof RequestSchema>;
12
+
13
+ export const ResponseSchema = z.object({
14
+ data: z.array(CanvasTemplateSchema),
15
+ page: z.number(),
16
+ totalPages: z.number(),
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }