import {BeforeInsert, Entity, ManyToOne, PrimaryColumn} from 'typeorm'; import {Node} from '$lib/server/entity/Node'; import {ulidMonotonic} from '$lib/server/ulid'; @Entity() export class Edge { @PrimaryColumn({type: 'varchar', length: 26}) id = ulidMonotonic(); @ManyToOne(() => Node, node => node.outgoingEdges, { nullable: false, cascade: true, onDelete: 'CASCADE', }) head!: Node; @ManyToOne(() => Node, node => node.incomingEdges, { nullable: false, cascade: true, onDelete: 'CASCADE', }) tail!: Node; @BeforeInsert() beforeInsert () { this.id = ulidMonotonic(); } }