mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2025-07-28 12:43:12 +08:00
[resumes][feat] add query for max resume upvote count
This commit is contained in:
@ -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;
|
||||
},
|
||||
});
|
||||
|
Reference in New Issue
Block a user