import { Column, Entity, OneToMany } from "typeorm"; import BaseEntity from "../../../contracts/BaseEntity"; import { CardRarity } from "../../../constants/CardRarity"; import Series from "./Series"; import CardDataSource from "../../dataSources/cardDataSource"; @Entity() export default class Card extends BaseEntity { constructor(id: string, name: string, rarity: CardRarity) { super(); this.Id = id; this.Name = name; this.Rarity = rarity; } @Column() Name: string; @Column() Rarity: CardRarity; @OneToMany(() => Series, x => x.Cards) Series: Series; public static async FetchAllByRarity(rarity: CardRarity): Promise<Card[]> { const repository = CardDataSource.getRepository(Card); const all = await repository.find({ where: { Rarity: rarity }}); return all; } }