forked from xiongyuxing/tiku-backend.net
114 lines
4.0 KiB
C#
114 lines
4.0 KiB
C#
namespace Tiku.Application.Learning;
|
|
|
|
public interface ILearningActivityService
|
|
{
|
|
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);
|
|
|
|
Task<AnswerRecordItem> SubmitAnswerAsync(
|
|
LearningActor actor,
|
|
SubmitAnswerCommand command,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
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);
|
|
|
|
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);
|
|
|
|
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,
|
|
PracticeSessionFilter filter,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
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);
|
|
}
|