@goat-it/schemas 0.0.14-beta → 0.0.15-beta
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/dist/question/index.d.mts +3 -1
- package/dist/question/index.mjs +3 -1
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.d.mts +12 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs +14 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.d.mts +15 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs +17 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +12 -1
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -1
- package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs +22 -0
- package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -3,9 +3,11 @@ import { QuestionAuthorRole, QuestionCategory, QuestionCognitiveDifficulty, Ques
|
|
|
3
3
|
import { ADMIN_FIND_QUESTIONS_QUERY_DTO, AdminFindQuestionsQueryDto } from "../src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.mjs";
|
|
4
4
|
import { ADMIN_QUESTION_DTO, AdminQuestionDto } from "../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs";
|
|
5
5
|
import { FIND_QUESTIONS_QUERY_DTO, FindQuestionsQueryDto } from "../src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.mjs";
|
|
6
|
+
import { FIND_RANDOM_QUESTIONS_QUERY_DTO, FindRandomQuestionsQueryDto } from "../src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs";
|
|
6
7
|
import { QUESTION_CREATION_DTO, QuestionCreationDto } from "../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs";
|
|
7
8
|
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
9
|
import { QUESTION_MODIFICATION_DTO, QuestionModificationDto } from "../src/contexts/question/application/dto/question-modification/question-modification.dto.shape.mjs";
|
|
9
10
|
import { QUESTION_THEME_ASSIGNMENT_MODIFICATION_DTO, QuestionThemeAssignmentModificationDto } from "../src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.mjs";
|
|
10
11
|
import { QUESTION_DTO, QuestionDto } from "../src/contexts/question/application/dto/question/question.dto.shape.mjs";
|
|
11
|
-
|
|
12
|
+
import { RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM } from "../src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs";
|
|
13
|
+
export { ADMIN_FIND_QUESTIONS_QUERY_DTO, ADMIN_QUESTION_DTO, ADMIN_QUESTION_SORTABLE_FIELDS, type AdminFindQuestionsQueryDto, type AdminQuestionDto, FIND_QUESTIONS_QUERY_DTO, FIND_RANDOM_QUESTIONS_QUERY_DTO, type FindQuestionsQueryDto, type FindRandomQuestionsQueryDto, QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_AUTHOR_ROLES, QUESTION_CREATION_DTO, QUESTION_CREATION_STATUSES, QUESTION_DTO, QUESTION_MODIFICATION_DTO, QUESTION_REJECTION_TYPES, QUESTION_SORTABLE_FIELDS, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_STATUS_ACTIVE, QUESTION_STATUS_ARCHIVED, QUESTION_STATUS_PENDING, QUESTION_STATUS_REJECTED, QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS, QUESTION_THEME_ASSIGNMENT_CREATION_DTO, QUESTION_THEME_ASSIGNMENT_MODIFICATION_DTO, type QuestionAuthorRole, type QuestionCategory, type QuestionCognitiveDifficulty, type QuestionCreationDto, type QuestionDto, type QuestionModificationDto, type QuestionRejectionType, type QuestionStatus, type QuestionThemeAssignmentCreationDto, type QuestionThemeAssignmentModificationDto, RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM };
|
package/dist/question/index.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ADMIN_QUESTION_SORTABLE_FIELDS, QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_AUTHOR_ROLES, QUESTION_CREATION_STATUSES, QUESTION_REJECTION_TYPES, QUESTION_SORTABLE_FIELDS, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_STATUS_ACTIVE, QUESTION_STATUS_ARCHIVED, QUESTION_STATUS_PENDING, QUESTION_STATUS_REJECTED, QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS } from "../src/contexts/question/domain/constants/question.constants.mjs";
|
|
2
|
+
import { RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM } from "../src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs";
|
|
2
3
|
import { ADMIN_FIND_QUESTIONS_QUERY_DTO } from "../src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.mjs";
|
|
3
4
|
import { ADMIN_QUESTION_DTO } from "../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs";
|
|
4
5
|
import { FIND_QUESTIONS_QUERY_DTO } from "../src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.mjs";
|
|
6
|
+
import { FIND_RANDOM_QUESTIONS_QUERY_DTO } from "../src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs";
|
|
5
7
|
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";
|
|
6
8
|
import { QUESTION_CREATION_DTO } from "../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs";
|
|
7
9
|
import { QUESTION_MODIFICATION_DTO } from "../src/contexts/question/application/dto/question-modification/question-modification.dto.shape.mjs";
|
|
8
10
|
import { QUESTION_THEME_ASSIGNMENT_MODIFICATION_DTO } from "../src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.mjs";
|
|
9
11
|
import { QUESTION_DTO } from "../src/contexts/question/application/dto/question/question.dto.shape.mjs";
|
|
10
|
-
export { ADMIN_FIND_QUESTIONS_QUERY_DTO, ADMIN_QUESTION_DTO, ADMIN_QUESTION_SORTABLE_FIELDS, FIND_QUESTIONS_QUERY_DTO, QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_AUTHOR_ROLES, QUESTION_CREATION_DTO, QUESTION_CREATION_STATUSES, QUESTION_DTO, QUESTION_MODIFICATION_DTO, QUESTION_REJECTION_TYPES, QUESTION_SORTABLE_FIELDS, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_STATUS_ACTIVE, QUESTION_STATUS_ARCHIVED, QUESTION_STATUS_PENDING, QUESTION_STATUS_REJECTED, QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS, QUESTION_THEME_ASSIGNMENT_CREATION_DTO, QUESTION_THEME_ASSIGNMENT_MODIFICATION_DTO };
|
|
12
|
+
export { ADMIN_FIND_QUESTIONS_QUERY_DTO, ADMIN_QUESTION_DTO, ADMIN_QUESTION_SORTABLE_FIELDS, FIND_QUESTIONS_QUERY_DTO, FIND_RANDOM_QUESTIONS_QUERY_DTO, QUESTION_AUTHOR_NAME_MAX_LENGTH, QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_CREATION_AUTHOR_ROLES, QUESTION_CREATION_DTO, QUESTION_CREATION_STATUSES, QUESTION_DTO, QUESTION_MODIFICATION_DTO, QUESTION_REJECTION_TYPES, QUESTION_SORTABLE_FIELDS, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_STATUS_ACTIVE, QUESTION_STATUS_ARCHIVED, QUESTION_STATUS_PENDING, QUESTION_STATUS_REJECTED, QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS, QUESTION_THEME_ASSIGNMENT_CREATION_DTO, QUESTION_THEME_ASSIGNMENT_MODIFICATION_DTO, RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region ../../src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.d.ts
|
|
2
|
+
declare const RANDOM_QUESTIONS_LIMIT_DEFAULT = 20;
|
|
3
|
+
declare const RANDOM_QUESTIONS_LIMIT_MINIMUM = 1;
|
|
4
|
+
declare const RANDOM_QUESTIONS_LIMIT_MAXIMUM = 50;
|
|
5
|
+
declare const RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY = "excluded-ids";
|
|
6
|
+
declare const RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY = "categories";
|
|
7
|
+
declare const RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY = "cognitive-difficulties";
|
|
8
|
+
declare const RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM = 1;
|
|
9
|
+
declare const RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM = 200;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM };
|
|
12
|
+
//# sourceMappingURL=find-random-questions-query.dto.constants.d.mts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region ../../src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.ts
|
|
2
|
+
const RANDOM_QUESTIONS_LIMIT_DEFAULT = 20;
|
|
3
|
+
const RANDOM_QUESTIONS_LIMIT_MINIMUM = 1;
|
|
4
|
+
const RANDOM_QUESTIONS_LIMIT_MAXIMUM = 50;
|
|
5
|
+
const RANDOM_QUESTIONS_LIMIT_DESCRIPTION = "Number of random questions to return.";
|
|
6
|
+
const RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY = "excluded-ids";
|
|
7
|
+
const RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY = "categories";
|
|
8
|
+
const RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY = "cognitive-difficulties";
|
|
9
|
+
const RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM = 1;
|
|
10
|
+
const RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM = 200;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DEFAULT, RANDOM_QUESTIONS_LIMIT_DESCRIPTION, RANDOM_QUESTIONS_LIMIT_MAXIMUM, RANDOM_QUESTIONS_LIMIT_MINIMUM };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=find-random-questions-query.dto.constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-random-questions-query.dto.constants.mjs","names":[],"sources":["../../../../../../../../../../src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.ts"],"sourcesContent":["const RANDOM_QUESTIONS_LIMIT_DEFAULT = 20;\nconst RANDOM_QUESTIONS_LIMIT_MINIMUM = 1;\nconst RANDOM_QUESTIONS_LIMIT_MAXIMUM = 50;\nconst RANDOM_QUESTIONS_LIMIT_DESCRIPTION = \"Number of random questions to return.\";\n\nconst RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY = \"excluded-ids\";\nconst RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY = \"categories\";\nconst RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY = \"cognitive-difficulties\";\n\nconst RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM = 1;\nconst RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM = 200;\n\nexport {\n RANDOM_QUESTIONS_LIMIT_DEFAULT,\n RANDOM_QUESTIONS_LIMIT_MINIMUM,\n RANDOM_QUESTIONS_LIMIT_MAXIMUM,\n RANDOM_QUESTIONS_LIMIT_DESCRIPTION,\n RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY,\n RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY,\n RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY,\n RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM,\n RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM,\n};"],"mappings":";AAAA,MAAM,iCAAiC;AACvC,MAAM,iCAAiC;AACvC,MAAM,iCAAiC;AACvC,MAAM,qCAAqC;AAE3C,MAAM,0CAA0C;AAChD,MAAM,wCAAwC;AAC9C,MAAM,oDAAoD;AAE1D,MAAM,wCAAwC;AAC9C,MAAM,wCAAwC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { QuestionCategoryEnum, QuestionCognitiveDifficultyEnum } from "../../../domain/types/question.value-objects.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region ../../src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.d.ts
|
|
5
|
+
declare const FIND_RANDOM_QUESTIONS_QUERY_DTO: z.ZodObject<{
|
|
6
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
7
|
+
"excluded-ids": z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodString>>>;
|
|
8
|
+
categories: z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodEnum<QuestionCategoryEnum>>>>;
|
|
9
|
+
"cognitive-difficulties": z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodEnum<QuestionCognitiveDifficultyEnum>>>>;
|
|
10
|
+
"theme-ids": z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodString>>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
type FindRandomQuestionsQueryDto = z.infer<typeof FIND_RANDOM_QUESTIONS_QUERY_DTO>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { FIND_RANDOM_QUESTIONS_QUERY_DTO, type FindRandomQuestionsQueryDto };
|
|
15
|
+
//# sourceMappingURL=find-random-questions-query.dto.shape.d.mts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LIMIT_QUERY_KEY } from "../../../../../shared/application/dto/constants/limit-query.dto.constants.mjs";
|
|
2
|
+
import { QUESTION_THEME_IDS_QUERY_KEY } from "../shared/constants/question-filter-query.dto.constants.mjs";
|
|
3
|
+
import { RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY, RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY, RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY, RANDOM_QUESTIONS_LIMIT_DESCRIPTION } from "./constants/find-random-questions-query.dto.constants.mjs";
|
|
4
|
+
import { zQuestionCategoriesFilter, zQuestionCognitiveDifficultiesFilter, zQuestionExcludedIdsFilter, zQuestionThemeIdsFilter } from "../shared/zod/validators/question.dto.zod.validators.mjs";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
//#region ../../src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.ts
|
|
7
|
+
const FIND_RANDOM_QUESTIONS_QUERY_DTO = z.object({
|
|
8
|
+
[LIMIT_QUERY_KEY]: z.coerce.number().int().min(1).max(50).optional().default(20).describe(RANDOM_QUESTIONS_LIMIT_DESCRIPTION).meta({ example: 20 }),
|
|
9
|
+
[RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY]: zQuestionExcludedIdsFilter(),
|
|
10
|
+
[RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY]: zQuestionCategoriesFilter(),
|
|
11
|
+
[RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY]: zQuestionCognitiveDifficultiesFilter(),
|
|
12
|
+
[QUESTION_THEME_IDS_QUERY_KEY]: zQuestionThemeIdsFilter()
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { FIND_RANDOM_QUESTIONS_QUERY_DTO };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=find-random-questions-query.dto.shape.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-random-questions-query.dto.shape.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { LIMIT_QUERY_KEY } from \"@shared/application/dto/constants/limit-query.dto.constants\";\n\nimport {\n RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY,\n RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY,\n RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY,\n RANDOM_QUESTIONS_LIMIT_DEFAULT,\n RANDOM_QUESTIONS_LIMIT_DESCRIPTION,\n RANDOM_QUESTIONS_LIMIT_MAXIMUM,\n RANDOM_QUESTIONS_LIMIT_MINIMUM,\n} from \"@question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants\";\nimport { QUESTION_THEME_IDS_QUERY_KEY } from \"@question/application/dto/shared/constants/question-filter-query.dto.constants\";\nimport {\n zQuestionCategoriesFilter,\n zQuestionCognitiveDifficultiesFilter,\n zQuestionExcludedIdsFilter,\n zQuestionThemeIdsFilter,\n} from \"@question/application/dto/shared/zod/validators/question.dto.zod.validators\";\n\nconst FIND_RANDOM_QUESTIONS_QUERY_DTO = z.object({\n [LIMIT_QUERY_KEY]: z.coerce.number()\n .int()\n .min(RANDOM_QUESTIONS_LIMIT_MINIMUM)\n .max(RANDOM_QUESTIONS_LIMIT_MAXIMUM)\n .optional()\n .default(RANDOM_QUESTIONS_LIMIT_DEFAULT)\n .describe(RANDOM_QUESTIONS_LIMIT_DESCRIPTION)\n .meta({ example: RANDOM_QUESTIONS_LIMIT_DEFAULT }),\n [RANDOM_QUESTIONS_EXCLUDED_IDS_QUERY_KEY]: zQuestionExcludedIdsFilter(),\n [RANDOM_QUESTIONS_CATEGORIES_QUERY_KEY]: zQuestionCategoriesFilter(),\n [RANDOM_QUESTIONS_COGNITIVE_DIFFICULTIES_QUERY_KEY]: zQuestionCognitiveDifficultiesFilter(),\n [QUESTION_THEME_IDS_QUERY_KEY]: zQuestionThemeIdsFilter(),\n});\n\ntype FindRandomQuestionsQueryDto = z.infer<typeof FIND_RANDOM_QUESTIONS_QUERY_DTO>;\n\nexport type { FindRandomQuestionsQueryDto };\n\nexport { FIND_RANDOM_QUESTIONS_QUERY_DTO };"],"mappings":";;;;;;AAqBA,MAAM,kCAAkC,EAAE,OAAO;EAC9C,kBAAkB,EAAE,OAAO,OAAO,EAChC,IAAI,EACJ,IAAA,CAAkC,EAClC,IAAA,EAAkC,EAClC,SAAS,EACT,QAAA,EAAsC,EACtC,SAAS,kCAAkC,EAC3C,KAAK,EAAE,SAAA,GAAwC,CAAC;EAClD,0CAA0C,2BAA2B;EACrE,wCAAwC,0BAA0B;EAClE,oDAAoD,qCAAqC;EACzF,+BAA+B,wBAAwB;AAC1D,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_COGNITIVE_DIFFICULTIES, QUESTION_STATUSES } from "../../../../../domain/constants/question.constants.mjs";
|
|
2
2
|
import { areValuesUniqueFromStrings } from "../../../../../../../shared/application/dto/zod/refinements/array/array.zod.refinements.mjs";
|
|
3
3
|
import { normalizeToArray } from "../../../../../../../shared/application/dto/zod/preprocessors/array/array.zod.preprocessors.mjs";
|
|
4
|
+
import { zCreateFilterArray } from "../../../../../../../shared/application/dto/zod/validators/array/array.zod.validators.mjs";
|
|
4
5
|
import { zIsoDateTime, zMongoId } from "../../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
|
|
6
|
+
import "../../../find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs";
|
|
5
7
|
import { z } from "zod";
|
|
6
8
|
//#region ../../src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.ts
|
|
7
9
|
function zQuestionAuthorRole() {
|
|
@@ -19,6 +21,15 @@ function zQuestionCategory() {
|
|
|
19
21
|
function zQuestionSourceUrls() {
|
|
20
22
|
return z.array(z.url()).min(1).max(5).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"] });
|
|
21
23
|
}
|
|
24
|
+
function zQuestionExcludedIdsFilter() {
|
|
25
|
+
return zCreateFilterArray(zMongoId().describe("Question ID to exclude"), "Excluded IDs must be unique", "List of question IDs to exclude from the random pool", 1, 200);
|
|
26
|
+
}
|
|
27
|
+
function zQuestionCategoriesFilter() {
|
|
28
|
+
return zCreateFilterArray(z.enum(QUESTION_CATEGORIES), "Categories must be unique", "List of categories to include (OR logic)", 1);
|
|
29
|
+
}
|
|
30
|
+
function zQuestionCognitiveDifficultiesFilter() {
|
|
31
|
+
return zCreateFilterArray(z.enum(QUESTION_COGNITIVE_DIFFICULTIES), "Cognitive difficulties must be unique", "List of cognitive difficulties to include (OR logic)", 1);
|
|
32
|
+
}
|
|
22
33
|
function zQuestionThemeIdsFilter() {
|
|
23
34
|
return z.preprocess(normalizeToArray, z.array(zMongoId().describe("Theme ID to filter questions by")).min(1)).optional().describe("List of theme IDs to filter questions by (OR logic)");
|
|
24
35
|
}
|
|
@@ -32,6 +43,6 @@ function zQuestionUpdatedAt() {
|
|
|
32
43
|
return zIsoDateTime().describe("Question's last update date");
|
|
33
44
|
}
|
|
34
45
|
//#endregion
|
|
35
|
-
export { zQuestionAuthorRole, zQuestionCategory, zQuestionCognitiveDifficulty, zQuestionCreatedAt, zQuestionId, zQuestionSourceUrls, zQuestionStatus, zQuestionThemeIdsFilter, zQuestionUpdatedAt };
|
|
46
|
+
export { zQuestionAuthorRole, zQuestionCategoriesFilter, zQuestionCategory, zQuestionCognitiveDifficultiesFilter, zQuestionCognitiveDifficulty, zQuestionCreatedAt, zQuestionExcludedIdsFilter, zQuestionId, zQuestionSourceUrls, zQuestionStatus, zQuestionThemeIdsFilter, zQuestionUpdatedAt };
|
|
36
47
|
|
|
37
48
|
//# sourceMappingURL=question.dto.zod.validators.mjs.map
|
|
@@ -1 +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\";\nimport { normalizeToArray } from \"@shared/application/dto/zod/preprocessors/array/array.zod.preprocessors\";\nimport { zIsoDateTime, zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_COGNITIVE_DIFFICULTIES } from \"@question/domain/constants/question.constants\";\nimport type { QuestionAuthorRoleEnum, QuestionCategoryEnum, QuestionStatusEnum, QuestionCognitiveDifficultyEnum } from \"@question/domain/types/question.value-objects\";\n\nimport type { ZodEnum, ZodURL, ZodArray, ZodString, ZodISODateTime, ZodOptional, ZodPreprocess } from \"zod\";\n\nfunction zQuestionAuthorRole(): ZodEnum<QuestionAuthorRoleEnum> {\n return z.enum(QUESTION_AUTHOR_ROLES)\n .describe(\"Question author's role\");\n}\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\nfunction zQuestionThemeIdsFilter(): ZodOptional<ZodPreprocess<ZodArray<ZodString>>> {\n return z.preprocess(\n normalizeToArray,\n z.array(zMongoId().describe(\"Theme ID to filter questions by\")).min(1),\n )\n .optional()\n .describe(\"List of theme IDs to filter questions by (OR logic)\");\n}\n\nfunction zQuestionId(): ZodString {\n return zMongoId()\n .describe(\"Question's unique identifier\");\n}\n\nfunction zQuestionCreatedAt(): ZodISODateTime {\n return zIsoDateTime()\n .describe(\"Question's creation date\");\n}\n\nfunction zQuestionUpdatedAt(): ZodISODateTime {\n return zIsoDateTime()\n .describe(\"Question's last update date\");\n}\n\nexport {\n zQuestionAuthorRole,\n zQuestionCognitiveDifficulty,\n zQuestionStatus,\n zQuestionCategory,\n zQuestionSourceUrls,\n zQuestionThemeIdsFilter,\n zQuestionId,\n zQuestionCreatedAt,\n zQuestionUpdatedAt,\n};"],"mappings":"
|
|
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\";\nimport { normalizeToArray } from \"@shared/application/dto/zod/preprocessors/array/array.zod.preprocessors\";\nimport { zCreateFilterArray } from \"@shared/application/dto/zod/validators/array/array.zod.validators\";\nimport { zIsoDateTime, zMongoId } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_AUTHOR_ROLES, QUESTION_CATEGORIES, QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS, QUESTION_STATUSES, QUESTION_COGNITIVE_DIFFICULTIES } from \"@question/domain/constants/question.constants\";\nimport { RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM, RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM } from \"@question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants\";\nimport type { QuestionAuthorRoleEnum, QuestionCategoryEnum, QuestionStatusEnum, QuestionCognitiveDifficultyEnum } from \"@question/domain/types/question.value-objects\";\n\nimport type { ZodEnum, ZodURL, ZodArray, ZodString, ZodISODateTime, ZodOptional, ZodPreprocess } from \"zod\";\n\nfunction zQuestionAuthorRole(): ZodEnum<QuestionAuthorRoleEnum> {\n return z.enum(QUESTION_AUTHOR_ROLES)\n .describe(\"Question author's role\");\n}\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\nfunction zQuestionExcludedIdsFilter(): ZodOptional<ZodPreprocess<ZodArray<ZodString>>> {\n return zCreateFilterArray(\n zMongoId().describe(\"Question ID to exclude\"),\n \"Excluded IDs must be unique\",\n \"List of question IDs to exclude from the random pool\",\n RANDOM_QUESTIONS_EXCLUDED_IDS_MINIMUM,\n RANDOM_QUESTIONS_EXCLUDED_IDS_MAXIMUM,\n );\n}\n\nfunction zQuestionCategoriesFilter(): ZodOptional<ZodPreprocess<ZodArray<ZodEnum<QuestionCategoryEnum>>>> {\n return zCreateFilterArray(\n z.enum(QUESTION_CATEGORIES),\n \"Categories must be unique\",\n \"List of categories to include (OR logic)\",\n 1,\n );\n}\n\nfunction zQuestionCognitiveDifficultiesFilter(): ZodOptional<ZodPreprocess<ZodArray<ZodEnum<QuestionCognitiveDifficultyEnum>>>> {\n return zCreateFilterArray(\n z.enum(QUESTION_COGNITIVE_DIFFICULTIES),\n \"Cognitive difficulties must be unique\",\n \"List of cognitive difficulties to include (OR logic)\",\n 1,\n );\n}\n\nfunction zQuestionThemeIdsFilter(): ZodOptional<ZodPreprocess<ZodArray<ZodString>>> {\n return z.preprocess(\n normalizeToArray,\n z.array(zMongoId().describe(\"Theme ID to filter questions by\")).min(1),\n )\n .optional()\n .describe(\"List of theme IDs to filter questions by (OR logic)\");\n}\n\nfunction zQuestionId(): ZodString {\n return zMongoId()\n .describe(\"Question's unique identifier\");\n}\n\nfunction zQuestionCreatedAt(): ZodISODateTime {\n return zIsoDateTime()\n .describe(\"Question's creation date\");\n}\n\nfunction zQuestionUpdatedAt(): ZodISODateTime {\n return zIsoDateTime()\n .describe(\"Question's last update date\");\n}\n\nexport {\n zQuestionAuthorRole,\n zQuestionCognitiveDifficulty,\n zQuestionStatus,\n zQuestionCategory,\n zQuestionSourceUrls,\n zQuestionExcludedIdsFilter,\n zQuestionCategoriesFilter,\n zQuestionCognitiveDifficultiesFilter,\n zQuestionThemeIdsFilter,\n zQuestionId,\n zQuestionCreatedAt,\n zQuestionUpdatedAt,\n};"],"mappings":";;;;;;;;AAaA,SAAS,sBAAuD;CAC9D,OAAO,EAAE,KAAK,qBAAqB,EAChC,SAAS,wBAAwB;AACtC;AAEA,SAAS,+BAAyE;CAChF,OAAO,EAAE,KAAK,+BAA+B,EAC1C,SAAS,uCAAuC;AACrD;AAEA,SAAS,kBAA+C;CACtD,OAAO,EAAE,KAAK,iBAAiB,EAC5B,SAAS,mBAAmB;AACjC;AAEA,SAAS,oBAAmD;CAC1D,OAAO,EAAE,KAAK,mBAAmB,EAC9B,SAAS,qBAAqB;AACnC;AAEA,SAAS,sBAAwC;CAC/C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EACnB,IAAA,CAAkC,EAClC,IAAA,CAAkC,EAClC,OAAO,4BAA4B,EAAE,SAAS,6BAA6B,CAAC,EAC5E,SAAS,6CAA6C,EACtD,KAAK,EAAE,SAAS,CAAC,+BAA+B,6BAA6B,EAAE,CAAC;AACrF;AAEA,SAAS,6BAA8E;CACrF,OAAO,mBACL,SAAS,EAAE,SAAS,wBAAwB,GAC5C,+BACA,wDAAA,GAAA,GAGF;AACF;AAEA,SAAS,4BAAiG;CACxG,OAAO,mBACL,EAAE,KAAK,mBAAmB,GAC1B,6BACA,4CACA,CACF;AACF;AAEA,SAAS,uCAAuH;CAC9H,OAAO,mBACL,EAAE,KAAK,+BAA+B,GACtC,yCACA,wDACA,CACF;AACF;AAEA,SAAS,0BAA2E;CAClF,OAAO,EAAE,WACP,kBACA,EAAE,MAAM,SAAS,EAAE,SAAS,iCAAiC,CAAC,EAAE,IAAI,CAAC,CACvE,EACG,SAAS,EACT,SAAS,qDAAqD;AACnE;AAEA,SAAS,cAAyB;CAChC,OAAO,SAAS,EACb,SAAS,8BAA8B;AAC5C;AAEA,SAAS,qBAAqC;CAC5C,OAAO,aAAa,EACjB,SAAS,0BAA0B;AACxC;AAEA,SAAS,qBAAqC;CAC5C,OAAO,aAAa,EACjB,SAAS,6BAA6B;AAC3C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { normalizeToArray } from "../../preprocessors/array/array.zod.preprocessors.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region ../../src/shared/application/dto/zod/validators/array/array.zod.validators.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a Zod schema for an optional array filter parameter from query strings.
|
|
6
|
+
* Combines: preprocess(normalizeToArray) → array(innerSchema) → min/max → refine(uniqueness) → optional → describe
|
|
7
|
+
* @param innerSchema - The Zod schema for individual array items
|
|
8
|
+
* @param uniquenessMessage - Error message for duplicate value validation
|
|
9
|
+
* @param description - OpenAPI description for the filter parameter
|
|
10
|
+
* @param minItems - Minimum number of items (optional)
|
|
11
|
+
* @param maxItems - Maximum number of items (optional)
|
|
12
|
+
*/
|
|
13
|
+
function zCreateFilterArray(innerSchema, uniquenessMessage, description, minItems, maxItems) {
|
|
14
|
+
let arraySchema = z.array(innerSchema);
|
|
15
|
+
if (minItems !== void 0) arraySchema = arraySchema.min(minItems);
|
|
16
|
+
if (maxItems !== void 0) arraySchema = arraySchema.max(maxItems);
|
|
17
|
+
return z.preprocess(normalizeToArray, arraySchema).refine((array) => new Set(array).size === array.length, { message: uniquenessMessage }).optional().describe(description);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { zCreateFilterArray };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=array.zod.validators.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/application/dto/zod/validators/array/array.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { normalizeToArray } from \"@shared/application/dto/zod/preprocessors/array/array.zod.preprocessors\";\n\nimport type { ZodArray, ZodOptional, ZodPreprocess, ZodType } from \"zod\";\n\n/**\n * Creates a Zod schema for an optional array filter parameter from query strings.\n * Combines: preprocess(normalizeToArray) → array(innerSchema) → min/max → refine(uniqueness) → optional → describe\n * @param innerSchema - The Zod schema for individual array items\n * @param uniquenessMessage - Error message for duplicate value validation\n * @param description - OpenAPI description for the filter parameter\n * @param minItems - Minimum number of items (optional)\n * @param maxItems - Maximum number of items (optional)\n */\nfunction zCreateFilterArray<T extends ZodType>(\n innerSchema: T,\n uniquenessMessage: string,\n description: string,\n minItems?: number,\n maxItems?: number,\n): ZodOptional<ZodPreprocess<ZodArray<T>>> {\n let arraySchema = z.array(innerSchema);\n\n if (minItems !== undefined) {\n arraySchema = arraySchema.min(minItems);\n }\n if (maxItems !== undefined) {\n arraySchema = arraySchema.max(maxItems);\n }\n return z.preprocess(normalizeToArray, arraySchema)\n .refine(array => new Set(array).size === array.length, { message: uniquenessMessage })\n .optional()\n .describe(description);\n}\n\nexport { zCreateFilterArray };"],"mappings":";;;;;;;;;;;;AAeA,SAAS,mBACP,aACA,mBACA,aACA,UACA,UACyC;CACzC,IAAI,cAAc,EAAE,MAAM,WAAW;CAErC,IAAI,aAAa,KAAA,GACf,cAAc,YAAY,IAAI,QAAQ;CAExC,IAAI,aAAa,KAAA,GACf,cAAc,YAAY,IAAI,QAAQ;CAExC,OAAO,EAAE,WAAW,kBAAkB,WAAW,EAC9C,QAAO,UAAS,IAAI,IAAI,KAAK,EAAE,SAAS,MAAM,QAAQ,EAAE,SAAS,kBAAkB,CAAC,EACpF,SAAS,EACT,SAAS,WAAW;AACzB"}
|
package/package.json
CHANGED