namespace MyOffice.Data.Repositories.Item;

using MyOffice.Data.Models.Items;

public interface IItemCategoryRepository
{
	List<ItemCategory> GetAll(Guid userId);
	Task<List<ItemCategory>> GetAllAsync(Guid userId, CancellationToken cancellationToken = default);
	bool Add(ItemCategory accountCategory);
	Task<bool> AddAsync(ItemCategory accountCategory, CancellationToken cancellationToken = default);
	ItemCategory? Get(Guid userId, Guid id);
	Task<ItemCategory?> GetAsync(Guid userId, Guid id, CancellationToken cancellationToken = default);
	bool Update(ItemCategory accountCategory);
	Task<bool> UpdateAsync(ItemCategory accountCategory, CancellationToken cancellationToken = default);
	bool Remove(ItemCategory accountCategory);
	Task<bool> RemoveAsync(ItemCategory accountCategory, CancellationToken cancellationToken = default);
}
