Reintroduce security.mvc
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.mvc / src / main / java / org / argeo / security / mvc / UsersRolesController.java
diff --git a/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java b/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java
new file mode 100644 (file)
index 0000000..185d376
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.argeo.security.mvc;
+
+import org.argeo.server.mvc.MvcConstants;
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class UsersRolesController implements MvcConstants {
+//     private ArgeoSecurityService securityService;
+//     private Deserializer userDeserializer = null;
+
+       /* USER */
+
+//     @RequestMapping("/getCredentials.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser getCredentials() {
+//             ArgeoUser argeoUser = securityService.getCurrentUser();
+//             if (argeoUser == null)
+//                     return new SimpleArgeoUser();
+//             else
+//                     return argeoUser;
+//     }
+//
+//     @RequestMapping("/getUsersList.*")
+//     @ModelAttribute("users")
+//     public Set<ArgeoUser> getUsersList() {
+//             return securityService.listUsers();
+//     }
+//
+//     @RequestMapping("/userExists.*")
+//     public BooleanAnswer userExists(@RequestParam("username") String username) {
+//             return new BooleanAnswer(securityService.userExists(username));
+//     }
+//
+//     @RequestMapping("/createUser.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser createUser(Reader reader) {
+//             ArgeoUser user = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             securityService.newUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/updateUser.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser updateUser(Reader reader) {
+//             ArgeoUser user = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             securityService.updateUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/updateUserSelf.*")
+//     @ModelAttribute("user")
+//     /** Will only update the user natures.*/
+//     public ArgeoUser updateUserSelf(Reader reader) {
+//             ArgeoUser user = securityService.getCurrentUser();
+//             ArgeoUser userForNatures = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             user.updateUserNatures(userForNatures.getUserNatures());
+//             securityService.updateUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/deleteUser.*")
+//     public ServerAnswer deleteUser(@RequestParam("username") String username) {
+//             securityService.deleteUser(username);
+//             return ServerAnswer.ok("User " + username + " deleted");
+//     }
+//
+//     @RequestMapping("/getUserDetails.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser getUserDetails(@RequestParam("username") String username) {
+//             return securityService.getUser(username);
+//     }
+
+       /* ROLE */
+//     @RequestMapping("/getRolesList.*")
+//     @ModelAttribute("roles")
+//     public Set<String> getEditableRolesList() {
+//             return securityService.listEditableRoles();
+//     }
+//
+//     @RequestMapping("/createRole.*")
+//     public ServerAnswer createRole(@RequestParam("role") String role) {
+//             securityService.newRole(role);
+//             return ServerAnswer.ok("Role " + role + " created");
+//     }
+//
+//     @RequestMapping("/deleteRole.*")
+//     public ServerAnswer deleteRole(@RequestParam("role") String role) {
+//             securityService.deleteRole(role);
+//             return ServerAnswer.ok("Role " + role + " deleted");
+//     }
+//
+//     @RequestMapping("/updateUserPassword.*")
+//     public ServerAnswer updateUserPassword(
+//                     @RequestParam("username") String username,
+//                     @RequestParam("password") String password) {
+//             securityService.updateUserPassword(username, password);
+//             return ServerAnswer.ok("Password updated for user " + username);
+//     }
+//
+//     @RequestMapping("/updatePassword.*")
+//     public ServerAnswer updatePassword(
+//                     @RequestParam("oldPassword") String oldPassword,
+//                     @RequestParam("password") String password) {
+//             securityService.updateCurrentUserPassword(oldPassword, password);
+//             return ServerAnswer.ok("Password updated");
+//     }
+//
+//     public void setUserDeserializer(Deserializer userDeserializer) {
+//             this.userDeserializer = userDeserializer;
+//     }
+//
+//     public void setSecurityService(ArgeoSecurityService securityService) {
+//             this.securityService = securityService;
+//     }
+
+}