Files
desa-darmasaba/prisma/seed_assets.ts

69 lines
1.6 KiB
TypeScript

/* eslint-disable @typescript-eslint/no-explicit-any */
import prisma from "@/lib/prisma";
import { getAllDownloadUrls } from "./lib/get_images";
export default async function seedAssets() {
const images = await getAllDownloadUrls();
// for (const img of images) {
// try {
// await prisma.fileStorage.upsert({
// where: { name: img.name },
// create: {
// name: img.name,
// category: "image",
// mimeType: "image/webp",
// link: img.downloadUrl,
// path: "images",
// realName: img.name,
// isActive: true,
// },
// update: {
// link: img.downloadUrl,
// isActive: true,
// },
// });
// console.log(`✅ ${img.name}`);
// } catch (err: any) {
// console.error(`❌ ${img.name}`, err.code ?? err);
// }
// }
for (const img of images) {
try {
await prisma.fileStorage.upsert({
where: {
id: img.name,
},
create: {
name: img.name,
category: "image",
mimeType: "image/webp",
link: img.downloadUrl,
path: "images",
realName: img.name,
isActive: true,
},
update: {},
});
console.log(img.name, ": success")
} catch (err) {
console.log("gagal seed assets", JSON.stringify(err));
}
}
console.log("🎉 Image seeding completed");
}
if (import.meta.main) {
seedAssets()
.then(() => {
console.log("seed assets success");
})
.catch((err) => {
console.log("gagal seed assets", JSON.stringify(err));
});
}