YD_TrainingCompetition_Api/Competition/ICompetitionSessionService.cs

21 lines
1.5 KiB
C#
Raw Permalink Normal View History

2026-06-10 11:16:46 +08:00
using YD_TrainingCompetition_Api.Models;
namespace YD_TrainingCompetition_Api.Competition;
public interface ICompetitionSessionService
{
CompetitionSessionState GetState();
Task<CompetitionSessionState> CreateAsync(CreateCompetitionSessionRequest request, CancellationToken cancellationToken = default);
Task<CompetitionSessionState> SelectRoundAsync(int roundIndex, CancellationToken cancellationToken = default);
Task<CompetitionSessionState> SelectNextRoundAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> SelectPreviousRoundAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> DownloadCurrentRoundAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> StartAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> StopAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> ResetCurrentRoundAsync(CancellationToken cancellationToken = default);
Task<CompetitionSessionState> SetParticipantCountAsync(int participantId, int count, CancellationToken cancellationToken = default);
Task<CompetitionSessionState> ChangeParticipantCountAsync(int participantId, int delta, CancellationToken cancellationToken = default);
Task ApplyDeviceSnapshotAsync(DeviceSnapshot snapshot, CancellationToken cancellationToken = default);
2026-06-10 15:54:30 +08:00
Task TickAsync(CancellationToken cancellationToken = default);
2026-06-10 11:16:46 +08:00
}