[offers][fix] fix create profile bug where experience not saved

pull/436/head
Stuart Long Chay Boon 2 years ago
parent f48a34e88a
commit 0db31eb0c1

@ -284,18 +284,42 @@ export const offersProfileRouter = createRouter()
})), })),
}, },
experiences: { experiences: {
create: input.background.experiences.map(async (x) => { create: await Promise.all(
if (x.jobType === JobType.FULLTIME) { input.background.experiences.map(async (x) => {
if (x.companyId) { if (x.jobType === JobType.FULLTIME) {
return { if (x.companyId) {
company: { return {
connect: { company: {
id: x.companyId, connect: {
id: x.companyId,
},
}, },
}, durationInMonths: x.durationInMonths,
jobType: x.jobType,
level: x.level,
title: x.title,
totalCompensation:
x.totalCompensation != null
? {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
x.totalCompensation.value,
x.totalCompensation.currency,
baseCurrencyString,
),
currency: x.totalCompensation.currency,
value: x.totalCompensation.value,
},
}
: undefined,
};
}
return {
durationInMonths: x.durationInMonths, durationInMonths: x.durationInMonths,
jobType: x.jobType, jobType: x.jobType,
level: x.level, level: x.level,
location: x.location,
title: x.title, title: x.title,
totalCompensation: totalCompensation:
x.totalCompensation != null x.totalCompensation != null
@ -314,37 +338,35 @@ export const offersProfileRouter = createRouter()
: undefined, : undefined,
}; };
} }
return { if (x.jobType === JobType.INTERN) {
durationInMonths: x.durationInMonths, if (x.companyId) {
jobType: x.jobType, return {
level: x.level, company: {
location: x.location, connect: {
title: x.title, id: x.companyId,
totalCompensation: },
x.totalCompensation != null
? {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
x.totalCompensation.value,
x.totalCompensation.currency,
baseCurrencyString,
),
currency: x.totalCompensation.currency,
value: x.totalCompensation.value,
},
}
: undefined,
};
}
if (x.jobType === JobType.INTERN) {
if (x.companyId) {
return {
company: {
connect: {
id: x.companyId,
}, },
}, durationInMonths: x.durationInMonths,
jobType: x.jobType,
monthlySalary:
x.monthlySalary != null
? {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
x.monthlySalary.value,
x.monthlySalary.currency,
baseCurrencyString,
),
currency: x.monthlySalary.currency,
value: x.monthlySalary.value,
},
}
: undefined,
title: x.title,
};
}
return {
durationInMonths: x.durationInMonths, durationInMonths: x.durationInMonths,
jobType: x.jobType, jobType: x.jobType,
monthlySalary: monthlySalary:
@ -365,33 +387,13 @@ export const offersProfileRouter = createRouter()
title: x.title, title: x.title,
}; };
} }
return {
durationInMonths: x.durationInMonths,
jobType: x.jobType,
monthlySalary:
x.monthlySalary != null
? {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
x.monthlySalary.value,
x.monthlySalary.currency,
baseCurrencyString,
),
currency: x.monthlySalary.currency,
value: x.monthlySalary.value,
},
}
: undefined,
title: x.title,
};
}
throw new trpc.TRPCError({ throw new trpc.TRPCError({
code: 'BAD_REQUEST', code: 'BAD_REQUEST',
message: 'Missing fields in background experiences.', message: 'Missing fields in background experiences.',
}); });
}), }),
)
}, },
specificYoes: { specificYoes: {
create: input.background.specificYoes.map((x) => { create: input.background.specificYoes.map((x) => {
@ -546,7 +548,6 @@ export const offersProfileRouter = createRouter()
profileName: uniqueName, profileName: uniqueName,
}, },
}); });
return createOfferProfileResponseMapper(profile, token); return createOfferProfileResponseMapper(profile, token);
}, },
}) })

Loading…
Cancel
Save