/** * LE MODULE CONTRIBUE SON SCHÉMA PAR LE CONTRAT. * * ── POURQUOI CE FICHIER EXISTE ────────────────────────────────────────────── * Le module exposait déjà `paymentModuleRegistration`, mais dans une forme qui lui est propre * (`{ name, label, description, version, priority, getSchemas }`) — **différente du contrat * `@mostajs/module-contract`** que `@mostajs/socle` sait agréger * (`{ manifest, permissions, schemas }`). Une application qui la passait à `registry.register()` * échouait donc sur « Cannot read properties of undefined (reading 'name') ». * * ── LE DÉFAUT QUE CELA A PRODUIT, ET SON COÛT ─────────────────────────────── * Faute de pouvoir contribuer, la table `payments` n'était **jamais créée**. Tout fonctionnait — * l'écran, le choix du moyen, l'appel à la banque — **jusqu'au premier paiement réel** : la banque * ouvrait la session, puis l'écriture échouait sur « no such table: payments ». L'échec survenait * donc APRÈS que le client avait engagé son paiement, c'est-à-dire au pire moment possible. * Constaté en production le 19/08/2026 (RestoTrax). * * ── CE QU'IL NE FAUT PAS FAIRE À LA PLACE ─────────────────────────────────── * Recopier `PaymentSchema` dans l'application. Une liste tenue à la main ne sait pas qu'un module * a gagné une entité : la table n'est jamais créée, et rien ne le signale jusqu'à l'écriture * suivante, en production. * * `paymentModuleRegistration` est CONSERVÉ tel quel — des consommateurs le lisent. */ import { getSchemas } from './lib/module-info.js'; /** Le registre du socle, vu d'ici : on n'importe pas `@mostajs/socle`, qui composerait à l'envers. */ interface RegistreMinimal { register(entree: Record): void; } export declare function register(registry: RegistreMinimal): void; /** * La déclaration HISTORIQUE, dans la forme propre à ce module. * * ⚠️ **Ce n'est PAS le contrat du socle** : `registry.register()` de `@mostajs/socle` attend * `{ manifest, permissions, schemas }`, et lui passer cet objet-ci échoue sur * « Cannot read properties of undefined (reading 'name') ». Utilisez `register(registry)` * ci-dessus. Cet export est conservé parce que des consommateurs le lisent déjà. */ export declare const paymentModuleRegistration: { name: string; label: string; description: string; version: string; priority: number; getSchemas: typeof getSchemas; }; export default register; //# sourceMappingURL=register.d.ts.map