mirror of
https://github.com/siop-spelev/siop2.git
synced 2026-08-08 12:41:54 +00:00
feat(r3.4): corrections de recette (8 écarts) + recherche globale ⌘K
Arbitrage du référent sur la revue pixel : tout corriger, activer la recherche. - Stock : filtre fournisseur, sous-seuil en tête, « Entrée de stock » depuis la liste ; fiche pièce : fournisseur → lien Tiers. - Statistiques : période 3/6/12 mois (paramètre months au contrat). - Tiers : rattachements syndic→site (migration r3_recette_fixes, Location.partnerId gardé CLIENT), éditable sur la fiche site, seedé. - Bibliothèque : filtre « Rattaché à » + glisser-déposer (modale préremplie, rattachement toujours requis). - Recherche globale : GET /search (73 opérations) — familles OT/ ascenseurs/sites filtrées par la matrice, « voir autre » respecté ; topbar ⌘K, debounce, résultats groupés, navigation clavier. 74 tests API (8 nouveaux sur le scoping de la recherche), 14/14 Playwright dont un parcours « recette corrigée », 18/18 contrôles en navigateur réel, zéro erreur console. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
78
apps/web/src/api/schema.d.ts
vendored
78
apps/web/src/api/schema.d.ts
vendored
@@ -441,6 +441,23 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/search": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/** Recherche globale (OT, ascenseurs, sites) — chaque famille filtrée par la matrice */
|
||||
get: operations["globalSearch"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/partners": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1101,6 +1118,8 @@ export interface components {
|
||||
guardianPhone: string | null;
|
||||
latitude: number | null;
|
||||
longitude: number | null;
|
||||
partnerId: string | null;
|
||||
partnerName: string | null;
|
||||
assetCount: number;
|
||||
}[];
|
||||
};
|
||||
@@ -1115,6 +1134,8 @@ export interface components {
|
||||
guardianPhone: string | null;
|
||||
latitude: number | null;
|
||||
longitude: number | null;
|
||||
partnerId: string | null;
|
||||
partnerName: string | null;
|
||||
assetCount: number;
|
||||
};
|
||||
LocationCreate: {
|
||||
@@ -1127,6 +1148,7 @@ export interface components {
|
||||
guardianPhone?: string;
|
||||
latitude?: number;
|
||||
longitude?: number;
|
||||
partnerId?: string | null;
|
||||
};
|
||||
LocationUpdate: {
|
||||
name?: string;
|
||||
@@ -1138,6 +1160,7 @@ export interface components {
|
||||
guardianPhone?: string;
|
||||
latitude?: number;
|
||||
longitude?: number;
|
||||
partnerId?: string | null;
|
||||
};
|
||||
AssetsResponse: {
|
||||
assets: {
|
||||
@@ -1397,9 +1420,10 @@ export interface components {
|
||||
createdAt: string;
|
||||
};
|
||||
AnalyticsSummary: {
|
||||
months: number;
|
||||
monthCost: number;
|
||||
previousMonthCost: number;
|
||||
closed12m: {
|
||||
closed: {
|
||||
total: number;
|
||||
preventive: number;
|
||||
};
|
||||
@@ -1422,6 +1446,30 @@ export interface components {
|
||||
total: number;
|
||||
}[];
|
||||
};
|
||||
SearchResponse: {
|
||||
workOrders: {
|
||||
/** Format: uuid */
|
||||
id: string;
|
||||
reference: string;
|
||||
title: string;
|
||||
/** @enum {string} */
|
||||
status: "OPEN" | "IN_PROGRESS" | "ON_HOLD" | "DONE" | "CANCELLED";
|
||||
}[];
|
||||
assets: {
|
||||
/** Format: uuid */
|
||||
id: string;
|
||||
reference: string;
|
||||
brand: string;
|
||||
model: string | null;
|
||||
siteName: string;
|
||||
}[];
|
||||
sites: {
|
||||
/** Format: uuid */
|
||||
id: string;
|
||||
name: string;
|
||||
city: string | null;
|
||||
}[];
|
||||
};
|
||||
PartnersResponse: {
|
||||
partners: {
|
||||
/** Format: uuid */
|
||||
@@ -1435,6 +1483,7 @@ export interface components {
|
||||
city: string | null;
|
||||
isActive: boolean;
|
||||
openOrders: number;
|
||||
siteNames: string[];
|
||||
}[];
|
||||
};
|
||||
Partner: {
|
||||
@@ -1449,6 +1498,7 @@ export interface components {
|
||||
city: string | null;
|
||||
isActive: boolean;
|
||||
openOrders: number;
|
||||
siteNames: string[];
|
||||
};
|
||||
PartnerCreate: {
|
||||
name: string;
|
||||
@@ -2889,7 +2939,9 @@ export interface operations {
|
||||
};
|
||||
getAnalyticsSummary: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
query?: {
|
||||
months?: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
@@ -2907,6 +2959,28 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
globalSearch: {
|
||||
parameters: {
|
||||
query: {
|
||||
q: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Résultats (5 max par famille) */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["SearchResponse"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
listPartners: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
||||
Reference in New Issue
Block a user