namespace Modules.User.Application.Gateways; public interface IPermissionRepository { Task GetByCodeAsync(string code, CancellationToken cancellationToken); Task GetByNameAsync(string permissionName, CancellationToken cancellationToken); Task GetAsync(int permissionId, CancellationToken cancellationToken = default); ValueTask ExistsAllAsync(IEnumerable permissionIds, CancellationToken cancellationToken); Task AddAsync(Domain.Entities.Access.Permission permission, CancellationToken cancellationToken = default); Task SaveAsync(Domain.Entities.Access.Permission permission, CancellationToken ct = default); }