diff --git a/packages/database/src/lib/crossAppConverters.ts b/packages/database/src/lib/crossAppConverters.ts index 00aadad67..200f4491a 100644 --- a/packages/database/src/lib/crossAppConverters.ts +++ b/packages/database/src/lib/crossAppConverters.ts @@ -2,6 +2,7 @@ import { CrossAppEmbedding, InlineCrossAppContent, CrossAppNode, + CrossAppRelation, } from "../crossAppContracts"; import { LocalContentDataInput, LocalConceptDataInput } from "../inputTypes"; import { Enums, CompositeTypes } from "../dbTypes"; @@ -79,3 +80,21 @@ export const crossAppNodeToDbConcept = ( last_modified: node.modifiedAt?.toISOString(), }); }; + +export const crossAppRelationToDbConcept = ( + node: CrossAppRelation, +): LocalConceptDataInput => { + return filterUndefined({ + // use LocalIds... not ideal + name: `${node.localId}: ${node.source} -${node.relationType}-> ${node.destination}`, + source_local_id: node.localId, + author_local_id: node.authorId, + schema_represented_by_local_id: node.relationType, + local_reference_content: { + source: node.source, + destination: node.destination, + }, + created: node.createdAt?.toISOString(), + last_modified: node.modifiedAt?.toISOString(), + }); +};