diff --git a/api/src/quest/domain/models/Quest.js b/api/src/quest/domain/models/Quest.js index 4fcaf17e934..065478f9535 100644 --- a/api/src/quest/domain/models/Quest.js +++ b/api/src/quest/domain/models/Quest.js @@ -21,23 +21,22 @@ class Quest { * @param {number} campaignParticipationId */ isGrantedWithParticipationId({ eligibility, campaignParticipationId }) { - console.log('eligibility', JSON.stringify(eligibility, undefined, 2)); const criteria = this.eligibilityRequirements.filter( (eligibilityRequirement) => eligibilityRequirement.type === ELIGIBILITY_TYPES.CAMPAIGN_PARTICIPATIONS, ); + + if (criteria.length === 0) return true; + const campaignParticipation = eligibility.campaignParticipations.find( (campaignParticipation) => campaignParticipation.id === campaignParticipationId, ); - console.log('campaignParticipation', JSON.stringify(campaignParticipation, undefined, 2)); for (const criterion of criteria) { - console.log('criterion', JSON.stringify(criterion, undefined, 2)); const alterKey = criterion.data.targetProfileIds !== undefined ? 'targetProfileIds' : 'targetProfileId'; - console.log({ alterKey }); + const isQuestRelatedToCampaignParticipationId = criterion.data[alterKey].includes( campaignParticipation.targetProfileId, ); - console.log(isQuestRelatedToCampaignParticipationId); if (isQuestRelatedToCampaignParticipationId) return true; } diff --git a/api/src/quest/domain/usecases/get-quest-results-for-campaign-participation.js b/api/src/quest/domain/usecases/get-quest-results-for-campaign-participation.js index 75b71f3686d..3c9c7aa1f77 100644 --- a/api/src/quest/domain/usecases/get-quest-results-for-campaign-participation.js +++ b/api/src/quest/domain/usecases/get-quest-results-for-campaign-participation.js @@ -6,7 +6,7 @@ export const getQuestResultsForCampaignParticipation = async ({ questRepository, eligibilityRepository, rewardRepository, - }) => { +}) => { const quests = await questRepository.findAll(); if (quests.length === 0) { @@ -20,10 +20,9 @@ export const getQuestResultsForCampaignParticipation = async ({ (eligibility) => eligibility.organizationLearner.id === campaignParticipation.organizationLearnerId, ); - const questsRelatedToCampaignParticipation = quests.filter((q) => - q.isGrantedWithParticipationId({ eligibility, campaignParticipationId }), + const questsRelatedToCampaignParticipation = quests.filter( + (q) => q.isGrantedWithParticipationId({ eligibility, campaignParticipationId }) && q.isEligible(eligibility), ); - console.log({ questsRelatedToCampaignParticipation }); const questResults = []; for (const quest of questsRelatedToCampaignParticipation) {