Ir al contenido

Columnas FK automáticas en listas

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

  • Para cada relación many-to-one, <mod>.columns.ts emite una columna con accessorKey: '<rel>.name', relation: { association: '<rel>' } y los flags estándar sortable / searchable / filterable / exportable. La posición respeta el orden de declaración de la FK en el YAML.
  • El list-component importa getRelationIncludes desde @aurora, declara un campo relationIncludes y pasa include tanto en query como en constraint de la llamada a paginate(). El resolver de la lista cablea el mismo include para la precarga de la primera página, para que la tabla renderice sin parpadeos.
  • La búsqueda y los filtros sobre columnas FK funcionan sin codegen extra — los helpers existentes buildSearchWhere / buildFilterWhere traducen boundedContext.name a $boundedContext.name$ en Sequelize. Los aggregates sin FK many-to-one regeneran byte a byte idénticos.

Antes, la lista de un agregado con FKs mostraba los campos locales pero ocultaba los UUIDs <rel>Id — un listado de permissions no mostraba a qué bounded-context pertenecía cada fila, lo que lo hacía inservible como herramienta de exploración. Los devs escribían la columna FK a mano y cada regen producía un .origin que reconciliar. El codegen ahora se hace cargo de extremo a extremo: emisión de la columna, include en el resolver para la precarga, include en el list-component para paginate en runtime y traducción de dot-paths en search/filter. El label se asume name en el target; los aggregates con label composite ({code} - {name}) o sin name quedan diferidos a un follow-up.


Ver propuesta original