package edu.asu.spring.quadriga.service.workbench;
import java.util.List;
import edu.asu.spring.quadriga.domain.enums.EProjectAccessibility;
import edu.asu.spring.quadriga.domain.workbench.IProject;
import edu.asu.spring.quadriga.domain.workbench.IProjectCollaborator;
import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException;
public interface IRetrieveProjectManager {
public abstract IProject getProjectDetails(String projectId)
throws QuadrigaStorageException;
public abstract IProject getProjectDetailsByUnixName(String unixName) throws QuadrigaStorageException;
public abstract List<IProject> getProjectList(String sUserName)
throws QuadrigaStorageException;
public abstract List<IProjectCollaborator> getCollaboratingUsers(String projectId) throws QuadrigaStorageException;
public abstract List<IProject> getProjectListAsWorkspaceCollaborator(String sUserName)
throws QuadrigaStorageException;
public abstract List<IProject> getProjectListAsWorkspaceOwner(String sUserName)
throws QuadrigaStorageException;
public abstract List<IProject> getCollaboratorProjectList(String sUserName)
throws QuadrigaStorageException;
public abstract List<IProject> getProjectListByCollaboratorRole(String sUserName,String role)
throws QuadrigaStorageException;
boolean getPublicProjectWebsiteAccessibility(String unixName)
throws QuadrigaStorageException;
boolean canAccessProjectWebsite(String unixName, String user)
throws QuadrigaStorageException;
public abstract List<IProject> getProjectListByAccessibility(EProjectAccessibility accessibility)
throws QuadrigaStorageException;
public abstract List<IProject> getRecentProjectList(String sUserName)
throws QuadrigaStorageException;
public abstract List<IProject> getProjectListBySearchTermAndAccessiblity(String searchTerm, String accessibility)
throws QuadrigaStorageException;
}