namespace MyOffice.Data.Repositories.Item; using MyOffice.Data.Models.Items; public interface IItemRepository { List GetAll(Guid userId); Task> GetAllAsync(Guid userId, CancellationToken cancellationToken = default); List GetByCategory(Guid userId, Guid categoryId); Task> GetByCategoryAsync(Guid userId, Guid categoryId, CancellationToken cancellationToken = default); Item? GetByGlobal(Guid userId, Guid globalItemId); Task GetByGlobalAsync(Guid userId, Guid globalItemId, CancellationToken cancellationToken = default); bool Add(Item item); Task AddAsync(Item item, CancellationToken cancellationToken = default); bool Update(Item item); Task UpdateAsync(Item item, CancellationToken cancellationToken = default); List Find(Guid userId, string term, int limit); Task> FindAsync(Guid userId, string term, int limit, CancellationToken cancellationToken = default); }