@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.
- package/README.md +104 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/achievements/achievements.d.ts +42 -0
- package/dist/resources/achievements/achievements.d.ts.map +1 -0
- package/dist/resources/achievements/achievements.js +30 -0
- package/dist/resources/achievements/achievements.js.map +1 -0
- package/dist/resources/achievements/achievements_users.d.ts +13 -0
- package/dist/resources/achievements/achievements_users.d.ts.map +1 -0
- package/dist/resources/achievements/achievements_users.js +12 -0
- package/dist/resources/achievements/achievements_users.js.map +1 -0
- package/dist/resources/bloc.d.ts +14 -0
- package/dist/resources/bloc.d.ts.map +1 -0
- package/dist/resources/bloc.js +13 -0
- package/dist/resources/bloc.js.map +1 -0
- package/dist/resources/campus.d.ts +8 -0
- package/dist/resources/campus.d.ts.map +1 -0
- package/dist/resources/campus.js +7 -0
- package/dist/resources/campus.js.map +1 -0
- package/dist/resources/close.d.ts +13 -0
- package/dist/resources/close.d.ts.map +1 -0
- package/dist/resources/close.js +15 -0
- package/dist/resources/close.js.map +1 -0
- package/dist/resources/events.d.ts +20 -0
- package/dist/resources/events.d.ts.map +1 -0
- package/dist/resources/events.js +22 -0
- package/dist/resources/events.js.map +1 -0
- package/dist/resources/experiences.d.ts +13 -0
- package/dist/resources/experiences.d.ts.map +1 -0
- package/dist/resources/experiences.js +12 -0
- package/dist/resources/experiences.js.map +1 -0
- package/dist/resources/pool.d.ts +10 -0
- package/dist/resources/pool.d.ts.map +1 -0
- package/dist/resources/pool.js +9 -0
- package/dist/resources/pool.js.map +1 -0
- package/dist/resources/project.d.ts +31 -0
- package/dist/resources/project.d.ts.map +1 -0
- package/dist/resources/project.js +29 -0
- package/dist/resources/project.js.map +1 -0
- package/dist/resources/quest.d.ts +17 -0
- package/dist/resources/quest.d.ts.map +1 -0
- package/dist/resources/quest.js +15 -0
- package/dist/resources/quest.js.map +1 -0
- package/dist/resources/team.d.ts +17 -0
- package/dist/resources/team.d.ts.map +1 -0
- package/dist/resources/team.js +15 -0
- package/dist/resources/team.js.map +1 -0
- package/dist/resources/users/users.d.ts +17 -0
- package/dist/resources/users/users.d.ts.map +1 -0
- package/dist/resources/users/users.js +16 -0
- package/dist/resources/users/users.js.map +1 -0
- 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
|
package/dist/index.d.ts
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.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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|