Some checks failed
Integration Tests / integration-tests (pull_request) Failing after 42s
31 lines
810 B
TypeScript
31 lines
810 B
TypeScript
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,
|
|
);
|
|
}
|
|
};
|