using PARR.Domain.Entities.Unit;

namespace PARR.Core.Repositories.Interfaces.Unit
{
    public interface IUnitInUnitRepository
    {
        Task<List<UnitInUnit>> GetByParentIdAsync(Guid parentId);
        Task<List<UnitInUnit>> GetByChildIdAsync(Guid childId);

        /// <summary>
        /// Получает связи, где ChildUnitId unitIds (для IsParent=True).
        /// </summary>
        Task<List<UnitInUnit>> GetParentLinksByChildIdsAsync(IEnumerable<Guid> childUnitIds);

        /// <summary>
        /// Получает связи, где ParentUnitId unitIds (для IsParent=False).
        /// </summary>
        Task<List<UnitInUnit>> GetChildLinksByParentIdsAsync(IEnumerable<Guid> parentUnitIds);


        IQueryable<UnitInUnit> Get();
    }
}
