package fi.otavanopisto.muikku.schooldata;
import java.util.List;
import fi.otavanopisto.muikku.schooldata.entity.User;
import fi.otavanopisto.muikku.schooldata.entity.Workspace;
import fi.otavanopisto.muikku.schooldata.entity.WorkspaceType;
import fi.otavanopisto.muikku.schooldata.entity.WorkspaceUser;
public interface WorkspaceSchoolDataBridge {
/**
* Returns school data source identifier
*
* @return school data source identifier
*/
public String getSchoolDataSource();
/* Workspaces */
public Workspace createWorkspace(String name, String description, WorkspaceType type, String courseIdentifierIdentifier);
public Workspace copyWorkspace(SchoolDataIdentifier identifier, String name, String nameExtension, String description);
public Workspace findWorkspace(String identifier);
public List<Workspace> listWorkspaces();
public List<Workspace> listWorkspacesByCourseIdentifier(String courseIdentifierIdentifier);
public Workspace updateWorkspace(Workspace workspace);
public void removeWorkspace(String identifier);
/* Workspace Types */
public WorkspaceType findWorkspaceType(String identifier);
public List<WorkspaceType> listWorkspaceTypes();
/* Workspace Users */
public WorkspaceUser createWorkspaceUser(Workspace workspace, User user, String roleSchoolDataSource, String roleIdentifier);
public WorkspaceUser findWorkspaceUser(SchoolDataIdentifier workspaceIdentifier, SchoolDataIdentifier workspaceUserIdentifier);
public WorkspaceUser findWorkspaceUserByWorkspaceAndUser(SchoolDataIdentifier workspaceIdentifier, SchoolDataIdentifier userIdentifier);
@Deprecated
public List<WorkspaceUser> listWorkspaceUsers(String workspaceIdentifier);
public List<WorkspaceUser> listWorkspaceStaffMembers(String workspaceIdentifier);
public List<WorkspaceUser> listWorkspaceStudents(String workspaceIdentifier);
public List<WorkspaceUser> listWorkspaceStudents(String workspaceIdentifier, boolean active);
public void updateWorkspaceStudentActivity(WorkspaceUser workspaceUser, boolean active);
}