Table of Contents

Interface ISkillRepository

Namespace
Builvero.Application.Interfaces.Repositories
Assembly
Builvero.Application.dll

Defines the contract for skill data access operations including retrieval by category, ID, and bulk retrieval.

public interface ISkillRepository

Remarks

This repository interface provides methods for retrieving skill entities. Skills are used to match users with projects based on technical expertise and are organized by category.

Methods

GetByCategoryAsync(SkillCategory?, CancellationToken)

Retrieves all active skills, optionally filtered by category.

Task<List<Skill>> GetByCategoryAsync(SkillCategory? category, CancellationToken cancellationToken = default)

Parameters

category SkillCategory?

Optional skill category filter (e.g., SoftwareEngineering, Design).

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<List<Skill>>

A list of skills matching the category filter, or all skills if no category is specified.

GetByIdAsync(Guid, CancellationToken)

Retrieves a skill by its unique identifier.

Task<Skill?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default)

Parameters

id Guid

The unique identifier of the skill to retrieve.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Skill>

The skill entity if found; otherwise, null.

GetByIdsAsync(List<Guid>, CancellationToken)

Retrieves multiple skills by their unique identifiers.

Task<List<Skill>> GetByIdsAsync(List<Guid> ids, CancellationToken cancellationToken = default)

Parameters

ids List<Guid>

The list of unique identifiers of the skills to retrieve.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<List<Skill>>

A list of skill entities matching the provided IDs.