chore: Remove unused methods using deprecated Policy.users field (#29495)
Also switched to stdlib's `Base64`.
This commit is contained in:
parent
4515a85ade
commit
76d40d8bd5
|
|
@ -12,7 +12,6 @@ import lombok.AccessLevel;
|
|||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.bson.internal.Base64;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
|
|
@ -33,6 +32,7 @@ import java.net.URI;
|
|||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.Base64;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.appsmith.external.models.OAuth2.RefreshTokenClientCredentialsLocation.BODY;
|
||||
|
|
@ -116,7 +116,7 @@ public class OAuth2AuthorizationCode extends APIConnection implements UpdatableC
|
|||
|
||||
if (HEADER.equals(oAuth2.getRefreshTokenClientCredentialsLocation())) {
|
||||
byte[] clientCredentials = (oAuth2.getClientId() + ":" + oAuth2.getClientSecret()).getBytes();
|
||||
final String authorizationHeader = "Basic " + Base64.encode(clientCredentials);
|
||||
final String authorizationHeader = "Basic " + Base64.getEncoder().encodeToString(clientCredentials);
|
||||
webClientBuilder.defaultHeader("Authorization", authorizationHeader);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import lombok.Getter;
|
|||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.bson.internal.Base64;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
|
|
@ -34,6 +33,7 @@ import java.net.URI;
|
|||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.Base64;
|
||||
import java.util.Map;
|
||||
|
||||
@Setter
|
||||
|
|
@ -97,7 +97,7 @@ public class OAuth2ClientCredentials extends APIConnection implements UpdatableC
|
|||
|
||||
if (Boolean.TRUE.equals(oAuth2.getIsAuthorizationHeader())) {
|
||||
byte[] clientCredentials = (oAuth2.getClientId() + ":" + oAuth2.getClientSecret()).getBytes();
|
||||
final String authorizationHeader = "Basic " + Base64.encode(clientCredentials);
|
||||
final String authorizationHeader = "Basic " + Base64.getEncoder().encodeToString(clientCredentials);
|
||||
webClientBuilder.defaultHeader("Authorization", authorizationHeader);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.security.Keys;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.bson.internal.Base64;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.HttpStatusCode;
|
||||
|
|
@ -40,6 +39,7 @@ import java.net.URI;
|
|||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.Base64;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
|
@ -147,12 +147,12 @@ public class RestAPIActivateUtils {
|
|||
} else if (MediaType.IMAGE_GIF.equals(contentType)
|
||||
|| MediaType.IMAGE_JPEG.equals(contentType)
|
||||
|| MediaType.IMAGE_PNG.equals(contentType)) {
|
||||
String encode = Base64.encode(body);
|
||||
String encode = Base64.getEncoder().encodeToString(body);
|
||||
result.setBody(encode);
|
||||
responseDataType = ResponseDataType.IMAGE;
|
||||
|
||||
} else if (BINARY_DATA_TYPES.contains(contentType.toString())) {
|
||||
String encode = Base64.encode(body);
|
||||
String encode = Base64.getEncoder().encodeToString(body);
|
||||
result.setBody(encode);
|
||||
responseDataType = ResponseDataType.BINARY;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ import com.appsmith.server.solutions.PagePermission;
|
|||
import com.appsmith.util.WebClientUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.bson.internal.Base64;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
|
|
@ -54,6 +53,7 @@ import java.net.URI;
|
|||
import java.net.URISyntaxException;
|
||||
import java.time.Instant;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -249,7 +249,8 @@ public class AuthenticationServiceCEImpl implements AuthenticationServiceCE {
|
|||
}
|
||||
} else if (Boolean.TRUE.equals(oAuth2.getIsAuthorizationHeader())) {
|
||||
byte[] clientCredentials = (oAuth2.getClientId() + ":" + oAuth2.getClientSecret()).getBytes();
|
||||
final String authorizationHeader = "Basic " + Base64.encode(clientCredentials);
|
||||
final String authorizationHeader =
|
||||
"Basic " + Base64.getEncoder().encodeToString(clientCredentials);
|
||||
builder.defaultHeader("Authorization", authorizationHeader);
|
||||
} else {
|
||||
return Mono.error(
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ public interface PolicySolutionCE {
|
|||
|
||||
<T extends BaseDomain> T removePoliciesFromExistingObject(Map<String, Policy> policyMap, T obj);
|
||||
|
||||
Map<String, Policy> generatePolicyFromPermission(Set<AclPermission> permissions, String username);
|
||||
|
||||
Map<String, Policy> generatePolicyFromPermissionGroupForObject(PermissionGroup permissionGroup, String objectId);
|
||||
|
||||
Map<String, Policy> generatePolicyFromPermissionWithPermissionGroup(
|
||||
|
|
|
|||
|
|
@ -24,13 +24,11 @@ import com.appsmith.server.solutions.DatasourcePermission;
|
|||
import com.appsmith.server.solutions.PagePermission;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
|
@ -120,35 +118,6 @@ public class PolicySolutionCEImpl implements PolicySolutionCE {
|
|||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a set of AclPermissions, generate all policies (including policies from lateral permissions) for the user.
|
||||
*
|
||||
* @param permissions
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Policy> generatePolicyFromPermission(Set<AclPermission> permissions, User user) {
|
||||
return generatePolicyFromPermission(permissions, user.getUsername());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Policy> generatePolicyFromPermission(Set<AclPermission> permissions, String username) {
|
||||
return permissions.stream()
|
||||
.map(perm -> {
|
||||
// Create a policy for the invited user using the permission as per the role
|
||||
Policy policyWithCurrentPermission = Policy.builder()
|
||||
.permission(perm.getValue())
|
||||
.users(Set.of(username))
|
||||
.build();
|
||||
// Generate any and all lateral policies that might come with the current permission
|
||||
Set<Policy> policiesForUser = policyGenerator.getLateralPolicies(perm, Set.of(username), null);
|
||||
policiesForUser.add(policyWithCurrentPermission);
|
||||
return policiesForUser;
|
||||
})
|
||||
.flatMap(Collection::stream)
|
||||
.collect(Collectors.toMap(Policy::getPermission, Function.identity()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Policy> generatePolicyFromPermissionGroupForObject(
|
||||
PermissionGroup permissionGroup, String objectId) {
|
||||
|
|
@ -205,26 +174,6 @@ public class PolicySolutionCEImpl implements PolicySolutionCE {
|
|||
.collect(Collectors.toMap(Policy::getPermission, Function.identity()));
|
||||
}
|
||||
|
||||
public Flux<Datasource> updateWithNewPoliciesToDatasourcesByWorkspaceId(
|
||||
String workspaceId, Map<String, Policy> newPoliciesMap, boolean addPolicyToObject) {
|
||||
|
||||
return datasourceRepository
|
||||
// fetch datasources with execute permissions so that app viewers can invite other app viewers
|
||||
.findAllByWorkspaceId(workspaceId, datasourcePermission.getExecutePermission())
|
||||
// In case we have come across a datasource for this workspace that the current user is not allowed to
|
||||
// manage, move on.
|
||||
.switchIfEmpty(Mono.empty())
|
||||
.map(datasource -> {
|
||||
if (addPolicyToObject) {
|
||||
return addPoliciesToExistingObject(newPoliciesMap, datasource);
|
||||
} else {
|
||||
return removePoliciesFromExistingObject(newPoliciesMap, datasource);
|
||||
}
|
||||
})
|
||||
.collectList()
|
||||
.flatMapMany(updatedDatasources -> datasourceRepository.saveAll(updatedDatasources));
|
||||
}
|
||||
|
||||
public Flux<Datasource> updateWithNewPoliciesToDatasourcesByDatasourceIds(
|
||||
Set<String> ids, Map<String, Policy> datasourcePolicyMap, boolean addPolicyToObject) {
|
||||
|
||||
|
|
@ -399,17 +348,4 @@ public class PolicySolutionCEImpl implements PolicySolutionCE {
|
|||
.stream()
|
||||
.collect(Collectors.toMap(Policy::getPermission, Function.identity()));
|
||||
}
|
||||
|
||||
public Set<String> findUsernamesWithPermission(Set<Policy> policies, AclPermission permission) {
|
||||
if (CollectionUtils.isNotEmpty(policies) && permission != null) {
|
||||
final String permissionString = permission.getValue();
|
||||
for (Policy policy : policies) {
|
||||
if (permissionString.equals(policy.getPermission())) {
|
||||
return policy.getUsers();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Collections.emptySet();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user