diff --git a/core/src/main/java/com/confighub/core/store/Store.java b/core/src/main/java/com/confighub/core/store/Store.java index 9d4efaf..e9c1b88 100644 --- a/core/src/main/java/com/confighub/core/store/Store.java +++ b/core/src/main/java/com/confighub/core/store/Store.java @@ -451,15 +451,16 @@ public Organization update( final Organization organization, public Organization removeOwner( final Organization organization, + final UserAccount user, final UserAccount owner ) throws ConfigException { - if ( Utils.anyNull( organization, owner ) ) + if ( Utils.anyNull( organization, user, owner ) ) { throw new ConfigException( Error.Code.MISSING_PARAMS ); } - if ( !organization.isOwner( owner ) ) + if ( !organization.isOwner( user ) ) { throw new ConfigException( Error.Code.USER_ACCESS_DENIED ); } @@ -472,20 +473,21 @@ public Organization removeOwner( final Organization organization, public Organization removeAdministrator( final Organization organization, - final UserAccount owner ) - throws ConfigException + final UserAccount user, + final UserAccount administrator ) + throws ConfigException { - if ( Utils.anyNull( organization, owner ) ) + if ( Utils.anyNull( organization, user, administrator ) ) { throw new ConfigException( Error.Code.MISSING_PARAMS ); } - if ( !organization.isOwner( owner ) ) + if ( !organization.isOwner( user ) ) { throw new ConfigException( Error.Code.USER_ACCESS_DENIED ); } - organization.removeAdministrator( owner ); + organization.removeAdministrator( administrator ); saveOrUpdateNonAudited( organization ); return organization; diff --git a/rest/src/main/java/com/confighub/api/org/RemoveAdminOrOwner.java b/rest/src/main/java/com/confighub/api/org/RemoveAdminOrOwner.java index 8665519..697b825 100644 --- a/rest/src/main/java/com/confighub/api/org/RemoveAdminOrOwner.java +++ b/rest/src/main/java/com/confighub/api/org/RemoveAdminOrOwner.java @@ -52,8 +52,8 @@ public Response update(@PathParam("orgAccName") String orgAccName, try { - UserAccount userAccount = store.getUserByUsername(userAccountName); - if (null == userAccount) + UserAccount adminOrOwnerUserAccount = store.getUserByUsername(userAccountName); + if (null == adminOrOwnerUserAccount) { json.addProperty("success", true); return Response.ok(gson.toJson(json), MediaType.APPLICATION_JSON).build(); @@ -62,17 +62,17 @@ public Response update(@PathParam("orgAccName") String orgAccName, int status = validate(orgAccName, token, store); if (0 != status) return Response.status(status).build(); - if (!organization.isOwnerOrAdmin(userAccount)) + if (!organization.isOwnerOrAdmin(adminOrOwnerUserAccount)) { json.addProperty("success", true); return Response.ok(gson.toJson(json), MediaType.APPLICATION_JSON).build(); } store.begin(); - if (organization.isOwner(userAccount)) - store.removeOwner(organization, user); + if (organization.isOwner(adminOrOwnerUserAccount)) + store.removeOwner(organization, user, adminOrOwnerUserAccount); else - store.removeAdministrator(organization, user); + store.removeAdministrator(organization, user, adminOrOwnerUserAccount); store.commit(); json.addProperty("success", true);