diff --git a/apps/portal/src/mappers/offers-mappers.ts b/apps/portal/src/mappers/offers-mappers.ts index 4f1dbc81..198d2db0 100644 --- a/apps/portal/src/mappers/offers-mappers.ts +++ b/apps/portal/src/mappers/offers-mappers.ts @@ -527,8 +527,10 @@ export const profileDtoMapper = ( offersIntern: (OffersIntern & { monthlySalary: OffersCurrency }) | null; } >; + user: User | null; }, inputToken: string | undefined, + inputUserId: string | null | undefined ) => { const profileDto: Profile = { analysis: profileAnalysisDtoMapper(profile.analysis), @@ -536,6 +538,7 @@ export const profileDtoMapper = ( editToken: null, id: profile.id, isEditable: false, + isSaved: false, offers: profile.offers.map((offer) => profileOfferDtoMapper(offer)), profileName: profile.profileName, }; @@ -543,6 +546,20 @@ export const profileDtoMapper = ( if (inputToken === profile.editToken) { profileDto.editToken = profile.editToken ?? null; profileDto.isEditable = true; + + const users = profile.user + + // TODO: BRYANN UNCOMMENT THIS ONCE U CHANGE THE SCHEMA + // for (let i = 0; i < users.length; i++) { + // if (users[i].id === inputUserId) { + // profileDto.isSaved = true + // } + // } + + // TODO: REMOVE THIS ONCE U CHANGE THE SCHEMA + if (users?.id === inputUserId) { + profileDto.isSaved = true + } } return profileDto; diff --git a/apps/portal/src/server/router/offers/offers-profile-router.ts b/apps/portal/src/server/router/offers/offers-profile-router.ts index 71c84674..1e1d1d52 100644 --- a/apps/portal/src/server/router/offers/offers-profile-router.ts +++ b/apps/portal/src/server/router/offers/offers-profile-router.ts @@ -106,6 +106,7 @@ export const offersProfileRouter = createRouter() input: z.object({ profileId: z.string(), token: z.string().optional(), + userId: z.string().nullish(), }), async resolve({ ctx, input }) { const result = await ctx.prisma.offersProfile.findFirst({ @@ -228,6 +229,7 @@ export const offersProfileRouter = createRouter() }, }, }, + user: true, }, where: { id: input.profileId, @@ -235,7 +237,7 @@ export const offersProfileRouter = createRouter() }); if (result) { - return profileDtoMapper(result, input.token); + return profileDtoMapper(result, input.token, input.userId); } throw new trpc.TRPCError({ diff --git a/apps/portal/src/types/offers.d.ts b/apps/portal/src/types/offers.d.ts index 543d7aa7..b26995d7 100644 --- a/apps/portal/src/types/offers.d.ts +++ b/apps/portal/src/types/offers.d.ts @@ -6,6 +6,7 @@ export type Profile = { editToken: string?; id: string; isEditable: boolean; + isSaved: boolean; offers: Array; profileName: string; };