Table of Contents

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

invitation Invitation

The invitation entity to create.

cancellationToken CancellationToken

Cancellation 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

page int

The page number (1-based) to retrieve.

pageSize int

The number of invitations per page.

cancellationToken CancellationToken

Cancellation 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

code string

The unique invitation code.

cancellationToken CancellationToken

Cancellation 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

id Guid

The unique identifier of the invitation to retrieve.

cancellationToken CancellationToken

Cancellation 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

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<int>

The total count of invitations.

UpdateAsync(Invitation, CancellationToken)

Updates an existing invitation entity in the database.

Task<Invitation> UpdateAsync(Invitation invitation, CancellationToken cancellationToken = default)

Parameters

invitation Invitation

The invitation entity with updated values.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Invitation>

The updated invitation entity.