Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
package com.azure.cosmos;

import com.azure.cosmos.implementation.Paths;
import com.azure.cosmos.models.CosmosAsyncPermissionResponse;
import com.azure.cosmos.models.CosmosPermissionResponse;
import com.azure.cosmos.models.CosmosPermissionProperties;
import com.azure.cosmos.models.CosmosPermissionRequestOptions;
import com.azure.cosmos.models.ModelBridgeInternal;
import reactor.core.publisher.Mono;

/**
* Has methods to operate on a per-User Permission to access a specific resource
* Has methods to operate on a per-User Permission to access a specific resource
*/
public class CosmosAsyncPermission {

Expand Down Expand Up @@ -52,14 +52,14 @@ CosmosAsyncPermission setId(String id) {
* @param options the request options.
* @return an {@link Mono} containing the single resource response with the read permission or an error.
*/
public Mono<CosmosAsyncPermissionResponse> read(CosmosPermissionRequestOptions options) {
public Mono<CosmosPermissionResponse> read(CosmosPermissionRequestOptions options) {
if (options == null) {
options = new CosmosPermissionRequestOptions();
}
return cosmosUser.getDatabase()
.getDocClientWrapper()
.readPermission(getLink(), ModelBridgeInternal.toRequestOptions(options))
.map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser))
.map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response))
.single();
}

Expand All @@ -74,16 +74,16 @@ public Mono<CosmosAsyncPermissionResponse> read(CosmosPermissionRequestOptions o
* @param options the request options.
* @return an {@link Mono} containing the single resource response with the replaced permission or an error.
*/
public Mono<CosmosAsyncPermissionResponse> replace(CosmosPermissionProperties permissionProperties,
CosmosPermissionRequestOptions options) {
public Mono<CosmosPermissionResponse> replace(CosmosPermissionProperties permissionProperties,
CosmosPermissionRequestOptions options) {
if (options == null) {
options = new CosmosPermissionRequestOptions();
}
return cosmosUser.getDatabase()
.getDocClientWrapper()
.replacePermission(ModelBridgeInternal.getV2Permissions(permissionProperties),
ModelBridgeInternal.toRequestOptions(options))
.map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser))
.map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response))
.single();
}

Expand All @@ -97,14 +97,14 @@ public Mono<CosmosAsyncPermissionResponse> replace(CosmosPermissionProperties pe
* @param options the request options.
* @return an {@link Mono} containing the single resource response for the deleted permission or an error.
*/
public Mono<CosmosAsyncPermissionResponse> delete(CosmosPermissionRequestOptions options) {
public Mono<CosmosPermissionResponse> delete(CosmosPermissionRequestOptions options) {
if (options == null) {
options = new CosmosPermissionRequestOptions();
}
return cosmosUser.getDatabase()
.getDocClientWrapper()
.deletePermission(getLink(), ModelBridgeInternal.toRequestOptions(options))
.map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser))
.map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response))
.single();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package com.azure.cosmos;

import com.azure.cosmos.implementation.Paths;
import com.azure.cosmos.models.CosmosAsyncPermissionResponse;
import com.azure.cosmos.models.CosmosPermissionResponse;
import com.azure.cosmos.models.CosmosUserResponse;
import com.azure.cosmos.models.CosmosPermissionProperties;
import com.azure.cosmos.models.CosmosPermissionRequestOptions;
Expand Down Expand Up @@ -95,7 +95,7 @@ public Mono<CosmosUserResponse> delete() {
* @param options the request options.
* @return an {@link Mono} containing the single resource response with the created permission or an error.
*/
public Mono<CosmosAsyncPermissionResponse> createPermission(
public Mono<CosmosPermissionResponse> createPermission(
CosmosPermissionProperties permissionSettings,
CosmosPermissionRequestOptions options) {
if (options == null) {
Expand All @@ -104,7 +104,7 @@ public Mono<CosmosAsyncPermissionResponse> createPermission(
Permission permission = ModelBridgeInternal.getV2Permissions(permissionSettings);
return database.getDocClientWrapper()
.createPermission(getLink(), permission, ModelBridgeInternal.toRequestOptions(options))
.map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, this))
.map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response))
.single();
}

Expand All @@ -119,7 +119,7 @@ public Mono<CosmosAsyncPermissionResponse> createPermission(
* @param options the request options.
* @return an {@link Mono} containing the single resource response with the upserted permission or an error.
*/
public Mono<CosmosAsyncPermissionResponse> upsertPermission(
public Mono<CosmosPermissionResponse> upsertPermission(
CosmosPermissionProperties permissionSettings,
CosmosPermissionRequestOptions options) {
Permission permission = ModelBridgeInternal.getV2Permissions(permissionSettings);
Expand All @@ -128,7 +128,7 @@ public Mono<CosmosAsyncPermissionResponse> upsertPermission(
}
return database.getDocClientWrapper()
.upsertPermission(getLink(), permission, ModelBridgeInternal.toRequestOptions(options))
.map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, this))
.map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response))
.single();
}

Expand All @@ -155,7 +155,7 @@ public CosmosPagedFlux<CosmosPermissionProperties> readAllPermissions() {
* In case of failure the {@link CosmosPagedFlux} will error.
*
* @param options the feed options.
* @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read permissions or an
* @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read permissions or an
* error.
*/
CosmosPagedFlux<CosmosPermissionProperties> readAllPermissions(FeedOptions options) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,23 @@
// Licensed under the MIT License.
package com.azure.cosmos.models;

import com.azure.cosmos.BridgeInternal;
import com.azure.cosmos.CosmosAsyncPermission;
import com.azure.cosmos.CosmosAsyncUser;
import com.azure.cosmos.implementation.Permission;
import com.azure.cosmos.implementation.ResourceResponse;
import com.azure.cosmos.implementation.apachecommons.lang.StringUtils;

/**
* The type Cosmos async permission response.
* The type Cosmos permission response.
*/
public class CosmosAsyncPermissionResponse extends CosmosResponse<CosmosPermissionProperties> {
private final CosmosAsyncPermission permissionClient;
public class CosmosPermissionResponse extends CosmosResponse<CosmosPermissionProperties> {

CosmosAsyncPermissionResponse(ResourceResponse<Permission> response, CosmosAsyncUser cosmosUser) {
CosmosPermissionResponse(ResourceResponse<Permission> response) {
super(response);
String bodyAsString = response.getBodyAsString();
if (StringUtils.isEmpty(bodyAsString)) {
super.setProperties(null);
permissionClient = null;
} else {
CosmosPermissionProperties props = new CosmosPermissionProperties(bodyAsString);
super.setProperties(props);
permissionClient = BridgeInternal.createCosmosAsyncPermission(props.getId(), cosmosUser);
}
}

Expand All @@ -36,13 +30,4 @@ public class CosmosAsyncPermissionResponse extends CosmosResponse<CosmosPermissi
public CosmosPermissionProperties getProperties() {
return super.getProperties();
}

/**
* Gets the CosmosAsyncPermission
*
* @return the cosmos permission
*/
public CosmosAsyncPermission getPermission() {
return permissionClient;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@

package com.azure.cosmos.models;

import com.azure.cosmos.CosmosAsyncClient;
import com.azure.cosmos.CosmosAsyncContainer;
import com.azure.cosmos.CosmosAsyncDatabase;
import com.azure.cosmos.CosmosAsyncUser;
import com.azure.cosmos.CosmosTrigger;
import com.azure.cosmos.CosmosUserDefinedFunction;
import com.azure.cosmos.implementation.Conflict;
Expand Down Expand Up @@ -93,9 +91,8 @@ public static CosmosAsyncItemResponse<Object> createCosmosAsyncItemResponseWithO
}

@Warning(value = INTERNAL_USE_ONLY_WARNING)
public static CosmosAsyncPermissionResponse createCosmosAsyncPermissionResponse(ResourceResponse<Permission> response,
CosmosAsyncUser cosmosUser) {
return new CosmosAsyncPermissionResponse(response, cosmosUser);
public static CosmosPermissionResponse createCosmosPermissionResponse(ResourceResponse<Permission> response) {
return new CosmosPermissionResponse(response);
}

@Warning(value = INTERNAL_USE_ONLY_WARNING)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.azure.cosmos.models.CompositePath;
import com.azure.cosmos.models.CosmosContainerResponse;
import com.azure.cosmos.models.CosmosDatabaseResponse;
import com.azure.cosmos.models.CosmosAsyncPermissionResponse;
import com.azure.cosmos.models.CosmosPermissionResponse;
import com.azure.cosmos.models.CosmosStoredProcedureResponse;
import com.azure.cosmos.models.CosmosAsyncTriggerResponse;
import com.azure.cosmos.models.CosmosAsyncUserDefinedFunctionResponse;
Expand Down Expand Up @@ -82,8 +82,8 @@ private Resource getResource(T resourceResponse) {
return ModelBridgeInternal.getResource(((CosmosAsyncUserDefinedFunctionResponse)resourceResponse).getProperties());
} else if (resourceResponse instanceof CosmosUserResponse) {
return ModelBridgeInternal.getResource(((CosmosUserResponse)resourceResponse).getProperties());
} else if (resourceResponse instanceof CosmosAsyncPermissionResponse) {
return ModelBridgeInternal.getResource(((CosmosAsyncPermissionResponse) resourceResponse).getProperties());
} else if (resourceResponse instanceof CosmosPermissionResponse) {
return ModelBridgeInternal.getResource(((CosmosPermissionResponse) resourceResponse).getProperties());
}
return null;
}
Expand Down Expand Up @@ -290,10 +290,10 @@ public void validate(CosmosAsyncUserDefinedFunctionResponse resourceResponse) {
}

public Builder<T> withPermissionMode(PermissionMode mode) {
validators.add(new CosmosResponseValidator<CosmosAsyncPermissionResponse>() {
validators.add(new CosmosResponseValidator<CosmosPermissionResponse>() {

@Override
public void validate(CosmosAsyncPermissionResponse resourceResponse) {
public void validate(CosmosPermissionResponse resourceResponse) {
assertThat(resourceResponse.getProperties().getPermissionMode()).isEqualTo(mode);
}
});
Expand All @@ -302,10 +302,10 @@ public void validate(CosmosAsyncPermissionResponse resourceResponse) {
}

public Builder<T> withPermissionResourceLink(String resourceLink) {
validators.add(new CosmosResponseValidator<CosmosAsyncPermissionResponse>() {
validators.add(new CosmosResponseValidator<CosmosPermissionResponse>() {

@Override
public void validate(CosmosAsyncPermissionResponse resourceResponse) {
public void validate(CosmosPermissionResponse resourceResponse) {
assertThat(resourceResponse.getProperties().getResourceLink()).isEqualTo(resourceLink);
}
});
Expand Down
Loading