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 { }