Files
overleaf-cep/services/web/app/src/Features/OnboardingDataCollection/OnboardingDataCollectionManager.js
T
Rebeka Dekany 1c834cbfaf Merge pull request #15740 from overleaf/dk-odc-newprops
Store ODC form step 3 data in mongo

GitOrigin-RevId: 91311efaddb5ccb9a456ea359140235235530536
2023-11-14 09:04:56 +00:00

62 lines
1.3 KiB
JavaScript

const {
OnboardingDataCollection,
} = require('../../models/OnboardingDataCollection')
const OError = require('@overleaf/o-error')
async function getOnboardingDataCollection(userId) {
try {
return await OnboardingDataCollection.findOne({ _id: userId }).exec()
} catch (error) {
throw OError.tag(error, 'Failed to get OnboardingDataCollection')
}
}
async function upsertOnboardingDataCollection({
userId,
firstName,
lastName,
usedLatex,
primaryOccupation,
companyDivisionDepartment,
companyJobTitle,
governmentJobTitle,
otherJobTitle,
nonprofitDivisionDepartment,
nonprofitJobTitle,
role,
subjectArea,
updatedAt,
}) {
const odc = await OnboardingDataCollection.findOneAndUpdate(
{ _id: userId },
{
firstName,
lastName,
usedLatex,
primaryOccupation,
companyDivisionDepartment,
companyJobTitle,
governmentJobTitle,
otherJobTitle,
nonprofitDivisionDepartment,
nonprofitJobTitle,
role,
subjectArea,
updatedAt,
},
{ upsert: true }
)
return odc
}
function deleteOnboardingDataCollection(id) {
return OnboardingDataCollection.deleteOne({ _id: id })
}
module.exports = {
getOnboardingDataCollection,
upsertOnboardingDataCollection,
deleteOnboardingDataCollection,
}