namespace MyOffice.Data.Repositories.Item;

using MyOffice.Data.Models.Items;

public interface IItemGlobalRepository
{
	ItemGlobal? Get(Guid id);
	ItemGlobal? GetByName(string name);
	Task<ItemGlobal?> GetByNameAsync(string name, CancellationToken cancellationToken = default);
	bool Add(ItemGlobal itemGlobal);
	Task<bool> AddAsync(ItemGlobal itemGlobal, CancellationToken cancellationToken = default);
	List<ItemGlobal> GetAvailableToUser(Guid userId);
	Task<List<ItemGlobal>> GetAvailableToUserAsync(Guid userId, CancellationToken cancellationToken = default);
}