mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2026-07-11 22:56:40 +08:00
[resumes][fix] fix resumes starring lag + add zoom controls (#359)
* [resumes][fix] Fix star button delay * [resumes][feat] add zoom controls for pdf
This commit is contained in:
@@ -28,7 +28,7 @@ export const appRouter = createRouter()
|
||||
.merge('companies.', companiesRouter)
|
||||
.merge('resumes.resume.', resumesRouter)
|
||||
.merge('resumes.resume.user.', resumesResumeUserRouter)
|
||||
.merge('resumes.star.user.', resumesStarUserRouter)
|
||||
.merge('resumes.resume.', resumesStarUserRouter)
|
||||
.merge('resumes.reviews.', resumeReviewsRouter)
|
||||
.merge('resumes.reviews.user.', resumesReviewsUserRouter)
|
||||
.merge('questions.answers.comments.', questionsAnswerCommentRouter)
|
||||
|
||||
@@ -62,7 +62,9 @@ export const resumesRouter = createRouter()
|
||||
},
|
||||
stars: {
|
||||
where: {
|
||||
userId,
|
||||
OR: {
|
||||
userId,
|
||||
},
|
||||
},
|
||||
},
|
||||
user: {
|
||||
|
||||
@@ -2,38 +2,14 @@ import { z } from 'zod';
|
||||
|
||||
import { createProtectedRouter } from '../context';
|
||||
|
||||
export const resumesStarUserRouter = createProtectedRouter().mutation(
|
||||
'create_or_delete',
|
||||
{
|
||||
export const resumesStarUserRouter = createProtectedRouter()
|
||||
.mutation('unstar', {
|
||||
input: z.object({
|
||||
resumeId: z.string(),
|
||||
}),
|
||||
async resolve({ ctx, input }) {
|
||||
const { resumeId } = input;
|
||||
// Update_star will only be called if user is logged in
|
||||
const userId = ctx.session!.user!.id;
|
||||
|
||||
// Use the resumeId and resumeProfileId to check if star exists
|
||||
const resumesStar = await ctx.prisma.resumesStar.findUnique({
|
||||
select: {
|
||||
id: true,
|
||||
},
|
||||
where: {
|
||||
userId_resumeId: {
|
||||
resumeId,
|
||||
userId,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (resumesStar === null) {
|
||||
return await ctx.prisma.resumesStar.create({
|
||||
data: {
|
||||
resumeId,
|
||||
userId,
|
||||
},
|
||||
});
|
||||
}
|
||||
const userId = ctx.session.user.id;
|
||||
return await ctx.prisma.resumesStar.delete({
|
||||
where: {
|
||||
userId_resumeId: {
|
||||
@@ -43,5 +19,19 @@ export const resumesStarUserRouter = createProtectedRouter().mutation(
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
);
|
||||
})
|
||||
.mutation('star', {
|
||||
input: z.object({
|
||||
resumeId: z.string(),
|
||||
}),
|
||||
async resolve({ ctx, input }) {
|
||||
const { resumeId } = input;
|
||||
const userId = ctx.session.user.id;
|
||||
return await ctx.prisma.resumesStar.create({
|
||||
data: {
|
||||
resumeId,
|
||||
userId,
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user