Add github actions, refactor seed and beer p likes

This commit is contained in:
Aaron William Po
2023-02-09 02:23:18 -05:00
parent d8ae58844c
commit c2eb4d1371
10 changed files with 299 additions and 483 deletions

View 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;

View File

@@ -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,