2024-05-17 01:53:15 -07:00
|
|
|
import { Column, Entity, ManyToOne, PrimaryColumn } from '@n8n/typeorm';
|
|
|
|
import { User } from './User';
|
2024-08-27 07:44:32 -07:00
|
|
|
import { WithTimestamps } from './abstract-entity';
|
|
|
|
import { Project } from './project';
|
2024-05-17 01:53:15 -07:00
|
|
|
|
|
|
|
// personalOwner is only used for personal projects
|
2024-06-06 02:55:48 -07:00
|
|
|
export type ProjectRole =
|
|
|
|
| 'project:personalOwner'
|
|
|
|
| 'project:admin'
|
|
|
|
| 'project:editor'
|
|
|
|
| 'project:viewer';
|
2024-05-17 01:53:15 -07:00
|
|
|
|
|
|
|
@Entity()
|
|
|
|
export class ProjectRelation extends WithTimestamps {
|
|
|
|
@Column()
|
|
|
|
role: ProjectRole;
|
|
|
|
|
|
|
|
@ManyToOne('User', 'projectRelations')
|
|
|
|
user: User;
|
|
|
|
|
|
|
|
@PrimaryColumn('uuid')
|
|
|
|
userId: string;
|
|
|
|
|
|
|
|
@ManyToOne('Project', 'projectRelations')
|
|
|
|
project: Project;
|
|
|
|
|
|
|
|
@PrimaryColumn()
|
|
|
|
projectId: string;
|
|
|
|
}
|