Files
the-biergarten-app/prisma/seed/create/createNewBeerImages.ts
2023-01-28 21:05:20 -05:00

34 lines
879 B
TypeScript

import { BeerPost, BeerImage } from '@prisma/client';
import DBClient from '../../DBClient';
interface CreateNewBeerImagesArgs {
numberOfImages: number;
beerPosts: BeerPost[];
}
const createNewBeerImages = async ({
numberOfImages,
beerPosts,
}: CreateNewBeerImagesArgs) => {
const prisma = DBClient.instance;
const beerImagesPromises: Promise<BeerImage>[] = [];
// eslint-disable-next-line no-plusplus
for (let i = 0; i < numberOfImages; i++) {
const beerPost = beerPosts[Math.floor(Math.random() * beerPosts.length)];
beerImagesPromises.push(
prisma.beerImage.create({
data: {
url: 'https://picsum.photos/900/1600',
alt: 'Placeholder beer image.',
beerPost: { connect: { id: beerPost.id } },
},
}),
);
}
return Promise.all(beerImagesPromises);
};
export default createNewBeerImages;