Files
overleaf-cep/services/web/app/src/Features/OnboardingDataCollection/OnboardingDataCollectionManager.js
Rebeka Dekany e59b023f53 Add institution name field to the database (#15862)
GitOrigin-RevId: 5527692bb476a8504e3540e827d62e41d8813d60
2023-11-27 09:03:48 +00:00

64 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,
institutionName,
otherJobTitle,
nonprofitDivisionDepartment,
nonprofitJobTitle,
role,
subjectArea,
updatedAt,
}) {
const odc = await OnboardingDataCollection.findOneAndUpdate(
{ _id: userId },
{
firstName,
lastName,
usedLatex,
primaryOccupation,
companyDivisionDepartment,
companyJobTitle,
governmentJobTitle,
institutionName,
otherJobTitle,
nonprofitDivisionDepartment,
nonprofitJobTitle,
role,
subjectArea,
updatedAt,
},
{ upsert: true }
)
return odc
}
function deleteOnboardingDataCollection(id) {
return OnboardingDataCollection.deleteOne({ _id: id })
}
module.exports = {
getOnboardingDataCollection,
upsertOnboardingDataCollection,
deleteOnboardingDataCollection,
}