Class ArenaPenaltyService
Service for arena queue locks. See IArenaPenaltyService.
public sealed class ArenaPenaltyService : BaseService<ArenaPenaltyEntity>, IArenaPenaltyService
- Inheritance
-
ArenaPenaltyService
- Implements
- Inherited Members
Constructors
ArenaPenaltyService(INpgsqlDbContextFactory)
Initializes a new instance of ArenaPenaltyService.
public ArenaPenaltyService(INpgsqlDbContextFactory dbContextFactory)
Parameters
dbContextFactoryINpgsqlDbContextFactory
Methods
ClearAsync(long, CancellationToken)
Removes a character's lock, if any. For a disconnected player who came back in time.
public Task<DatabaseResult<bool>> ClearAsync(long characterId, CancellationToken cancellationToken = default)
Parameters
characterIdlongcancellationTokenCancellationToken
Returns
FetchActiveAsync(IReadOnlyList<long>, CancellationToken)
Reads the locks that are still in force for the given characters.
public Task<DatabaseResult<IReadOnlyList<ArenaPenaltyData>>> FetchActiveAsync(IReadOnlyList<long> characterIds, CancellationToken cancellationToken = default)
Parameters
characterIdsIReadOnlyList<long>cancellationTokenCancellationToken
Returns
SetAsync(long, DateTime, string, CancellationToken)
Locks a character out of the arena queue until an instant. Replaces an earlier lock.
public Task<DatabaseResult<bool>> SetAsync(long characterId, DateTime lockedUntilUtc, string reason, CancellationToken cancellationToken = default)
Parameters
characterIdlonglockedUntilUtcDateTimereasonstringcancellationTokenCancellationToken