package eu.dnetlib.r2d2.neo4j.dao;

import eu.dnetlib.r2d2.neo4j.BeanDao;
import eu.dnetlib.r2d2.neo4j.domain.Neo4jProfile;

public interface ProfileDao extends BeanDao<Neo4jProfile> {

	public Iterable<Neo4jProfile> getItemAuthors(String itemId);

	public void addItemAuthor(String itemId, String userId);

	public void removeItemAuthor(String itemId, String userId);

	public Neo4jProfile getReadingListOwner(String rlId);

	public void setReadingListOwner(String rlId, String userId);

	public Iterable<Neo4jProfile> getGroupMembers(String groupId);

	/**
	 * Returns all the users which have a given information object in their MVL (actually an entry pointing to the
	 * information object).
	 * 
	 * @param ioId
	 * @return
	 */
	public Iterable<Neo4jProfile> getUsersSharingInformationObject(String ioId);
}
