Skip to content

Commit

Permalink
fix import
Browse files Browse the repository at this point in the history
* last bit to fix import
  • Loading branch information
Elkrival committed Jun 7, 2024
1 parent 0c0f680 commit ba3e80c
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 75 deletions.
84 changes: 24 additions & 60 deletions server/controllers/api/assessmentDayDataController/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,11 @@ const AssessmentDayDataController = {
appDb,
query
)
console.log('PARTICIPANT DATA')
console.dir(
{
participantAssessmentData,
metadata,
assessment_variables,
Consent,
query,
},
{ depth: null }
)

let sortedDayData = participant_assessments
let maxDayInDayData = Math.max(
...participant_assessments.map((pa) => pa.day)
)
console.dir(participant_assessments, { depth: null })
if (participantAssessmentData) {
sortedDayData = sortDayData(
participantAssessmentData,
Expand All @@ -66,93 +55,71 @@ const AssessmentDayDataController = {
maxDayInDayData = Math.max(
...sortedDayData.map((dayData) => dayData.day)
)
console.log('Participant data update')
await AssessmentDayDataModel.upsert(appDb, query, {
...participantAssessmentData,
...metadata,
daysInStudy: maxDayInDayData,
dayData: sortedDayData,
})
console.log('After AssessmentDayDataModel.update')
} else {
console.log('NEW PARTICIPANT DATA UPSERT')
await AssessmentDayDataModel.upsert(appDb, query, {
...metadata,
Consent: parsedConsent,
dayData: participant_assessments,
})
console.log('After AssessmentDayDataModel.upsert')
}

const studyMetadata = await SiteMetadataModel.findOne(appDb, {
study,
})
console.log('After Study Metadata')
console.dir({ studyMetadata }, { depth: null })

if (!studyMetadata) {
console.log('new site metadata')
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$Set(
appDb,
{ study },
{
setAttributes: {
study,
participants: [
{
Active,
Consent: parsedConsent,
study,
participant,
daysInStudy: maxDayInDayData,
synced: new Date(),
},
],
},
study,
participants: [
{
Active,
Consent: parsedConsent,
study,
participant,
daysInStudy: maxDayInDayData,
synced: new Date(),
},
],
}
)
console.log('After no studyMetadata')
} else {
const isParticipantInDocument = await SiteMetadataModel.findOne(appDb, {
participants: { $elemMatch: { participant } },
})
console.log('Participant check')
console.dir({ isParticipantInDocument }, { depth: null })

if (isParticipantInDocument) {
console.log('participant update site metadata upsert')
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$Set(
appDb,
{ participants: { $elemMatch: { participant } } },
{
setAttributes: {
'participants.$.daysInStudy': maxDayInDayData,
'participants.$.synced': new Date(),
},
'participants.$.daysInStudy': maxDayInDayData,
'participants.$.synced': new Date(),
}
)
console.log('After participant in document')
console.dir({ isParticipantInDocument }, { depth: null })
} else {
console.log('new participant site metadata upsert')
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$addToSet(
appDb,
{ study },
{
addToSetAttributes: {
participants: {
Active,
Consent: parsedConsent,
daysInStudy: maxDayInDayData,
study,
participant,
synced: new Date(),
},
participants: {
Active,
Consent: parsedConsent,
daysInStudy: maxDayInDayData,
study,
participant,
synced: new Date(),
},
}
)
console.log('After SiteMetadata addToSet')
console.dir({ isParticipantInDocument }, { depth: null })
}
}

Expand All @@ -161,8 +128,6 @@ const AssessmentDayDataController = {
assessmentQuery,
newAssessmentProperties
)
console.log('After current Assessment')
console.dir({ currentAssessment }, { depth: null })

if (assessment_variables.length) {
await Promise.all(
Expand All @@ -179,7 +144,6 @@ const AssessmentDayDataController = {
)
})
)
console.log('After Inserting assessment Variables')
}
return res
.status(200)
Expand Down
18 changes: 8 additions & 10 deletions server/controllers/api/siteMetadataController/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,13 @@ const SiteMetadataController = {
const studyMetadata = await SiteMetadataModel.findOne(appDb, { study })

if (!studyMetadata) {
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$Set(
appDb,
{ study },
{
setAttributes: {
...metadata,
participants,
createdAt: new Date(),
},
...metadata,
participants,
createdAt: new Date(),
}
)
} else {
Expand All @@ -37,10 +35,10 @@ const SiteMetadataController = {
}
)
if (!isParticipantInSiteMetadata) {
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$addToSet(
appDb,
{ study },
{ addToSetAttributes: { participants: participant } }
{ participants: participant }
)
} else {
const updatedAttributes = Object.keys(participant).reduce(
Expand All @@ -51,14 +49,14 @@ const SiteMetadataController = {
},
{}
)
await SiteMetadataModel.upsert(
await SiteMetadataModel.upsert$Set(
appDb,
{
participants: {
$elemMatch: { participant: participant.participant },
},
},
{ setAttributes: updatedAttributes }
updatedAttributes
)
}
})
Expand Down
15 changes: 10 additions & 5 deletions server/models/SiteMetadataModel/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,19 @@ const queryOptions = {
const SiteMetadataModel = {
findOne: async (db, query) =>
await db.collection(collections.metadata).findOne(query),
upsert: async (db, query, { setAttributes, addToSetAttributes }) =>
upsert$Set: async (db, query, setAttributes) =>
await db.collection(collections.metadata).findOneAndUpdate(
query,
{
$set: { ...(setAttributes || {}), updatedAt: new Date() },
$addToSet: Object.keys(addToSetAttributes || {}).length
? { ...addToSetAttributes, createdAt: new Date() }
: {},
$set: setAttributes,
},
queryOptions
),
upsert$addToSet: async (db, query, addToSetAttributes) =>
await db.collection(collections.metadata).findOneAndUpdate(
query,
{
$addToSet: addToSetAttributes,
},
queryOptions
),
Expand Down

0 comments on commit ba3e80c

Please sign in to comment.