Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import { Injectable } from "@nestjs/common"; import { InjectRepository } from "@nestjs/typeorm"; import { Repository } from "typeorm"; // eslint-disable-next-line import/extensions import { ApiResponse, ApiResponseStatus } from "@jga/apis"; import { Hero } from "./hero.entity"; @Injectable() export class HeroesService { public constructor( @InjectRepository(Hero) private readonly repository: Repository<Hero>, ) {} public async getHeroes(name?: string): Promise<ApiResponse<string, Hero[]>> { let heroes = this.repository .createQueryBuilder("heroes") .leftJoinAndSelect("heroes.pack", "packs") .where("packs.releaseDate <= :date and packs.type != :type and packs.owned = :owned", { date: new Date(), type: "Custom", owned: 1, }) .orderBy("heroes.name", "ASC"); if (name != undefined) { heroes = heroes.where([{ name }]); } return { data: await heroes.getMany(), status: ApiResponseStatus.SUCCESS, }; } } |