Skip to content

Commit

Permalink
feat(api): build progression when needed
Browse files Browse the repository at this point in the history
  • Loading branch information
xav-car committed Mar 6, 2025
1 parent afbb016 commit db93cc3
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ const getCampaignAssessmentParticipation = withTransaction(async function ({
throw new UserNotAuthorizedToAccessEntityError('User does not belong to the organization that owns the campaign');
}

const campaign = await campaignRepository.get(campaignId);
const campaignAssessmentParticipation =
await campaignAssessmentParticipationRepository.getByCampaignIdAndCampaignParticipationId({
campaignId,
campaignParticipationId,
buildProgression: campaign.isTypeAssessment,
});

const acquiredBadgesByCampaignParticipations =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ import * as knowledgeElementRepository from '../../../../shared/infrastructure/r
import * as campaignRepository from '../../../campaign/infrastructure/repositories/campaign-repository.js';
import { CampaignAssessmentParticipation } from '../../domain/models/CampaignAssessmentParticipation.js';

const getByCampaignIdAndCampaignParticipationId = async function ({ campaignId, campaignParticipationId }) {
const getByCampaignIdAndCampaignParticipationId = async function ({
campaignId,
campaignParticipationId,
buildProgression,
}) {
const result = await _fetchCampaignAssessmentAttributesFromCampaignParticipation(campaignId, campaignParticipationId);

return _buildCampaignAssessmentParticipation(result);
return _buildCampaignAssessmentParticipation(result, buildProgression);
};

export { getByCampaignIdAndCampaignParticipationId };
Expand Down Expand Up @@ -66,8 +70,15 @@ function _assessmentRankByCreationDate() {
]);
}

async function _buildCampaignAssessmentParticipation(result) {
const { targetedSkillsCount, testedSkillsCount } = await _setSkillsCount(result);
async function _buildCampaignAssessmentParticipation(result, buildProgression) {
let targetedSkillsCount,
testedSkillsCount = null;

if (buildProgression) {
const userSkills = await _setSkillsCount(result);
targetedSkillsCount = userSkills.targetedSkillsCount;
testedSkillsCount = userSkills.testedSkillsCount;
}

return new CampaignAssessmentParticipation({
...result,
Expand Down

0 comments on commit db93cc3

Please sign in to comment.