Refactored api services into sep files. Client fix

Fixed hydration errors in beers/[id] by implementing timeDistanceState
This commit is contained in:
Aaron William Po
2023-01-31 22:38:13 -05:00
parent 0b96c8f1f5
commit 5cf2087cd1
29 changed files with 380 additions and 430 deletions

View File

@@ -0,0 +1,37 @@
import DBClient from '@/prisma/DBClient';
import BeerPostQueryResult from '../BeerPost/schema/BeerPostQueryResult';
import { BeerCommentQueryResultArrayT } from './schema/BeerCommentQueryResult';
const getAllBeerComments = async (
{ id }: Pick<BeerPostQueryResult, 'id'>,
{ pageSize, pageNum = 0 }: { pageSize: number; pageNum?: number },
) => {
const skip = (pageNum - 1) * pageSize;
const beerComments: BeerCommentQueryResultArrayT =
await DBClient.instance.beerComment.findMany({
where: {
beerPostId: id,
},
select: {
id: true,
content: true,
rating: true,
createdAt: true,
postedBy: {
select: {
id: true,
username: true,
createdAt: true,
},
},
},
orderBy: {
createdAt: 'desc',
},
skip,
take: pageSize,
});
return beerComments;
};
export default getAllBeerComments;