/* * Copyright (c) 2022. * Author Peter Placzek (tada5hi) * For the full copyright and license information, * view the LICENSE file that was distributed with this source code. */ import { Column, CreateDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; import {ChatRoom} from "../room"; import {AuthUser} from "../../auth/user"; @Entity() export class ChatMember { @PrimaryGeneratedColumn("uuid") id: string; @CreateDateColumn() created_at: string; @UpdateDateColumn() updated_at: string @Column({type: "boolean", nullable: true}) creator: boolean; @Column({type: "int", unsigned: true}) user_id: number; @Column({type: "varchar"}) room_id: string; @ManyToOne(() => ChatRoom, (chatRoom) => chatRoom.members, {onDelete: "CASCADE"}) @JoinColumn({name: 'room_id'}) room: ChatRoom; @ManyToOne(() => AuthUser, { onDelete: 'CASCADE' }) @JoinColumn({name: 'user_id'}) user: AuthUser; }