[offers][fix] fix edit profile endpoint

pull/421/head
Stuart Long Chay Boon 2 years ago
parent 26055d2ed0
commit 34538919b1

@ -707,7 +707,7 @@ export const offersProfileRouter = createRouter()
// Update existing experience // Update existing experience
await ctx.prisma.offersExperience.update({ await ctx.prisma.offersExperience.update({
data: { data: {
companyId: exp.companyId, companyId: exp.companyId, // TODO: check if can change with connect or whether there is a difference
durationInMonths: exp.durationInMonths, durationInMonths: exp.durationInMonths,
level: exp.level, level: exp.level,
specialization: exp.specialization, specialization: exp.specialization,
@ -718,39 +718,83 @@ export const offersProfileRouter = createRouter()
}); });
if (exp.monthlySalary) { if (exp.monthlySalary) {
await ctx.prisma.offersCurrency.update({ if (exp.monthlySalary.id) {
data: { await ctx.prisma.offersCurrency.update({
baseCurrency: baseCurrencyString, data: {
baseValue: await convert( baseCurrency: baseCurrencyString,
exp.monthlySalary.value, baseValue: await convert(
exp.monthlySalary.currency, exp.monthlySalary.value,
baseCurrencyString, exp.monthlySalary.currency,
), baseCurrencyString,
currency: exp.monthlySalary.currency, ),
value: exp.monthlySalary.value, currency: exp.monthlySalary.currency,
}, value: exp.monthlySalary.value,
where: { },
id: exp.monthlySalary.id, where: {
}, id: exp.monthlySalary.id,
}); },
});
} else {
await ctx.prisma.offersExperience.update({
data: {
monthlySalary: {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
exp.monthlySalary.value,
exp.monthlySalary.currency,
baseCurrencyString,
),
currency: exp.monthlySalary.currency,
value: exp.monthlySalary.value,
}
}
},
where: {
id: exp.id,
},
});
}
} }
if (exp.totalCompensation) { if (exp.totalCompensation) {
await ctx.prisma.offersCurrency.update({ if (exp.totalCompensation.id) {
data: { await ctx.prisma.offersCurrency.update({
baseCurrency: baseCurrencyString, data: {
baseValue: await convert( baseCurrency: baseCurrencyString,
exp.totalCompensation.value, baseValue: await convert(
exp.totalCompensation.currency, exp.totalCompensation.value,
baseCurrencyString, exp.totalCompensation.currency,
), baseCurrencyString,
currency: exp.totalCompensation.currency, ),
value: exp.totalCompensation.value, currency: exp.totalCompensation.currency,
}, value: exp.totalCompensation.value,
where: { },
id: exp.totalCompensation.id, where: {
}, id: exp.totalCompensation.id,
}); },
});
} else {
await ctx.prisma.offersExperience.update({
data: {
totalCompensation: {
create: {
baseCurrency: baseCurrencyString,
baseValue: await convert(
exp.totalCompensation.value,
exp.totalCompensation.currency,
baseCurrencyString,
),
currency: exp.totalCompensation.currency,
value: exp.totalCompensation.value,
}
}
},
where: {
id: exp.id,
},
});
}
} }
} else if (!exp.id) { } else if (!exp.id) {
// Create new experience // Create new experience

Loading…
Cancel
Save