33 lines
No EOL
869 B
TypeScript
33 lines
No EOL
869 B
TypeScript
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;
|
|
}
|
|
} |