Saltearse al contenido

FieldSchema emite entries de relación

Generado automáticamente desde el archivo fuente. No editar a mano — vuelve a ejecutar catalyst-changelog-sync.

  • Cada property del YAML que declara relationship produce ahora una entry { type: 'relation', cardinality, target: () => <Aggregate>FieldSchema } en el *.field-schema.ts generado, junto a las entries scalar existentes.
  • En shape 1 (FK escalar + bloque relationship) se mantiene la entry scalar del FK y se añade la entry de relación a continuación; en shape 2 (type: 'relationship') se emite una única entry de relación. La cardinalidad mapea many-to-one/one-to-one owning → 'one' y one-to-many/many-to-many'many'. Las combinaciones inválidas (one-to-many o many-to-many con FK escalar, many-to-one declarado como shape 2) fallan la generación con un error descriptivo.
  • Los imports entre schemas hermanos resuelven al barrel top-level @app/<modulePath> y el campo target se envuelve en un thunk para que las referencias circulares entre agregados carguen sin errores en runtime.

formatRecord y sanitizeRecord recursivos en @aurorajs.dev/core-back ya tienen sobre qué recursar: los includes anidados se validan y se sanean según el field schema del agregado target. La fuga P0 que exponía hashes de password a través de cualquier include de una relación con un campo hasheado queda cerrada en cuanto regeneras. Los módulos que no regeneren mantienen el pipeline legacy no-recursivo. El CLI sube su versión mínima requerida de @aurorajs.dev/core-back a la que incluye el pipeline recursivo.


Ver propuesta original