@goat-it/schemas 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 (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/dist/question/index.d.mts +15 -0
  4. package/dist/question/index.mjs +11 -0
  5. package/dist/question-theme/index.d.mts +7 -0
  6. package/dist/question-theme/index.mjs +7 -0
  7. package/dist/shared/locale/index.d.mts +3 -0
  8. package/dist/shared/locale/index.mjs +3 -0
  9. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs +14 -0
  10. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs.map +1 -0
  11. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs +13 -0
  12. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs.map +1 -0
  13. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +20 -0
  14. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs +27 -0
  15. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map +1 -0
  16. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs +13 -0
  17. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs.map +1 -0
  18. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs +13 -0
  19. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs.map +1 -0
  20. package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +20 -0
  21. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs +27 -0
  22. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs.map +1 -0
  23. package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs +12 -0
  24. package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs.map +1 -0
  25. package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs +14 -0
  26. package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs.map +1 -0
  27. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +15 -0
  28. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs +21 -0
  29. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs.map +1 -0
  30. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +12 -0
  31. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs +13 -0
  32. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs.map +1 -0
  33. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs +15 -0
  34. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs.map +1 -0
  35. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs +12 -0
  36. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs.map +1 -0
  37. package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs +10 -0
  38. package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs.map +1 -0
  39. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +24 -0
  40. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -0
  41. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.d.mts +5 -0
  42. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs +16 -0
  43. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs.map +1 -0
  44. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.types.d.mts +8 -0
  45. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.d.mts +5 -0
  46. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs +11 -0
  47. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs.map +1 -0
  48. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.types.d.mts +8 -0
  49. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.d.mts +5 -0
  50. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs +10 -0
  51. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs.map +1 -0
  52. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.mts +8 -0
  53. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.d.mts +5 -0
  54. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs +12 -0
  55. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs.map +1 -0
  56. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.d.mts +8 -0
  57. package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs +7 -0
  58. package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs.map +1 -0
  59. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.d.mts +5 -0
  60. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs +15 -0
  61. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs.map +1 -0
  62. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.types.d.mts +8 -0
  63. package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs +7 -0
  64. package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs.map +1 -0
  65. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +19 -0
  66. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs +21 -0
  67. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs.map +1 -0
  68. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +19 -0
  69. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs +24 -0
  70. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs.map +1 -0
  71. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +13 -0
  72. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs +16 -0
  73. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs.map +1 -0
  74. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +13 -0
  75. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs +16 -0
  76. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs.map +1 -0
  77. package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs +6 -0
  78. package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs.map +1 -0
  79. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.d.mts +5 -0
  80. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs +8 -0
  81. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs.map +1 -0
  82. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.types.d.mts +8 -0
  83. package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs +14 -0
  84. package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs.map +1 -0
  85. package/dist/src/shared/domain/value-objects/locale/locale.constants.d.mts +5 -0
  86. package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs +21 -0
  87. package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs.map +1 -0
  88. package/dist/src/shared/domain/value-objects/locale/locale.types.d.mts +10 -0
  89. package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs +17 -0
  90. package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs.map +1 -0
  91. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs +38 -0
  92. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs.map +1 -0
  93. package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs +9 -0
  94. package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs.map +1 -0
  95. package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs +27 -0
  96. package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map +1 -0
  97. package/package.json +48 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Antoine Zanardi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,40 @@
1
+ # ♑ @goat-it/schemas
2
+
3
+ Shared TypeScript types, Zod schemas and constants used across the Goat It projects.
4
+
5
+ This package is a small, framework‑agnostic collection of DTO shapes, value‑object constants and Zod validators. It is published as an ES module with bundled type definitions.
6
+
7
+ ## 🌟 Quick facts
8
+
9
+ - Package: `@goat-it/schemas`
10
+ - Built output: `dist/`
11
+ - Entry points exported:
12
+ - `./question`
13
+ - `./question-theme`
14
+ - `./shared/locale`
15
+ - Peer dependency: `zod` (match workspace version)
16
+
17
+ ## 🔧 Usage
18
+
19
+ Import the package (example):
20
+
21
+ ```ts
22
+ // Importing types
23
+ import type { QuestionDto } from "@goat-it/schemas/question";
24
+
25
+ // Importing Zod schemas
26
+ import { QUESTION_THEME_CREATION_DTO } from "@goat-it/schemas/question-theme";
27
+
28
+ // Importing constants
29
+ import { LOCALES } from "@goat-it/schemas/shared/locale";
30
+ ```
31
+
32
+ ## 📝 Notes
33
+
34
+ - The package ships compiled ES modules under `dist/` and `.d.mts` type definitions.
35
+ - The package uses `tsdown` to generate the `dist/` layout — the `build` script runs `tsdown`.
36
+ - Ensure the caller project has `zod` installed as a peer dependency, matching the version used in this package.
37
+
38
+ ## ©️ License
39
+
40
+ MIT — See [LICENSE](LICENSE) for details.
@@ -0,0 +1,15 @@
1
+ import { QUESTION_COGNITIVE_DIFFICULTIES } from "../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs";
2
+ import { QUESTION_CATEGORIES } from "../src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs";
3
+ import { QUESTION_STATUSES } from "../src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs";
4
+ import { QUESTION_AUTHOR_ROLES } from "../src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs";
5
+ import { QUESTION_REJECTION_TYPES } from "../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs";
6
+ import { QUESTION_CREATION_DTO, QuestionCreationDto } from "../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs";
7
+ import { QUESTION_THEME_ASSIGNMENT_CREATION_DTO, QuestionThemeAssignmentCreationDto } from "../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs";
8
+ import { QUESTION_DTO, QuestionDto } from "../src/contexts/question/application/dto/question/question.dto.shape.mjs";
9
+ import { ADMIN_QUESTION_DTO, AdminQuestionDto } from "../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs";
10
+ import { QuestionCognitiveDifficulty } from "../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.mjs";
11
+ import { QuestionCategory } from "../src/contexts/question/domain/value-objects/question-category/question-category.types.mjs";
12
+ import { QuestionStatus } from "../src/contexts/question/domain/value-objects/question-status/question-status.types.mjs";
13
+ import { QuestionAuthorRole } from "../src/contexts/question/domain/value-objects/question-author/question-author.types.mjs";
14
+ import { QuestionRejectionType } from "../src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.mjs";
15
+ export { ADMIN_QUESTION_DTO, type AdminQuestionDto, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_DTO, QUESTION_DTO, QUESTION_REJECTION_TYPES, QUESTION_STATUSES, QUESTION_THEME_ASSIGNMENT_CREATION_DTO, type QuestionAuthorRole, type QuestionCategory, type QuestionCognitiveDifficulty, type QuestionCreationDto, type QuestionDto, type QuestionRejectionType, type QuestionStatus, type QuestionThemeAssignmentCreationDto };
@@ -0,0 +1,11 @@
1
+ import { QUESTION_COGNITIVE_DIFFICULTIES } from "../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs";
2
+ import { QUESTION_CATEGORIES } from "../src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs";
3
+ import { QUESTION_STATUSES } from "../src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs";
4
+ import { QUESTION_AUTHOR_ROLES } from "../src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs";
5
+ import { QUESTION_REJECTION_TYPES } from "../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs";
6
+ import { QUESTION_THEME_ASSIGNMENT_CREATION_DTO } from "../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs";
7
+ import { QUESTION_CREATION_DTO } from "../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs";
8
+ import { QUESTION_DTO } from "../src/contexts/question/application/dto/question/question.dto.shape.mjs";
9
+ import { ADMIN_QUESTION_DTO } from "../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs";
10
+
11
+ export { ADMIN_QUESTION_DTO, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_DTO, QUESTION_DTO, QUESTION_REJECTION_TYPES, QUESTION_STATUSES, QUESTION_THEME_ASSIGNMENT_CREATION_DTO };
@@ -0,0 +1,7 @@
1
+ import { QUESTION_THEME_STATUSES } from "../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs";
2
+ import { QUESTION_THEME_CREATION_DTO, QuestionThemeCreationDto } from "../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs";
3
+ import { QUESTION_THEME_MODIFICATION_DTO, QuestionThemeModificationDto } from "../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs";
4
+ import { QUESTION_THEME_DTO, QuestionThemeDto } from "../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs";
5
+ import { ADMIN_QUESTION_THEME_DTO, AdminQuestionThemeDto } from "../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs";
6
+ import { QuestionThemeStatus } from "../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.types.mjs";
7
+ export { ADMIN_QUESTION_THEME_DTO, type AdminQuestionThemeDto, QUESTION_THEME_CREATION_DTO, QUESTION_THEME_DTO, QUESTION_THEME_MODIFICATION_DTO, QUESTION_THEME_STATUSES, type QuestionThemeCreationDto, type QuestionThemeDto, type QuestionThemeModificationDto, type QuestionThemeStatus };
@@ -0,0 +1,7 @@
1
+ import { QUESTION_THEME_STATUSES } from "../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs";
2
+ import { QUESTION_THEME_DTO } from "../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs";
3
+ import { ADMIN_QUESTION_THEME_DTO } from "../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs";
4
+ import { QUESTION_THEME_CREATION_DTO } from "../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs";
5
+ import { QUESTION_THEME_MODIFICATION_DTO } from "../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs";
6
+
7
+ export { ADMIN_QUESTION_THEME_DTO, QUESTION_THEME_CREATION_DTO, QUESTION_THEME_DTO, QUESTION_THEME_MODIFICATION_DTO, QUESTION_THEME_STATUSES };
@@ -0,0 +1,3 @@
1
+ import { LOCALES } from "../../src/shared/domain/value-objects/locale/locale.constants.mjs";
2
+ import { Locale, LocalizedText, LocalizedTexts } from "../../src/shared/domain/value-objects/locale/locale.types.mjs";
3
+ export { LOCALES, type Locale, type LocalizedText, type LocalizedTexts };
@@ -0,0 +1,3 @@
1
+ import { LOCALES } from "../../src/shared/domain/value-objects/locale/locale.constants.mjs";
2
+
3
+ export { LOCALES };
@@ -0,0 +1,14 @@
1
+ import { zLocalizedText, zLocalizedTexts } from "../../../../../../shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.ts
5
+ const ADMIN_QUESTION_CONTENT_DTO = z.strictObject({
6
+ statement: zLocalizedText().describe("Question statement in supported locales"),
7
+ answer: zLocalizedText().describe("Question answer in supported locales"),
8
+ context: zLocalizedText().optional().describe("Additional context for the question in supported locales"),
9
+ trivia: zLocalizedTexts().optional().describe("Interesting trivia related to the question in supported locales")
10
+ }).describe("Question's content");
11
+
12
+ //#endregion
13
+ export { ADMIN_QUESTION_CONTENT_DTO };
14
+ //# sourceMappingURL=admin-question-content.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-question-content.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zLocalizedText, zLocalizedTexts } from \"@shared/infrastructure/http/zod/validators/localization/localization.zod.validators\";\n\nconst ADMIN_QUESTION_CONTENT_DTO = z.strictObject({\n statement: zLocalizedText()\n .describe(\"Question statement in supported locales\"),\n answer: zLocalizedText()\n .describe(\"Question answer in supported locales\"),\n context: zLocalizedText()\n .optional()\n .describe(\"Additional context for the question in supported locales\"),\n trivia: zLocalizedTexts()\n .optional()\n .describe(\"Interesting trivia related to the question in supported locales\"),\n}).describe(\"Question's content\");\n\nexport type AdminQuestionContentDto = z.infer<typeof ADMIN_QUESTION_CONTENT_DTO>;\n\nexport { ADMIN_QUESTION_CONTENT_DTO };"],"mappings":";;;;AAIA,MAAM,6BAA6B,EAAE,aAAa;CAChD,WAAW,gBAAgB,CACxB,SAAS,0CAA0C;CACtD,QAAQ,gBAAgB,CACrB,SAAS,uCAAuC;CACnD,SAAS,gBAAgB,CACtB,UAAU,CACV,SAAS,2DAA2D;CACvE,QAAQ,iBAAiB,CACtB,UAAU,CACV,SAAS,kEAAkE;CAC/E,CAAC,CAAC,SAAS,qBAAqB"}
@@ -0,0 +1,13 @@
1
+ import { ADMIN_QUESTION_THEME_DTO } from "../../../../modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.ts
5
+ const ADMIN_QUESTION_THEME_ASSIGNMENT_DTO = z.strictObject({
6
+ theme: ADMIN_QUESTION_THEME_DTO.describe("Question assigned theme"),
7
+ isPrimary: z.boolean().describe("Indicates if the assigned theme is the primary theme for the question"),
8
+ isHint: z.boolean().describe("Indicates if the assigned theme is a hint for the question's answer")
9
+ }).describe("Question's theme assignment");
10
+
11
+ //#endregion
12
+ export { ADMIN_QUESTION_THEME_ASSIGNMENT_DTO };
13
+ //# sourceMappingURL=admin-question-theme-assignment.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-question-theme-assignment.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ADMIN_QUESTION_THEME_DTO } from \"@question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape\";\n\nconst ADMIN_QUESTION_THEME_ASSIGNMENT_DTO = z.strictObject({\n theme: ADMIN_QUESTION_THEME_DTO\n .describe(\"Question assigned theme\"),\n isPrimary: z.boolean()\n .describe(\"Indicates if the assigned theme is the primary theme for the question\"),\n isHint: z.boolean()\n .describe(\"Indicates if the assigned theme is a hint for the question's answer\"),\n}).describe(\"Question's theme assignment\");\n\nexport type AdminQuestionThemeAssignmentDto = z.infer<typeof ADMIN_QUESTION_THEME_ASSIGNMENT_DTO>;\n\nexport { ADMIN_QUESTION_THEME_ASSIGNMENT_DTO };"],"mappings":";;;;AAIA,MAAM,sCAAsC,EAAE,aAAa;CACzD,OAAO,yBACJ,SAAS,0BAA0B;CACtC,WAAW,EAAE,SAAS,CACnB,SAAS,wEAAwE;CACpF,QAAQ,EAAE,SAAS,CAChB,SAAS,sEAAsE;CACnF,CAAC,CAAC,SAAS,8BAA8B"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.ts
4
+ declare const ADMIN_QUESTION_DTO: z.ZodObject<{
5
+ id: any;
6
+ category: any;
7
+ themes: z.ZodArray<any>;
8
+ content: any;
9
+ cognitiveDifficulty: any;
10
+ author: any;
11
+ status: any;
12
+ rejection: any;
13
+ sourceUrls: any;
14
+ createdAt: any;
15
+ updatedAt: any;
16
+ }, z.core.$strict>;
17
+ type AdminQuestionDto = z.infer<typeof ADMIN_QUESTION_DTO>;
18
+ //#endregion
19
+ export { ADMIN_QUESTION_DTO, AdminQuestionDto };
20
+ //# sourceMappingURL=admin-question.dto.shape.d.mts.map
@@ -0,0 +1,27 @@
1
+ import { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from "../../../domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs";
2
+ import { zIsoDateTime, zMongoId } from "../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls, zQuestionStatus } from "../shared/zod/validators/question.dto.zod.validators.mjs";
4
+ import { QUESTION_REJECTION_DTO } from "../shared/question-rejection/question-rejection.dto.shape.mjs";
5
+ import { QUESTION_AUTHOR_DTO } from "../shared/question-author/question-author.dto.shape.mjs";
6
+ import { ADMIN_QUESTION_THEME_ASSIGNMENT_DTO } from "./admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs";
7
+ import { ADMIN_QUESTION_CONTENT_DTO } from "./admin-question-content/admin-question-content.dto.shape.mjs";
8
+ import { z } from "zod";
9
+
10
+ //#region ../../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.ts
11
+ const ADMIN_QUESTION_DTO = z.strictObject({
12
+ id: zMongoId().describe("Question's unique identifier"),
13
+ category: zQuestionCategory(),
14
+ themes: z.array(ADMIN_QUESTION_THEME_ASSIGNMENT_DTO).min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS).max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS).describe("Question's themes"),
15
+ content: ADMIN_QUESTION_CONTENT_DTO,
16
+ cognitiveDifficulty: zQuestionCognitiveDifficulty(),
17
+ author: QUESTION_AUTHOR_DTO,
18
+ status: zQuestionStatus(),
19
+ rejection: QUESTION_REJECTION_DTO.optional().describe("Question's rejection details, if applicable"),
20
+ sourceUrls: zQuestionSourceUrls(),
21
+ createdAt: zIsoDateTime().describe("Question's creation date"),
22
+ updatedAt: zIsoDateTime().describe("Question's last update date")
23
+ });
24
+
25
+ //#endregion
26
+ export { ADMIN_QUESTION_DTO };
27
+ //# sourceMappingURL=admin-question.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-question.dto.shape.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zIsoDateTime, zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from \"@question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants\";\nimport { ADMIN_QUESTION_THEME_ASSIGNMENT_DTO } from \"@question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape\";\nimport { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls, zQuestionStatus } from \"@question/application/dto/shared/zod/validators/question.dto.zod.validators\";\nimport { QUESTION_REJECTION_DTO } from \"@question/application/dto/shared/question-rejection/question-rejection.dto.shape\";\nimport { QUESTION_AUTHOR_DTO } from \"@question/application/dto/shared/question-author/question-author.dto.shape\";\nimport { ADMIN_QUESTION_CONTENT_DTO } from \"@question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape\";\n\nconst ADMIN_QUESTION_DTO = z.strictObject({\n id: zMongoId()\n .describe(\"Question's unique identifier\"),\n category: zQuestionCategory(),\n themes: z.array(ADMIN_QUESTION_THEME_ASSIGNMENT_DTO)\n .min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS)\n .max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS)\n .describe(\"Question's themes\"),\n content: ADMIN_QUESTION_CONTENT_DTO,\n cognitiveDifficulty: zQuestionCognitiveDifficulty(),\n author: QUESTION_AUTHOR_DTO,\n status: zQuestionStatus(),\n rejection: QUESTION_REJECTION_DTO\n .optional()\n .describe(\"Question's rejection details, if applicable\"),\n sourceUrls: zQuestionSourceUrls(),\n createdAt: zIsoDateTime()\n .describe(\"Question's creation date\"),\n updatedAt: zIsoDateTime()\n .describe(\"Question's last update date\"),\n});\n\nexport type AdminQuestionDto = z.infer<typeof ADMIN_QUESTION_DTO>;\n\nexport { ADMIN_QUESTION_DTO };"],"mappings":";;;;;;;;;;AAWA,MAAM,qBAAqB,EAAE,aAAa;CACxC,IAAI,UAAU,CACX,SAAS,+BAA+B;CAC3C,UAAU,mBAAmB;CAC7B,QAAQ,EAAE,MAAM,oCAAoC,CACjD,IAAI,qCAAqC,CACzC,IAAI,qCAAqC,CACzC,SAAS,oBAAoB;CAChC,SAAS;CACT,qBAAqB,8BAA8B;CACnD,QAAQ;CACR,QAAQ,iBAAiB;CACzB,WAAW,uBACR,UAAU,CACV,SAAS,8CAA8C;CAC1D,YAAY,qBAAqB;CACjC,WAAW,cAAc,CACtB,SAAS,2BAA2B;CACvC,WAAW,cAAc,CACtB,SAAS,8BAA8B;CAC3C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/application/dto/question/question-content/question-content.dto.shape.ts
4
+ const QUESTION_CONTENT_DTO = z.strictObject({
5
+ statement: z.string().describe("Question translated statement").meta({ example: "What is the capital of France?" }),
6
+ answer: z.string().describe("Question translated answer").meta({ example: "The capital of France is Paris." }),
7
+ context: z.string().optional().describe("Additional translated context for the question").meta({ example: "France is a country in Western Europe." }),
8
+ trivia: z.array(z.string()).optional().describe("Interesting translated trivia related to the question").meta({ example: ["Paris is known as the 'City of Light'.", "The Eiffel Tower is located in Paris."] })
9
+ }).describe("Question's content");
10
+
11
+ //#endregion
12
+ export { QUESTION_CONTENT_DTO };
13
+ //# sourceMappingURL=question-content.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-content.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/question/question-content/question-content.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst QUESTION_CONTENT_DTO = z.strictObject({\n statement: z.string()\n .describe(\"Question translated statement\")\n .meta({ example: \"What is the capital of France?\" }),\n answer: z.string()\n .describe(\"Question translated answer\")\n .meta({ example: \"The capital of France is Paris.\" }),\n context: z.string()\n .optional()\n .describe(\"Additional translated context for the question\")\n .meta({ example: \"France is a country in Western Europe.\" }),\n trivia: z.array(z.string())\n .optional()\n .describe(\"Interesting translated trivia related to the question\")\n .meta({ example: [\"Paris is known as the 'City of Light'.\", \"The Eiffel Tower is located in Paris.\"] }),\n}).describe(\"Question's content\");\n\nexport type QuestionContentDto = z.infer<typeof QUESTION_CONTENT_DTO>;\n\nexport { QUESTION_CONTENT_DTO };"],"mappings":";;;AAEA,MAAM,uBAAuB,EAAE,aAAa;CAC1C,WAAW,EAAE,QAAQ,CAClB,SAAS,gCAAgC,CACzC,KAAK,EAAE,SAAS,kCAAkC,CAAC;CACtD,QAAQ,EAAE,QAAQ,CACf,SAAS,6BAA6B,CACtC,KAAK,EAAE,SAAS,mCAAmC,CAAC;CACvD,SAAS,EAAE,QAAQ,CAChB,UAAU,CACV,SAAS,iDAAiD,CAC1D,KAAK,EAAE,SAAS,0CAA0C,CAAC;CAC9D,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CACxB,UAAU,CACV,SAAS,wDAAwD,CACjE,KAAK,EAAE,SAAS,CAAC,0CAA0C,wCAAwC,EAAE,CAAC;CAC1G,CAAC,CAAC,SAAS,qBAAqB"}
@@ -0,0 +1,13 @@
1
+ import { QUESTION_THEME_DTO } from "../../../../modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.ts
5
+ const QUESTION_THEME_ASSIGNMENT_DTO = z.strictObject({
6
+ theme: QUESTION_THEME_DTO.describe("Question assigned theme"),
7
+ isPrimary: z.boolean().describe("Indicates if the assigned theme is the primary theme for the question"),
8
+ isHint: z.boolean().describe("Indicates if the assigned theme is a hint for the question's answer")
9
+ }).describe("Question's theme assignment");
10
+
11
+ //#endregion
12
+ export { QUESTION_THEME_ASSIGNMENT_DTO };
13
+ //# sourceMappingURL=question-theme-assignment.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-assignment.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { QUESTION_THEME_DTO } from \"@question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape\";\n\nconst QUESTION_THEME_ASSIGNMENT_DTO = z.strictObject({\n theme: QUESTION_THEME_DTO\n .describe(\"Question assigned theme\"),\n isPrimary: z.boolean()\n .describe(\"Indicates if the assigned theme is the primary theme for the question\"),\n isHint: z.boolean()\n .describe(\"Indicates if the assigned theme is a hint for the question's answer\"),\n}).describe(\"Question's theme assignment\");\n\nexport type QuestionThemeAssignmentDto = z.infer<typeof QUESTION_THEME_ASSIGNMENT_DTO>;\n\nexport { QUESTION_THEME_ASSIGNMENT_DTO };"],"mappings":";;;;AAIA,MAAM,gCAAgC,EAAE,aAAa;CACnD,OAAO,mBACJ,SAAS,0BAA0B;CACtC,WAAW,EAAE,SAAS,CACnB,SAAS,wEAAwE;CACpF,QAAQ,EAAE,SAAS,CAChB,SAAS,sEAAsE;CACnF,CAAC,CAAC,SAAS,8BAA8B"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/application/dto/question/question.dto.shape.d.ts
4
+ declare const QUESTION_DTO: z.ZodObject<{
5
+ id: any;
6
+ category: any;
7
+ themes: z.ZodArray<any>;
8
+ content: any;
9
+ cognitiveDifficulty: any;
10
+ author: any;
11
+ status: any;
12
+ rejection: any;
13
+ sourceUrls: any;
14
+ createdAt: any;
15
+ updatedAt: any;
16
+ }, z.core.$strict>;
17
+ type QuestionDto = z.infer<typeof QUESTION_DTO>;
18
+ //#endregion
19
+ export { QUESTION_DTO, QuestionDto };
20
+ //# sourceMappingURL=question.dto.shape.d.mts.map
@@ -0,0 +1,27 @@
1
+ import { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from "../../../domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs";
2
+ import { zIsoDateTime, zMongoId } from "../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls, zQuestionStatus } from "../shared/zod/validators/question.dto.zod.validators.mjs";
4
+ import { QUESTION_THEME_ASSIGNMENT_DTO } from "./question-theme-assignment/question-theme-assignment.dto.shape.mjs";
5
+ import { QUESTION_CONTENT_DTO } from "./question-content/question-content.dto.shape.mjs";
6
+ import { QUESTION_REJECTION_DTO } from "../shared/question-rejection/question-rejection.dto.shape.mjs";
7
+ import { QUESTION_AUTHOR_DTO } from "../shared/question-author/question-author.dto.shape.mjs";
8
+ import { z } from "zod";
9
+
10
+ //#region ../../src/contexts/question/application/dto/question/question.dto.shape.ts
11
+ const QUESTION_DTO = z.strictObject({
12
+ id: zMongoId().describe("Question's unique identifier"),
13
+ category: zQuestionCategory(),
14
+ themes: z.array(QUESTION_THEME_ASSIGNMENT_DTO).min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS).max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS).describe("Question's themes"),
15
+ content: QUESTION_CONTENT_DTO,
16
+ cognitiveDifficulty: zQuestionCognitiveDifficulty(),
17
+ author: QUESTION_AUTHOR_DTO,
18
+ status: zQuestionStatus(),
19
+ rejection: QUESTION_REJECTION_DTO.optional().describe("Question's rejection details, if applicable"),
20
+ sourceUrls: zQuestionSourceUrls(),
21
+ createdAt: zIsoDateTime().describe("Question's creation date"),
22
+ updatedAt: zIsoDateTime().describe("Question's last update date")
23
+ });
24
+
25
+ //#endregion
26
+ export { QUESTION_DTO };
27
+ //# sourceMappingURL=question.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.dto.shape.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/application/dto/question/question.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zIsoDateTime, zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from \"@question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants\";\nimport { QUESTION_THEME_ASSIGNMENT_DTO } from \"@question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape\";\nimport { QUESTION_CONTENT_DTO } from \"@question/application/dto/question/question-content/question-content.dto.shape\";\nimport { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls, zQuestionStatus } from \"@question/application/dto/shared/zod/validators/question.dto.zod.validators\";\nimport { QUESTION_REJECTION_DTO } from \"@question/application/dto/shared/question-rejection/question-rejection.dto.shape\";\nimport { QUESTION_AUTHOR_DTO } from \"@question/application/dto/shared/question-author/question-author.dto.shape\";\n\nconst QUESTION_DTO = z.strictObject({\n id: zMongoId()\n .describe(\"Question's unique identifier\"),\n category: zQuestionCategory(),\n themes: z.array(QUESTION_THEME_ASSIGNMENT_DTO)\n .min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS)\n .max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS)\n .describe(\"Question's themes\"),\n content: QUESTION_CONTENT_DTO,\n cognitiveDifficulty: zQuestionCognitiveDifficulty(),\n author: QUESTION_AUTHOR_DTO,\n status: zQuestionStatus(),\n rejection: QUESTION_REJECTION_DTO\n .optional()\n .describe(\"Question's rejection details, if applicable\"),\n sourceUrls: zQuestionSourceUrls(),\n createdAt: zIsoDateTime()\n .describe(\"Question's creation date\"),\n updatedAt: zIsoDateTime()\n .describe(\"Question's last update date\"),\n});\n\nexport type QuestionDto = z.infer<typeof QUESTION_DTO>;\n\nexport { QUESTION_DTO };"],"mappings":";;;;;;;;;;AAWA,MAAM,eAAe,EAAE,aAAa;CAClC,IAAI,UAAU,CACX,SAAS,+BAA+B;CAC3C,UAAU,mBAAmB;CAC7B,QAAQ,EAAE,MAAM,8BAA8B,CAC3C,IAAI,qCAAqC,CACzC,IAAI,qCAAqC,CACzC,SAAS,oBAAoB;CAChC,SAAS;CACT,qBAAqB,8BAA8B;CACnD,QAAQ;CACR,QAAQ,iBAAiB;CACzB,WAAW,uBACR,UAAU,CACV,SAAS,8CAA8C;CAC1D,YAAY,qBAAqB;CACjC,WAAW,cAAc,CACtB,SAAS,2BAA2B;CACvC,WAAW,cAAc,CACtB,SAAS,8BAA8B;CAC3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_CREATION_AUTHOR_ROLES } from "../../../../domain/value-objects/question-author/question-author.constants.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.ts
5
+ const QUESTION_AUTHOR_CREATION_DTO = z.object({
6
+ role: z.enum(QUESTION_CREATION_AUTHOR_ROLES).describe("Question's author role").meta({ example: QUESTION_CREATION_AUTHOR_ROLES[0] }),
7
+ name: z.string().trim().min(QUESTION_AUTHOR_NAME_MIN_LENGTH).max(QUESTION_AUTHOR_NAME_MAX_LENGTH).describe("Question author's name").meta({ example: "TriviaMaster3000" })
8
+ }).describe("Question's author");
9
+
10
+ //#endregion
11
+ export { QUESTION_AUTHOR_CREATION_DTO };
12
+ //# sourceMappingURL=question-author-creation.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-author-creation.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_CREATION_AUTHOR_ROLES } from \"@question/domain/value-objects/question-author/question-author.constants\";\n\nconst QUESTION_AUTHOR_CREATION_DTO = z.object({\n role: z.enum(QUESTION_CREATION_AUTHOR_ROLES)\n .describe(\"Question's author role\")\n .meta({ example: QUESTION_CREATION_AUTHOR_ROLES[0] }),\n name: z.string()\n .trim()\n .min(QUESTION_AUTHOR_NAME_MIN_LENGTH)\n .max(QUESTION_AUTHOR_NAME_MAX_LENGTH)\n .describe(\"Question author's name\")\n .meta({ example: \"TriviaMaster3000\" }),\n}).describe(\"Question's author\");\n\nexport type QuestionAuthorCreationDto = z.infer<typeof QUESTION_AUTHOR_CREATION_DTO>;\n\nexport { QUESTION_AUTHOR_CREATION_DTO };"],"mappings":";;;;AAIA,MAAM,+BAA+B,EAAE,OAAO;CAC5C,MAAM,EAAE,KAAK,+BAA+B,CACzC,SAAS,yBAAyB,CAClC,KAAK,EAAE,SAAS,+BAA+B,IAAI,CAAC;CACvD,MAAM,EAAE,QAAQ,CACb,MAAM,CACN,IAAI,gCAAgC,CACpC,IAAI,gCAAgC,CACpC,SAAS,yBAAyB,CAClC,KAAK,EAAE,SAAS,oBAAoB,CAAC;CACzC,CAAC,CAAC,SAAS,oBAAoB"}
@@ -0,0 +1,14 @@
1
+ import { zLocalizedText, zLocalizedTexts } from "../../../../../../shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.ts
5
+ const QUESTION_CONTENT_CREATION_DTO = z.object({
6
+ statement: zLocalizedText().describe("Question statement"),
7
+ answer: zLocalizedText().describe("Question answer"),
8
+ context: zLocalizedText().optional().describe("Additional context for the question"),
9
+ trivia: zLocalizedTexts().optional().describe("Interesting trivia related to the question")
10
+ }).describe("Question's content");
11
+
12
+ //#endregion
13
+ export { QUESTION_CONTENT_CREATION_DTO };
14
+ //# sourceMappingURL=question-content-creation.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-content-creation.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zLocalizedText, zLocalizedTexts } from \"@shared/infrastructure/http/zod/validators/localization/localization.zod.validators\";\n\nconst QUESTION_CONTENT_CREATION_DTO = z.object({\n statement: zLocalizedText()\n .describe(\"Question statement\"),\n answer: zLocalizedText()\n .describe(\"Question answer\"),\n context: zLocalizedText()\n .optional()\n .describe(\"Additional context for the question\"),\n trivia: zLocalizedTexts()\n .optional()\n .describe(\"Interesting trivia related to the question\"),\n}).describe(\"Question's content\");\n\nexport type QuestionContentCreationDto = z.infer<typeof QUESTION_CONTENT_CREATION_DTO>;\n\nexport { QUESTION_CONTENT_CREATION_DTO };"],"mappings":";;;;AAIA,MAAM,gCAAgC,EAAE,OAAO;CAC7C,WAAW,gBAAgB,CACxB,SAAS,qBAAqB;CACjC,QAAQ,gBAAgB,CACrB,SAAS,kBAAkB;CAC9B,SAAS,gBAAgB,CACtB,UAAU,CACV,SAAS,sCAAsC;CAClD,QAAQ,iBAAiB,CACtB,UAAU,CACV,SAAS,6CAA6C;CAC1D,CAAC,CAAC,SAAS,qBAAqB"}
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.ts
4
+ declare const QUESTION_CREATION_DTO: z.ZodObject<{
5
+ category: any;
6
+ themes: z.ZodArray<any>;
7
+ content: any;
8
+ cognitiveDifficulty: any;
9
+ author: any;
10
+ sourceUrls: any;
11
+ }, z.core.$strip>;
12
+ type QuestionCreationDto = z.infer<typeof QUESTION_CREATION_DTO>;
13
+ //#endregion
14
+ export { QUESTION_CREATION_DTO, QuestionCreationDto };
15
+ //# sourceMappingURL=question-creation.dto.shape.d.mts.map
@@ -0,0 +1,21 @@
1
+ import { areValuesUniqueByKey, hasExactlyOneByKey } from "../../../../../shared/application/dto/zod/refinements/array/array.zod.refinements.mjs";
2
+ import { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from "../../../domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs";
3
+ import { QUESTION_AUTHOR_CREATION_DTO } from "./question-author-creation/question-author-creation.dto.shape.mjs";
4
+ import { QUESTION_CONTENT_CREATION_DTO } from "./question-content-creation/question-content-creation.dto.shape.mjs";
5
+ import { QUESTION_THEME_ASSIGNMENT_CREATION_DTO } from "./question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs";
6
+ import { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls } from "../shared/zod/validators/question.dto.zod.validators.mjs";
7
+ import { z } from "zod";
8
+
9
+ //#region ../../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.ts
10
+ const QUESTION_CREATION_DTO = z.object({
11
+ category: zQuestionCategory(),
12
+ themes: z.array(QUESTION_THEME_ASSIGNMENT_CREATION_DTO).min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS).max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS).refine((themes) => areValuesUniqueByKey(themes, "themeId"), { message: "Theme IDs must be unique" }).refine((themes) => hasExactlyOneByKey(themes, "isPrimary", true), { message: "There must be exactly one primary theme" }).describe("Question's themes"),
13
+ content: QUESTION_CONTENT_CREATION_DTO,
14
+ cognitiveDifficulty: zQuestionCognitiveDifficulty(),
15
+ author: QUESTION_AUTHOR_CREATION_DTO,
16
+ sourceUrls: zQuestionSourceUrls()
17
+ });
18
+
19
+ //#endregion
20
+ export { QUESTION_CREATION_DTO };
21
+ //# sourceMappingURL=question-creation.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-creation.dto.shape.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { areValuesUniqueByKey, hasExactlyOneByKey } from \"@shared/application/dto/zod/refinements/array/array.zod.refinements\";\n\nimport { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from \"@question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants\";\nimport { QUESTION_AUTHOR_CREATION_DTO } from \"@question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape\";\nimport { QUESTION_CONTENT_CREATION_DTO } from \"@question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape\";\nimport { QUESTION_THEME_ASSIGNMENT_CREATION_DTO } from \"@question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape\";\nimport { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls } from \"@question/application/dto/shared/zod/validators/question.dto.zod.validators\";\n\nconst QUESTION_CREATION_DTO = z.object({\n category: zQuestionCategory(),\n themes: z.array(QUESTION_THEME_ASSIGNMENT_CREATION_DTO)\n .min(QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS)\n .max(QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS)\n .refine(themes => areValuesUniqueByKey(themes, \"themeId\"), { message: \"Theme IDs must be unique\" })\n .refine(themes => hasExactlyOneByKey(themes, \"isPrimary\", true), { message: \"There must be exactly one primary theme\" })\n .describe(\"Question's themes\"),\n content: QUESTION_CONTENT_CREATION_DTO,\n cognitiveDifficulty: zQuestionCognitiveDifficulty(),\n author: QUESTION_AUTHOR_CREATION_DTO,\n sourceUrls: zQuestionSourceUrls(),\n});\n\nexport type QuestionCreationDto = z.infer<typeof QUESTION_CREATION_DTO>;\n\nexport { QUESTION_CREATION_DTO };"],"mappings":";;;;;;;;;AAUA,MAAM,wBAAwB,EAAE,OAAO;CACrC,UAAU,mBAAmB;CAC7B,QAAQ,EAAE,MAAM,uCAAuC,CACpD,IAAI,qCAAqC,CACzC,IAAI,qCAAqC,CACzC,QAAO,WAAU,qBAAqB,QAAQ,UAAU,EAAE,EAAE,SAAS,4BAA4B,CAAC,CAClG,QAAO,WAAU,mBAAmB,QAAQ,aAAa,KAAK,EAAE,EAAE,SAAS,2CAA2C,CAAC,CACvH,SAAS,oBAAoB;CAChC,SAAS;CACT,qBAAqB,8BAA8B;CACnD,QAAQ;CACR,YAAY,qBAAqB;CAClC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.ts
4
+ declare const QUESTION_THEME_ASSIGNMENT_CREATION_DTO: z.ZodObject<{
5
+ themeId: any;
6
+ isPrimary: z.ZodBoolean;
7
+ isHint: z.ZodBoolean;
8
+ }, z.core.$strip>;
9
+ type QuestionThemeAssignmentCreationDto = z.infer<typeof QUESTION_THEME_ASSIGNMENT_CREATION_DTO>;
10
+ //#endregion
11
+ export { QUESTION_THEME_ASSIGNMENT_CREATION_DTO, QuestionThemeAssignmentCreationDto };
12
+ //# sourceMappingURL=question-theme-assignment-creation.dto.shape.d.mts.map
@@ -0,0 +1,13 @@
1
+ import { zMongoId } from "../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.ts
5
+ const QUESTION_THEME_ASSIGNMENT_CREATION_DTO = z.object({
6
+ themeId: zMongoId().describe("The ID of the theme to assign to the question"),
7
+ isPrimary: z.boolean().describe("Indicates if the assigned theme is the primary theme for the question. Only one primary theme is allowed per question"),
8
+ isHint: z.boolean().describe("Indicates if the assigned theme is a hint for the question's answer")
9
+ });
10
+
11
+ //#endregion
12
+ export { QUESTION_THEME_ASSIGNMENT_CREATION_DTO };
13
+ //# sourceMappingURL=question-theme-assignment-creation.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-assignment-creation.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nconst QUESTION_THEME_ASSIGNMENT_CREATION_DTO = z.object({\n themeId: zMongoId()\n .describe(\"The ID of the theme to assign to the question\"),\n isPrimary: z.boolean()\n .describe(\"Indicates if the assigned theme is the primary theme for the question. Only one primary theme is allowed per question\"),\n isHint: z.boolean()\n .describe(\"Indicates if the assigned theme is a hint for the question's answer\"),\n});\n\nexport type QuestionThemeAssignmentCreationDto = z.infer<typeof QUESTION_THEME_ASSIGNMENT_CREATION_DTO>;\n\nexport { QUESTION_THEME_ASSIGNMENT_CREATION_DTO };"],"mappings":";;;;AAIA,MAAM,yCAAyC,EAAE,OAAO;CACtD,SAAS,UAAU,CAChB,SAAS,gDAAgD;CAC5D,WAAW,EAAE,SAAS,CACnB,SAAS,wHAAwH;CACpI,QAAQ,EAAE,SAAS,CAChB,SAAS,sEAAsE;CACnF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { QUESTION_AUTHOR_ROLES } from "../../../../domain/value-objects/question-author/question-author.constants.mjs";
2
+ import { zMongoId } from "../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { isGameIdSetOnGameRole } from "../zod/refinements/question-author/question-author.dto.zod.refinement.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region ../../src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.ts
7
+ const QUESTION_AUTHOR_DTO = z.strictObject({
8
+ role: z.enum(QUESTION_AUTHOR_ROLES).describe("Question's author role").meta({ example: QUESTION_AUTHOR_ROLES[0] }),
9
+ gameId: zMongoId().optional().describe("Game's unique identifier, if the author is a game"),
10
+ name: z.string().optional().describe("Question author's name, if applicable").meta({ example: "TriviaMaster3000" })
11
+ }).refine(isGameIdSetOnGameRole, { error: "Game ID must be set if and only if the author role is 'game'." }).describe("Question's author");
12
+
13
+ //#endregion
14
+ export { QUESTION_AUTHOR_DTO };
15
+ //# sourceMappingURL=question-author.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-author.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { isGameIdSetOnGameRole } from \"@question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement\";\nimport { QUESTION_AUTHOR_ROLES } from \"@question/domain/value-objects/question-author/question-author.constants\";\n\nconst QUESTION_AUTHOR_DTO = z.strictObject({\n role: z.enum(QUESTION_AUTHOR_ROLES)\n .describe(\"Question's author role\")\n .meta({ example: QUESTION_AUTHOR_ROLES[0] }),\n gameId: zMongoId()\n .optional()\n .describe(\"Game's unique identifier, if the author is a game\"),\n name: z.string()\n .optional()\n .describe(\"Question author's name, if applicable\")\n .meta({ example: \"TriviaMaster3000\" }),\n}).refine(isGameIdSetOnGameRole, { error: \"Game ID must be set if and only if the author role is 'game'.\" })\n .describe(\"Question's author\");\n\nexport type QuestionAuthorDto = z.infer<typeof QUESTION_AUTHOR_DTO>;\n\nexport { QUESTION_AUTHOR_DTO };"],"mappings":";;;;;;AAOA,MAAM,sBAAsB,EAAE,aAAa;CACzC,MAAM,EAAE,KAAK,sBAAsB,CAChC,SAAS,yBAAyB,CAClC,KAAK,EAAE,SAAS,sBAAsB,IAAI,CAAC;CAC9C,QAAQ,UAAU,CACf,UAAU,CACV,SAAS,oDAAoD;CAChE,MAAM,EAAE,QAAQ,CACb,UAAU,CACV,SAAS,wCAAwC,CACjD,KAAK,EAAE,SAAS,oBAAoB,CAAC;CACzC,CAAC,CAAC,OAAO,uBAAuB,EAAE,OAAO,iEAAiE,CAAC,CACzG,SAAS,oBAAoB"}
@@ -0,0 +1,12 @@
1
+ import { QUESTION_REJECTION_TYPES } from "../../../../domain/value-objects/question-rejection/question-rejection.constants.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region ../../src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.ts
5
+ const QUESTION_REJECTION_DTO = z.strictObject({
6
+ type: z.enum(QUESTION_REJECTION_TYPES).describe("Question rejection's type").meta({ example: QUESTION_REJECTION_TYPES[0] }),
7
+ comment: z.string().optional().describe("Comment explaining the reason for rejection").meta({ example: "The question is too ambiguous." })
8
+ }).describe("Question rejection details");
9
+
10
+ //#endregion
11
+ export { QUESTION_REJECTION_DTO };
12
+ //# sourceMappingURL=question-rejection.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-rejection.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { QUESTION_REJECTION_TYPES } from \"@question/domain/value-objects/question-rejection/question-rejection.constants\";\n\nconst QUESTION_REJECTION_DTO = z.strictObject({\n type: z.enum(QUESTION_REJECTION_TYPES)\n .describe(\"Question rejection's type\")\n .meta({ example: QUESTION_REJECTION_TYPES[0] }),\n comment: z.string()\n .optional()\n .describe(\"Comment explaining the reason for rejection\")\n .meta({ example: \"The question is too ambiguous.\" }),\n}).describe(\"Question rejection details\");\n\nexport type QuestionRejectionDto = z.infer<typeof QUESTION_REJECTION_DTO>;\n\nexport { QUESTION_REJECTION_DTO };"],"mappings":";;;;AAIA,MAAM,yBAAyB,EAAE,aAAa;CAC5C,MAAM,EAAE,KAAK,yBAAyB,CACnC,SAAS,4BAA4B,CACrC,KAAK,EAAE,SAAS,yBAAyB,IAAI,CAAC;CACjD,SAAS,EAAE,QAAQ,CAChB,UAAU,CACV,SAAS,8CAA8C,CACvD,KAAK,EAAE,SAAS,kCAAkC,CAAC;CACvD,CAAC,CAAC,SAAS,6BAA6B"}
@@ -0,0 +1,10 @@
1
+ //#region ../../src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.ts
2
+ function isGameIdSetOnGameRole(questionAuthorDtoZodRefinement) {
3
+ const { role, gameId } = questionAuthorDtoZodRefinement;
4
+ if (role === "game") return typeof gameId === "string" && gameId.length > 0;
5
+ return gameId === void 0;
6
+ }
7
+
8
+ //#endregion
9
+ export { isGameIdSetOnGameRole };
10
+ //# sourceMappingURL=question-author.dto.zod.refinement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-author.dto.zod.refinement.mjs","names":[],"sources":["../../../../../../../../../../../../src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.ts"],"sourcesContent":["import type { QuestionAuthorRole } from \"@question/domain/value-objects/question-author/question-author.types\";\n\ntype QuestionAuthorDtoZodRefinement = {\n role: QuestionAuthorRole;\n gameId?: string;\n name?: string;\n};\n\nfunction isGameIdSetOnGameRole(questionAuthorDtoZodRefinement: QuestionAuthorDtoZodRefinement): boolean {\n const { role, gameId } = questionAuthorDtoZodRefinement;\n if (role === \"game\") {\n return typeof gameId === \"string\" && gameId.length > 0;\n }\n return gameId === undefined;\n}\n\nexport {\n isGameIdSetOnGameRole,\n};"],"mappings":";AAQA,SAAS,sBAAsB,gCAAyE;CACtG,MAAM,EAAE,MAAM,WAAW;AACzB,KAAI,SAAS,OACX,QAAO,OAAO,WAAW,YAAY,OAAO,SAAS;AAEvD,QAAO,WAAW"}
@@ -0,0 +1,24 @@
1
+ import { QUESTION_COGNITIVE_DIFFICULTIES } from "../../../../../domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs";
2
+ import { QUESTION_CATEGORIES } from "../../../../../domain/value-objects/question-category/question-category.constants.mjs";
3
+ import { QUESTION_STATUSES } from "../../../../../domain/value-objects/question-status/question-status.constants.mjs";
4
+ import { areValuesUniqueFromStrings } from "../../../../../../../shared/application/dto/zod/refinements/array/array.zod.refinements.mjs";
5
+ import { QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS } from "../../../../../domain/value-objects/question-source-urls/question-source-urls.constants.mjs";
6
+ import { z } from "zod";
7
+
8
+ //#region ../../src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.ts
9
+ function zQuestionCognitiveDifficulty() {
10
+ return z.enum(QUESTION_COGNITIVE_DIFFICULTIES).describe("Question's cognitive difficulty level");
11
+ }
12
+ function zQuestionStatus() {
13
+ return z.enum(QUESTION_STATUSES).describe("Question's status");
14
+ }
15
+ function zQuestionCategory() {
16
+ return z.enum(QUESTION_CATEGORIES).describe("Question's category");
17
+ }
18
+ function zQuestionSourceUrls() {
19
+ return z.array(z.url()).min(QUESTION_SOURCE_URLS_MIN_ITEMS).max(QUESTION_SOURCE_URLS_MAX_ITEMS).refine(areValuesUniqueFromStrings, { message: "Source URLs must be unique" }).describe("List of unique source URLs for the question").meta({ example: ["https://example.com/source1", "https://example.com/source2"] });
20
+ }
21
+
22
+ //#endregion
23
+ export { zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionSourceUrls, zQuestionStatus };
24
+ //# sourceMappingURL=question.dto.zod.validators.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.dto.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { areValuesUniqueFromStrings } from \"@shared/application/dto/zod/refinements/array/array.zod.refinements\";\n\nimport { QUESTION_CATEGORIES } from \"@question/domain/value-objects/question-category/question-category.constants\";\nimport { QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS } from \"@question/domain/value-objects/question-source-urls/question-source-urls.constants\";\nimport { QUESTION_STATUSES } from \"@question/domain/value-objects/question-status/question-status.constants\";\nimport { QUESTION_COGNITIVE_DIFFICULTIES } from \"@question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants\";\n\nimport type { ZodEnum, ZodURL, ZodArray } from \"zod\";\n\nimport type { QuestionCategoryEnum } from \"@question/domain/value-objects/question-category/question-category.types\";\nimport type { QuestionStatusEnum } from \"@question/domain/value-objects/question-status/question-status.types\";\nimport type { QuestionCognitiveDifficultyEnum } from \"@question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types\";\n\nfunction zQuestionCognitiveDifficulty(): ZodEnum<QuestionCognitiveDifficultyEnum> {\n return z.enum(QUESTION_COGNITIVE_DIFFICULTIES)\n .describe(\"Question's cognitive difficulty level\");\n}\n\nfunction zQuestionStatus(): ZodEnum<QuestionStatusEnum> {\n return z.enum(QUESTION_STATUSES)\n .describe(\"Question's status\");\n}\n\nfunction zQuestionCategory(): ZodEnum<QuestionCategoryEnum> {\n return z.enum(QUESTION_CATEGORIES)\n .describe(\"Question's category\");\n}\n\nfunction zQuestionSourceUrls(): ZodArray<ZodURL> {\n return z.array(z.url())\n .min(QUESTION_SOURCE_URLS_MIN_ITEMS)\n .max(QUESTION_SOURCE_URLS_MAX_ITEMS)\n .refine(areValuesUniqueFromStrings, { message: \"Source URLs must be unique\" })\n .describe(\"List of unique source URLs for the question\")\n .meta({ example: [\"https://example.com/source1\", \"https://example.com/source2\"] });\n}\n\nexport {\n zQuestionCognitiveDifficulty,\n zQuestionStatus,\n zQuestionCategory,\n zQuestionSourceUrls,\n};"],"mappings":";;;;;;;;AAeA,SAAS,+BAAyE;AAChF,QAAO,EAAE,KAAK,gCAAgC,CAC3C,SAAS,wCAAwC;;AAGtD,SAAS,kBAA+C;AACtD,QAAO,EAAE,KAAK,kBAAkB,CAC7B,SAAS,oBAAoB;;AAGlC,SAAS,oBAAmD;AAC1D,QAAO,EAAE,KAAK,oBAAoB,CAC/B,SAAS,sBAAsB;;AAGpC,SAAS,sBAAwC;AAC/C,QAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CACpB,IAAI,+BAA+B,CACnC,IAAI,+BAA+B,CACnC,OAAO,4BAA4B,EAAE,SAAS,8BAA8B,CAAC,CAC7E,SAAS,8CAA8C,CACvD,KAAK,EAAE,SAAS,CAAC,+BAA+B,8BAA8B,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-author/question-author.constants.d.ts
2
+ declare const QUESTION_AUTHOR_ROLES: readonly ["admin", "game", "ai"];
3
+ //#endregion
4
+ export { QUESTION_AUTHOR_ROLES };
5
+ //# sourceMappingURL=question-author.constants.d.mts.map
@@ -0,0 +1,16 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-author/question-author.constants.ts
2
+ const QUESTION_AUTHOR_ROLE_ADMIN = "admin";
3
+ const QUESTION_AUTHOR_ROLE_GAME = "game";
4
+ const QUESTION_AUTHOR_ROLE_AI = "ai";
5
+ const QUESTION_AUTHOR_ROLES = [
6
+ QUESTION_AUTHOR_ROLE_ADMIN,
7
+ QUESTION_AUTHOR_ROLE_GAME,
8
+ QUESTION_AUTHOR_ROLE_AI
9
+ ];
10
+ const QUESTION_CREATION_AUTHOR_ROLES = [QUESTION_AUTHOR_ROLE_ADMIN, QUESTION_AUTHOR_ROLE_AI];
11
+ const QUESTION_AUTHOR_NAME_MIN_LENGTH = 3;
12
+ const QUESTION_AUTHOR_NAME_MAX_LENGTH = 30;
13
+
14
+ //#endregion
15
+ export { QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_AUTHOR_ROLES, QUESTION_CREATION_AUTHOR_ROLES };
16
+ //# sourceMappingURL=question-author.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-author.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-author/question-author.constants.ts"],"sourcesContent":["const QUESTION_AUTHOR_ROLE_ADMIN = \"admin\";\nconst QUESTION_AUTHOR_ROLE_GAME = \"game\";\nconst QUESTION_AUTHOR_ROLE_AI = \"ai\";\n\nconst QUESTION_AUTHOR_ROLES = [\n QUESTION_AUTHOR_ROLE_ADMIN,\n QUESTION_AUTHOR_ROLE_GAME,\n QUESTION_AUTHOR_ROLE_AI,\n] as const satisfies readonly string[];\n\nconst QUESTION_CREATION_AUTHOR_ROLES = [\n QUESTION_AUTHOR_ROLE_ADMIN,\n QUESTION_AUTHOR_ROLE_AI,\n] as const satisfies readonly string[];\n\nconst QUESTION_AUTHOR_NAME_MIN_LENGTH = 3;\n\nconst QUESTION_AUTHOR_NAME_MAX_LENGTH = 30;\n\nexport {\n QUESTION_AUTHOR_ROLE_ADMIN,\n QUESTION_AUTHOR_ROLE_GAME,\n QUESTION_AUTHOR_ROLE_AI,\n QUESTION_AUTHOR_ROLES,\n QUESTION_CREATION_AUTHOR_ROLES,\n QUESTION_AUTHOR_NAME_MIN_LENGTH,\n QUESTION_AUTHOR_NAME_MAX_LENGTH,\n};"],"mappings":";AAAA,MAAM,6BAA6B;AACnC,MAAM,4BAA4B;AAClC,MAAM,0BAA0B;AAEhC,MAAM,wBAAwB;CAC5B;CACA;CACA;CACD;AAED,MAAM,iCAAiC,CACrC,4BACA,wBACD;AAED,MAAM,kCAAkC;AAExC,MAAM,kCAAkC"}