import { BaseDataLoaderService } from "@cv/system"; import { Injectable, Scope } from "@nestjs/common"; import { CVService } from "./cv.service"; import { CV } from "./graphql/cv.type"; @Injectable({ scope: Scope.REQUEST }) export class CVDataLoaderService extends BaseDataLoaderService { constructor(readonly cvService: CVService) { super(async (ids: readonly string[]) => { const cvs = await cvService.findMany({ id: [...ids] }); const cvMap = new Map(); for (const cv of cvs) { cvMap.set(cv.id, cv); } return ids.map((id) => cvMap.get(id) ?? null); }); } }