using Modules.User.Domain.Entities.Access; namespace Modules.User.Application.Gateways; public interface IRoleRepository { Task GetAsync(int roleId, CancellationToken cancellationToken); Task GetByNameAsync(string name, CancellationToken cancellationToken); Task ExistsWithPermissionAsync(int permissionId, CancellationToken cancellationToken); Task AddAsync(Role role, CancellationToken cancellationToken = default); Task SaveAsync(Role role, CancellationToken ct = default); }