diff options
Diffstat (limited to 'util/src/entities/TeamMember.ts')
-rw-r--r-- | util/src/entities/TeamMember.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/util/src/entities/TeamMember.ts b/util/src/entities/TeamMember.ts new file mode 100644 index 00000000..2b1c76f1 --- /dev/null +++ b/util/src/entities/TeamMember.ts @@ -0,0 +1,31 @@ +import { Column, Entity, JoinColumn, ManyToOne } from "typeorm"; +import { BaseClass } from "./BaseClass"; +import { User } from "./User"; + +export enum TeamMemberState { + INVITED = 1, + ACCEPTED = 2, +} + +@Entity("team_members") +export class TeamMember extends BaseClass { + @Column({ type: "simple-enum", enum: TeamMemberState }) + membership_state: TeamMemberState; + + @Column("simple-array") + permissions: string[]; + + @Column() + team_id: string; + + @JoinColumn({ name: "team_id" }) + @ManyToOne(() => require("./Team").Team, (team: import("./Team").Team) => team.id) + team: import("./Team").Team; + + @Column() + user_id: string; + + @JoinColumn({ name: "user_id" }) + @ManyToOne(() => User, (user: User) => user.id) + user: User; +} |