👔 feat: add bulk thumbnail update logic
Some checks failed
Integration Tests / integration-tests (pull_request) Failing after 42s

This commit is contained in:
2026-02-22 10:55:02 +07:00
parent 2a3467a737
commit 21a06f3b9e
4 changed files with 47 additions and 13 deletions

View File

@ -0,0 +1,30 @@
import { Prisma } from "@prisma/client";
import { AppError } from "../../../../helpers/error/instances/app";
import { prisma } from "../../../../utils/databases/prisma/connection";
export const bulkUpdateThumbnailRepository = async (
data: { episodeId: string; thumbnailCode: string }[],
) => {
try {
const values = Prisma.join(
data.map(
(item) => Prisma.sql`(${item.episodeId}::uuid, ${item.thumbnailCode})`,
),
);
await prisma.$executeRaw`
UPDATE episodes e
SET "pictureThumbnail" = v."thumbnailCode"
FROM (
VALUES ${values}
) AS v("episodeId", "thumbnailCode")
WHERE e.id = v."episodeId"
`;
} catch (error) {
throw new AppError(
500,
"An error occurred while bulk updating episode thumbnails.",
error,
);
}
};