From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/IUserService.java | 178 ++++++++++++++++++----------------------------------------- 1 files changed, 55 insertions(+), 123 deletions(-) diff --git a/src/main/java/com/gitblit/IUserService.java b/src/main/java/com/gitblit/IUserService.java index a57b0da..6f3c542 100644 --- a/src/main/java/com/gitblit/IUserService.java +++ b/src/main/java/com/gitblit/IUserService.java @@ -18,15 +18,16 @@ import java.util.Collection; import java.util.List; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; /** * Implementations of IUserService control all aspects of UserModel objects and * user authentication. - * + * * @author James Moger - * + * */ public interface IUserService { @@ -34,146 +35,99 @@ * Setup the user service. This method allows custom implementations to * retrieve settings from gitblit.properties or the web.xml file without * relying on the GitBlit static singleton. - * - * @param settings - * @since 0.7.0 + * + * @param runtimeManager + * @since 1.4.0 */ - void setup(IStoredSettings settings); - - /** - * Does the user service support changes to credentials? - * - * @return true or false - * @since 1.0.0 - */ - boolean supportsCredentialChanges(); - - /** - * Does the user service support changes to user display name? - * - * @return true or false - * @since 1.0.0 - */ - boolean supportsDisplayNameChanges(); - - /** - * Does the user service support changes to user email address? - * - * @return true or false - * @since 1.0.0 - */ - boolean supportsEmailAddressChanges(); - - /** - * Does the user service support changes to team memberships? - * - * @return true or false - * @since 1.0.0 - */ - boolean supportsTeamMembershipChanges(); - - /** - * Does the user service support cookie authentication? - * - * @return true or false - */ - boolean supportsCookies(); + void setup(IRuntimeManager runtimeManager); /** * Returns the cookie value for the specified user. - * + * * @param model * @return cookie value + * @since 0.5.0 */ String getCookie(UserModel model); /** - * Authenticate a user based on their cookie. - * + * Retrieve a user object for the specified cookie. + * * @param cookie * @return a user object or null + * @since 0.5.0 */ - UserModel authenticate(char[] cookie); + UserModel getUserModel(char[] cookie); - /** - * Authenticate a user based on a username and password. - * - * @param username - * @param password - * @return a user object or null - */ - UserModel authenticate(String username, char[] password); - - /** - * Logout a user. - * - * @param user - */ - void logout(UserModel user); - /** * Retrieve the user object for the specified username. - * + * * @param username * @return a user object or null + * @since 0.5.0 */ UserModel getUserModel(String username); /** * Updates/writes a complete user object. - * + * * @param model * @return true if update is successful + * @since 0.5.0 */ boolean updateUserModel(UserModel model); /** * Updates/writes all specified user objects. - * + * * @param models a list of user models * @return true if update is successful * @since 1.2.0 */ boolean updateUserModels(Collection<UserModel> models); - + /** * Adds/updates a user object keyed by username. This method allows for * renaming a user. - * + * * @param username * the old username * @param model * the user object to use for username * @return true if update is successful + * @since 0.5.0 */ boolean updateUserModel(String username, UserModel model); /** * Deletes the user object from the user service. - * + * * @param model * @return true if successful + * @since 0.5.0 */ boolean deleteUserModel(UserModel model); /** * Delete the user object with the specified username - * + * * @param username * @return true if successful + * @since 0.5.0 */ boolean deleteUser(String username); /** * Returns the list of all users available to the login service. - * + * * @return list of all usernames + * @since 0.5.0 */ List<String> getAllUsernames(); - + /** * Returns the list of all users available to the login service. - * + * * @return list of all users * @since 0.8.0 */ @@ -181,75 +135,62 @@ /** * Returns the list of all teams available to the login service. - * + * * @return list of all teams * @since 0.8.0 - */ + */ List<String> getAllTeamNames(); - + /** * Returns the list of all teams available to the login service. - * + * * @return list of all teams * @since 0.8.0 - */ + */ List<TeamModel> getAllTeams(); - + /** * Returns the list of all users who are allowed to bypass the access * restriction placed on the specified repository. - * + * * @param role * the repository name * @return list of all usernames that can bypass the access restriction * @since 0.8.0 - */ - List<String> getTeamnamesForRepositoryRole(String role); + */ + List<String> getTeamNamesForRepositoryRole(String role); /** - * Sets the list of all teams who are allowed to bypass the access - * restriction placed on the specified repository. - * - * @param role - * the repository name - * @param teamnames - * @return true if successful - * @since 0.8.0 - */ - @Deprecated - boolean setTeamnamesForRepositoryRole(String role, List<String> teamnames); - - /** * Retrieve the team object for the specified team name. - * + * * @param teamname * @return a team object or null * @since 0.8.0 - */ + */ TeamModel getTeamModel(String teamname); /** * Updates/writes a complete team object. - * + * * @param model * @return true if update is successful * @since 0.8.0 - */ + */ boolean updateTeamModel(TeamModel model); /** * Updates/writes all specified team objects. - * + * * @param models a list of team models * @return true if update is successful * @since 1.2.0 - */ + */ boolean updateTeamModels(Collection<TeamModel> models); - + /** * Updates/writes and replaces a complete team object keyed by teamname. * This method allows for renaming a team. - * + * * @param teamname * the old teamname * @param model @@ -261,7 +202,7 @@ /** * Deletes the team object from the user service. - * + * * @param model * @return true if successful * @since 0.8.0 @@ -270,17 +211,17 @@ /** * Delete the team object with the specified teamname - * + * * @param teamname * @return true if successful * @since 0.8.0 - */ + */ boolean deleteTeam(String teamname); /** * Returns the list of all users who are allowed to bypass the access * restriction placed on the specified repository. - * + * * @param role * the repository name * @return list of all usernames that can bypass the access restriction @@ -289,31 +230,21 @@ List<String> getUsernamesForRepositoryRole(String role); /** - * Sets the list of all uses who are allowed to bypass the access - * restriction placed on the specified repository. - * - * @param role - * the repository name - * @param usernames - * @return true if successful - */ - @Deprecated - boolean setUsernamesForRepositoryRole(String role, List<String> usernames); - - /** * Renames a repository role. - * + * * @param oldRole * @param newRole * @return true if successful + * @since 0.5.0 */ boolean renameRepositoryRole(String oldRole, String newRole); /** * Removes a repository role from all users. - * + * * @param role * @return true if successful + * @since 0.5.0 */ boolean deleteRepositoryRole(String role); @@ -321,5 +252,6 @@ * @See java.lang.Object.toString(); * @return string representation of the login service */ + @Override String toString(); } -- Gitblit v1.9.1