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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | import { Body, CacheTTL, Controller, DefaultValuePipe, Get, Header, ParseBoolPipe, Post, Query, UseInterceptors, Version, } from "@nestjs/common"; // eslint-disable-next-line import/extensions import { CacheInterceptor } from "@nestjs/cache-manager"; import { ApiResponse } from "@jga/apis"; import { Deck, Encounter, EncounterInterface, Hero, Pack, ModularSet, Scenario } from "./models"; import { DecksService } from "./modules/decks/decks.service"; import { EncountersService } from "./modules/encounters/encounters.service"; import { HeroesService } from "./modules/heroes/heroes.service"; import { ModularSetsService } from "./modules/modular-sets/modular-sets.service"; import { PacksService } from "./modules/packs/packs.service"; import { ScenariosService } from "./modules/scenarios/scenarios.service"; import * as package_ from "../package.json"; @Controller({ version: "0", }) @UseInterceptors(CacheInterceptor) export class AppController { // eslint-disable-next-line max-params constructor( private readonly decksService: DecksService, private readonly encountersService: EncountersService, private readonly heroesService: HeroesService, private readonly modularsSetsService: ModularSetsService, private readonly packsService: PacksService, private readonly scenariosService: ScenariosService, ) {} @Version("0") @Get("decks") @CacheTTL(5) getDecks(): Promise<ApiResponse<string, Deck[]>> { return this.decksService.getDecks(); } @Version("0") @Get("packs") getPacks( @Query("owned", new DefaultValuePipe(true), ParseBoolPipe) owned: boolean, @Query("unreleased", new DefaultValuePipe(false), ParseBoolPipe) unreleased: boolean, ): Promise<ApiResponse<string, Pack[]>> { return this.packsService.getPacks({ owned, unreleased }); } @Version("0") @Get("heroes") @Header("Accept", `application/vnd.mc-api.jerome-gabriel.me+json;version=${package_.version}`) getHeroes(@Query("name") name: string): Promise<ApiResponse<string, Hero[]>> { return this.heroesService.getHeroes(name); } @Version("0") @Get("scenarios") getScenarios(@Query("name") name: string): Promise<ApiResponse<string, Scenario[]>> { return this.scenariosService.getScenarios(name); } @Version("0") @Get("encounters") @CacheTTL(5) getEncounters(@Query("sort") sort: "ASC" | "DESC"): Promise<ApiResponse<string, Encounter[]>> { return this.encountersService.getEncounters(sort); } @Version("0") @Get("modularsets") getModularSets(@Query("name") name: string): Promise<ApiResponse<string, ModularSet[]>> { return this.modularsSetsService.getModularSets(name); } @Version("0") @Post("encounters") create(@Body() encounter: Partial<EncounterInterface>): Promise<ApiResponse<string, Encounter>> { return this.encountersService.createEncounter(encounter); } } |