fix: update OneToOneRelation and PolymorphicRelation configurations

Enhanced OneToOneRelation to allow source to create target with a mapping field and added a limit. Updated PolymorphicRelation to return a TextField for entity_id instead of NumberField, improving type consistency.
This commit is contained in:
dswbx
2025-10-01 09:00:44 +02:00
parent ba9713587c
commit 569d021316
3 changed files with 5 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ import { type RelationType, RelationTypes } from "./relation-types";
/**
* Both source and target receive a mapping field
* Source gets the mapping field, and can $create the target
* @todo: determine if it should be removed
*/
export type OneToOneRelationConfig = ManyToOneRelationConfig;
@@ -17,6 +18,7 @@ export class OneToOneRelation extends ManyToOneRelation {
inversedBy,
sourceCardinality: 1,
required,
with_limit: 1,
});
}

View File

@@ -102,8 +102,8 @@ export class PolymorphicRelation extends EntityRelation<typeof PolymorphicRelati
return new TextField("reference", { hidden: true, fillable: ["create"] });
}
getEntityIdField(): NumberField {
return new NumberField("entity_id", { hidden: true, fillable: ["create"] });
getEntityIdField(): TextField {
return new TextField("entity_id", { hidden: true, fillable: ["create"] });
}
initialize(em: EntityManager<any>) {