Initial VTuber Awards implementation
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
namespace Backend.Contracts;
|
||||
|
||||
public sealed record AdminMetricDto(string Label, int Value, string Note);
|
||||
|
||||
public sealed record AdminActivityDto(string Label, string Age);
|
||||
|
||||
public sealed record AdminTopCategoryDto(string Category, int Votes);
|
||||
|
||||
public sealed record AdminDashboardResponse(
|
||||
IEnumerable<AdminMetricDto> Metrics,
|
||||
IEnumerable<AdminActivityDto> Activities,
|
||||
IEnumerable<AdminTopCategoryDto> TopCategories);
|
||||
|
||||
public sealed record AdminSeasonListItemDto(
|
||||
int Id,
|
||||
int Year,
|
||||
string Name,
|
||||
string CurrentPhase,
|
||||
bool IsCurrent,
|
||||
int CategoryCount);
|
||||
|
||||
public sealed record AdminCategoryItemDto(
|
||||
int Id,
|
||||
string GroupName,
|
||||
string Name,
|
||||
string Slug,
|
||||
string Description,
|
||||
int SortOrder,
|
||||
int MaxNomineesPerUser,
|
||||
int CandidateCount);
|
||||
|
||||
public sealed record AdminCandidateItemDto(
|
||||
int Id,
|
||||
int CategoryId,
|
||||
string DisplayName,
|
||||
string ChannelSlug,
|
||||
string Platform);
|
||||
|
||||
public sealed record AdminNominationReviewItemDto(
|
||||
int Id,
|
||||
int CategoryId,
|
||||
string CategoryName,
|
||||
string SubmittedByTwitchId,
|
||||
string CandidateText,
|
||||
DateTimeOffset CreatedAt);
|
||||
|
||||
public sealed record AdminSeasonDetailResponse(
|
||||
int Id,
|
||||
int Year,
|
||||
string Name,
|
||||
string CurrentPhase,
|
||||
bool IsCurrent,
|
||||
IEnumerable<AdminCategoryItemDto> Categories,
|
||||
IEnumerable<AdminCandidateItemDto> Candidates,
|
||||
IEnumerable<AdminNominationReviewItemDto> PendingNominations);
|
||||
|
||||
public sealed record UpdateSeasonRequest(
|
||||
string CurrentPhase,
|
||||
bool IsCurrent);
|
||||
|
||||
public sealed record UpsertCategoryRequest(
|
||||
string GroupName,
|
||||
string Name,
|
||||
string Slug,
|
||||
string Description,
|
||||
int SortOrder,
|
||||
int MaxNomineesPerUser);
|
||||
|
||||
public sealed record UpsertCandidateRequest(
|
||||
int CategoryId,
|
||||
string DisplayName,
|
||||
string ChannelSlug,
|
||||
string Platform);
|
||||
|
||||
public sealed record ApproveNominationRequest(
|
||||
string? DisplayName,
|
||||
string? ChannelSlug,
|
||||
string? Platform);
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace Backend.Contracts;
|
||||
|
||||
public sealed record LoginRequest(
|
||||
string TwitchUserId,
|
||||
string DisplayName,
|
||||
string Role);
|
||||
|
||||
public sealed record AuthSessionDto(
|
||||
string SessionToken,
|
||||
string TwitchUserId,
|
||||
string DisplayName,
|
||||
string Role);
|
||||
@@ -0,0 +1,79 @@
|
||||
namespace Backend.Contracts;
|
||||
|
||||
public sealed record TimelineItem(
|
||||
string Key,
|
||||
string Title,
|
||||
DateOnly StartsAt,
|
||||
DateOnly EndsAt,
|
||||
string State);
|
||||
|
||||
public sealed record FeaturedCategoryDto(
|
||||
int Id,
|
||||
string GroupName,
|
||||
string Name,
|
||||
string Description,
|
||||
int MaxNomineesPerUser);
|
||||
|
||||
public sealed record WinnerPreviewDto(
|
||||
int Year,
|
||||
string Category,
|
||||
string WinnerName,
|
||||
string WinnerSlug);
|
||||
|
||||
public sealed record FaqItemDto(string Question, string Answer);
|
||||
|
||||
public sealed record OverviewResponse(
|
||||
int SeasonId,
|
||||
int Year,
|
||||
string Title,
|
||||
DateOnly ShowDate,
|
||||
string CurrentPhase,
|
||||
bool IsCommunityOnly,
|
||||
string LoginProvider,
|
||||
IEnumerable<TimelineItem> Timeline,
|
||||
IEnumerable<FeaturedCategoryDto> FeaturedCategories,
|
||||
IEnumerable<WinnerPreviewDto> WinnersPreview,
|
||||
IEnumerable<FaqItemDto> Faq);
|
||||
|
||||
public sealed record CandidateSummaryDto(
|
||||
int Id,
|
||||
string DisplayName,
|
||||
string ChannelSlug,
|
||||
string Platform);
|
||||
|
||||
public sealed record PublicCategoryDetailDto(
|
||||
int Id,
|
||||
string Name,
|
||||
string GroupName,
|
||||
string Description,
|
||||
int MaxNomineesPerUser,
|
||||
IEnumerable<CandidateSummaryDto> Candidates);
|
||||
|
||||
public sealed record SeasonCategoriesResponse(
|
||||
int SeasonId,
|
||||
int Year,
|
||||
IEnumerable<PublicCategoryDetailDto> Categories);
|
||||
|
||||
public sealed record WinnerArchiveItemDto(
|
||||
string Category,
|
||||
string WinnerName,
|
||||
string WinnerSlug);
|
||||
|
||||
public sealed record WinnerArchiveResponse(
|
||||
int Year,
|
||||
IEnumerable<WinnerArchiveItemDto> Items);
|
||||
|
||||
public sealed record CreateNominationRequest(
|
||||
int Year,
|
||||
int CategoryId,
|
||||
string TwitchUserId,
|
||||
string[] Nominees);
|
||||
|
||||
public sealed record VoteEntryRequest(
|
||||
int CategoryId,
|
||||
int CandidateId);
|
||||
|
||||
public sealed record CreateVoteRequest(
|
||||
int SeasonId,
|
||||
string TwitchUserId,
|
||||
VoteEntryRequest[] Entries);
|
||||
Reference in New Issue
Block a user