import {Entity, TableInheritance, PrimaryColumn, Column, ChildEntity} from "typeorm";
import { ReactionType } from "./ReactionEmote";

@Entity()
@TableInheritance({ column: { type: "varchar", name: "type" } })
export class KnownUser {
    
    @PrimaryColumn()
    userID: string;

    @Column({ default: false })
    canModerate: boolean;

    @Column({ type: "varchar", default: ReactionType.NONE })
    replyReactionType: ReactionType;

    @Column({ type: "varchar", default: ReactionType.NONE })
    mentionReactionType: ReactionType;
}

@ChildEntity()
export class User extends KnownUser { }

@ChildEntity()
export class UserRole extends KnownUser { }