using DramaLing.Api.Models.Entities; namespace DramaLing.Api.Contracts.Repositories; /// /// User 專門的 Repository 介面 /// public interface IUserRepository : IRepository { // 用戶查詢 Task GetByEmailAsync(string email); Task GetByUsernameAsync(string username); Task ExistsByEmailAsync(string email); Task ExistsByUsernameAsync(string username); // 用戶設定相關 Task GetUserWithSettingsAsync(Guid userId); Task GetUserWithStatsAsync(Guid userId); // 學習進度統計 Task> GetUserLearningStatsAsync(Guid userId); Task GetTotalStudyTimeAsync(Guid userId); Task GetLastActivityDateAsync(Guid userId); // 用戶活躍度 Task> GetActiveUsersAsync(int days); Task> GetNewUsersAsync(DateTime since); }