chore: Refactor UpdateSuperUserMigrationHelperCE for re-use in EE (#36851)
## Automation /ok-to-test tags="@tag.Sanity" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11321563633> > Commit: 402dfb3ae87383f87afc5b343971e5334b79a695 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11321563633&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Mon, 14 Oct 2024 06:12:25 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced user creation process with automatic generation of user management permission groups and policies. - Introduced a new method for creating permission groups associated with user management. - **Bug Fixes** - Streamlined the assignment of user policies during user creation. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
parent
299cc42aeb
commit
dfd5a5a780
|
|
@ -8,6 +8,7 @@ import com.appsmith.server.domains.Tenant;
|
|||
import com.appsmith.server.domains.User;
|
||||
import com.appsmith.server.dtos.Permission;
|
||||
import com.appsmith.server.solutions.PolicySolution;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
|
||||
import java.time.Instant;
|
||||
|
|
@ -56,7 +57,17 @@ public class UpdateSuperUserMigrationHelperCE {
|
|||
user.setCreatedAt(Instant.now());
|
||||
user = mongoTemplate.save(user);
|
||||
|
||||
// Assign the user to the default permissions
|
||||
PermissionGroup userManagementPermissionGroup = createUserManagementPermissionGroup(mongoTemplate, user);
|
||||
|
||||
Set<Policy> userPolicies = this.generateUserPolicy(
|
||||
user, userManagementPermissionGroup, instanceAdminRole, tenant, policySolution, policyGenerator);
|
||||
|
||||
user.setPolicies(userPolicies);
|
||||
|
||||
return mongoTemplate.save(user);
|
||||
}
|
||||
|
||||
@NotNull public static PermissionGroup createUserManagementPermissionGroup(MongoTemplate mongoTemplate, User user) {
|
||||
PermissionGroup userManagementPermissionGroup = new PermissionGroup();
|
||||
userManagementPermissionGroup.setName(user.getUsername() + FieldName.SUFFIX_USER_MANAGEMENT_ROLE);
|
||||
// Add CRUD permissions for user to the group
|
||||
|
|
@ -66,12 +77,6 @@ public class UpdateSuperUserMigrationHelperCE {
|
|||
userManagementPermissionGroup.setAssignedToUserIds(Set.of(user.getId()));
|
||||
|
||||
PermissionGroup savedPermissionGroup = mongoTemplate.save(userManagementPermissionGroup);
|
||||
|
||||
Set<Policy> userPolicies = this.generateUserPolicy(
|
||||
user, savedPermissionGroup, instanceAdminRole, tenant, policySolution, policyGenerator);
|
||||
|
||||
user.setPolicies(userPolicies);
|
||||
|
||||
return mongoTemplate.save(user);
|
||||
return savedPermissionGroup;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user