diff options
Diffstat (limited to 'src/util/entities/Team.ts')
-rw-r--r-- | src/util/entities/Team.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/util/entities/Team.ts b/src/util/entities/Team.ts new file mode 100644 index 00000000..1d2d7002 --- /dev/null +++ b/src/util/entities/Team.ts @@ -0,0 +1,27 @@ +import { Column, Entity, JoinColumn, ManyToOne, OneToMany, RelationId } from "typeorm"; +import { BaseClass } from "./BaseClass"; +import { TeamMember } from "./TeamMember"; +import { User } from "./User"; + +@Entity("teams") +export class Team extends BaseClass { + @Column({ nullable: true }) + icon?: string; + + @JoinColumn({ name: "member_ids" }) + @OneToMany(() => TeamMember, (member: TeamMember) => member.team, { + orphanedRowAction: "delete" + }) + members: TeamMember[]; + + @Column() + name: string; + + @Column({ nullable: true }) + @RelationId((team: Team) => team.owner_user) + owner_user_id: string; + + @JoinColumn({ name: "owner_user_id" }) + @ManyToOne(() => User) + owner_user: User; +} |