Violation.ts 690 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { Entity, Column, PrimaryGeneratedColumn, ChildEntity, TableInheritance } from "typeorm";
  2. @Entity()
  3. @TableInheritance({column: { type: "varchar", name: "type" }})
  4. export abstract class Violation {
  5. @PrimaryGeneratedColumn()
  6. id: number;
  7. @Column()
  8. guildId: string;
  9. @Column()
  10. userId: string;
  11. @Column({ type: "text", nullable: true })
  12. reason?: string;
  13. @Column()
  14. valid: boolean;
  15. }
  16. @ChildEntity()
  17. export class Mute extends Violation {
  18. @Column()
  19. endsAt: Date;
  20. }
  21. @ChildEntity()
  22. export class Ban extends Violation {
  23. @Column()
  24. endsAt: Date;
  25. }
  26. @ChildEntity()
  27. export class Kick extends Violation {}