Update brewery/beer style to use tuples for ranges/coords. Seed updates.

This commit is contained in:
Aaron William Po
2023-09-22 02:17:05 -04:00
parent e95cb29189
commit 43220fe0e6
11 changed files with 37 additions and 17 deletions

View File

@@ -6,7 +6,7 @@ const getAllBeerStyles = async (
pageNum: number,
pageSize: number,
): Promise<z.infer<typeof BeerStyleQueryResult>[]> => {
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<typeof BeerStyleQueryResult>[];
return styles;
};

View File

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

View File

@@ -21,7 +21,7 @@ const createNewBreweryPost = async ({
userId,
}: z.infer<typeof CreateNewBreweryPostWithUserAndLocationSchema>) => {
const breweryPost: z.infer<typeof BreweryPostQueryResult> =
await DBClient.instance.breweryPost.create({
(await DBClient.instance.breweryPost.create({
data: {
name,
description,
@@ -47,7 +47,7 @@ const createNewBreweryPost = async ({
},
},
},
});
})) as z.infer<typeof BreweryPostQueryResult>;
return breweryPost;
};

View File

@@ -10,7 +10,7 @@ const getAllBreweryPosts = async (pageNum?: number, pageSize?: number) => {
const take = pageNum && pageSize ? pageSize : undefined;
const breweryPosts: z.infer<typeof BreweryPostQueryResult>[] =
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<typeof BreweryPostQueryResult>[];
return breweryPosts;
};

View File

@@ -6,7 +6,7 @@ const prisma = DBClient.instance;
const getBreweryPostById = async (id: string) => {
const breweryPost: z.infer<typeof BreweryPostQueryResult> | 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<typeof BreweryPostQueryResult> | null;
return breweryPost;
};

View File

@@ -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(),
}),