@goat-it/schemas 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (14) hide show
  1. package/dist/question/index.d.mts +3 -3
  2. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +52 -11
  3. package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +52 -11
  4. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +23 -6
  5. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +1 -1
  6. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.types.d.mts +3 -1
  7. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.mts +3 -1
  8. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.types.d.mts +3 -1
  9. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +9 -8
  10. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +6 -5
  11. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +4 -4
  12. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +4 -4
  13. package/dist/src/shared/types/enum.types.d.mts +22 -0
  14. package/package.json +3 -2
@@ -3,13 +3,13 @@ import { QUESTION_CATEGORIES } from "../src/contexts/question/domain/value-objec
3
3
  import { QUESTION_STATUSES } from "../src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs";
4
4
  import { QUESTION_AUTHOR_ROLES } from "../src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs";
5
5
  import { QUESTION_REJECTION_TYPES } from "../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs";
6
+ import { QuestionCategory } from "../src/contexts/question/domain/value-objects/question-category/question-category.types.mjs";
7
+ import { QuestionCognitiveDifficulty } from "../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.mjs";
6
8
  import { QUESTION_CREATION_DTO, QuestionCreationDto } from "../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs";
7
9
  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";
10
+ import { QuestionStatus } from "../src/contexts/question/domain/value-objects/question-status/question-status.types.mjs";
8
11
  import { QUESTION_DTO, QuestionDto } from "../src/contexts/question/application/dto/question/question.dto.shape.mjs";
9
12
  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
13
  import { QuestionAuthorRole } from "../src/contexts/question/domain/value-objects/question-author/question-author.types.mjs";
14
14
  import { QuestionRejectionType } from "../src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.mjs";
15
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 };
@@ -1,18 +1,59 @@
1
+ import { QuestionCategoryEnum } from "../../../domain/value-objects/question-category/question-category.types.mjs";
2
+ import { QuestionCognitiveDifficultyEnum } from "../../../domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.mjs";
3
+ import { QuestionStatusEnum } from "../../../domain/value-objects/question-status/question-status.types.mjs";
1
4
  import { z } from "zod";
2
5
 
3
6
  //#region ../../src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.ts
4
7
  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;
8
+ id: z.ZodString;
9
+ category: z.ZodEnum<QuestionCategoryEnum>;
10
+ themes: z.ZodArray<z.ZodObject<{
11
+ theme: z.ZodObject<{
12
+ id: z.ZodString;
13
+ slug: z.ZodString;
14
+ label: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
15
+ aliases: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>;
16
+ description: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
17
+ status: z.ZodEnum<{
18
+ active: "active";
19
+ archived: "archived";
20
+ }>;
21
+ createdAt: z.ZodISODateTime;
22
+ updatedAt: z.ZodISODateTime;
23
+ }, z.core.$strict>;
24
+ isPrimary: z.ZodBoolean;
25
+ isHint: z.ZodBoolean;
26
+ }, z.core.$strict>>;
27
+ content: z.ZodObject<{
28
+ statement: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
29
+ answer: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
30
+ context: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>>;
31
+ trivia: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>>;
32
+ }, z.core.$strict>;
33
+ cognitiveDifficulty: z.ZodEnum<QuestionCognitiveDifficultyEnum>;
34
+ author: z.ZodObject<{
35
+ role: z.ZodEnum<{
36
+ admin: "admin";
37
+ ai: "ai";
38
+ game: "game";
39
+ }>;
40
+ gameId: z.ZodOptional<z.ZodString>;
41
+ name: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strict>;
43
+ status: z.ZodEnum<QuestionStatusEnum>;
44
+ rejection: z.ZodOptional<z.ZodObject<{
45
+ type: z.ZodEnum<{
46
+ "inappropriate-content": "inappropriate-content";
47
+ "incorrect-information": "incorrect-information";
48
+ "poor-quality": "poor-quality";
49
+ "duplicate-question": "duplicate-question";
50
+ other: "other";
51
+ }>;
52
+ comment: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strict>>;
54
+ sourceUrls: z.ZodArray<z.ZodURL>;
55
+ createdAt: z.ZodISODateTime;
56
+ updatedAt: z.ZodISODateTime;
16
57
  }, z.core.$strict>;
17
58
  type AdminQuestionDto = z.infer<typeof ADMIN_QUESTION_DTO>;
18
59
  //#endregion
@@ -1,18 +1,59 @@
1
+ import { QuestionCategoryEnum } from "../../../domain/value-objects/question-category/question-category.types.mjs";
2
+ import { QuestionCognitiveDifficultyEnum } from "../../../domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.mjs";
3
+ import { QuestionStatusEnum } from "../../../domain/value-objects/question-status/question-status.types.mjs";
1
4
  import { z } from "zod";
2
5
 
3
6
  //#region ../../src/contexts/question/application/dto/question/question.dto.shape.d.ts
4
7
  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;
8
+ id: z.ZodString;
9
+ category: z.ZodEnum<QuestionCategoryEnum>;
10
+ themes: z.ZodArray<z.ZodObject<{
11
+ theme: z.ZodObject<{
12
+ id: z.ZodString;
13
+ slug: z.ZodString;
14
+ label: z.ZodString;
15
+ aliases: z.ZodArray<z.ZodString>;
16
+ description: z.ZodString;
17
+ status: z.ZodEnum<{
18
+ active: "active";
19
+ archived: "archived";
20
+ }>;
21
+ createdAt: z.ZodISODateTime;
22
+ updatedAt: z.ZodISODateTime;
23
+ }, z.core.$strict>;
24
+ isPrimary: z.ZodBoolean;
25
+ isHint: z.ZodBoolean;
26
+ }, z.core.$strict>>;
27
+ content: z.ZodObject<{
28
+ statement: z.ZodString;
29
+ answer: z.ZodString;
30
+ context: z.ZodOptional<z.ZodString>;
31
+ trivia: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
+ }, z.core.$strict>;
33
+ cognitiveDifficulty: z.ZodEnum<QuestionCognitiveDifficultyEnum>;
34
+ author: z.ZodObject<{
35
+ role: z.ZodEnum<{
36
+ admin: "admin";
37
+ ai: "ai";
38
+ game: "game";
39
+ }>;
40
+ gameId: z.ZodOptional<z.ZodString>;
41
+ name: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strict>;
43
+ status: z.ZodEnum<QuestionStatusEnum>;
44
+ rejection: z.ZodOptional<z.ZodObject<{
45
+ type: z.ZodEnum<{
46
+ "inappropriate-content": "inappropriate-content";
47
+ "incorrect-information": "incorrect-information";
48
+ "poor-quality": "poor-quality";
49
+ "duplicate-question": "duplicate-question";
50
+ other: "other";
51
+ }>;
52
+ comment: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strict>>;
54
+ sourceUrls: z.ZodArray<z.ZodURL>;
55
+ createdAt: z.ZodISODateTime;
56
+ updatedAt: z.ZodISODateTime;
16
57
  }, z.core.$strict>;
17
58
  type QuestionDto = z.infer<typeof QUESTION_DTO>;
18
59
  //#endregion
@@ -1,13 +1,30 @@
1
+ import { QuestionCategoryEnum } from "../../../domain/value-objects/question-category/question-category.types.mjs";
2
+ import { QuestionCognitiveDifficultyEnum } from "../../../domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.mjs";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region ../../src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.ts
4
6
  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;
7
+ category: z.ZodEnum<QuestionCategoryEnum>;
8
+ themes: z.ZodArray<z.ZodObject<{
9
+ themeId: z.ZodString;
10
+ isPrimary: z.ZodBoolean;
11
+ isHint: z.ZodBoolean;
12
+ }, z.core.$strip>>;
13
+ content: z.ZodObject<{
14
+ statement: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
15
+ answer: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
16
+ context: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>>;
17
+ trivia: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>>;
18
+ }, z.core.$strip>;
19
+ cognitiveDifficulty: z.ZodEnum<QuestionCognitiveDifficultyEnum>;
20
+ author: z.ZodObject<{
21
+ role: z.ZodEnum<{
22
+ admin: "admin";
23
+ ai: "ai";
24
+ }>;
25
+ name: z.ZodString;
26
+ }, z.core.$strip>;
27
+ sourceUrls: z.ZodArray<z.ZodURL>;
11
28
  }, z.core.$strip>;
12
29
  type QuestionCreationDto = z.infer<typeof QUESTION_CREATION_DTO>;
13
30
  //#endregion
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
 
3
3
  //#region ../../src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.ts
4
4
  declare const QUESTION_THEME_ASSIGNMENT_CREATION_DTO: z.ZodObject<{
5
- themeId: any;
5
+ themeId: z.ZodString;
6
6
  isPrimary: z.ZodBoolean;
7
7
  isHint: z.ZodBoolean;
8
8
  }, z.core.$strip>;
@@ -1,8 +1,10 @@
1
1
  import { QUESTION_CATEGORIES } from "./question-category.constants.mjs";
2
+ import { TupleToEnum } from "../../../../../shared/types/enum.types.mjs";
2
3
  import { TupleToUnion } from "type-fest";
3
4
 
4
5
  //#region ../../src/contexts/question/domain/value-objects/question-category/question-category.types.d.ts
5
6
  type QuestionCategory = TupleToUnion<typeof QUESTION_CATEGORIES>;
7
+ type QuestionCategoryEnum = TupleToEnum<typeof QUESTION_CATEGORIES>;
6
8
  //#endregion
7
- export { type QuestionCategory };
9
+ export { type QuestionCategory, type QuestionCategoryEnum };
8
10
  //# sourceMappingURL=question-category.types.d.mts.map
@@ -1,8 +1,10 @@
1
1
  import { QUESTION_COGNITIVE_DIFFICULTIES } from "./question-cognitive-difficulty.constants.mjs";
2
+ import { TupleToEnum } from "../../../../../shared/types/enum.types.mjs";
2
3
  import { TupleToUnion } from "type-fest";
3
4
 
4
5
  //#region ../../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.ts
5
6
  type QuestionCognitiveDifficulty = TupleToUnion<typeof QUESTION_COGNITIVE_DIFFICULTIES>;
7
+ type QuestionCognitiveDifficultyEnum = TupleToEnum<typeof QUESTION_COGNITIVE_DIFFICULTIES>;
6
8
  //#endregion
7
- export { type QuestionCognitiveDifficulty };
9
+ export { type QuestionCognitiveDifficulty, type QuestionCognitiveDifficultyEnum };
8
10
  //# sourceMappingURL=question-cognitive-difficulty.types.d.mts.map
@@ -1,8 +1,10 @@
1
1
  import { QUESTION_STATUSES } from "./question-status.constants.mjs";
2
+ import { TupleToEnum } from "../../../../../shared/types/enum.types.mjs";
2
3
  import { TupleToUnion } from "type-fest";
3
4
 
4
5
  //#region ../../src/contexts/question/domain/value-objects/question-status/question-status.types.d.ts
5
6
  type QuestionStatus = TupleToUnion<typeof QUESTION_STATUSES>;
7
+ type QuestionStatusEnum = TupleToEnum<typeof QUESTION_STATUSES>;
6
8
  //#endregion
7
- export { type QuestionStatus };
9
+ export { type QuestionStatus, type QuestionStatusEnum };
8
10
  //# sourceMappingURL=question-status.types.d.mts.map
@@ -2,16 +2,17 @@ import { z } from "zod";
2
2
 
3
3
  //#region ../../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.ts
4
4
  declare const ADMIN_QUESTION_THEME_DTO: z.ZodObject<{
5
- id: any;
6
- slug: any;
7
- label: any;
8
- aliases: any;
9
- description: any;
5
+ id: z.ZodString;
6
+ slug: z.ZodString;
7
+ label: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
8
+ aliases: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>;
9
+ description: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
10
10
  status: z.ZodEnum<{
11
- [x: string]: any;
11
+ active: "active";
12
+ archived: "archived";
12
13
  }>;
13
- createdAt: any;
14
- updatedAt: any;
14
+ createdAt: z.ZodISODateTime;
15
+ updatedAt: z.ZodISODateTime;
15
16
  }, z.core.$strict>;
16
17
  type AdminQuestionThemeDto = z.infer<typeof ADMIN_QUESTION_THEME_DTO>;
17
18
  //#endregion
@@ -2,16 +2,17 @@ import { z } from "zod";
2
2
 
3
3
  //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.ts
4
4
  declare const QUESTION_THEME_DTO: z.ZodObject<{
5
- id: any;
6
- slug: any;
5
+ id: z.ZodString;
6
+ slug: z.ZodString;
7
7
  label: z.ZodString;
8
8
  aliases: z.ZodArray<z.ZodString>;
9
9
  description: z.ZodString;
10
10
  status: z.ZodEnum<{
11
- [x: string]: any;
11
+ active: "active";
12
+ archived: "archived";
12
13
  }>;
13
- createdAt: any;
14
- updatedAt: any;
14
+ createdAt: z.ZodISODateTime;
15
+ updatedAt: z.ZodISODateTime;
15
16
  }, z.core.$strict>;
16
17
  type QuestionThemeDto = z.infer<typeof QUESTION_THEME_DTO>;
17
18
  //#endregion
@@ -2,10 +2,10 @@ import { z } from "zod";
2
2
 
3
3
  //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.ts
4
4
  declare const QUESTION_THEME_CREATION_DTO: z.ZodObject<{
5
- slug: any;
6
- label: any;
7
- aliases: any;
8
- description: any;
5
+ slug: z.ZodString;
6
+ label: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
7
+ aliases: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>;
8
+ description: z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>;
9
9
  }, z.core.$strip>;
10
10
  type QuestionThemeCreationDto = z.infer<typeof QUESTION_THEME_CREATION_DTO>;
11
11
  //#endregion
@@ -2,10 +2,10 @@ import { z } from "zod";
2
2
 
3
3
  //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.ts
4
4
  declare const QUESTION_THEME_MODIFICATION_DTO: z.ZodObject<{
5
- slug: any;
6
- label: any;
7
- aliases: any;
8
- description: any;
5
+ slug: z.ZodOptional<z.ZodString>;
6
+ label: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>>;
7
+ aliases: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodArray<z.ZodString>>>, z.core.$strip>>;
8
+ description: z.ZodOptional<z.ZodObject<Record<"en" | "fr" | "es" | "de" | "it" | "pt", z.ZodOptional<z.ZodString>>, z.core.$strip>>;
9
9
  }, z.core.$strip>;
10
10
  type QuestionThemeModificationDto = z.infer<typeof QUESTION_THEME_MODIFICATION_DTO>;
11
11
  //#endregion
@@ -0,0 +1,22 @@
1
+ //#region ../../src/shared/types/enum.types.d.ts
2
+ /**
3
+ * Converts a tuple of strings into an enum-like object type.
4
+ *
5
+ * @template T - A readonly tuple of strings.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const COLORS = ['RED', 'GREEN', 'BLUE'] as const;
10
+ * type ColorEnum = TupleToEnum<typeof COLORS>;
11
+ * // Resulting type:
12
+ * // {
13
+ * // RED: 'RED';
14
+ * // GREEN: 'GREEN';
15
+ * // BLUE: 'BLUE';
16
+ * // }
17
+ * ```
18
+ */
19
+ type TupleToEnum<T extends readonly string[]> = { [K in T[number]]: K };
20
+ //#endregion
21
+ export { type TupleToEnum };
22
+ //# sourceMappingURL=enum.types.d.mts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@goat-it/schemas",
3
3
  "type": "module",
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "description": "Shared types, constants and Zod schemas for the Goat It projects.",
6
6
  "author": "Antoine ZANARDI",
7
7
  "license": "MIT",
@@ -43,6 +43,7 @@
43
43
  "sideEffects": false,
44
44
  "scripts": {
45
45
  "dev": "tsdown --watch",
46
- "build": "tsdown"
46
+ "build": "tsdown && pnpm run check:dts",
47
+ "check:dts": "! grep -rn ': any' dist/ --include='*.d.mts'"
47
48
  }
48
49
  }