25 lines
594 B
TypeScript
25 lines
594 B
TypeScript
import { Column, Entity, ManyToOne, PrimaryColumn } from 'typeorm';
|
|
import { WorkflowEntity } from './WorkflowEntity';
|
|
import { User } from './User';
|
|
import { WithTimestamps } from './AbstractEntity';
|
|
|
|
export type WorkflowSharingRole = 'workflow:owner' | 'workflow:editor' | 'workflow:user';
|
|
|
|
@Entity()
|
|
export class SharedWorkflow extends WithTimestamps {
|
|
@Column()
|
|
role: WorkflowSharingRole;
|
|
|
|
@ManyToOne('User', 'sharedWorkflows')
|
|
user: User;
|
|
|
|
@PrimaryColumn()
|
|
userId: string;
|
|
|
|
@ManyToOne('WorkflowEntity', 'shared')
|
|
workflow: WorkflowEntity;
|
|
|
|
@PrimaryColumn()
|
|
workflowId: string;
|
|
}
|