card-drop/src/database/entities/card/Card.ts
2023-08-28 17:50:45 +01:00

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