import { Entity, ManyToOne, RelationId } from 'typeorm'; import type { WorkflowEntity } from './WorkflowEntity'; import type { User } from './User'; import type { Role } from './Role'; import { AbstractEntity } from './AbstractEntity'; @Entity() export class SharedWorkflow extends AbstractEntity { @ManyToOne('Role', 'sharedWorkflows', { nullable: false }) role: Role; @ManyToOne('User', 'sharedWorkflows', { primary: true }) user: User; @RelationId((sharedWorkflow: SharedWorkflow) => sharedWorkflow.user) userId: string; @ManyToOne('WorkflowEntity', 'shared', { primary: true, onDelete: 'CASCADE', }) workflow: WorkflowEntity; @RelationId((sharedWorkflow: SharedWorkflow) => sharedWorkflow.workflow) workflowId: number; }