mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 10:42:08 +00:00
Add github actions, refactor seed and beer p likes
This commit is contained in:
34
prisma/seed/create/createNewBeerPostLikes.ts
Normal file
34
prisma/seed/create/createNewBeerPostLikes.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
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;
|
||||
@@ -6,6 +6,7 @@ import cleanDatabase from './clean/cleanDatabase';
|
||||
|
||||
import createNewBeerImages from './create/createNewBeerImages';
|
||||
import createNewBeerPostComments from './create/createNewBeerPostComments';
|
||||
import createNewBeerPostLikes from './create/createNewBeerPostLikes';
|
||||
import createNewBeerPosts from './create/createNewBeerPosts';
|
||||
import createNewBeerTypes from './create/createNewBeerTypes';
|
||||
import createNewBreweryImages from './create/createNewBreweryImages';
|
||||
@@ -31,7 +32,14 @@ import createNewUsers from './create/createNewUsers';
|
||||
numberOfPosts: 48,
|
||||
joinData: { breweryPosts, beerTypes, users },
|
||||
});
|
||||
const [beerPostComments, breweryPostComments] = await Promise.all([
|
||||
|
||||
const [
|
||||
beerPostComments,
|
||||
breweryPostComments,
|
||||
beerPostLikes,
|
||||
beerImages,
|
||||
breweryImages,
|
||||
] = await Promise.all([
|
||||
createNewBeerPostComments({
|
||||
numberOfComments: 1000,
|
||||
joinData: { beerPosts, users },
|
||||
@@ -40,11 +48,18 @@ import createNewUsers from './create/createNewUsers';
|
||||
numberOfComments: 1000,
|
||||
joinData: { breweryPosts, users },
|
||||
}),
|
||||
]);
|
||||
|
||||
const [beerImages, breweryImages] = await Promise.all([
|
||||
createNewBeerImages({ numberOfImages: 1000, beerPosts }),
|
||||
createNewBreweryImages({ numberOfImages: 1000, breweryPosts }),
|
||||
createNewBeerPostLikes({
|
||||
numberOfLikes: 10000,
|
||||
joinData: { beerPosts, users },
|
||||
}),
|
||||
createNewBeerImages({
|
||||
numberOfImages: 1000,
|
||||
beerPosts,
|
||||
}),
|
||||
createNewBreweryImages({
|
||||
numberOfImages: 1000,
|
||||
breweryPosts,
|
||||
}),
|
||||
]);
|
||||
|
||||
const end = performance.now();
|
||||
@@ -57,6 +72,7 @@ import createNewUsers from './create/createNewUsers';
|
||||
numberOfBreweryPosts: breweryPosts.length,
|
||||
numberOfBeerPosts: beerPosts.length,
|
||||
numberOfBeerTypes: beerTypes.length,
|
||||
numberOfBeerPostLikes: beerPostLikes.length,
|
||||
numberOfBeerPostComments: beerPostComments.length,
|
||||
numberOfBreweryPostComments: breweryPostComments.length,
|
||||
numberOfBeerImages: beerImages.length,
|
||||
|
||||
Reference in New Issue
Block a user