69 lines
3.8 KiB
C#
69 lines
3.8 KiB
C#
namespace Tiku.Application.Learning;
|
|
|
|
public interface ILearningAnalyticsService
|
|
{
|
|
Task<LearningStatsItem> GetStatsAsync(LearningActor actor, CancellationToken cancellationToken = default);
|
|
Task<LearningList<LearningTrendItem>> GetTrendAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningLeaderboardResult> GetLeaderboardAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public interface IAnsweringService
|
|
{
|
|
Task<AnswerRecordItem> SubmitAnswerAsync(LearningActor actor, SubmitAnswerCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public interface IQuestionReviewService
|
|
{
|
|
Task<LearningList<FavoriteQuestionItem>> GetFavoriteQuestionsAsync(LearningActor actor,
|
|
LearningLimitFilter filter, CancellationToken cancellationToken = default);
|
|
Task<LearningActionResult> ToggleFavoriteQuestionAsync(LearningActor actor, QuestionActionCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningList<WrongQuestionItem>> GetWrongQuestionsAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WrongQuestionReviewPlan> GetWrongQuestionReviewPlanAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningActionResult> ResolveWrongQuestionAsync(LearningActor actor, QuestionActionCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public interface IWordLearningService
|
|
{
|
|
Task<LearningList<WordProgressItem>> GetWordProgressAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WordReviewPlan> GetWordReviewPlanAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WordProgressItem> UpdateWordProgressAsync(LearningActor actor, WordProgressCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WordProgressItem> ReviewWordAsync(LearningActor actor, WordReviewCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WordStatsItem> GetWordStatsAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningList<FavoriteWordItem>> GetFavoriteWordsAsync(LearningActor actor, LearningLimitFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningActionResult> ToggleFavoriteWordAsync(LearningActor actor, FavoriteWordCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public interface IPracticeSessionService
|
|
{
|
|
Task<PracticeSessionItem> CreatePracticeSessionAsync(LearningActor actor, PracticeSessionCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
Task<PracticeSessionDetailItem> GetPracticeSessionDetailAsync(LearningActor actor, PracticeSessionFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<PracticeSessionReportItem> SubmitPracticeSessionAsync(LearningActor actor,
|
|
SubmitPracticeSessionCommand command, CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public interface IPracticeReportService
|
|
{
|
|
Task<PracticeSessionReportItem> GetPracticeSessionReportAsync(LearningActor actor, PracticeSessionFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
Task<LearningList<PracticeSessionReportItem>> GetPracticeReportsAsync(LearningActor actor,
|
|
PracticeSessionFilter filter, CancellationToken cancellationToken = default);
|
|
Task<LearningList<PracticeHistoryItem>> GetPracticeHistoryAsync(LearningActor actor,
|
|
PracticeSessionFilter filter, CancellationToken cancellationToken = default);
|
|
}
|