diff --git a/src/components/BeerById/BeerInfoHeader.tsx b/src/components/BeerById/BeerInfoHeader.tsx index f7c678a..f1858f8 100644 --- a/src/components/BeerById/BeerInfoHeader.tsx +++ b/src/components/BeerById/BeerInfoHeader.tsx @@ -80,8 +80,10 @@ const BeerInfoHeader: FC = ({ beerPost }) => {
- {beerPost.abv}% ABV - {beerPost.ibu} IBU + + {beerPost.abv.toFixed(1)}% ABV + + {beerPost.ibu.toFixed(1)} IBU
{(!!likeCount || likeCount === 0) && ( diff --git a/src/components/BeerById/BeerRecommendations.tsx b/src/components/BeerById/BeerRecommendations.tsx index 06f4d88..d1fcb6c 100644 --- a/src/components/BeerById/BeerRecommendations.tsx +++ b/src/components/BeerById/BeerRecommendations.tsx @@ -73,8 +73,8 @@ const BeerRecommendationsSection: FC<{ {post.style.name}
- {post.abv}% ABV - {post.ibu} IBU + {post.abv.toFixed(1)}% ABV + {post.ibu.toFixed(1)} IBU
diff --git a/src/components/BeerIndex/BeerCard.tsx b/src/components/BeerIndex/BeerCard.tsx index 0c5a22d..3747f7e 100644 --- a/src/components/BeerIndex/BeerCard.tsx +++ b/src/components/BeerIndex/BeerCard.tsx @@ -41,8 +41,8 @@ const BeerCard: FC<{ post: z.infer }> = ({ post }) =

{post.style.name}

- {post.abv}% ABV - {post.ibu} IBU + {post.abv.toFixed(1)}% ABV + {post.ibu.toFixed(1)} IBU
{!isLoading && ( diff --git a/src/components/BeerStyle/BeerStyleCard.tsx b/src/components/BeerStyle/BeerStyleCard.tsx index cffa5be..2091648 100644 --- a/src/components/BeerStyle/BeerStyleCard.tsx +++ b/src/components/BeerStyle/BeerStyleCard.tsx @@ -15,6 +15,16 @@ const BeerStyleCard: FC<{ beerStyle: z.infer }> = (

{beerStyle.name}

+
+ ABV Range: {beerStyle.abvRange[0].toFixed(1)}% + - + {beerStyle.abvRange[1].toFixed(1)}% +
+
+ IBU Range: {beerStyle.ibuRange[0].toFixed(1)} + - + {beerStyle.ibuRange[1].toFixed(1)} +
diff --git a/src/prisma/seed/create/createNewBeerPosts.ts b/src/prisma/seed/create/createNewBeerPosts.ts index 12e7827..fef4267 100644 --- a/src/prisma/seed/create/createNewBeerPosts.ts +++ b/src/prisma/seed/create/createNewBeerPosts.ts @@ -38,8 +38,12 @@ const createNewBeerPosts = async ({ const breweryPost = breweryPosts[Math.floor(Math.random() * breweryPosts.length)]; const createdAt = faker.date.past({ years: 1 }); - const abv = Math.floor(Math.random() * (12 - 4) + 4); - const ibu = Math.floor(Math.random() * (60 - 10) + 10); + const [minABV, maxABV] = beerStyle.abvRange; + const [minIBU, maxIBU] = beerStyle.ibuRange; + + const abv = parseFloat((Math.random() * (maxABV - minABV) + minABV).toFixed(1)); + const ibu = Math.floor(Math.random() * (maxIBU - minIBU) + minIBU); + const name = faker.commerce.productName(); const description = faker.lorem.lines(20).replace(/(\r\n|\n|\r)/gm, ' '); diff --git a/src/services/BeerStyles/getAllBeerStyles.ts b/src/services/BeerStyles/getAllBeerStyles.ts index 1b8821f..63dbd84 100644 --- a/src/services/BeerStyles/getAllBeerStyles.ts +++ b/src/services/BeerStyles/getAllBeerStyles.ts @@ -6,7 +6,7 @@ const getAllBeerStyles = async ( pageNum: number, pageSize: number, ): Promise[]> => { - const styles = await DBClient.instance.beerStyle.findMany({ + const styles = (await DBClient.instance.beerStyle.findMany({ take: pageSize, skip: (pageNum - 1) * pageSize, select: { @@ -15,8 +15,10 @@ const getAllBeerStyles = async ( postedBy: { select: { id: true, username: true } }, createdAt: true, updatedAt: true, + abvRange: true, + ibuRange: true, }, - }); + })) as z.infer[]; return styles; }; diff --git a/src/services/BeerStyles/schema/BeerStyleQueryResult.ts b/src/services/BeerStyles/schema/BeerStyleQueryResult.ts index ea4bfe8..924beb4 100644 --- a/src/services/BeerStyles/schema/BeerStyleQueryResult.ts +++ b/src/services/BeerStyles/schema/BeerStyleQueryResult.ts @@ -9,6 +9,8 @@ const BeerStyleQueryResult = z.object({ }), createdAt: z.coerce.date(), updatedAt: z.coerce.date().nullable(), + abvRange: z.tuple([z.number(), z.number()]), + ibuRange: z.tuple([z.number(), z.number()]), }); export default BeerStyleQueryResult; diff --git a/src/services/BreweryPost/createNewBreweryPost.ts b/src/services/BreweryPost/createNewBreweryPost.ts index 360fc6e..5ccc938 100644 --- a/src/services/BreweryPost/createNewBreweryPost.ts +++ b/src/services/BreweryPost/createNewBreweryPost.ts @@ -21,7 +21,7 @@ const createNewBreweryPost = async ({ userId, }: z.infer) => { const breweryPost: z.infer = - await DBClient.instance.breweryPost.create({ + (await DBClient.instance.breweryPost.create({ data: { name, description, @@ -47,7 +47,7 @@ const createNewBreweryPost = async ({ }, }, }, - }); + })) as z.infer; return breweryPost; }; diff --git a/src/services/BreweryPost/getAllBreweryPosts.ts b/src/services/BreweryPost/getAllBreweryPosts.ts index 82312a5..04a2f47 100644 --- a/src/services/BreweryPost/getAllBreweryPosts.ts +++ b/src/services/BreweryPost/getAllBreweryPosts.ts @@ -10,7 +10,7 @@ const getAllBreweryPosts = async (pageNum?: number, pageSize?: number) => { const take = pageNum && pageSize ? pageSize : undefined; const breweryPosts: z.infer[] = - await prisma.breweryPost.findMany({ + (await prisma.breweryPost.findMany({ skip, take, select: { @@ -32,7 +32,7 @@ const getAllBreweryPosts = async (pageNum?: number, pageSize?: number) => { dateEstablished: true, }, orderBy: { createdAt: 'desc' }, - }); + })) as z.infer[]; return breweryPosts; }; diff --git a/src/services/BreweryPost/getBreweryPostById.ts b/src/services/BreweryPost/getBreweryPostById.ts index f3e978b..bb18301 100644 --- a/src/services/BreweryPost/getBreweryPostById.ts +++ b/src/services/BreweryPost/getBreweryPostById.ts @@ -6,7 +6,7 @@ const prisma = DBClient.instance; const getBreweryPostById = async (id: string) => { const breweryPost: z.infer | null = - await prisma.breweryPost.findFirst({ + (await prisma.breweryPost.findFirst({ select: { id: true, location: { @@ -26,7 +26,7 @@ const getBreweryPostById = async (id: string) => { dateEstablished: true, }, where: { id }, - }); + })) as z.infer | null; return breweryPost; }; diff --git a/src/services/BreweryPost/schema/BreweryPostQueryResult.ts b/src/services/BreweryPost/schema/BreweryPostQueryResult.ts index f4a70d0..21b1874 100644 --- a/src/services/BreweryPost/schema/BreweryPostQueryResult.ts +++ b/src/services/BreweryPost/schema/BreweryPostQueryResult.ts @@ -7,7 +7,7 @@ const BreweryPostQueryResult = z.object({ location: z.object({ city: z.string(), address: z.string(), - coordinates: z.array(z.number()), + coordinates: z.tuple([z.number(), z.number()]), country: z.string().nullable(), stateOrProvince: z.string().nullable(), }),