Interface IAccountRepository
- Namespace
- Moongate.Persistence.Interfaces.Persistence
- Assembly
- Moongate.Persistence.dll
Provides persistence operations for account entities.
public interface IAccountRepository
Methods
AddAsync(UOAccountEntity, CancellationToken)
Adds a new account if the identifier and username are not already present.
ValueTask<bool> AddAsync(UOAccountEntity account, CancellationToken cancellationToken = default)
Parameters
accountUOAccountEntitycancellationTokenCancellationToken
Returns
CountAsync(CancellationToken)
Returns the current number of persisted accounts.
ValueTask<int> CountAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
ExistsAsync(Func<UOAccountEntity, bool>, CancellationToken)
Returns true when at least one account matches the predicate.
ValueTask<bool> ExistsAsync(Func<UOAccountEntity, bool> predicate, CancellationToken cancellationToken = default)
Parameters
predicateFunc<UOAccountEntity, bool>cancellationTokenCancellationToken
Returns
GetAllAsync(CancellationToken)
Returns all persisted accounts.
ValueTask<IReadOnlyCollection<UOAccountEntity>> GetAllAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
GetByIdAsync(Serial, CancellationToken)
Gets an account by its serial identifier.
ValueTask<UOAccountEntity?> GetByIdAsync(Serial id, CancellationToken cancellationToken = default)
Parameters
idSerialcancellationTokenCancellationToken
Returns
GetByUsernameAsync(string, CancellationToken)
Gets an account by username.
ValueTask<UOAccountEntity?> GetByUsernameAsync(string username, CancellationToken cancellationToken = default)
Parameters
usernamestringcancellationTokenCancellationToken
Returns
QueryAsync<TResult>(Func<UOAccountEntity, bool>, Func<UOAccountEntity, TResult>, CancellationToken)
Runs a projection query over account entities.
ValueTask<IReadOnlyList<TResult>> QueryAsync<TResult>(Func<UOAccountEntity, bool> predicate, Func<UOAccountEntity, TResult> selector, CancellationToken cancellationToken = default)
Parameters
predicateFunc<UOAccountEntity, bool>selectorFunc<UOAccountEntity, TResult>cancellationTokenCancellationToken
Returns
- ValueTask<IReadOnlyList<TResult>>
Type Parameters
TResult
RemoveAsync(Serial, CancellationToken)
Removes an account by its serial identifier.
ValueTask<bool> RemoveAsync(Serial id, CancellationToken cancellationToken = default)
Parameters
idSerialcancellationTokenCancellationToken
Returns
UpsertAsync(UOAccountEntity, CancellationToken)
Inserts or updates an account.
ValueTask UpsertAsync(UOAccountEntity account, CancellationToken cancellationToken = default)
Parameters
accountUOAccountEntitycancellationTokenCancellationToken