Skip to content

Commit 0ee1546

Browse files
committed
Add filters based on the interview verdict
1 parent b2165f6 commit 0ee1546

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/controllers/interview.controller.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ApiError } from "../utils/apiError";
55
export const getInterviews = async (req: Request, res: Response) => {
66
const page = parseInt(req.query.page as string) || 1;
77
const limit = parseInt(req.query.limit as string) || 10;
8+
const verdict = (req.query.verdict as string) || "All";
89

910
if(isNaN(page) || page<1){
1011
throw new ApiError("Page must be greater than or equal to 1",400);
@@ -13,13 +14,14 @@ export const getInterviews = async (req: Request, res: Response) => {
1314
throw new ApiError("Limit must be between 1 to 100",400)
1415
}
1516

16-
const { interviews, total } = await interviewService.getInterviews(page, limit);
17+
const { interviews, total } = await interviewService.getInterviews(page, limit, verdict);
1718

1819
return res.status(200).json({
1920
success: true,
2021
data: interviews,
2122
page,
2223
limit,
24+
verdict,
2325
total,
2426
totalPages: Math.ceil(total / limit),
2527
});

src/services/interview.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
import { prisma } from "../db/client"
22

3-
export const getInterviews = async (page: number = 1, limit: number = 10) => {
3+
export const getInterviews = async (page: number = 1, limit: number = 10, verdict : string = "All") => {
44
const skip = (page - 1) * limit;
55

6+
const where : any = {}
7+
if(verdict !== "All"){
8+
where.verdict = verdict
9+
}
10+
611
const [interviews, total] = await Promise.all([
712
prisma.interviewExperience.findMany({
13+
where,
814
skip,
915
take: limit,
1016
include: {

0 commit comments

Comments
 (0)