Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add bulk delete api #1704

Merged
merged 3 commits into from
Jun 26, 2024
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

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
import com.google.cloud.firestore.v1.stub.FirestoreAdminStubSettings;
import com.google.firestore.admin.v1.Backup;
import com.google.firestore.admin.v1.BackupSchedule;
import com.google.firestore.admin.v1.BulkDeleteDocumentsMetadata;
import com.google.firestore.admin.v1.BulkDeleteDocumentsRequest;
import com.google.firestore.admin.v1.BulkDeleteDocumentsResponse;
import com.google.firestore.admin.v1.CreateBackupScheduleRequest;
import com.google.firestore.admin.v1.CreateDatabaseMetadata;
import com.google.firestore.admin.v1.CreateDatabaseRequest;
Expand Down Expand Up @@ -193,6 +196,18 @@ public UnaryCallSettings<ImportDocumentsRequest, Operation> importDocumentsSetti
return ((FirestoreAdminStubSettings) getStubSettings()).importDocumentsOperationSettings();
}

/** Returns the object with the settings used for calls to bulkDeleteDocuments. */
public UnaryCallSettings<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsSettings() {
return ((FirestoreAdminStubSettings) getStubSettings()).bulkDeleteDocumentsSettings();
}

/** Returns the object with the settings used for calls to bulkDeleteDocuments. */
public OperationCallSettings<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings() {
return ((FirestoreAdminStubSettings) getStubSettings()).bulkDeleteDocumentsOperationSettings();
}

/** Returns the object with the settings used for calls to createDatabase. */
public UnaryCallSettings<CreateDatabaseRequest, Operation> createDatabaseSettings() {
return ((FirestoreAdminStubSettings) getStubSettings()).createDatabaseSettings();
Expand Down Expand Up @@ -475,6 +490,19 @@ public UnaryCallSettings.Builder<ImportDocumentsRequest, Operation> importDocume
return getStubSettingsBuilder().importDocumentsOperationSettings();
}

/** Returns the builder for the settings used for calls to bulkDeleteDocuments. */
public UnaryCallSettings.Builder<BulkDeleteDocumentsRequest, Operation>
bulkDeleteDocumentsSettings() {
return getStubSettingsBuilder().bulkDeleteDocumentsSettings();
}

/** Returns the builder for the settings used for calls to bulkDeleteDocuments. */
public OperationCallSettings.Builder<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings() {
return getStubSettingsBuilder().bulkDeleteDocumentsOperationSettings();
}

/** Returns the builder for the settings used for calls to createDatabase. */
public UnaryCallSettings.Builder<CreateDatabaseRequest, Operation> createDatabaseSettings() {
return getStubSettingsBuilder().createDatabaseSettings();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
"grpc": {
"libraryClient": "FirestoreAdminClient",
"rpcs": {
"BulkDeleteDocuments": {
"methods": ["bulkDeleteDocumentsAsync", "bulkDeleteDocumentsAsync", "bulkDeleteDocumentsAsync", "bulkDeleteDocumentsOperationCallable", "bulkDeleteDocumentsCallable"]
},
"CreateBackupSchedule": {
"methods": ["createBackupSchedule", "createBackupSchedule", "createBackupSchedule", "createBackupScheduleCallable"]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
import com.google.api.gax.rpc.UnaryCallable;
import com.google.firestore.admin.v1.Backup;
import com.google.firestore.admin.v1.BackupSchedule;
import com.google.firestore.admin.v1.BulkDeleteDocumentsMetadata;
import com.google.firestore.admin.v1.BulkDeleteDocumentsRequest;
import com.google.firestore.admin.v1.BulkDeleteDocumentsResponse;
import com.google.firestore.admin.v1.CreateBackupScheduleRequest;
import com.google.firestore.admin.v1.CreateDatabaseMetadata;
import com.google.firestore.admin.v1.CreateDatabaseRequest;
Expand Down Expand Up @@ -150,6 +153,17 @@ public UnaryCallable<ImportDocumentsRequest, Operation> importDocumentsCallable(
throw new UnsupportedOperationException("Not implemented: importDocumentsCallable()");
}

public OperationCallable<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationCallable() {
throw new UnsupportedOperationException(
"Not implemented: bulkDeleteDocumentsOperationCallable()");
}

public UnaryCallable<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsCallable() {
throw new UnsupportedOperationException("Not implemented: bulkDeleteDocumentsCallable()");
}

public OperationCallable<CreateDatabaseRequest, Database, CreateDatabaseMetadata>
createDatabaseOperationCallable() {
throw new UnsupportedOperationException("Not implemented: createDatabaseOperationCallable()");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@
import com.google.common.collect.Lists;
import com.google.firestore.admin.v1.Backup;
import com.google.firestore.admin.v1.BackupSchedule;
import com.google.firestore.admin.v1.BulkDeleteDocumentsMetadata;
import com.google.firestore.admin.v1.BulkDeleteDocumentsRequest;
import com.google.firestore.admin.v1.BulkDeleteDocumentsResponse;
import com.google.firestore.admin.v1.CreateBackupScheduleRequest;
import com.google.firestore.admin.v1.CreateDatabaseMetadata;
import com.google.firestore.admin.v1.CreateDatabaseRequest;
Expand Down Expand Up @@ -167,6 +170,11 @@ public class FirestoreAdminStubSettings extends StubSettings<FirestoreAdminStubS
private final UnaryCallSettings<ImportDocumentsRequest, Operation> importDocumentsSettings;
private final OperationCallSettings<ImportDocumentsRequest, Empty, ImportDocumentsMetadata>
importDocumentsOperationSettings;
private final UnaryCallSettings<BulkDeleteDocumentsRequest, Operation>
bulkDeleteDocumentsSettings;
private final OperationCallSettings<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings;
private final UnaryCallSettings<CreateDatabaseRequest, Operation> createDatabaseSettings;
private final OperationCallSettings<CreateDatabaseRequest, Database, CreateDatabaseMetadata>
createDatabaseOperationSettings;
Expand Down Expand Up @@ -373,6 +381,18 @@ public UnaryCallSettings<ImportDocumentsRequest, Operation> importDocumentsSetti
return importDocumentsOperationSettings;
}

/** Returns the object with the settings used for calls to bulkDeleteDocuments. */
public UnaryCallSettings<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsSettings() {
return bulkDeleteDocumentsSettings;
}

/** Returns the object with the settings used for calls to bulkDeleteDocuments. */
public OperationCallSettings<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings() {
return bulkDeleteDocumentsOperationSettings;
}

/** Returns the object with the settings used for calls to createDatabase. */
public UnaryCallSettings<CreateDatabaseRequest, Operation> createDatabaseSettings() {
return createDatabaseSettings;
Expand Down Expand Up @@ -593,6 +613,9 @@ protected FirestoreAdminStubSettings(Builder settingsBuilder) throws IOException
exportDocumentsOperationSettings = settingsBuilder.exportDocumentsOperationSettings().build();
importDocumentsSettings = settingsBuilder.importDocumentsSettings().build();
importDocumentsOperationSettings = settingsBuilder.importDocumentsOperationSettings().build();
bulkDeleteDocumentsSettings = settingsBuilder.bulkDeleteDocumentsSettings().build();
bulkDeleteDocumentsOperationSettings =
settingsBuilder.bulkDeleteDocumentsOperationSettings().build();
createDatabaseSettings = settingsBuilder.createDatabaseSettings().build();
createDatabaseOperationSettings = settingsBuilder.createDatabaseOperationSettings().build();
getDatabaseSettings = settingsBuilder.getDatabaseSettings().build();
Expand Down Expand Up @@ -641,6 +664,11 @@ public static class Builder extends StubSettings.Builder<FirestoreAdminStubSetti
private final OperationCallSettings.Builder<
ImportDocumentsRequest, Empty, ImportDocumentsMetadata>
importDocumentsOperationSettings;
private final UnaryCallSettings.Builder<BulkDeleteDocumentsRequest, Operation>
bulkDeleteDocumentsSettings;
private final OperationCallSettings.Builder<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings;
private final UnaryCallSettings.Builder<CreateDatabaseRequest, Operation>
createDatabaseSettings;
private final OperationCallSettings.Builder<
Expand Down Expand Up @@ -746,6 +774,8 @@ protected Builder(ClientContext clientContext) {
exportDocumentsOperationSettings = OperationCallSettings.newBuilder();
importDocumentsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
importDocumentsOperationSettings = OperationCallSettings.newBuilder();
bulkDeleteDocumentsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
bulkDeleteDocumentsOperationSettings = OperationCallSettings.newBuilder();
createDatabaseSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
createDatabaseOperationSettings = OperationCallSettings.newBuilder();
getDatabaseSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
Expand Down Expand Up @@ -776,6 +806,7 @@ protected Builder(ClientContext clientContext) {
listFieldsSettings,
exportDocumentsSettings,
importDocumentsSettings,
bulkDeleteDocumentsSettings,
createDatabaseSettings,
getDatabaseSettings,
listDatabasesSettings,
Expand Down Expand Up @@ -809,6 +840,9 @@ protected Builder(FirestoreAdminStubSettings settings) {
exportDocumentsOperationSettings = settings.exportDocumentsOperationSettings.toBuilder();
importDocumentsSettings = settings.importDocumentsSettings.toBuilder();
importDocumentsOperationSettings = settings.importDocumentsOperationSettings.toBuilder();
bulkDeleteDocumentsSettings = settings.bulkDeleteDocumentsSettings.toBuilder();
bulkDeleteDocumentsOperationSettings =
settings.bulkDeleteDocumentsOperationSettings.toBuilder();
createDatabaseSettings = settings.createDatabaseSettings.toBuilder();
createDatabaseOperationSettings = settings.createDatabaseOperationSettings.toBuilder();
getDatabaseSettings = settings.getDatabaseSettings.toBuilder();
Expand Down Expand Up @@ -839,6 +873,7 @@ protected Builder(FirestoreAdminStubSettings settings) {
listFieldsSettings,
exportDocumentsSettings,
importDocumentsSettings,
bulkDeleteDocumentsSettings,
createDatabaseSettings,
getDatabaseSettings,
listDatabasesSettings,
Expand Down Expand Up @@ -925,6 +960,11 @@ private static Builder initDefaults(Builder builder) {
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));

builder
.bulkDeleteDocumentsSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));

builder
.createDatabaseSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
Expand Down Expand Up @@ -1089,6 +1129,32 @@ private static Builder initDefaults(Builder builder) {
.setTotalTimeout(Duration.ofMillis(300000L))
.build()));

builder
.bulkDeleteDocumentsOperationSettings()
.setInitialCallSettings(
UnaryCallSettings
.<BulkDeleteDocumentsRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
.build())
.setResponseTransformer(
ProtoOperationTransformers.ResponseTransformer.create(
BulkDeleteDocumentsResponse.class))
.setMetadataTransformer(
ProtoOperationTransformers.MetadataTransformer.create(
BulkDeleteDocumentsMetadata.class))
.setPollingAlgorithm(
OperationTimedPollAlgorithm.create(
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(5000L))
.setRetryDelayMultiplier(1.5)
.setMaxRetryDelay(Duration.ofMillis(45000L))
.setInitialRpcTimeout(Duration.ZERO)
.setRpcTimeoutMultiplier(1.0)
.setMaxRpcTimeout(Duration.ZERO)
.setTotalTimeout(Duration.ofMillis(300000L))
.build()));

builder
.createDatabaseOperationSettings()
.setInitialCallSettings(
Expand Down Expand Up @@ -1276,6 +1342,19 @@ public UnaryCallSettings.Builder<ImportDocumentsRequest, Operation> importDocume
return importDocumentsOperationSettings;
}

/** Returns the builder for the settings used for calls to bulkDeleteDocuments. */
public UnaryCallSettings.Builder<BulkDeleteDocumentsRequest, Operation>
bulkDeleteDocumentsSettings() {
return bulkDeleteDocumentsSettings;
}

/** Returns the builder for the settings used for calls to bulkDeleteDocuments. */
public OperationCallSettings.Builder<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationSettings() {
return bulkDeleteDocumentsOperationSettings;
}

/** Returns the builder for the settings used for calls to createDatabase. */
public UnaryCallSettings.Builder<CreateDatabaseRequest, Operation> createDatabaseSettings() {
return createDatabaseSettings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
import com.google.api.gax.rpc.UnaryCallable;
import com.google.firestore.admin.v1.Backup;
import com.google.firestore.admin.v1.BackupSchedule;
import com.google.firestore.admin.v1.BulkDeleteDocumentsMetadata;
import com.google.firestore.admin.v1.BulkDeleteDocumentsRequest;
import com.google.firestore.admin.v1.BulkDeleteDocumentsResponse;
import com.google.firestore.admin.v1.CreateBackupScheduleRequest;
import com.google.firestore.admin.v1.CreateDatabaseMetadata;
import com.google.firestore.admin.v1.CreateDatabaseRequest;
Expand Down Expand Up @@ -165,6 +168,16 @@ public class GrpcFirestoreAdminStub extends FirestoreAdminStub {
.setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
.build();

private static final MethodDescriptor<BulkDeleteDocumentsRequest, Operation>
bulkDeleteDocumentsMethodDescriptor =
MethodDescriptor.<BulkDeleteDocumentsRequest, Operation>newBuilder()
.setType(MethodDescriptor.MethodType.UNARY)
.setFullMethodName("google.firestore.admin.v1.FirestoreAdmin/BulkDeleteDocuments")
.setRequestMarshaller(
ProtoUtils.marshaller(BulkDeleteDocumentsRequest.getDefaultInstance()))
.setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
.build();

private static final MethodDescriptor<CreateDatabaseRequest, Operation>
createDatabaseMethodDescriptor =
MethodDescriptor.<CreateDatabaseRequest, Operation>newBuilder()
Expand Down Expand Up @@ -322,6 +335,10 @@ public class GrpcFirestoreAdminStub extends FirestoreAdminStub {
private final UnaryCallable<ImportDocumentsRequest, Operation> importDocumentsCallable;
private final OperationCallable<ImportDocumentsRequest, Empty, ImportDocumentsMetadata>
importDocumentsOperationCallable;
private final UnaryCallable<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsCallable;
private final OperationCallable<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationCallable;
private final UnaryCallable<CreateDatabaseRequest, Operation> createDatabaseCallable;
private final OperationCallable<CreateDatabaseRequest, Database, CreateDatabaseMetadata>
createDatabaseOperationCallable;
Expand Down Expand Up @@ -482,6 +499,16 @@ protected GrpcFirestoreAdminStub(
return builder.build();
})
.build();
GrpcCallSettings<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsTransportSettings =
GrpcCallSettings.<BulkDeleteDocumentsRequest, Operation>newBuilder()
.setMethodDescriptor(bulkDeleteDocumentsMethodDescriptor)
.setParamsExtractor(
request -> {
RequestParamsBuilder builder = RequestParamsBuilder.create();
builder.add("name", String.valueOf(request.getName()));
return builder.build();
})
.build();
GrpcCallSettings<CreateDatabaseRequest, Operation> createDatabaseTransportSettings =
GrpcCallSettings.<CreateDatabaseRequest, Operation>newBuilder()
.setMethodDescriptor(createDatabaseMethodDescriptor)
Expand Down Expand Up @@ -685,6 +712,17 @@ protected GrpcFirestoreAdminStub(
settings.importDocumentsOperationSettings(),
clientContext,
operationsStub);
this.bulkDeleteDocumentsCallable =
callableFactory.createUnaryCallable(
bulkDeleteDocumentsTransportSettings,
settings.bulkDeleteDocumentsSettings(),
clientContext);
this.bulkDeleteDocumentsOperationCallable =
callableFactory.createOperationCallable(
bulkDeleteDocumentsTransportSettings,
settings.bulkDeleteDocumentsOperationSettings(),
clientContext,
operationsStub);
this.createDatabaseCallable =
callableFactory.createUnaryCallable(
createDatabaseTransportSettings, settings.createDatabaseSettings(), clientContext);
Expand Down Expand Up @@ -849,6 +887,18 @@ public UnaryCallable<ImportDocumentsRequest, Operation> importDocumentsCallable(
return importDocumentsOperationCallable;
}

@Override
public UnaryCallable<BulkDeleteDocumentsRequest, Operation> bulkDeleteDocumentsCallable() {
return bulkDeleteDocumentsCallable;
}

@Override
public OperationCallable<
BulkDeleteDocumentsRequest, BulkDeleteDocumentsResponse, BulkDeleteDocumentsMetadata>
bulkDeleteDocumentsOperationCallable() {
return bulkDeleteDocumentsOperationCallable;
}

@Override
public UnaryCallable<CreateDatabaseRequest, Operation> createDatabaseCallable() {
return createDatabaseCallable;
Expand Down
Loading
Loading