91 lines
2.1 KiB
C#
91 lines
2.1 KiB
C#
namespace GmRelay.Web.Services.Portfolio;
|
|
|
|
public sealed record PublicPortfolioCard(
|
|
string Slug,
|
|
string Title,
|
|
string CoverPath,
|
|
string? System,
|
|
string? Format,
|
|
DateTime CompletedAt);
|
|
|
|
public sealed record PublicPortfolioMaster(string Slug, string DisplayName);
|
|
|
|
public sealed record PublicPortfolioReview(
|
|
string AuthorDisplayName,
|
|
string Body,
|
|
DateTime CreatedAt);
|
|
|
|
public sealed record PublicPortfolioGame(
|
|
string Slug,
|
|
string Title,
|
|
string Description,
|
|
string CoverPath,
|
|
string? System,
|
|
string? Format,
|
|
DateTime CompletedAt,
|
|
string? ClubName,
|
|
string? ClubSlug,
|
|
IReadOnlyList<PublicPortfolioMaster> Masters,
|
|
IReadOnlyList<PublicPortfolioReview> Reviews);
|
|
|
|
public sealed record PortfolioGameSummary(
|
|
Guid Id,
|
|
Guid GroupId,
|
|
string Title,
|
|
string? PublicSlug,
|
|
bool IsPublic,
|
|
DateTime CompletedAt,
|
|
int SessionCount,
|
|
int MasterCount,
|
|
int PendingReviewCount);
|
|
|
|
public sealed record PortfolioSessionOption(
|
|
Guid Id,
|
|
string Title,
|
|
DateTime ScheduledAt,
|
|
bool Selected);
|
|
|
|
public sealed record PortfolioMasterOption(
|
|
Guid PlayerId,
|
|
string DisplayName,
|
|
bool Selected);
|
|
|
|
public sealed record PortfolioReviewForModeration(
|
|
Guid Id,
|
|
string AuthorDisplayName,
|
|
string Body,
|
|
string ModerationStatus,
|
|
DateTime CreatedAt);
|
|
|
|
public sealed record PortfolioGameEditor(
|
|
Guid Id,
|
|
Guid GroupId,
|
|
string Title,
|
|
string? PublicSlug,
|
|
string? Description,
|
|
string? CoverPath,
|
|
string? System,
|
|
string? Format,
|
|
DateTime CompletedAt,
|
|
bool IsPublic,
|
|
IReadOnlyList<PortfolioSessionOption> Sessions,
|
|
IReadOnlyList<PortfolioMasterOption> Masters,
|
|
IReadOnlyList<PortfolioReviewForModeration> Reviews);
|
|
|
|
public sealed record PortfolioGameUpdate(
|
|
string Title,
|
|
string? PublicSlug,
|
|
string? Description,
|
|
string? System,
|
|
string? Format,
|
|
IReadOnlyList<Guid> SessionIds,
|
|
IReadOnlyList<Guid> MasterPlayerIds);
|
|
|
|
public enum PortfolioReviewSubmissionState
|
|
{
|
|
RequiresAuthentication,
|
|
Ineligible,
|
|
Eligible,
|
|
AlreadySubmitted
|
|
}
|