[resumes][feat] add query for max resume upvote count

pull/402/head
Keane Chan 2 years ago
parent 10d23fe464
commit 4526867601
No known key found for this signature in database
GPG Key ID: 32718398E1E9F87C

@ -9,15 +9,19 @@ type Props = Readonly<{
}>;
export default function ResumeUserBadges({ userId }: Props) {
const userReviewedResumesCountQuery = trpc.useQuery([
const userReviewedResumeCountQuery = trpc.useQuery([
'resumes.resume.findUserReviewedResumeCount',
{ userId },
]);
const userMaxResumeUpvoteCountQuery = trpc.useQuery([
'resumes.resume.findUserMaxResumeUpvoteCount',
{ userId },
]);
// TODO: Add other badges in
const payload: BadgePayload = {
maxResumeUpvoteCount: 10,
reviewedResumesCount: userReviewedResumesCountQuery.data ?? 0,
maxResumeUpvoteCount: userMaxResumeUpvoteCountQuery.data ?? 0,
reviewedResumesCount: userReviewedResumeCountQuery.data ?? 0,
topUpvotedCommentCount: 10,
};

@ -157,4 +157,30 @@ export const resumesRouter = createRouter()
},
});
},
})
.query('findUserMaxResumeUpvoteCount', {
input: z.object({
userId: z.string(),
}),
async resolve({ ctx, input }) {
const highestUpvotedResume = await ctx.prisma.resumesResume.findFirst({
include: {
_count: {
select: {
stars: true,
},
},
},
orderBy: {
stars: {
_count: 'desc',
},
},
where: {
userId: input.userId,
},
});
return highestUpvotedResume?._count?.stars ?? 0;
},
});

Loading…
Cancel
Save