Add daily study missions
This commit is contained in:
@@ -22,6 +22,7 @@ public class QuestionsController : ControllerBase
|
||||
private readonly CreditStore _credits;
|
||||
private readonly MasteryAwardService _masteryAwards;
|
||||
private readonly StudySessionStore _studySessions;
|
||||
private readonly DailyMissionStore _dailyMissions;
|
||||
|
||||
public QuestionsController(
|
||||
QuestionStore questions,
|
||||
@@ -34,7 +35,8 @@ public class QuestionsController : ControllerBase
|
||||
ReviewQueueStore reviewQueue,
|
||||
CreditStore credits,
|
||||
MasteryAwardService masteryAwards,
|
||||
StudySessionStore studySessions)
|
||||
StudySessionStore studySessions,
|
||||
DailyMissionStore dailyMissions)
|
||||
{
|
||||
_questions = questions;
|
||||
_attempts = attempts;
|
||||
@@ -47,6 +49,7 @@ public class QuestionsController : ControllerBase
|
||||
_credits = credits;
|
||||
_masteryAwards = masteryAwards;
|
||||
_studySessions = studySessions;
|
||||
_dailyMissions = dailyMissions;
|
||||
}
|
||||
|
||||
[HttpGet("systems")]
|
||||
@@ -232,6 +235,8 @@ public class QuestionsController : ControllerBase
|
||||
creditAwards.AddRange(studySession.Summary.CoinAwards.Where(value =>
|
||||
value.ReasonCode == CreditReasonCodes.SessionGoalComplete
|
||||
&& creditAwards.All(existing => existing.ReasonCode != value.ReasonCode)));
|
||||
var dailyMissions = await _dailyMissions.RecordQuestionAsync(userId, record.Attempt, question);
|
||||
if (dailyMissions is not null) creditAwards.AddRange(dailyMissions.CreditAwards);
|
||||
return Ok(new FirstQuestionAttemptResponse
|
||||
{
|
||||
QuestionExternalId = question.ExternalId,
|
||||
@@ -243,7 +248,8 @@ public class QuestionsController : ControllerBase
|
||||
Credits = await _credits.GetStatusAsync(userId),
|
||||
CreditAwards = creditAwards,
|
||||
StudySessionProgress = studySession?.Progress,
|
||||
SessionSummary = studySession?.Summary
|
||||
SessionSummary = studySession?.Summary,
|
||||
DailyMissions = dailyMissions?.State
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user