Guide.ts 717 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {Entity, Column, PrimaryGeneratedColumn, ManyToMany, JoinTable} from "typeorm";
  2. export enum GuideType {
  3. GUIDE = "guide",
  4. MEME = "meme",
  5. MISC = "misc"
  6. }
  7. @Entity()
  8. export class Guide {
  9. @PrimaryGeneratedColumn()
  10. id: number;
  11. @ManyToMany(type => GuideKeyword, keyword => keyword.relatedGuides)
  12. @JoinTable()
  13. keywords: GuideKeyword[];
  14. @Column()
  15. displayName: string;
  16. @Column()
  17. content: string;
  18. @Column({ type: "varchar" })
  19. type: GuideType;
  20. }
  21. @Entity()
  22. export class GuideKeyword {
  23. @PrimaryGeneratedColumn()
  24. id: number;
  25. @Column()
  26. keyword: string;
  27. @ManyToMany(type => Guide, guide => guide.keywords)
  28. relatedGuides: Guide[];
  29. }