mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2025-07-28 04:33:42 +08:00
[offers][fix] fix create profile bug where experience not saved
This commit is contained in:
@ -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);
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user