From 09f045daf68a4f96c4b9f769e5318542069229a6 Mon Sep 17 00:00:00 2001 From: Pablo Baleztena Date: Fri, 4 Oct 2024 11:55:44 -0300 Subject: [PATCH] [fabric/domain] Add reference-field utility to get target key --- packages/fabric/domain/src/models/fields/index.ts | 1 + packages/fabric/domain/src/models/fields/reference-field.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/packages/fabric/domain/src/models/fields/index.ts b/packages/fabric/domain/src/models/fields/index.ts index acdfdc2..f70e4e4 100644 --- a/packages/fabric/domain/src/models/fields/index.ts +++ b/packages/fabric/domain/src/models/fields/index.ts @@ -3,6 +3,7 @@ import { createReferenceField, ReferenceField } from "./reference-field.js"; import { createStringField, StringField } from "./string-field.js"; import { createUUIDField, UUIDField } from "./uuid-field.js"; export * from "./base-field.js"; +export * from "./reference-field.js"; export type FieldDefinition = | StringField diff --git a/packages/fabric/domain/src/models/fields/reference-field.ts b/packages/fabric/domain/src/models/fields/reference-field.ts index 9dbcfc9..b8272ec 100644 --- a/packages/fabric/domain/src/models/fields/reference-field.ts +++ b/packages/fabric/domain/src/models/fields/reference-field.ts @@ -20,6 +20,10 @@ export function createReferenceField( } as const; } +export function getTargetKey(field: ReferenceField): string { + return field.targetKey || "id"; +} + export function validateReferenceField( schema: ModelSchema, field: ReferenceField,