You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
894 B

import {
BeforeInsert,
Column,
Entity,
JoinColumn,
JoinTable,
ManyToMany,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn
} from 'typeorm'
import User from 'src/users/entity/user.entity'
import Message from './message.entity'
@Entity()
export default class Channel {
@PrimaryGeneratedColumn()
id: number
@Column()
name: string
@Column({ default: false })
isPrivate: boolean
@Column({ default: '' })
password: string
@ManyToMany(() => User)
@JoinTable()
users: User[]
@OneToMany(() => Message, (message: Message) => message.channel, { cascade: true })
messages: Message[]
@ManyToOne(() => User)
@JoinColumn()
owner: User
@ManyToMany(() => User)
@JoinTable()
admins: User[]
@Column('text', { array: true, default: [] })
banned: number[][]
@Column('text', { array: true, default: [] })
muted: number[][]
}