@42-lyon/42api-zod-schemas 1.0.0

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 (54) hide show
  1. package/README.md +104 -0
  2. package/dist/index.d.ts +13 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +13 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/resources/achievements/achievements.d.ts +42 -0
  7. package/dist/resources/achievements/achievements.d.ts.map +1 -0
  8. package/dist/resources/achievements/achievements.js +30 -0
  9. package/dist/resources/achievements/achievements.js.map +1 -0
  10. package/dist/resources/achievements/achievements_users.d.ts +13 -0
  11. package/dist/resources/achievements/achievements_users.d.ts.map +1 -0
  12. package/dist/resources/achievements/achievements_users.js +12 -0
  13. package/dist/resources/achievements/achievements_users.js.map +1 -0
  14. package/dist/resources/bloc.d.ts +14 -0
  15. package/dist/resources/bloc.d.ts.map +1 -0
  16. package/dist/resources/bloc.js +13 -0
  17. package/dist/resources/bloc.js.map +1 -0
  18. package/dist/resources/campus.d.ts +8 -0
  19. package/dist/resources/campus.d.ts.map +1 -0
  20. package/dist/resources/campus.js +7 -0
  21. package/dist/resources/campus.js.map +1 -0
  22. package/dist/resources/close.d.ts +13 -0
  23. package/dist/resources/close.d.ts.map +1 -0
  24. package/dist/resources/close.js +15 -0
  25. package/dist/resources/close.js.map +1 -0
  26. package/dist/resources/events.d.ts +20 -0
  27. package/dist/resources/events.d.ts.map +1 -0
  28. package/dist/resources/events.js +22 -0
  29. package/dist/resources/events.js.map +1 -0
  30. package/dist/resources/experiences.d.ts +13 -0
  31. package/dist/resources/experiences.d.ts.map +1 -0
  32. package/dist/resources/experiences.js +12 -0
  33. package/dist/resources/experiences.js.map +1 -0
  34. package/dist/resources/pool.d.ts +10 -0
  35. package/dist/resources/pool.d.ts.map +1 -0
  36. package/dist/resources/pool.js +9 -0
  37. package/dist/resources/pool.js.map +1 -0
  38. package/dist/resources/project.d.ts +31 -0
  39. package/dist/resources/project.d.ts.map +1 -0
  40. package/dist/resources/project.js +29 -0
  41. package/dist/resources/project.js.map +1 -0
  42. package/dist/resources/quest.d.ts +17 -0
  43. package/dist/resources/quest.d.ts.map +1 -0
  44. package/dist/resources/quest.js +15 -0
  45. package/dist/resources/quest.js.map +1 -0
  46. package/dist/resources/team.d.ts +17 -0
  47. package/dist/resources/team.d.ts.map +1 -0
  48. package/dist/resources/team.js +15 -0
  49. package/dist/resources/team.js.map +1 -0
  50. package/dist/resources/users/users.d.ts +17 -0
  51. package/dist/resources/users/users.d.ts.map +1 -0
  52. package/dist/resources/users/users.js +16 -0
  53. package/dist/resources/users/users.js.map +1 -0
  54. package/package.json +42 -0
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # 42API-zod-schemas
2
+
3
+ This package centralises Zod schemas for common 42 API resources so downstream projects can parse, validate and type responses safely.
4
+
5
+ ## Features
6
+
7
+ - Zod schemas for several 42 API resources (users, projects, events, campuses, achievements, and more)
8
+ - TypeScript types inferred from the Zod schemas
9
+ - ESM-friendly exports (import only what you need)
10
+
11
+ ## Installation
12
+
13
+
14
+ ```bash
15
+ # Navigate to your project
16
+ cd <my-awsome-project>
17
+
18
+ # clone this repository:
19
+ git clone git@github.com:42-Lyon/42API-zod-schemas.git
20
+ # or add it as a submodule
21
+ git submodule add git@github.com:42-Lyon/42API-zod-schemas.git
22
+
23
+ # Install the module as a local package
24
+ npm install ./42API-zod-schemas
25
+ ```
26
+
27
+ This package is distributed as an ESM package and ships TypeScript types in `dist`.
28
+
29
+ ## Quick usage
30
+
31
+ Import a schema and parse/validate API responses. The package exports individual resource schemas from `src/resources`.
32
+
33
+ Example (ESM / TypeScript):
34
+
35
+ ```ts
36
+ import { intraUserSchema } from '42api-zod-schemas';
37
+
38
+ // Validate a response body
39
+ const response = await fetch('https://api.intra.42.fr/v2/users/cameo');
40
+ const data = await response.json();
41
+
42
+ // Throws if validation fails
43
+ const user = intraUserSchema.parse(data);
44
+
45
+ // Or use safe parsing
46
+ const result = intraUserSchema.safeParse(data);
47
+ if (!result.success) {
48
+ console.error('Invalid user response', result.error);
49
+ } else {
50
+ // Typed as the inferred type below
51
+ const typedUser = result.data;
52
+ }
53
+
54
+ ```
55
+
56
+ For each schema, a related type is also available
57
+ ```ts
58
+ import { intraUserSchema, type IntraUser } from '42api-zod-schemas';
59
+
60
+ const user: IntraUser = {
61
+ ...
62
+ }
63
+
64
+ ```
65
+
66
+ ## Exported schemas
67
+
68
+ The package re-exports schemas from `src/resources`. As of this release it includes (but may not be limited to):
69
+
70
+ - `achievement`
71
+ - `bloc`
72
+ - `campus`
73
+ - `close`
74
+ - `events`
75
+ - `pool`
76
+ - `project`
77
+ - `quest`
78
+ - `user`
79
+
80
+ ## Build
81
+
82
+ This package is authored in TypeScript. Build with:
83
+
84
+ ```bash
85
+ npm run build
86
+ ```
87
+
88
+ That runs `tsc` and emits `dist` (see `package.json` `main`/`types` fields).
89
+
90
+ ## Contributing
91
+
92
+ Contributions welcome. Suggested workflow:
93
+
94
+ 1. Fork the repo and create a feature branch.
95
+ 2. Add or update schemas under `src/resources`.
96
+ 3. Run `npm run build` to ensure types build correctly.
97
+ 4. Open a PR describing your changes.
98
+
99
+ When adding schemas, follow the existing pattern: export a Zod schema and an inferred TypeScript type.
100
+
101
+ ## Links
102
+
103
+ - Repository: https://github.com/42-Lyon/42API-zod-schemas
104
+ - Issues: https://github.com/42-Lyon/42API-zod-schemas/issues
@@ -0,0 +1,13 @@
1
+ export * from './resources/achievements/achievements.js';
2
+ export * from './resources/achievements/achievements_users.js';
3
+ export * from './resources/bloc.js';
4
+ export * from './resources/campus.js';
5
+ export * from './resources/close.js';
6
+ export * from './resources/events.js';
7
+ export * from './resources/experiences.js';
8
+ export * from './resources/pool.js';
9
+ export * from './resources/project.js';
10
+ export * from './resources/quest.js';
11
+ export * from './resources/team.js';
12
+ export * from './resources/users/users.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export * from './resources/achievements/achievements.js';
2
+ export * from './resources/achievements/achievements_users.js';
3
+ export * from './resources/bloc.js';
4
+ export * from './resources/campus.js';
5
+ export * from './resources/close.js';
6
+ export * from './resources/events.js';
7
+ export * from './resources/experiences.js';
8
+ export * from './resources/pool.js';
9
+ export * from './resources/project.js';
10
+ export * from './resources/quest.js';
11
+ export * from './resources/team.js';
12
+ export * from './resources/users/users.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import z from "zod";
2
+ export declare const achievementSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ name: z.ZodString;
5
+ description: z.ZodString;
6
+ tier: z.ZodEnum<{
7
+ none: "none";
8
+ easy: "easy";
9
+ medium: "medium";
10
+ hard: "hard";
11
+ challenge: "challenge";
12
+ }>;
13
+ kind: z.ZodEnum<{
14
+ project: "project";
15
+ social: "social";
16
+ pedagogy: "pedagogy";
17
+ scolarity: "scolarity";
18
+ }>;
19
+ visible: z.ZodBoolean;
20
+ image: z.ZodNullable<z.ZodString>;
21
+ nbr_of_success: z.ZodNullable<z.ZodNumber>;
22
+ users_url: z.ZodURL;
23
+ campus: z.ZodArray<z.ZodString>;
24
+ achievements: z.ZodArray<z.ZodString>;
25
+ parent: z.ZodNullable<z.ZodObject<{
26
+ id: z.ZodNumber;
27
+ name: z.ZodString;
28
+ description: z.ZodString;
29
+ tier: z.ZodString;
30
+ kind: z.ZodString;
31
+ visible: z.ZodBoolean;
32
+ image: z.ZodNullable<z.ZodString>;
33
+ nbr_of_success: z.ZodNullable<z.ZodNumber>;
34
+ users_url: z.ZodURL;
35
+ }, z.z.core.$strict>>;
36
+ title: z.ZodNullable<z.ZodObject<{
37
+ id: z.ZodNumber;
38
+ name: z.ZodString;
39
+ }, z.z.core.$strict>>;
40
+ }, z.z.core.$strict>;
41
+ export type intraAchievement = z.infer<typeof achievementSchema>;
42
+ //# sourceMappingURL=achievements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.d.ts","sourceRoot":"","sources":["../../../src/resources/achievements/achievements.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BnB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import z from "zod";
2
+ export const achievementSchema = z.object({
3
+ id: z.number(),
4
+ name: z.string(),
5
+ description: z.string(),
6
+ tier: z.enum(['none', 'easy', 'medium', 'hard', 'challenge']),
7
+ kind: z.enum(['project', 'social', 'pedagogy', 'scolarity']),
8
+ visible: z.boolean(),
9
+ image: z.string().nullable(),
10
+ nbr_of_success: z.number().nullable(),
11
+ users_url: z.url(),
12
+ campus: z.array(z.string()),
13
+ achievements: z.array(z.string()),
14
+ parent: z.object({
15
+ id: z.number(),
16
+ name: z.string(),
17
+ description: z.string(),
18
+ tier: z.string(),
19
+ kind: z.string(),
20
+ visible: z.boolean(),
21
+ image: z.string().nullable(),
22
+ nbr_of_success: z.number().nullable(),
23
+ users_url: z.url()
24
+ }).strict().nullable(),
25
+ title: z.object({
26
+ id: z.number(),
27
+ name: z.string()
28
+ }).strict().nullable(),
29
+ }).strict();
30
+ //# sourceMappingURL=achievements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.js","sourceRoot":"","sources":["../../../src/resources/achievements/achievements.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE;KAClB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import z from "zod";
2
+ export declare const achievementsUserSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ achievement_id: z.ZodNumber;
5
+ user_id: z.ZodNumber;
6
+ login: z.ZodString;
7
+ nbr_of_success: z.ZodNullable<z.ZodNumber>;
8
+ url: z.ZodURL;
9
+ created_at: z.z.ZodCoercedDate<unknown>;
10
+ updated_at: z.z.ZodCoercedDate<unknown>;
11
+ }, z.z.core.$strict>;
12
+ export type IntraAchievementsUser = z.infer<typeof achievementsUserSchema>;
13
+ //# sourceMappingURL=achievements_users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements_users.d.ts","sourceRoot":"","sources":["../../../src/resources/achievements/achievements_users.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,sBAAsB;;;;;;;;;oBASxB,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import z from "zod";
2
+ export const achievementsUserSchema = z.object({
3
+ id: z.number(),
4
+ achievement_id: z.number(),
5
+ user_id: z.number(),
6
+ login: z.string(),
7
+ nbr_of_success: z.number().nullable(),
8
+ url: z.url(),
9
+ created_at: z.coerce.date(),
10
+ updated_at: z.coerce.date()
11
+ }).strict();
12
+ //# sourceMappingURL=achievements_users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements_users.js","sourceRoot":"","sources":["../../../src/resources/achievements/achievements_users.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;IACZ,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAC3B,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import z from "zod";
2
+ export declare const intraBlocSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ campus_id: z.ZodNumber;
5
+ cursus_id: z.ZodNumber;
6
+ squad_size: z.ZodNumber;
7
+ coalitions: z.ZodArray<z.ZodObject<{
8
+ id: z.ZodNumber;
9
+ name: z.ZodString;
10
+ slug: z.ZodString;
11
+ }, z.z.core.$strip>>;
12
+ }, z.z.core.$strip>;
13
+ export type intraBloc = z.infer<typeof intraBlocSchema>;
14
+ //# sourceMappingURL=bloc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloc.d.ts","sourceRoot":"","sources":["../../src/resources/bloc.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,eAAe;;;;;;;;;;mBAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import z from "zod";
2
+ export const intraBlocSchema = z.object({
3
+ id: z.number(),
4
+ campus_id: z.number(),
5
+ cursus_id: z.number(),
6
+ squad_size: z.number(),
7
+ coalitions: z.array(z.object({
8
+ id: z.number(),
9
+ name: z.string(),
10
+ slug: z.string(),
11
+ }))
12
+ });
13
+ //# sourceMappingURL=bloc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloc.js","sourceRoot":"","sources":["../../src/resources/bloc.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import z from "zod";
2
+ export declare const intraCampusSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ name: z.ZodString;
5
+ time_zone: z.ZodString;
6
+ }, z.z.core.$strip>;
7
+ export type intraCampus = z.infer<typeof intraCampusSchema>;
8
+ //# sourceMappingURL=campus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campus.d.ts","sourceRoot":"","sources":["../../src/resources/campus.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;mBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import z from "zod";
2
+ export const intraCampusSchema = z.object({
3
+ id: z.number(),
4
+ name: z.string(),
5
+ time_zone: z.string(),
6
+ });
7
+ //# sourceMappingURL=campus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campus.js","sourceRoot":"","sources":["../../src/resources/campus.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ export declare const closeKindSchema: z.ZodEnum<{
3
+ agu: "agu";
4
+ other: "other";
5
+ deserter: "deserter";
6
+ black_hole: "black_hole";
7
+ serious_misconduct: "serious_misconduct";
8
+ social_security: "social_security";
9
+ non_admitted: "non_admitted";
10
+ pace_unknown: "pace_unknown";
11
+ }>;
12
+ export type closeKind = z.infer<typeof closeKindSchema>;
13
+ //# sourceMappingURL=close.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/resources/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,eAAe;;;;;;;;;EAAgB,CAAC;AAG7C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ // Define valid values as a tuple with `as const`
3
+ const kinds = [
4
+ "agu",
5
+ "other",
6
+ "deserter",
7
+ "black_hole",
8
+ "serious_misconduct",
9
+ "social_security",
10
+ "non_admitted",
11
+ "pace_unknown"
12
+ ];
13
+ // Create the Zod enum schema
14
+ export const closeKindSchema = z.enum(kinds);
15
+ //# sourceMappingURL=close.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close.js","sourceRoot":"","sources":["../../src/resources/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iDAAiD;AACjD,MAAM,KAAK,GAAG;IACb,KAAK;IACL,OAAO;IACP,UAAU;IACV,YAAY;IACZ,oBAAoB;IACpB,iBAAiB;IACjB,cAAc;IACd,cAAc;CACL,CAAC;AAEX,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export declare const eventKindSchema: z.ZodEnum<{
3
+ challenge: "challenge";
4
+ other: "other";
5
+ pedago: "pedago";
6
+ rush: "rush";
7
+ piscine: "piscine";
8
+ partnership: "partnership";
9
+ meet: "meet";
10
+ conference: "conference";
11
+ meet_up: "meet_up";
12
+ event: "event";
13
+ association: "association";
14
+ speed_working: "speed_working";
15
+ hackathon: "hackathon";
16
+ workshop: "workshop";
17
+ extern: "extern";
18
+ }>;
19
+ export type eventKind = z.infer<typeof eventKindSchema>;
20
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EAAgB,CAAC;AAG7C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ // Define valid values as a tuple with `as const`
3
+ const kinds = [
4
+ "pedago",
5
+ "rush",
6
+ "piscine",
7
+ "partnership",
8
+ "meet",
9
+ "conference",
10
+ "meet_up",
11
+ "event",
12
+ "association",
13
+ "speed_working",
14
+ "hackathon",
15
+ "workshop",
16
+ "challenge",
17
+ "other",
18
+ "extern",
19
+ ];
20
+ // Create the Zod enum schema
21
+ export const eventKindSchema = z.enum(kinds);
22
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iDAAiD;AACjD,MAAM,KAAK,GAAG;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,aAAa;IACb,MAAM;IACN,YAAY;IACZ,SAAS;IACT,OAAO;IACP,aAAa;IACb,eAAe;IACf,WAAW;IACX,UAAU;IACV,WAAW;IACX,OAAO;IACP,QAAQ;CACC,CAAC;AAEX,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import z from "zod";
2
+ export declare const intraExperienceSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ cursus_id: z.ZodNumber;
5
+ experiancable: z.ZodObject<{
6
+ project: z.ZodObject<{
7
+ id: z.ZodNumber;
8
+ slug: z.ZodString;
9
+ }, z.z.core.$strip>;
10
+ }, z.z.core.$strip>;
11
+ }, z.z.core.$strip>;
12
+ export type IntraExperience = z.infer<typeof intraExperienceSchema>;
13
+ //# sourceMappingURL=experiences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiences.d.ts","sourceRoot":"","sources":["../../src/resources/experiences.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,qBAAqB;;;;;;;;;mBAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import z from "zod";
2
+ export const intraExperienceSchema = z.object({
3
+ id: z.number(),
4
+ cursus_id: z.number(),
5
+ experiancable: z.object({
6
+ project: z.object({
7
+ id: z.number(),
8
+ slug: z.string(),
9
+ })
10
+ })
11
+ });
12
+ //# sourceMappingURL=experiences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiences.js","sourceRoot":"","sources":["../../src/resources/experiences.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,CAAC;KACF,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import z from "zod";
2
+ export declare const intraPoolSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ current_points: z.ZodNumber;
5
+ max_points: z.ZodNumber;
6
+ cursus_id: z.ZodNumber;
7
+ campus_id: z.ZodNumber;
8
+ }, z.z.core.$strip>;
9
+ export type intraPool = z.infer<typeof intraPoolSchema>;
10
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/resources/pool.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,eAAe;;;;;;mBAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import z from "zod";
2
+ export const intraPoolSchema = z.object({
3
+ id: z.number().positive(),
4
+ current_points: z.number(),
5
+ max_points: z.number(),
6
+ cursus_id: z.number().positive(),
7
+ campus_id: z.number().positive(),
8
+ });
9
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/resources/pool.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import z from "zod";
2
+ export declare const intraProjectSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ name: z.ZodString;
5
+ slug: z.ZodString;
6
+ children: z.ZodArray<z.ZodObject<{
7
+ name: z.ZodString;
8
+ id: z.ZodNumber;
9
+ }, z.z.core.$strip>>;
10
+ project_sessions: z.ZodArray<z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ description: z.ZodString;
13
+ begin_at: z.ZodNullable<z.ZodString>;
14
+ end_at: z.ZodNullable<z.ZodString>;
15
+ campus_id: z.ZodNullable<z.ZodNumber>;
16
+ }, z.z.core.$strip>>;
17
+ }, z.z.core.$strip>;
18
+ export type intraProject = z.infer<typeof intraProjectSchema>;
19
+ /******************************************************************************/
20
+ export declare const intraProjectsUserSchema: z.ZodObject<{
21
+ id: z.ZodNumber;
22
+ user: z.ZodObject<{
23
+ id: z.ZodNumber;
24
+ login: z.ZodString;
25
+ }, z.z.core.$strip>;
26
+ teams: z.ZodArray<z.ZodObject<{
27
+ id: z.ZodNumber;
28
+ }, z.z.core.$strip>>;
29
+ }, z.z.core.$strip>;
30
+ export type intraProjectsUser = z.infer<typeof intraProjectsUserSchema>;
31
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/resources/project.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;mBAmB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,gFAAgF;AAEhF,eAAO,MAAM,uBAAuB;;;;;;;;;mBAWlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import z from "zod";
2
+ export const intraProjectSchema = z.object({
3
+ id: z.number(),
4
+ name: z.string(),
5
+ slug: z.string(),
6
+ children: z.array(z.object({
7
+ name: z.string(),
8
+ id: z.number()
9
+ })),
10
+ project_sessions: z.array(z.object({
11
+ id: z.number(),
12
+ description: z.string(),
13
+ begin_at: z.string().nullable(),
14
+ end_at: z.string().nullable(),
15
+ campus_id: z.number().nullable()
16
+ }))
17
+ });
18
+ /******************************************************************************/
19
+ export const intraProjectsUserSchema = z.object({
20
+ id: z.number(),
21
+ user: z.object({
22
+ id: z.number(),
23
+ login: z.string()
24
+ }),
25
+ teams: z.array(z.object({
26
+ id: z.number()
27
+ })),
28
+ });
29
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/resources/project.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC,CACF;IACD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACxB,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CACF;CACD,CAAC,CAAC;AAIH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC,CACF;CACD,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import z from "zod";
2
+ export declare const intraQuestSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ name: z.ZodString;
5
+ }, z.z.core.$strip>;
6
+ export type intraQuest = z.infer<typeof intraQuestSchema>;
7
+ /******************************************************************************/
8
+ export declare const intraQuestsUserSchema: z.ZodObject<{
9
+ id: z.ZodNumber;
10
+ quest_id: z.ZodNumber;
11
+ user: z.ZodObject<{
12
+ id: z.ZodNumber;
13
+ login: z.ZodString;
14
+ }, z.z.core.$strip>;
15
+ }, z.z.core.$strip>;
16
+ export type intraQuestsUser = z.infer<typeof intraQuestsUserSchema>;
17
+ //# sourceMappingURL=quest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quest.d.ts","sourceRoot":"","sources":["../../src/resources/quest.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,gBAAgB;;;mBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,gFAAgF;AAEhF,eAAO,MAAM,qBAAqB;;;;;;;mBAOhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import z from "zod";
2
+ export const intraQuestSchema = z.object({
3
+ id: z.number(),
4
+ name: z.string(),
5
+ });
6
+ /******************************************************************************/
7
+ export const intraQuestsUserSchema = z.object({
8
+ id: z.number(),
9
+ quest_id: z.number(),
10
+ user: z.object({
11
+ id: z.number(),
12
+ login: z.string(),
13
+ })
14
+ });
15
+ //# sourceMappingURL=quest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quest.js","sourceRoot":"","sources":["../../src/resources/quest.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAIH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import z from "zod";
2
+ export declare const intraTeamSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ name: z.ZodString;
5
+ status: z.ZodString;
6
+ }, z.z.core.$strip>;
7
+ export type intraTeam = z.infer<typeof intraTeamSchema>;
8
+ /******************************************************************************/
9
+ export declare const intraTeamsUserSchema: z.ZodObject<{
10
+ id: z.ZodNumber;
11
+ team_id: z.ZodNumber;
12
+ user_id: z.ZodNumber;
13
+ validated: z.ZodBoolean;
14
+ leader: z.ZodBoolean;
15
+ }, z.z.core.$strip>;
16
+ export type intraTeamsUser = z.infer<typeof intraTeamsUserSchema>;
17
+ //# sourceMappingURL=team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/resources/team.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,eAAe;;;;mBAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,gFAAgF;AAEhF,eAAO,MAAM,oBAAoB;;;;;;mBAM/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import z from "zod";
2
+ export const intraTeamSchema = z.object({
3
+ id: z.number(),
4
+ name: z.string(),
5
+ status: z.string(),
6
+ });
7
+ /******************************************************************************/
8
+ export const intraTeamsUserSchema = z.object({
9
+ id: z.number(),
10
+ team_id: z.number(),
11
+ user_id: z.number(),
12
+ validated: z.boolean(),
13
+ leader: z.boolean(),
14
+ });
15
+ //# sourceMappingURL=team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/resources/team.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAIH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import z from "zod";
2
+ export declare const intraUserSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ login: z.ZodString;
5
+ 'staff?': z.ZodBoolean;
6
+ titles: z.ZodArray<z.ZodObject<{
7
+ id: z.ZodNumber;
8
+ name: z.ZodString;
9
+ }, z.z.core.$strip>>;
10
+ cursus_users: z.ZodArray<z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ cursus_id: z.ZodNumber;
13
+ grade: z.ZodNullable<z.ZodString>;
14
+ }, z.z.core.$strip>>;
15
+ }, z.z.core.$strip>;
16
+ export type intraUser = z.infer<typeof intraUserSchema>;
17
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/resources/users/users.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,eAAe;;;;;;;;;;;;;mBAkB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import z from "zod";
2
+ export const intraUserSchema = z.object({
3
+ id: z.number().positive(),
4
+ login: z.string(),
5
+ 'staff?': z.boolean(),
6
+ titles: z.array(z.object({
7
+ id: z.number(),
8
+ name: z.string()
9
+ })),
10
+ cursus_users: z.array(z.object({
11
+ id: z.number().positive(),
12
+ cursus_id: z.number().positive(),
13
+ grade: z.string().nullable(),
14
+ })),
15
+ });
16
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/resources/users/users.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC,CACF;IACD,YAAY,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAEF;CACD,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@42-lyon/42api-zod-schemas",
3
+ "version": "1.0.0",
4
+ "description": "Zod schemas and TypeScript types for validating and typing 42API response bodies",
5
+ "homepage": "https://github.com/42-Lyon/42API-zod-schemas#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/42-Lyon/42API-zod-schemas/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+ssh://git@github.com/42-Lyon/42API-zod-schemas.git"
12
+ },
13
+ "license": "ISC",
14
+ "author": "42Lyon",
15
+ "type": "module",
16
+ "main": "dist/index.js",
17
+ "types": "dist/index.d.ts",
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
21
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
22
+ "fetch-fixtures": "node --loader ts-node/esm scripts/fetch-fixtures.ts"
23
+ },
24
+ "dependencies": {
25
+ "zod": "^4.1.12"
26
+ },
27
+ "devDependencies": {
28
+ "@ibertran/fortytwo-intra-client": "^3.1.4",
29
+ "@jest/globals": "^30.2.0",
30
+ "@types/jest": "^30.0.0",
31
+ "@types/node": "^25.0.1",
32
+ "dotenv": "^17.2.3",
33
+ "jest": "^30.2.0",
34
+ "ts-jest": "^29.4.6",
35
+ "ts-node": "^10.9.2",
36
+ "typescript": "^5.9.3"
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "README.md"
41
+ ]
42
+ }