Adapt to the absence of getRolesList() service...
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / SecurityAPI.js
index e138d861b76ecc19b30b66322189ed08904eac4c..af3fabf95ad6e7b236208d141175a16199e700e2 100644 (file)
@@ -4,22 +4,19 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                \r
                DEFAULT_CONTEXT : "/org.argeo.security.webapp",\r
                \r
+               CREDENTIALS_SERVICE : "getCredentials.security",\r
+               \r
                USERS_LIST_SERVICE : "getUsersList.security",\r
                USER_EXISTS_SERVICE : "userExists.security",            \r
                DELETE_USER_SERVICE : "deleteUser.security",\r
                GET_USER_DETAILS_SERVICE : "getUserDetails.security",\r
                CREATE_USER_SERVICE : "createUser.security",\r
                UPDATE_USER_PASS_SERVICE : "updateUserPassword.security",\r
+               UPDATE_PASS_SERVICE : "updatePassword.security",\r
 \r
                ROLES_LIST_SERVICE : "getRolesList.security",\r
-               GET_USERS_ROLE_SERVICE : "getUsersForRole.security",\r
                CREATE_ROLE_SERVICE : "createRole.security",\r
-               DELETE_ROLE_SERVICE : "deleteRole.security",\r
-               \r
-               UPDATE_USER_ROLE_LNK_SERVICE : "updateUserRoleLink.security",\r
-               CREATE_NATURE_SERVICE : "createUserNature.security",\r
-               DELETE_NATURE_SERVICE : "deleteUserNature.security",\r
-               UPDATE_NATURE_SERVICE : "updateUserNature.security",\r
+               DELETE_ROLE_SERVICE : "deleteRole.security",            \r
 \r
                /**\r
                 * Standard Request getter\r
@@ -36,7 +33,23 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                                "application/json");\r
                },\r
                \r
+               /**\r
+                * \r
+                * @param {qx.io.remote.Request} request\r
+                * @param {Array} argumentsArray\r
+                * @param {Integer} startIndex\r
+                */\r
                parseOptionalArguments : function(request, argumentsArray, startIndex){\r
+                       // Attach Error listener\r
+                       request.addListener("completed", function(response){\r
+                               var jSonContent = response.getContent();  \r
+                               if(typeof jSonContent == "object" && jSonContent.status && jSonContent.status == "ERROR"){\r
+                                       org.argeo.ria.components.Logger.getInstance().error(jSonContent.message);\r
+                               }\r
+                               request.setState("failed");\r
+                       });\r
+\r
+                       // Attach ILoadStatusables & reloadEvents\r
                        if(argumentsArray.length <= startIndex) return;\r
                        var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
                        for(var i=startIndex;i<argumentsArray.length;i++){\r
@@ -49,12 +62,19 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                        }\r
                },\r
                \r
+               getCredentialsService : function(){\r
+                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREDENTIALS_SERVICE);\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 0);\r
+                       return req;                     \r
+               },\r
+               \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getListUsersService : function(){\r
+               getListUsersService : function(getNatures){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.USERS_LIST_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+                       req.setParameter("getNatures", (getNatures || false));\r
                        return req;\r
                },\r
                \r
@@ -64,7 +84,7 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                getUserExistsService : function(userName){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.USER_EXISTS_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("userName", userName);\r
+                       req.setParameter("username", userName);\r
                        return req;\r
                },\r
                \r
@@ -74,7 +94,7 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                getDeleteUserService : function(userName){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_USER_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("userName", userName);\r
+                       req.setParameter("username", userName);\r
                        return req;\r
                },\r
                \r
@@ -84,55 +104,59 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                getUserDetailsService : function(userName){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.GET_USER_DETAILS_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("userName", userName);\r
+                       req.setParameter("username", userName);\r
                        return req;\r
                },\r
                \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getCreateUserService : function(userName){\r
+               getCreateUserService : function(userName, password){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_USER_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("userName", userName);\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+                       req.setParameter("username", userName);\r
+                       req.setParameter("password", password);\r
                        return req;\r
                },\r
                \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getUpdateUserPassService : function(userName, userPassword){\r
+               getUpdatePassService : function(oldPassword, newPassword){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_PASS_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("userName", userName);\r
-                       req.addParameter("userPassword", userPassword);\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+                       req.setParameter("password", newPassword);\r
+                       req.setParameter("oldpassword", oldPassword);\r
                        return req;\r
                },\r
                \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getListRolesService : function(){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.ROLES_LIST_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+               getUpdateUserPassService : function(userName, userPassword){\r
+                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_PASS_SERVICE);\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+                       req.setParameter("username", userName);\r
+                       req.setParameter("password", userPassword);\r
                        return req;\r
                },\r
                \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getUsersForRolesService : function(){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.GET_USERS_ROLE_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+               getListRolesService : function(){\r
+                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.ROLES_LIST_SERVICE);\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 0);\r
                        return req;\r
                },\r
-               \r
+                               \r
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
                getCreateRoleService : function(roleName){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_ROLE_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+                       req.setParameter("role", roleName);\r
                        return req;\r
                },\r
                \r
@@ -142,49 +166,8 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                getDeleteRoleService : function(roleName){\r
                        var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_ROLE_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+                       req.setParameter("role", roleName);\r
                        return req;\r
-               },\r
-               \r
-               /**\r
-                * @return  {qx.io.remote.Request}\r
-                */\r
-               getUpdateUserRoleLinkService : function(roleName, userName){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_ROLE_LNK_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("roleName", roleName);\r
-                       req.addParameter("userName", userName);\r
-                       return req;\r
-               },\r
-               \r
-               /**\r
-                * @return  {qx.io.remote.Request}\r
-                */\r
-               getCreateNatureService : function(natureData){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_NATURE_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParameter("natureData", natureData);\r
-                       return req;\r
-               },\r
-               \r
-               /**\r
-                * @return  {qx.io.remote.Request}\r
-                */\r
-               getDeleteNatureService : function(natureUuid){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_NATURE_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParamter("natureUuid", natureUuid);\r
-                       return req;\r
-               },\r
-               \r
-               /**\r
-                * @return  {qx.io.remote.Request}\r
-                */\r
-               getUpdateNatureService : function(natureUuid, natureData){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_NATURE_SERVICE);\r
-                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
-                       req.addParamter("natureUuid", natureUuid);\r
-                       req.addParameter("natureData", natureData);\r
-                       return req;\r
-               }               \r
+               }                               \r
        }\r
 });
\ No newline at end of file