84 lines
2.2 KiB
C#
84 lines
2.2 KiB
C#
using GameList.Domain;
|
|
|
|
namespace GameList.Contracts;
|
|
|
|
public record SuggestionCreatedResponse(int Id);
|
|
|
|
public record SuggestionUpdatedResponse(
|
|
int Id,
|
|
string Name,
|
|
string? Genre,
|
|
string? Description,
|
|
string? ScreenshotUrl,
|
|
string? YoutubeUrl,
|
|
string? GameUrl,
|
|
int? MinPlayers,
|
|
int? MaxPlayers
|
|
);
|
|
|
|
public record VoteUpsertResponse(IReadOnlyList<int> SuggestionIds, int Score);
|
|
|
|
public record VoteFinalizeResponse(bool VotesFinal);
|
|
|
|
public record AdminResultsStateResponse(bool ResultsOpen, DateTimeOffset UpdatedAt);
|
|
|
|
public record AdminGrantJokerResponse(Guid Id, bool HasJoker);
|
|
|
|
public record AdminSetPlayerPhaseResponse(Guid PlayerId, Phase CurrentPhase, bool VotesFinal);
|
|
|
|
public record AdminDeletePlayerResponse(Guid DeletedPlayerId);
|
|
|
|
public record AdminLinkSuggestionsResponse(int RootId, IReadOnlyList<int> LinkedSuggestionIds, int UnfinalizedPlayers);
|
|
|
|
public record AdminUnlinkSuggestionsResponse(IReadOnlyList<int> UnlinkedSuggestionIds, int UnfinalizedPlayers);
|
|
|
|
public record AdminResetStateResponse(Phase Phase, bool ResultsOpen, DateTimeOffset UpdatedAt);
|
|
|
|
public record VoteStatusResponse(IReadOnlyList<VoteStatusDto> Voters, bool Ready, IReadOnlyList<string> Waiting);
|
|
|
|
public record ResultItemDto(
|
|
int Id,
|
|
string Name,
|
|
string? Author,
|
|
int? MinPlayers,
|
|
int? MaxPlayers,
|
|
int Total,
|
|
int Count,
|
|
double Average,
|
|
IReadOnlyList<int> Votes,
|
|
int? MyVote,
|
|
string? ScreenshotUrl,
|
|
string? YoutubeUrl,
|
|
string? GameUrl,
|
|
string? Description,
|
|
string? Genre,
|
|
int? ParentSuggestionId,
|
|
IReadOnlyList<int> LinkedIds,
|
|
IReadOnlyList<string> LinkedTitles
|
|
);
|
|
|
|
public record AuthSessionResponse(Guid Id, string Username, string? DisplayName, bool IsAdmin);
|
|
|
|
public record StateSummaryResponse(
|
|
Phase CurrentPhase,
|
|
bool VotesFinal,
|
|
bool HasJoker,
|
|
bool ResultsOpen,
|
|
DateTimeOffset UpdatedAt,
|
|
int Players,
|
|
int Suggestions,
|
|
int Votes
|
|
);
|
|
|
|
public record MeResponse(
|
|
Guid Id,
|
|
string Username,
|
|
string? DisplayName,
|
|
bool IsAdmin,
|
|
Phase CurrentPhase,
|
|
bool VotesFinal,
|
|
bool HasJoker
|
|
);
|
|
|
|
public record PhaseTransitionResponse(Phase CurrentPhase, bool ResultsOpen);
|