From c5c7b01ad1afa443dcd62807fbaf2599cb645960 Mon Sep 17 00:00:00 2001 From: emma19910916 <1096721729@qq.com> Date: Fri, 21 Jul 2023 22:18:40 +0800 Subject: [PATCH 1/3] fix issue --- .../mod/rbac/acl/relation/BinderRole.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java index 374c2763..497715b8 100644 --- a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java +++ b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java @@ -3,18 +3,21 @@ package io.vertx.mod.rbac.acl.relation; import cn.vertxup.rbac.domain.tables.daos.RUserRoleDao; import cn.vertxup.rbac.domain.tables.daos.SRoleDao; import cn.vertxup.rbac.domain.tables.pojos.RUserRole; +import cn.vertxup.rbac.domain.tables.pojos.SPacket; import cn.vertxup.rbac.domain.tables.pojos.SRole; import cn.vertxup.rbac.domain.tables.pojos.SUser; +import io.horizon.eon.VString; import io.vertx.core.Future; import io.vertx.core.json.JsonArray; +import io.vertx.core.json.JsonObject; import io.vertx.mod.rbac.cv.AuthKey; import io.vertx.up.eon.KName; import io.vertx.up.unity.Ux; import io.vertx.up.util.Ut; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.function.Function; +import java.util.stream.Collectors; import static io.vertx.mod.rbac.refine.Sc.LOG; @@ -32,7 +35,18 @@ public class BinderRole extends AbstractBind { if (users.isEmpty()) { return Ux.futureA(); } - return this.purgeAsync(users, RUserRoleDao.class, AuthKey.F_USER_ID) + // fix issue: https://e.gitee.com/wei-code/issues/table?issue=I7MRXK + final List deleteUser = new ArrayList<>(); + users.forEach(user -> { + Ut.itJArray(inputData).forEach(input -> { + final String roles = input.getString(KName.ROLES); + final String userName = input.getString(KName.USERNAME); + if(Ut.isNotNil(roles) && userName.equals(user.getUsername())){ + deleteUser.add(user); + } + }); + }); + return this.purgeAsync(deleteUser, RUserRoleDao.class, AuthKey.F_USER_ID) .compose(nil -> this.mapAsync(inputData, SRoleDao.class, KName.ROLES)) .compose(roleMap -> { /* -- Gitee From 5b2a96935f81c6175b09a0bfc67ef2c1681f4915 Mon Sep 17 00:00:00 2001 From: emma19910916 <1096721729@qq.com> Date: Fri, 21 Jul 2023 22:24:39 +0800 Subject: [PATCH 2/3] fix issue I7MRXK --- .../modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java index 497715b8..2343a2db 100644 --- a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java +++ b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java @@ -3,21 +3,18 @@ package io.vertx.mod.rbac.acl.relation; import cn.vertxup.rbac.domain.tables.daos.RUserRoleDao; import cn.vertxup.rbac.domain.tables.daos.SRoleDao; import cn.vertxup.rbac.domain.tables.pojos.RUserRole; -import cn.vertxup.rbac.domain.tables.pojos.SPacket; import cn.vertxup.rbac.domain.tables.pojos.SRole; import cn.vertxup.rbac.domain.tables.pojos.SUser; -import io.horizon.eon.VString; import io.vertx.core.Future; import io.vertx.core.json.JsonArray; -import io.vertx.core.json.JsonObject; import io.vertx.mod.rbac.cv.AuthKey; import io.vertx.up.eon.KName; import io.vertx.up.unity.Ux; import io.vertx.up.util.Ut; -import java.util.*; +import java.util.ArrayList; +import java.util.List; import java.util.function.Function; -import java.util.stream.Collectors; import static io.vertx.mod.rbac.refine.Sc.LOG; -- Gitee From e6ea4e9fef73b58010943ce795cb5abd0cad5777 Mon Sep 17 00:00:00 2001 From: emma19910916 <1096721729@qq.com> Date: Sat, 22 Jul 2023 07:53:37 +0800 Subject: [PATCH 3/3] modify comments --- .../main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java index 2343a2db..9609a404 100644 --- a/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java +++ b/zero-rbac/src/main/modulat/io/vertx/mod/rbac/acl/relation/BinderRole.java @@ -32,7 +32,7 @@ public class BinderRole extends AbstractBind { if (users.isEmpty()) { return Ux.futureA(); } - // fix issue: https://e.gitee.com/wei-code/issues/table?issue=I7MRXK + // Only Exist Roles Delete The RelationShip final List deleteUser = new ArrayList<>(); users.forEach(user -> { Ut.itJArray(inputData).forEach(input -> { -- Gitee