feat(planning): grille hebdomadaire complète avec API et filtres

- Connexion API via proxy Angular (résolution CORS, base path /api)
- Import CSS ng-zorro global pour les modales et composants
- Filtres Camion/Show câblés sur l'affichage de la grille
- Camions affichés via TrucksService (linkés au show du même créneau)
- Panneau de détails : spectacles + camions du jour sélectionné
- Modale de création de spectacle stylisée avec fond et centrage
- Positionnement précis des events à la minute dans leur créneau
- Auto-scroll vers l'heure courante au chargement
- Ligne "maintenant" sur la colonne du jour actuel
- Régénération des services OpenAPI (nouveaux noms de types)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 20:36:03 +02:00
parent 150b97cd2e
commit 654b297e2e
3131 changed files with 149304 additions and 104334 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArrayDef = void 0;
const v3_1 = require("zod/v3");
const zod_1 = require("zod");
const errorMessages_js_1 = require("../errorMessages.js");
const parseDef_js_1 = require("../parseDef.js");
function parseArrayDef(def, refs) {
@@ -9,7 +9,7 @@ function parseArrayDef(def, refs) {
type: "array",
};
if (def.type?._def &&
def.type?._def?.typeName !== v3_1.ZodFirstPartyTypeKind.ZodAny) {
def.type?._def?.typeName !== zod_1.ZodFirstPartyTypeKind.ZodAny) {
res.items = (0, parseDef_js_1.parseDef)(def.type._def, {
...refs,
currentPath: [...refs.currentPath, "items"],
+6 -6
View File
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseRecordDef = void 0;
const v3_1 = require("zod/v3");
const zod_1 = require("zod");
const parseDef_js_1 = require("../parseDef.js");
const string_js_1 = require("./string.js");
const branded_js_1 = require("./branded.js");
@@ -11,7 +11,7 @@ function parseRecordDef(def, refs) {
console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
}
if (refs.target === "openApi3" &&
def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodEnum) {
def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
type: "object",
required: def.keyType._def.values,
@@ -35,7 +35,7 @@ function parseRecordDef(def, refs) {
if (refs.target === "openApi3") {
return schema;
}
if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodString &&
if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodString &&
def.keyType._def.checks?.length) {
const { type, ...keyType } = (0, string_js_1.parseStringDef)(def.keyType._def, refs);
return {
@@ -43,7 +43,7 @@ function parseRecordDef(def, refs) {
propertyNames: keyType,
};
}
else if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodEnum) {
else if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
...schema,
propertyNames: {
@@ -51,8 +51,8 @@ function parseRecordDef(def, refs) {
},
};
}
else if (def.keyType?._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodBranded &&
def.keyType._def.type._def.typeName === v3_1.ZodFirstPartyTypeKind.ZodString &&
else if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodBranded &&
def.keyType._def.type._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodString &&
def.keyType._def.type._def.checks?.length) {
const { type, ...keyType } = (0, branded_js_1.parseBrandedDef)(def.keyType._def, refs);
return {
+1
View File
@@ -187,6 +187,7 @@ function parseStringDef(def, refs) {
case "trim":
break;
default:
/* c8 ignore next */
((_) => { })(check);
}
}
+38 -37
View File
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.selectParser = void 0;
const v3_1 = require("zod/v3");
const zod_1 = require("zod");
const any_js_1 = require("./parsers/any.js");
const array_js_1 = require("./parsers/array.js");
const bigint_js_1 = require("./parsers/bigint.js");
@@ -34,75 +34,76 @@ const unknown_js_1 = require("./parsers/unknown.js");
const readonly_js_1 = require("./parsers/readonly.js");
const selectParser = (def, typeName, refs) => {
switch (typeName) {
case v3_1.ZodFirstPartyTypeKind.ZodString:
case zod_1.ZodFirstPartyTypeKind.ZodString:
return (0, string_js_1.parseStringDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodNumber:
case zod_1.ZodFirstPartyTypeKind.ZodNumber:
return (0, number_js_1.parseNumberDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodObject:
case zod_1.ZodFirstPartyTypeKind.ZodObject:
return (0, object_js_1.parseObjectDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodBigInt:
case zod_1.ZodFirstPartyTypeKind.ZodBigInt:
return (0, bigint_js_1.parseBigintDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodBoolean:
case zod_1.ZodFirstPartyTypeKind.ZodBoolean:
return (0, boolean_js_1.parseBooleanDef)();
case v3_1.ZodFirstPartyTypeKind.ZodDate:
case zod_1.ZodFirstPartyTypeKind.ZodDate:
return (0, date_js_1.parseDateDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodUndefined:
case zod_1.ZodFirstPartyTypeKind.ZodUndefined:
return (0, undefined_js_1.parseUndefinedDef)(refs);
case v3_1.ZodFirstPartyTypeKind.ZodNull:
case zod_1.ZodFirstPartyTypeKind.ZodNull:
return (0, null_js_1.parseNullDef)(refs);
case v3_1.ZodFirstPartyTypeKind.ZodArray:
case zod_1.ZodFirstPartyTypeKind.ZodArray:
return (0, array_js_1.parseArrayDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodUnion:
case v3_1.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
case zod_1.ZodFirstPartyTypeKind.ZodUnion:
case zod_1.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
return (0, union_js_1.parseUnionDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodIntersection:
case zod_1.ZodFirstPartyTypeKind.ZodIntersection:
return (0, intersection_js_1.parseIntersectionDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodTuple:
case zod_1.ZodFirstPartyTypeKind.ZodTuple:
return (0, tuple_js_1.parseTupleDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodRecord:
case zod_1.ZodFirstPartyTypeKind.ZodRecord:
return (0, record_js_1.parseRecordDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodLiteral:
case zod_1.ZodFirstPartyTypeKind.ZodLiteral:
return (0, literal_js_1.parseLiteralDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodEnum:
case zod_1.ZodFirstPartyTypeKind.ZodEnum:
return (0, enum_js_1.parseEnumDef)(def);
case v3_1.ZodFirstPartyTypeKind.ZodNativeEnum:
case zod_1.ZodFirstPartyTypeKind.ZodNativeEnum:
return (0, nativeEnum_js_1.parseNativeEnumDef)(def);
case v3_1.ZodFirstPartyTypeKind.ZodNullable:
case zod_1.ZodFirstPartyTypeKind.ZodNullable:
return (0, nullable_js_1.parseNullableDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodOptional:
case zod_1.ZodFirstPartyTypeKind.ZodOptional:
return (0, optional_js_1.parseOptionalDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodMap:
case zod_1.ZodFirstPartyTypeKind.ZodMap:
return (0, map_js_1.parseMapDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodSet:
case zod_1.ZodFirstPartyTypeKind.ZodSet:
return (0, set_js_1.parseSetDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodLazy:
case zod_1.ZodFirstPartyTypeKind.ZodLazy:
return () => def.getter()._def;
case v3_1.ZodFirstPartyTypeKind.ZodPromise:
case zod_1.ZodFirstPartyTypeKind.ZodPromise:
return (0, promise_js_1.parsePromiseDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodNaN:
case v3_1.ZodFirstPartyTypeKind.ZodNever:
case zod_1.ZodFirstPartyTypeKind.ZodNaN:
case zod_1.ZodFirstPartyTypeKind.ZodNever:
return (0, never_js_1.parseNeverDef)(refs);
case v3_1.ZodFirstPartyTypeKind.ZodEffects:
case zod_1.ZodFirstPartyTypeKind.ZodEffects:
return (0, effects_js_1.parseEffectsDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodAny:
case zod_1.ZodFirstPartyTypeKind.ZodAny:
return (0, any_js_1.parseAnyDef)(refs);
case v3_1.ZodFirstPartyTypeKind.ZodUnknown:
case zod_1.ZodFirstPartyTypeKind.ZodUnknown:
return (0, unknown_js_1.parseUnknownDef)(refs);
case v3_1.ZodFirstPartyTypeKind.ZodDefault:
case zod_1.ZodFirstPartyTypeKind.ZodDefault:
return (0, default_js_1.parseDefaultDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodBranded:
case zod_1.ZodFirstPartyTypeKind.ZodBranded:
return (0, branded_js_1.parseBrandedDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodReadonly:
case zod_1.ZodFirstPartyTypeKind.ZodReadonly:
return (0, readonly_js_1.parseReadonlyDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodCatch:
case zod_1.ZodFirstPartyTypeKind.ZodCatch:
return (0, catch_js_1.parseCatchDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodPipeline:
case zod_1.ZodFirstPartyTypeKind.ZodPipeline:
return (0, pipeline_js_1.parsePipelineDef)(def, refs);
case v3_1.ZodFirstPartyTypeKind.ZodFunction:
case v3_1.ZodFirstPartyTypeKind.ZodVoid:
case v3_1.ZodFirstPartyTypeKind.ZodSymbol:
case zod_1.ZodFirstPartyTypeKind.ZodFunction:
case zod_1.ZodFirstPartyTypeKind.ZodVoid:
case zod_1.ZodFirstPartyTypeKind.ZodSymbol:
return undefined;
default:
/* c8 ignore next */
return ((_) => undefined)(typeName);
}
};
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodFirstPartyTypeKind } from "zod/v3";
import { ZodFirstPartyTypeKind } from "zod";
import { setResponseValueAndErrors } from "../errorMessages.js";
import { parseDef } from "../parseDef.js";
export function parseArrayDef(def, refs) {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodFirstPartyTypeKind, } from "zod/v3";
import { ZodFirstPartyTypeKind, } from "zod";
import { parseDef } from "../parseDef.js";
import { parseStringDef } from "./string.js";
import { parseBrandedDef } from "./branded.js";
+1
View File
@@ -184,6 +184,7 @@ export function parseStringDef(def, refs) {
case "trim":
break;
default:
/* c8 ignore next */
((_) => { })(check);
}
}
+2 -1
View File
@@ -1,4 +1,4 @@
import { ZodFirstPartyTypeKind } from "zod/v3";
import { ZodFirstPartyTypeKind } from "zod";
import { parseAnyDef } from "./parsers/any.js";
import { parseArrayDef } from "./parsers/array.js";
import { parseBigintDef } from "./parsers/bigint.js";
@@ -100,6 +100,7 @@ export const selectParser = (def, typeName, refs) => {
case ZodFirstPartyTypeKind.ZodSymbol:
return undefined;
default:
/* c8 ignore next */
return ((_) => undefined)(typeName);
}
};
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodSchema, ZodTypeDef } from "zod/v3";
import { ZodSchema, ZodTypeDef } from "zod";
import { Refs, Seen } from "./Refs";
import { JsonSchema7Type } from "./parseTypes";
export type Targets = "jsonSchema7" | "jsonSchema2019-09" | "openApi3" | "openAi";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodTypeDef } from "zod/v3";
import { ZodTypeDef } from "zod";
import { Options, Targets } from "./Options.js";
import { JsonSchema7Type } from "./parseTypes.js";
export type Refs = {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodTypeDef } from "zod/v3";
import { ZodTypeDef } from "zod";
import { Refs } from "./Refs.js";
import { JsonSchema7Type } from "./parseTypes.js";
export declare function parseDef(def: ZodTypeDef, refs: Refs, forceResolution?: boolean): JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodArrayDef } from "zod/v3";
import { ZodArrayDef } from "zod";
import { ErrorMessages } from "../errorMessages.js";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodBigIntDef } from "zod/v3";
import { ZodBigIntDef } from "zod";
import { Refs } from "../Refs.js";
import { ErrorMessages } from "../errorMessages.js";
export type JsonSchema7BigintType = {
+1 -1
View File
@@ -1,3 +1,3 @@
import { ZodBrandedDef } from "zod/v3";
import { ZodBrandedDef } from "zod";
import { Refs } from "../Refs.js";
export declare function parseBrandedDef(_def: ZodBrandedDef<any>, refs: Refs): import("../parseTypes.js").JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,3 +1,3 @@
import { ZodCatchDef } from "zod/v3";
import { ZodCatchDef } from "zod";
import { Refs } from "../Refs.js";
export declare const parseCatchDef: (def: ZodCatchDef<any>, refs: Refs) => import("../parseTypes.js").JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodDateDef } from "zod/v3";
import { ZodDateDef } from "zod";
import { Refs } from "../Refs.js";
import { ErrorMessages } from "../errorMessages.js";
import { JsonSchema7NumberType } from "./number.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodDefaultDef } from "zod/v3";
import { ZodDefaultDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export declare function parseDefaultDef(_def: ZodDefaultDef, refs: Refs): JsonSchema7Type & {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodEffectsDef } from "zod/v3";
import { ZodEffectsDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export declare function parseEffectsDef(_def: ZodEffectsDef, refs: Refs): JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodEnumDef } from "zod/v3";
import { ZodEnumDef } from "zod";
export type JsonSchema7EnumType = {
type: "string";
enum: string[];
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodIntersectionDef } from "zod/v3";
import { ZodIntersectionDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export type JsonSchema7AllOfType = {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodLiteralDef } from "zod/v3";
import { ZodLiteralDef } from "zod";
import { Refs } from "../Refs.js";
export type JsonSchema7LiteralType = {
type: "string" | "number" | "integer" | "boolean";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodMapDef } from "zod/v3";
import { ZodMapDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
import { JsonSchema7RecordType } from "./record.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodNativeEnumDef } from "zod/v3";
import { ZodNativeEnumDef } from "zod";
export type JsonSchema7NativeEnumType = {
type: "string" | "number" | ["string", "number"];
enum: (string | number)[];
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodNullableDef } from "zod/v3";
import { ZodNullableDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
import { JsonSchema7NullType } from "./null.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodNumberDef } from "zod/v3";
import { ZodNumberDef } from "zod";
import { ErrorMessages } from "../errorMessages.js";
import { Refs } from "../Refs.js";
export type JsonSchema7NumberType = {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodObjectDef } from "zod/v3";
import { ZodObjectDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export type JsonSchema7ObjectType = {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodOptionalDef } from "zod/v3";
import { ZodOptionalDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export declare const parseOptionalDef: (def: ZodOptionalDef, refs: Refs) => JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodPipelineDef } from "zod/v3";
import { ZodPipelineDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
import { JsonSchema7AllOfType } from "./intersection.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodPromiseDef } from "zod/v3";
import { ZodPromiseDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export declare function parsePromiseDef(def: ZodPromiseDef, refs: Refs): JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,3 +1,3 @@
import { ZodReadonlyDef } from "zod/v3";
import { ZodReadonlyDef } from "zod";
import { Refs } from "../Refs.js";
export declare const parseReadonlyDef: (def: ZodReadonlyDef<any>, refs: Refs) => import("../parseTypes.js").JsonSchema7Type | undefined;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodMapDef, ZodRecordDef, ZodTypeAny } from "zod/v3";
import { ZodMapDef, ZodRecordDef, ZodTypeAny } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
import { JsonSchema7EnumType } from "./enum.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodSetDef } from "zod/v3";
import { ZodSetDef } from "zod";
import { ErrorMessages } from "../errorMessages.js";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodStringDef } from "zod/v3";
import { ZodStringDef } from "zod";
import { ErrorMessages } from "../errorMessages.js";
import { Refs } from "../Refs.js";
/**
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodTupleDef, ZodTupleItems, ZodTypeAny } from "zod/v3";
import { ZodTupleDef, ZodTupleItems, ZodTypeAny } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export type JsonSchema7TupleType = {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodDiscriminatedUnionDef, ZodUnionDef } from "zod/v3";
import { ZodDiscriminatedUnionDef, ZodUnionDef } from "zod";
import { JsonSchema7Type } from "../parseTypes.js";
import { Refs } from "../Refs.js";
export declare const primitiveMappings: {
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodFirstPartyTypeKind } from "zod/v3";
import { ZodFirstPartyTypeKind } from "zod";
import { Refs } from "./Refs.js";
import { JsonSchema7Type } from "./parseTypes.js";
export type InnerDefGetter = () => any;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ZodSchema } from "zod/v3";
import { ZodSchema } from "zod";
import { Options, Targets } from "./Options.js";
import { JsonSchema7Type } from "./parseTypes.js";
declare const zodToJsonSchema: <Target extends Targets = "jsonSchema7">(schema: ZodSchema<any>, options?: string | Partial<Options<Target>> | undefined) => (Target extends "jsonSchema7" ? JsonSchema7Type : object) & {