Files
omnivore/packages/api/src/entity/groups/group_membership.ts
2022-12-02 12:32:26 +08:00

42 lines
688 B
TypeScript

import {
Column,
CreateDateColumn,
Entity,
JoinColumn,
ManyToOne,
OneToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm'
import { User } from '../user'
import { Group } from './group'
import { Invite } from './invite'
@Entity()
export class GroupMembership {
@PrimaryGeneratedColumn('uuid')
id?: string
@OneToOne(() => User)
@JoinColumn()
user!: User
@ManyToOne(() => Group, (group) => group.members)
@JoinColumn()
group!: Group
@OneToOne(() => Invite)
@JoinColumn()
invite!: Invite
@CreateDateColumn()
createdAt?: Date
@UpdateDateColumn()
updatedAt?: Date
@Column('boolean', { default: false })
isAdmin!: boolean
}