package eu.eudat.data.dao.entities;

import eu.eudat.data.dao.DatabaseAccessLayer;
import eu.eudat.data.dao.criteria.DatasetProfileCriteria;
import eu.eudat.data.entities.DatasetProfile;
import eu.eudat.queryable.QueryableList;

import java.util.List;
import java.util.UUID;

public interface DatasetProfileDao extends DatabaseAccessLayer<DatasetProfile, UUID> {

    QueryableList<DatasetProfile> getWithCriteria(DatasetProfileCriteria criteria);

    QueryableList<DatasetProfile> getAll();

    QueryableList<DatasetProfile> getAuthenticated(QueryableList<DatasetProfile> query, UUID principal, List<Integer> roles);

}