diff --git a/apps/portal/src/pages/resumes/[resumeId].tsx b/apps/portal/src/pages/resumes/[resumeId].tsx
index 8fc6b696..ee203356 100644
--- a/apps/portal/src/pages/resumes/[resumeId].tsx
+++ b/apps/portal/src/pages/resumes/[resumeId].tsx
@@ -200,7 +200,7 @@ export default function ResumeReviewPage() {
initFormDetails={{
additionalInfo: detailsQuery.data.additionalInfo ?? '',
experience: detailsQuery.data.experience,
- location: detailsQuery.data.location,
+ location: detailsQuery.data.locationId,
resumeId: resumeId as string,
role: detailsQuery.data.role,
title: detailsQuery.data.title,
@@ -334,10 +334,10 @@ export default function ResumeReviewPage() {
type="button"
onClick={() =>
onInfoTagClick({
- locationLabel: detailsQuery.data?.location,
+ locationLabel: detailsQuery.data?.locationId,
})
}>
- {getFilterLabel('location', detailsQuery.data.location)}
+ {detailsQuery.data?.location.name}
diff --git a/apps/portal/src/server/router/resumes/resumes-resume-router.ts b/apps/portal/src/server/router/resumes/resumes-resume-router.ts
index ec4a36b4..2842b6cc 100644
--- a/apps/portal/src/server/router/resumes/resumes-resume-router.ts
+++ b/apps/portal/src/server/router/resumes/resumes-resume-router.ts
@@ -35,7 +35,7 @@ export const resumesRouter = createRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
@@ -49,6 +49,11 @@ export const resumesRouter = createRouter()
},
},
comments: true,
+ location: {
+ select: {
+ name: true,
+ },
+ },
stars: {
where: {
OR: {
@@ -79,7 +84,7 @@ export const resumesRouter = createRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
@@ -92,7 +97,7 @@ export const resumesRouter = createRouter()
id: r.id,
isResolved: r.isResolved,
isStarredByUser: r.stars.length > 0,
- location: r.location,
+ location: r.location.name,
numComments: r._count.comments,
numStars: r._count.stars,
role: r.role,
@@ -103,7 +108,7 @@ export const resumesRouter = createRouter()
return resume;
});
- // Group by role and count, taking into account all role/experience/location/isUnreviewed filters and search value
+ // Group by role and count, taking into account all role/experience/locationId/isUnreviewed filters and search value
const roleCounts = await ctx.prisma.resumesResume.groupBy({
_count: {
_all: true,
@@ -112,7 +117,7 @@ export const resumesRouter = createRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
});
@@ -143,7 +148,7 @@ export const resumesRouter = createRouter()
by: ['experience'],
where: {
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
@@ -165,7 +170,7 @@ export const resumesRouter = createRouter()
_count: {
_all: true,
},
- by: ['location'],
+ by: ['locationId'],
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
@@ -174,7 +179,7 @@ export const resumesRouter = createRouter()
},
});
const mappedLocationCounts = Object.fromEntries(
- locationCounts.map((lc) => [lc.location, lc._count._all]),
+ locationCounts.map((lc) => [lc.locationId, lc._count._all]),
);
const zeroLocationCounts = Object.fromEntries(
LOCATIONS.filter((l) => !(l.value in mappedLocationCounts)).map((l) => [
@@ -217,6 +222,11 @@ export const resumesRouter = createRouter()
stars: true,
},
},
+ location: {
+ select: {
+ name: true,
+ },
+ },
stars: {
where: {
OR: {
diff --git a/apps/portal/src/server/router/resumes/resumes-resume-user-router.ts b/apps/portal/src/server/router/resumes/resumes-resume-user-router.ts
index 040c8fc7..62016e55 100644
--- a/apps/portal/src/server/router/resumes/resumes-resume-user-router.ts
+++ b/apps/portal/src/server/router/resumes/resumes-resume-user-router.ts
@@ -8,7 +8,6 @@ import type { Resume } from '~/types/resume';
export const resumesResumeUserRouter = createProtectedRouter()
.mutation('upsert', {
- // TODO: Use enums for experience, location, role
input: z.object({
additionalInfo: z.string().optional(),
experience: z.string(),
@@ -91,7 +90,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
resume: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
@@ -108,6 +107,11 @@ export const resumesResumeUserRouter = createProtectedRouter()
stars: true,
},
},
+ location: {
+ select: {
+ name: true,
+ },
+ },
user: {
select: {
name: true,
@@ -144,7 +148,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
resume: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
},
@@ -160,7 +164,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
id: rs.resume.id,
isResolved: rs.resume.isResolved,
isStarredByUser: true,
- location: rs.resume.location,
+ location: rs.resume.location.name,
numComments: rs.resume._count.comments,
numStars: rs.resume._count.stars,
role: rs.resume.role,
@@ -179,7 +183,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
stars: {
some: {
userId,
@@ -209,7 +213,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
by: ['experience'],
where: {
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
stars: {
some: {
@@ -236,7 +240,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
_count: {
_all: true,
},
- by: ['location'],
+ by: ['locationId'],
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
@@ -250,7 +254,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
},
});
const mappedLocationCounts = Object.fromEntries(
- locationCounts.map((lc) => [lc.location, lc._count._all]),
+ locationCounts.map((lc) => [lc.locationId, lc._count._all]),
);
const zeroLocationCounts = Object.fromEntries(
LOCATIONS.filter((l) => !(l.value in mappedLocationCounts)).map((l) => [
@@ -299,7 +303,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
userId,
@@ -313,6 +317,11 @@ export const resumesResumeUserRouter = createProtectedRouter()
stars: true,
},
},
+ location: {
+ select: {
+ name: true,
+ },
+ },
stars: {
where: {
userId,
@@ -341,7 +350,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
userId,
@@ -355,7 +364,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
id: r.id,
isResolved: r.isResolved,
isStarredByUser: r.stars.length > 0,
- location: r.location,
+ location: r.location.name,
numComments: r._count.comments,
numStars: r._count.stars,
role: r.role,
@@ -374,7 +383,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
title: { contains: searchValue, mode: 'insensitive' },
userId,
},
@@ -400,7 +409,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
by: ['experience'],
where: {
isResolved: isUnreviewed ? false : {},
- location: { in: locationFilters },
+ locationId: { in: locationFilters },
role: { in: roleFilters },
title: { contains: searchValue, mode: 'insensitive' },
userId,
@@ -423,7 +432,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
_count: {
_all: true,
},
- by: ['location'],
+ by: ['locationId'],
where: {
experience: { in: experienceFilters },
isResolved: isUnreviewed ? false : {},
@@ -433,7 +442,7 @@ export const resumesResumeUserRouter = createProtectedRouter()
},
});
const mappedLocationCounts = Object.fromEntries(
- locationCounts.map((lc) => [lc.location, lc._count._all]),
+ locationCounts.map((lc) => [lc.locationId, lc._count._all]),
);
const zeroLocationCounts = Object.fromEntries(
LOCATIONS.filter((l) => !(l.value in mappedLocationCounts)).map((l) => [