(userId)
| 514 | */ |
| 515 | |
| 516 | const fetchSkillLevelTask = async (userId) => { |
| 517 | try { |
| 518 | let task; |
| 519 | const data = await ItemModel.where("itemId", "==", userId).where("tagType", "==", "SKILL").limit(10).get(); |
| 520 | const userSkills = []; |
| 521 | |
| 522 | if (data.empty) { |
| 523 | task = await getNewTask(); |
| 524 | } else { |
| 525 | data.forEach((doc) => { |
| 526 | const skill = doc.data().tagName; |
| 527 | const level = doc.data().levelValue; |
| 528 | userSkills.push({ skill, level }); |
| 529 | }); |
| 530 | const { skill, level } = userUtils.getLowestLevelSkill(userSkills); |
| 531 | task = await getNewTask(skill, level); |
| 532 | } |
| 533 | |
| 534 | return task; |
| 535 | } catch (err) { |
| 536 | logger.error("error getting tasks", err); |
| 537 | throw err; |
| 538 | } |
| 539 | }; |
| 540 | |
| 541 | /** |
| 542 | * |
no test coverage detected