@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.
- package/LICENSE +21 -0
- package/README.md +40 -0
- package/dist/question/index.d.mts +15 -0
- package/dist/question/index.mjs +11 -0
- package/dist/question-theme/index.d.mts +7 -0
- package/dist/question-theme/index.mjs +7 -0
- package/dist/shared/locale/index.d.mts +3 -0
- package/dist/shared/locale/index.mjs +3 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs +14 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs +13 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +20 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs +27 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs +13 -0
- package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs +13 -0
- package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +20 -0
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs +27 -0
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs +12 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs +14 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +15 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs +21 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +12 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs +13 -0
- package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs +15 -0
- package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs +12 -0
- package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs +10 -0
- package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +24 -0
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.d.mts +5 -0
- package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs +16 -0
- package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-author/question-author.types.d.mts +8 -0
- package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.d.mts +5 -0
- package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs +11 -0
- package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-category/question-category.types.d.mts +8 -0
- package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.d.mts +5 -0
- package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs +10 -0
- package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.mts +8 -0
- package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.d.mts +5 -0
- package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs +12 -0
- package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.d.mts +8 -0
- package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs +7 -0
- package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.d.mts +5 -0
- package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs +15 -0
- package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs.map +1 -0
- package/dist/src/contexts/question/domain/value-objects/question-status/question-status.types.d.mts +8 -0
- package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs +7 -0
- package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +19 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs +21 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +19 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs +24 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +13 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs +16 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +13 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs +16 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs +6 -0
- package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.d.mts +5 -0
- package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs +8 -0
- package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs.map +1 -0
- package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.types.d.mts +8 -0
- package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs +14 -0
- package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs.map +1 -0
- package/dist/src/shared/domain/value-objects/locale/locale.constants.d.mts +5 -0
- package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs +21 -0
- package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs.map +1 -0
- package/dist/src/shared/domain/value-objects/locale/locale.types.d.mts +10 -0
- package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs +17 -0
- package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs.map +1 -0
- package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs +38 -0
- package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs.map +1 -0
- package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs +9 -0
- package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs.map +1 -0
- package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs +27 -0
- package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map +1 -0
- 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,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"}
|
package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts
ADDED
|
@@ -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
|
package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs
ADDED
|
@@ -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
|
package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map
ADDED
|
@@ -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
|
package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs
ADDED
|
@@ -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"}
|