import { BaseDataLoaderService, Level, LevelService } from "@cv/core"; import { Injectable, Scope } from "@nestjs/common"; @Injectable({ scope: Scope.REQUEST }) export class LevelDataLoaderService extends BaseDataLoaderService< string, Level > { constructor(readonly levelService: LevelService) { super(async (ids: readonly string[]) => { const levels = await levelService.findMany({ id: [...ids] }); const levelMap = new Map(); for (const level of levels) { levelMap.set(level.id, level); } return ids.map((id) => levelMap.get(id) ?? null); }); } }