Interface IInvitationRepository
- Namespace
- Builvero.Application.Interfaces.Repositories
- Assembly
- Builvero.Application.dll
Defines the contract for invitation code data access operations including retrieval, creation, updates, and pagination.
public interface IInvitationRepository
Remarks
This repository interface provides methods for managing invitation code entities. Invitation codes are used to control user registration and can have usage limits and expiration dates.
Methods
CreateAsync(Invitation, CancellationToken)
Creates a new invitation entity in the database.
Task<Invitation> CreateAsync(Invitation invitation, CancellationToken cancellationToken = default)
Parameters
invitationInvitationThe invitation entity to create.
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
- Task<Invitation>
The created invitation entity with generated ID, code, and timestamps.
GetAllAsync(int, int, CancellationToken)
Retrieves a paginated list of all invitations.
Task<List<Invitation>> GetAllAsync(int page, int pageSize, CancellationToken cancellationToken = default)
Parameters
pageintThe page number (1-based) to retrieve.
pageSizeintThe number of invitations per page.
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
- Task<List<Invitation>>
A list of invitations for the specified page.
GetByCodeAsync(string, CancellationToken)
Retrieves an invitation by its unique code.
Task<Invitation?> GetByCodeAsync(string code, CancellationToken cancellationToken = default)
Parameters
codestringThe unique invitation code.
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
- Task<Invitation>
The invitation entity if found; otherwise, null.
GetByIdAsync(Guid, CancellationToken)
Retrieves an invitation by its unique identifier.
Task<Invitation?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default)
Parameters
idGuidThe unique identifier of the invitation to retrieve.
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
- Task<Invitation>
The invitation entity if found; otherwise, null.
GetCountAsync(CancellationToken)
Gets the total count of all invitations in the database.
Task<int> GetCountAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
UpdateAsync(Invitation, CancellationToken)
Updates an existing invitation entity in the database.
Task<Invitation> UpdateAsync(Invitation invitation, CancellationToken cancellationToken = default)
Parameters
invitationInvitationThe invitation entity with updated values.
cancellationTokenCancellationTokenCancellation token to cancel the operation.
Returns
- Task<Invitation>
The updated invitation entity.