using IWS5.Core.Enums;
using IWS5.Core.Models.Request;
using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces;

public interface IRightsRepository : IIWSRepository<Atright>
{
    Task<List<Atright>> ListUserRelatedRights(string userName, ObjectType? objectType, ATRightAllowRight? allowRight = null, params Guid[] objectIds);
    Task<List<Atright>> ListUserRelatedRights(string userName, ObjectType? objectType, params ATRightAllowRight[] allowRights);
    Task<List<Atright>> ListUserRelatedRights(string userName, ObjectType? objectType, ATRightAllowRight[] allowRights, Guid[] objectIds);
    Task<int> UpdateRight(List<RightRequestItem> itemsToUpdate);
}
