import gr.ebs.gss.server.domain.FileUploadStatus;
import gr.ebs.gss.server.domain.Folder;
import gr.ebs.gss.server.domain.Group;
+import gr.ebs.gss.server.domain.FileLock;
import gr.ebs.gss.server.domain.Invitation;
import gr.ebs.gss.server.domain.Nonce;
import gr.ebs.gss.server.domain.User;
import gr.ebs.gss.server.domain.UserClass;
+import gr.ebs.gss.server.domain.UserLogin;
+import gr.ebs.gss.server.domain.WebDavNonce;
import java.util.Date;
import java.util.List;
public List<Group> getGroups(Long userId) throws ObjectNotFoundException;
/**
+ * Retrieves the root folder id for the specified user. The caller must ensure
+ * that the userId exists.
+ *
+ * @param userId
+ * @return Long The id
+ * @throws ObjectNotFoundException if no Folder was found
+ */
+ public Long getRootFolderId(final Long userId) throws ObjectNotFoundException;
+
+ /**
* Retrieves the root folder for the specified user. The caller must ensure
* that the userId exists.
*
* @return
*/
int deletePermissionsNotCorrespondingToFilesAndFolders(Long userId);
+
+ /**
+ * Returns a list of the top two entries related to the date that a user logged in the service.
+ * The first entry is related to the current session user login
+ * and the latter is related to the user's last login
+ *
+ * @param userId
+ * @return a list of last user login and the current session user login
+ */
+ public List<UserLogin> getLoginsForUser (Long userId);
+
+ /**
+ * Returns a list of all entries related to the date that a user logged in the service.
+ *
+ * @param userId
+ * @return a list of last user login and the current session user login
+ */
+ public List<UserLogin> getAllLoginsForUser (Long userId);
+
+ /**
+ * @param username
+ * @return
+ */
+ User getUserByUserName(String username);
+
+ /**
+ * @param id
+ * @return
+ */
+ FileLock getLockById(String id);
+
+ /**
+ * @param tokenId
+ * @return
+ */
+ FileLock getLockByToken(String tokenId);
+
+ /**
+ * @param lock
+ */
+ void removeLock(FileLock lock);
+
+ /**
+ * @param lock
+ * @return
+ */
+ FileLock saveOrUpdateLock(FileLock lock);
+
+ /**
+ * @param lock
+ * @return
+ */
+ WebDavNonce saveOrUpdateWebDavNonce(WebDavNonce lock);
+
+ /**
+ * @param lock
+ */
+ void removeWebDavNonce(WebDavNonce lock);
+
+ /**
+ * @param tokenId
+ * @return
+ */
+ WebDavNonce getWebDavNonce(String tokenId);
}