@wepublish/api
Version:
API core for we.publish.
41 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImageDataloaderService = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const client_1 = require("@prisma/client");
const api_1 = require("../../../utils-api/src");
const dataloader_1 = tslib_1.__importDefault(require("dataloader"));
let ImageDataloaderService = exports.ImageDataloaderService = class ImageDataloaderService {
constructor(prisma) {
this.prisma = prisma;
this.dataloader = new dataloader_1.default((ids) => tslib_1.__awaiter(this, void 0, void 0, function* () {
return (0, api_1.createOptionalsArray)(ids, yield this.prisma.image.findMany({
where: {
id: {
in: ids
}
},
include: {
focalPoint: true
}
}), 'id');
}), { name: 'ImageDataLoader' });
}
prime(...parameters) {
return this.dataloader.prime(...parameters);
}
load(...parameters) {
return this.dataloader.load(...parameters);
}
loadMany(...parameters) {
return this.dataloader.loadMany(...parameters);
}
};
exports.ImageDataloaderService = ImageDataloaderService = tslib_1.__decorate([
(0, common_1.Injectable)({
scope: common_1.Scope.REQUEST
}),
tslib_1.__metadata("design:paramtypes", [client_1.PrismaClient])
], ImageDataloaderService);
//# sourceMappingURL=image-dataloader.service.js.map