forked from gongxuegit/tiku-backend.net
feat: add student video and profile experience
This commit is contained in:
@@ -6,6 +6,12 @@ public sealed record ProfileActor(Guid TenantId, Guid UserId);
|
||||
|
||||
public sealed record ProfileQuery(int? RecentLimit = null, int? Limit = null);
|
||||
|
||||
public sealed record ProfileScoreEventQuery(
|
||||
int? Limit = null,
|
||||
string? SourceType = null,
|
||||
DateTimeOffset? From = null,
|
||||
DateTimeOffset? To = null);
|
||||
|
||||
public sealed record UpdateProfileCommand(
|
||||
string? Name,
|
||||
string? AvatarPreset,
|
||||
@@ -144,6 +150,26 @@ public sealed record SubmitFeedbackCommand(
|
||||
JsonElement Attachments,
|
||||
JsonElement Metadata);
|
||||
|
||||
public sealed record CheckInResult(
|
||||
DateOnly CheckInDate,
|
||||
bool AlreadyCheckedIn,
|
||||
int Points,
|
||||
int BalanceAfter,
|
||||
Guid? ClaimId,
|
||||
Guid? ScoreEventId);
|
||||
|
||||
public sealed record ProfileScoreEventItem(
|
||||
Guid Id,
|
||||
string EventType,
|
||||
int Points,
|
||||
int BalanceAfter,
|
||||
string? SourceType,
|
||||
Guid? SourceId,
|
||||
JsonElement Metadata,
|
||||
DateTimeOffset CreatedAt);
|
||||
|
||||
public sealed record ProfileScoreEventList(IReadOnlyCollection<ProfileScoreEventItem> Items);
|
||||
|
||||
public interface IProfileService
|
||||
{
|
||||
Task<StudentProfileItem> GetMeAsync(ProfileActor actor, ProfileQuery query, CancellationToken cancellationToken = default);
|
||||
@@ -154,4 +180,6 @@ public interface IProfileService
|
||||
Task<BadgeList> GetBadgesAsync(ProfileActor actor, BadgeQuery query, CancellationToken cancellationToken = default);
|
||||
Task<IReadOnlyCollection<FeedbackItem>> GetFeedbacksAsync(ProfileActor actor, FeedbackQuery query, CancellationToken cancellationToken = default);
|
||||
Task<FeedbackItem> SubmitFeedbackAsync(ProfileActor actor, SubmitFeedbackCommand command, CancellationToken cancellationToken = default);
|
||||
Task<CheckInResult> CheckInAsync(ProfileActor actor, CancellationToken cancellationToken = default);
|
||||
Task<ProfileScoreEventList> GetScoreEventsAsync(ProfileActor actor, ProfileScoreEventQuery query, CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user