feat: add scoreline dynamic records

This commit is contained in:
xiong
2026-07-26 18:30:15 +08:00
parent fcf70db8aa
commit 5715869d29
19 changed files with 17069 additions and 13 deletions

View File

@@ -176,6 +176,34 @@ public sealed record MajorCommand(
int? Order,
bool? IsActive);
public sealed record ScorelineFieldCommand(
Guid? Id,
Guid? RegionId,
string? LegacyId,
string FieldKey,
string FieldName,
string? FieldType,
string? Unit,
bool? IsFilter,
bool? IsRequired,
bool? IsVisible,
bool? IsTrend,
JsonElement Options,
string? Placeholder,
string? Description,
int? Order);
public sealed record ScorelineRecordCommand(
Guid? Id,
Guid? RegionId,
Guid? SchoolId,
Guid? MajorId,
string? LegacyId,
int Year,
string? SchoolName,
string? MajorName,
JsonElement FieldValues);
public sealed record VideoExplanationCommand(
Guid? Id,
Guid? SubjectId,
@@ -305,6 +333,10 @@ public interface IDirectContentService
Task<ContentManagementResult<School>> UpsertSchoolAsync(DirectContentActor actor, SchoolCommand command, CancellationToken cancellationToken = default);
Task<CatalogList<Major>> GetMajorsAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);
Task<ContentManagementResult<Major>> UpsertMajorAsync(DirectContentActor actor, MajorCommand command, CancellationToken cancellationToken = default);
Task<CatalogList<ScorelineField>> GetScorelineFieldsAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);
Task<ContentManagementResult<ScorelineField>> UpsertScorelineFieldAsync(DirectContentActor actor, ScorelineFieldCommand command, CancellationToken cancellationToken = default);
Task<CatalogList<ScorelineRecord>> GetScorelineRecordsAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);
Task<ContentManagementResult<ScorelineRecord>> UpsertScorelineRecordAsync(DirectContentActor actor, ScorelineRecordCommand command, CancellationToken cancellationToken = default);
Task<CatalogList<int>> GetScorelineYearsAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);
Task<CatalogList<ScorelineTrendItem>> GetScorelineTrendAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);
Task<CatalogList<VideoManagementItem>> GetVideosAsync(DirectContentActor actor, AdminLimitFilter filter, CancellationToken cancellationToken = default);