Files
the-biergarten-app/prisma/seed/create/createNewBeerPostLikes.ts
2023-02-09 02:23:18 -05:00

35 lines
910 B
TypeScript

import type { BeerPost, BeerPostLikes, User } from '@prisma/client';
import DBClient from '../../DBClient';
const createNewBeerPostLikes = async ({
joinData: { beerPosts, users },
numberOfLikes,
}: {
joinData: {
beerPosts: BeerPost[];
users: User[];
};
numberOfLikes: number;
}) => {
const beerPostLikePromises: Promise<BeerPostLikes>[] = [];
// eslint-disable-next-line no-plusplus
for (let i = 0; i < numberOfLikes; i++) {
const beerPost = beerPosts[Math.floor(Math.random() * beerPosts.length)];
const user = users[Math.floor(Math.random() * users.length)];
beerPostLikePromises.push(
DBClient.instance.beerPostLikes.create({
data: {
beerPost: { connect: { id: beerPost.id } },
user: { connect: { id: user.id } },
},
}),
);
}
return Promise.all(beerPostLikePromises);
};
export default createNewBeerPostLikes;