diff --git a/handwritten/firestore/.jsdoc.js b/handwritten/firestore/.jsdoc.js index e6352a87b4b..7ba807e2023 100644 --- a/handwritten/firestore/.jsdoc.js +++ b/handwritten/firestore/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2025 Google LLC', + copyright: 'Copyright 2026 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/firestore', diff --git a/handwritten/firestore/dev/protos/admin_v1.json b/handwritten/firestore/dev/protos/admin_v1.json index e39436cd1b8..c49787a1994 100644 --- a/handwritten/firestore/dev/protos/admin_v1.json +++ b/handwritten/firestore/dev/protos/admin_v1.json @@ -251,6 +251,27 @@ "options": { "(google.api.field_behavior)": "IMMUTABLE" } + }, + "realtimeUpdatesMode": { + "type": "RealtimeUpdatesMode", + "id": 31, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "firestoreDataAccessMode": { + "type": "DataAccessMode", + "id": 33, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "mongodbCompatibleDataAccessMode": { + "type": "DataAccessMode", + "id": 34, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } }, "nested": { @@ -394,9 +415,23 @@ "STANDARD": 1, "ENTERPRISE": 2 } + }, + "DataAccessMode": { + "values": { + "DATA_ACCESS_MODE_UNSPECIFIED": 0, + "DATA_ACCESS_MODE_ENABLED": 1, + "DATA_ACCESS_MODE_DISABLED": 2 + } } } }, + "RealtimeUpdatesMode": { + "values": { + "REALTIME_UPDATES_MODE_UNSPECIFIED": 0, + "REALTIME_UPDATES_MODE_ENABLED": 1, + "REALTIME_UPDATES_MODE_DISABLED": 2 + } + }, "Field": { "options": { "(google.api.resource).type": "firestore.googleapis.com/Field", @@ -511,6 +546,13 @@ "options": { "(google.api.field_behavior)": "OPTIONAL" } + }, + "unique": { + "type": "bool", + "id": 10, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } }, "nested": { diff --git a/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.d.ts b/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.d.ts index 0e5aeb9e870..b538a95d47b 100644 --- a/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.d.ts +++ b/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.d.ts @@ -244,6 +244,15 @@ export namespace google { /** Database databaseEdition */ databaseEdition?: (google.firestore.admin.v1.Database.DatabaseEdition|null); + + /** Database realtimeUpdatesMode */ + realtimeUpdatesMode?: (google.firestore.admin.v1.RealtimeUpdatesMode|null); + + /** Database firestoreDataAccessMode */ + firestoreDataAccessMode?: (google.firestore.admin.v1.Database.DataAccessMode|null); + + /** Database mongodbCompatibleDataAccessMode */ + mongodbCompatibleDataAccessMode?: (google.firestore.admin.v1.Database.DataAccessMode|null); } /** Represents a Database. */ @@ -318,6 +327,15 @@ export namespace google { /** Database databaseEdition. */ public databaseEdition: google.firestore.admin.v1.Database.DatabaseEdition; + /** Database realtimeUpdatesMode. */ + public realtimeUpdatesMode: google.firestore.admin.v1.RealtimeUpdatesMode; + + /** Database firestoreDataAccessMode. */ + public firestoreDataAccessMode: google.firestore.admin.v1.Database.DataAccessMode; + + /** Database mongodbCompatibleDataAccessMode. */ + public mongodbCompatibleDataAccessMode: google.firestore.admin.v1.Database.DataAccessMode; + /** * Creates a Database message from a plain object. Also converts values to their respective internal types. * @param object Plain object @@ -732,8 +750,16 @@ export namespace google { /** DatabaseEdition enum. */ type DatabaseEdition = "DATABASE_EDITION_UNSPECIFIED"| "STANDARD"| "ENTERPRISE"; + + /** DataAccessMode enum. */ + type DataAccessMode = + "DATA_ACCESS_MODE_UNSPECIFIED"| "DATA_ACCESS_MODE_ENABLED"| "DATA_ACCESS_MODE_DISABLED"; } + /** RealtimeUpdatesMode enum. */ + type RealtimeUpdatesMode = + "REALTIME_UPDATES_MODE_UNSPECIFIED"| "REALTIME_UPDATES_MODE_ENABLED"| "REALTIME_UPDATES_MODE_DISABLED"; + /** Properties of a Field. */ interface IField { @@ -944,6 +970,9 @@ export namespace google { /** Index shardCount */ shardCount?: (number|null); + + /** Index unique */ + unique?: (boolean|null); } /** Represents an Index. */ @@ -979,6 +1008,9 @@ export namespace google { /** Index shardCount. */ public shardCount: number; + /** Index unique. */ + public unique: boolean; + /** * Creates an Index message from a plain object. Also converts values to their respective internal types. * @param object Plain object diff --git a/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js b/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js index 86ef4cf7fcc..966b5d35b52 100644 --- a/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js +++ b/handwritten/firestore/dev/protos/firestore_admin_v1_proto_api.js @@ -496,6 +496,9 @@ * @property {boolean|null} [freeTier] Database freeTier * @property {string|null} [etag] Database etag * @property {google.firestore.admin.v1.Database.DatabaseEdition|null} [databaseEdition] Database databaseEdition + * @property {google.firestore.admin.v1.RealtimeUpdatesMode|null} [realtimeUpdatesMode] Database realtimeUpdatesMode + * @property {google.firestore.admin.v1.Database.DataAccessMode|null} [firestoreDataAccessMode] Database firestoreDataAccessMode + * @property {google.firestore.admin.v1.Database.DataAccessMode|null} [mongodbCompatibleDataAccessMode] Database mongodbCompatibleDataAccessMode */ /** @@ -682,6 +685,30 @@ */ Database.prototype.databaseEdition = 0; + /** + * Database realtimeUpdatesMode. + * @member {google.firestore.admin.v1.RealtimeUpdatesMode} realtimeUpdatesMode + * @memberof google.firestore.admin.v1.Database + * @instance + */ + Database.prototype.realtimeUpdatesMode = 0; + + /** + * Database firestoreDataAccessMode. + * @member {google.firestore.admin.v1.Database.DataAccessMode} firestoreDataAccessMode + * @memberof google.firestore.admin.v1.Database + * @instance + */ + Database.prototype.firestoreDataAccessMode = 0; + + /** + * Database mongodbCompatibleDataAccessMode. + * @member {google.firestore.admin.v1.Database.DataAccessMode} mongodbCompatibleDataAccessMode + * @memberof google.firestore.admin.v1.Database + * @instance + */ + Database.prototype.mongodbCompatibleDataAccessMode = 0; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -883,6 +910,66 @@ message.databaseEdition = 2; break; } + switch (object.realtimeUpdatesMode) { + default: + if (typeof object.realtimeUpdatesMode === "number") { + message.realtimeUpdatesMode = object.realtimeUpdatesMode; + break; + } + break; + case "REALTIME_UPDATES_MODE_UNSPECIFIED": + case 0: + message.realtimeUpdatesMode = 0; + break; + case "REALTIME_UPDATES_MODE_ENABLED": + case 1: + message.realtimeUpdatesMode = 1; + break; + case "REALTIME_UPDATES_MODE_DISABLED": + case 2: + message.realtimeUpdatesMode = 2; + break; + } + switch (object.firestoreDataAccessMode) { + default: + if (typeof object.firestoreDataAccessMode === "number") { + message.firestoreDataAccessMode = object.firestoreDataAccessMode; + break; + } + break; + case "DATA_ACCESS_MODE_UNSPECIFIED": + case 0: + message.firestoreDataAccessMode = 0; + break; + case "DATA_ACCESS_MODE_ENABLED": + case 1: + message.firestoreDataAccessMode = 1; + break; + case "DATA_ACCESS_MODE_DISABLED": + case 2: + message.firestoreDataAccessMode = 2; + break; + } + switch (object.mongodbCompatibleDataAccessMode) { + default: + if (typeof object.mongodbCompatibleDataAccessMode === "number") { + message.mongodbCompatibleDataAccessMode = object.mongodbCompatibleDataAccessMode; + break; + } + break; + case "DATA_ACCESS_MODE_UNSPECIFIED": + case 0: + message.mongodbCompatibleDataAccessMode = 0; + break; + case "DATA_ACCESS_MODE_ENABLED": + case 1: + message.mongodbCompatibleDataAccessMode = 1; + break; + case "DATA_ACCESS_MODE_DISABLED": + case 2: + message.mongodbCompatibleDataAccessMode = 2; + break; + } return message; }; @@ -920,6 +1007,9 @@ object.previousId = ""; object.sourceInfo = null; object.databaseEdition = options.enums === String ? "DATABASE_EDITION_UNSPECIFIED" : 0; + object.realtimeUpdatesMode = options.enums === String ? "REALTIME_UPDATES_MODE_UNSPECIFIED" : 0; + object.firestoreDataAccessMode = options.enums === String ? "DATA_ACCESS_MODE_UNSPECIFIED" : 0; + object.mongodbCompatibleDataAccessMode = options.enums === String ? "DATA_ACCESS_MODE_UNSPECIFIED" : 0; object.etag = ""; } if (message.name != null && message.hasOwnProperty("name")) @@ -969,6 +1059,12 @@ if (options.oneofs) object._freeTier = "freeTier"; } + if (message.realtimeUpdatesMode != null && message.hasOwnProperty("realtimeUpdatesMode")) + object.realtimeUpdatesMode = options.enums === String ? $root.google.firestore.admin.v1.RealtimeUpdatesMode[message.realtimeUpdatesMode] === undefined ? message.realtimeUpdatesMode : $root.google.firestore.admin.v1.RealtimeUpdatesMode[message.realtimeUpdatesMode] : message.realtimeUpdatesMode; + if (message.firestoreDataAccessMode != null && message.hasOwnProperty("firestoreDataAccessMode")) + object.firestoreDataAccessMode = options.enums === String ? $root.google.firestore.admin.v1.Database.DataAccessMode[message.firestoreDataAccessMode] === undefined ? message.firestoreDataAccessMode : $root.google.firestore.admin.v1.Database.DataAccessMode[message.firestoreDataAccessMode] : message.firestoreDataAccessMode; + if (message.mongodbCompatibleDataAccessMode != null && message.hasOwnProperty("mongodbCompatibleDataAccessMode")) + object.mongodbCompatibleDataAccessMode = options.enums === String ? $root.google.firestore.admin.v1.Database.DataAccessMode[message.mongodbCompatibleDataAccessMode] === undefined ? message.mongodbCompatibleDataAccessMode : $root.google.firestore.admin.v1.Database.DataAccessMode[message.mongodbCompatibleDataAccessMode] : message.mongodbCompatibleDataAccessMode; if (message.etag != null && message.hasOwnProperty("etag")) object.etag = message.etag; return object; @@ -1859,9 +1955,41 @@ return values; })(); + /** + * DataAccessMode enum. + * @name google.firestore.admin.v1.Database.DataAccessMode + * @enum {string} + * @property {string} DATA_ACCESS_MODE_UNSPECIFIED=DATA_ACCESS_MODE_UNSPECIFIED DATA_ACCESS_MODE_UNSPECIFIED value + * @property {string} DATA_ACCESS_MODE_ENABLED=DATA_ACCESS_MODE_ENABLED DATA_ACCESS_MODE_ENABLED value + * @property {string} DATA_ACCESS_MODE_DISABLED=DATA_ACCESS_MODE_DISABLED DATA_ACCESS_MODE_DISABLED value + */ + Database.DataAccessMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DATA_ACCESS_MODE_UNSPECIFIED"] = "DATA_ACCESS_MODE_UNSPECIFIED"; + values[valuesById[1] = "DATA_ACCESS_MODE_ENABLED"] = "DATA_ACCESS_MODE_ENABLED"; + values[valuesById[2] = "DATA_ACCESS_MODE_DISABLED"] = "DATA_ACCESS_MODE_DISABLED"; + return values; + })(); + return Database; })(); + /** + * RealtimeUpdatesMode enum. + * @name google.firestore.admin.v1.RealtimeUpdatesMode + * @enum {string} + * @property {string} REALTIME_UPDATES_MODE_UNSPECIFIED=REALTIME_UPDATES_MODE_UNSPECIFIED REALTIME_UPDATES_MODE_UNSPECIFIED value + * @property {string} REALTIME_UPDATES_MODE_ENABLED=REALTIME_UPDATES_MODE_ENABLED REALTIME_UPDATES_MODE_ENABLED value + * @property {string} REALTIME_UPDATES_MODE_DISABLED=REALTIME_UPDATES_MODE_DISABLED REALTIME_UPDATES_MODE_DISABLED value + */ + v1.RealtimeUpdatesMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "REALTIME_UPDATES_MODE_UNSPECIFIED"] = "REALTIME_UPDATES_MODE_UNSPECIFIED"; + values[valuesById[1] = "REALTIME_UPDATES_MODE_ENABLED"] = "REALTIME_UPDATES_MODE_ENABLED"; + values[valuesById[2] = "REALTIME_UPDATES_MODE_DISABLED"] = "REALTIME_UPDATES_MODE_DISABLED"; + return values; + })(); + v1.Field = (function() { /** @@ -2301,6 +2429,7 @@ * @property {google.firestore.admin.v1.Index.Density|null} [density] Index density * @property {boolean|null} [multikey] Index multikey * @property {number|null} [shardCount] Index shardCount + * @property {boolean|null} [unique] Index unique */ /** @@ -2383,6 +2512,14 @@ */ Index.prototype.shardCount = 0; + /** + * Index unique. + * @member {boolean} unique + * @memberof google.firestore.admin.v1.Index + * @instance + */ + Index.prototype.unique = false; + /** * Creates an Index message from a plain object. Also converts values to their respective internal types. * @function fromObject @@ -2503,6 +2640,8 @@ message.multikey = Boolean(object.multikey); if (object.shardCount != null) message.shardCount = object.shardCount | 0; + if (object.unique != null) + message.unique = Boolean(object.unique); return message; }; @@ -2529,6 +2668,7 @@ object.density = options.enums === String ? "DENSITY_UNSPECIFIED" : 0; object.multikey = false; object.shardCount = 0; + object.unique = false; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -2549,6 +2689,8 @@ object.multikey = message.multikey; if (message.shardCount != null && message.hasOwnProperty("shardCount")) object.shardCount = message.shardCount; + if (message.unique != null && message.hasOwnProperty("unique")) + object.unique = message.unique; return object; }; diff --git a/handwritten/firestore/dev/protos/firestore_v1_proto_api.d.ts b/handwritten/firestore/dev/protos/firestore_v1_proto_api.d.ts index 333cb9f564c..f0353f5d340 100644 --- a/handwritten/firestore/dev/protos/firestore_v1_proto_api.d.ts +++ b/handwritten/firestore/dev/protos/firestore_v1_proto_api.d.ts @@ -519,6 +519,9 @@ export namespace google { /** Value fieldReferenceValue */ fieldReferenceValue?: (string|null); + /** Value variableReferenceValue */ + variableReferenceValue?: (string|null); + /** Value functionValue */ functionValue?: (google.firestore.v1.IFunction|null); @@ -571,6 +574,9 @@ export namespace google { /** Value fieldReferenceValue. */ public fieldReferenceValue?: (string|null); + /** Value variableReferenceValue. */ + public variableReferenceValue?: (string|null); + /** Value functionValue. */ public functionValue?: (google.firestore.v1.IFunction|null); @@ -578,7 +584,7 @@ export namespace google { public pipelineValue?: (google.firestore.v1.IPipeline|null); /** Value valueType. */ - public valueType?: ("nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"functionValue"|"pipelineValue"); + public valueType?: ("nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"variableReferenceValue"|"functionValue"|"pipelineValue"); /** * Creates a Value message from a plain object. Also converts values to their respective internal types. diff --git a/handwritten/firestore/dev/protos/firestore_v1_proto_api.js b/handwritten/firestore/dev/protos/firestore_v1_proto_api.js index b53bbf22768..5f1dbccaf59 100644 --- a/handwritten/firestore/dev/protos/firestore_v1_proto_api.js +++ b/handwritten/firestore/dev/protos/firestore_v1_proto_api.js @@ -1167,6 +1167,7 @@ * @property {google.firestore.v1.IArrayValue|null} [arrayValue] Value arrayValue * @property {google.firestore.v1.IMapValue|null} [mapValue] Value mapValue * @property {string|null} [fieldReferenceValue] Value fieldReferenceValue + * @property {string|null} [variableReferenceValue] Value variableReferenceValue * @property {google.firestore.v1.IFunction|null} [functionValue] Value functionValue * @property {google.firestore.v1.IPipeline|null} [pipelineValue] Value pipelineValue */ @@ -1282,6 +1283,14 @@ */ Value.prototype.fieldReferenceValue = null; + /** + * Value variableReferenceValue. + * @member {string|null|undefined} variableReferenceValue + * @memberof google.firestore.v1.Value + * @instance + */ + Value.prototype.variableReferenceValue = null; + /** * Value functionValue. * @member {google.firestore.v1.IFunction|null|undefined} functionValue @@ -1303,12 +1312,12 @@ /** * Value valueType. - * @member {"nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"functionValue"|"pipelineValue"|undefined} valueType + * @member {"nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"variableReferenceValue"|"functionValue"|"pipelineValue"|undefined} valueType * @memberof google.firestore.v1.Value * @instance */ Object.defineProperty(Value.prototype, "valueType", { - get: $util.oneOfGetter($oneOfFields = ["nullValue", "booleanValue", "integerValue", "doubleValue", "timestampValue", "stringValue", "bytesValue", "referenceValue", "geoPointValue", "arrayValue", "mapValue", "fieldReferenceValue", "functionValue", "pipelineValue"]), + get: $util.oneOfGetter($oneOfFields = ["nullValue", "booleanValue", "integerValue", "doubleValue", "timestampValue", "stringValue", "bytesValue", "referenceValue", "geoPointValue", "arrayValue", "mapValue", "fieldReferenceValue", "variableReferenceValue", "functionValue", "pipelineValue"]), set: $util.oneOfSetter($oneOfFields) }); @@ -1380,6 +1389,8 @@ } if (object.fieldReferenceValue != null) message.fieldReferenceValue = String(object.fieldReferenceValue); + if (object.variableReferenceValue != null) + message.variableReferenceValue = String(object.variableReferenceValue); if (object.functionValue != null) { if (typeof object.functionValue !== "object") throw TypeError(".google.firestore.v1.Value.functionValue: object expected"); @@ -1479,6 +1490,11 @@ if (options.oneofs) object.valueType = "pipelineValue"; } + if (message.variableReferenceValue != null && message.hasOwnProperty("variableReferenceValue")) { + object.variableReferenceValue = message.variableReferenceValue; + if (options.oneofs) + object.valueType = "variableReferenceValue"; + } return object; }; diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/backup.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/backup.proto index bed41ff6680..613eb1184b6 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/backup.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/backup.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/database.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/database.proto index 3537e4a3b64..39f69e7e907 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/database.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/database.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.firestore.admin.v1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; +import "google/firestore/admin/v1/realtime_updates.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; @@ -65,20 +66,25 @@ message Database { // Use optimistic concurrency control by default. This mode is available // for Cloud Firestore databases. + // + // This is the default setting for Cloud Firestore Enterprise Edition + // databases. OPTIMISTIC = 1; // Use pessimistic concurrency control by default. This mode is available // for Cloud Firestore databases. // - // This is the default setting for Cloud Firestore. + // This is the default setting for Cloud Firestore Standard Edition + // databases. PESSIMISTIC = 2; // Use optimistic concurrency control with entity groups by default. // - // This is the only available mode for Cloud Datastore. + // This mode is enabled for some databases that were automatically upgraded + // from Cloud Datastore to Cloud Firestore with Datastore Mode. // - // This mode is also available for Cloud Firestore with Datastore Mode but - // is not recommended. + // It is not recommended for any new databases, and not supported for + // Firestore Native databases. OPTIMISTIC_WITH_ENTITY_GROUPS = 3; } @@ -189,7 +195,8 @@ message Database { // Encryption configuration for a new database being created from another // source. // - // The source could be a [Backup][google.firestore.admin.v1.Backup] . + // The source could be a [Backup][google.firestore.admin.v1.Backup] or a + // [PitrSnapshot][google.firestore.admin.v1.PitrSnapshot]. message EncryptionConfig { // The configuration options for using Google default encryption. message GoogleDefaultEncryptionOptions {} @@ -241,6 +248,18 @@ message Database { ENTERPRISE = 2; } + // The data access mode. + enum DataAccessMode { + // Not Used. + DATA_ACCESS_MODE_UNSPECIFIED = 0; + + // Accessing the database through the API is allowed. + DATA_ACCESS_MODE_ENABLED = 1; + + // Accessing the database through the API is disallowed. + DATA_ACCESS_MODE_DISABLED = 2; + } + // The resource name of the Database. // Format: `projects/{project}/databases/{database}` string name = 1; @@ -274,6 +293,10 @@ message Database { DatabaseType type = 10; // The concurrency control mode to use for this database. + // + // If unspecified in a CreateDatabase request, this will default based on the + // database edition: Optimistic for Enterprise and Pessimistic for all other + // databases. ConcurrencyMode concurrency_mode = 15; // Output only. The period during which past versions of data are retained in @@ -359,4 +382,22 @@ message Database { // Immutable. The edition of the database. DatabaseEdition database_edition = 28 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The default Realtime Updates mode to use for this database. + RealtimeUpdatesMode realtime_updates_mode = 31 + [(google.api.field_behavior) = IMMUTABLE]; + + // Optional. The Firestore API data access mode to use for this database. If + // not set on write: + // - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise Edition. + // - the default value is DATA_ACCESS_MODE_ENABLED for Standard Edition. + DataAccessMode firestore_data_access_mode = 33 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The MongoDB compatible API data access mode to use for this + // database. If not set on write, the default value is + // DATA_ACCESS_MODE_ENABLED for Enterprise Edition. The value is always + // DATA_ACCESS_MODE_DISABLED for Standard Edition. + DataAccessMode mongodb_compatible_data_access_mode = 34 + [(google.api.field_behavior) = OPTIONAL]; } diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/field.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/field.proto index d899bdb5c03..cdd1c859ef2 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/field.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/field.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -67,10 +67,13 @@ message Field { // set. // // Storing a timestamp value into a TTL-enabled field will be treated as - // the document's absolute expiration time. Timestamp values in the past - // indicate that the document is eligible for immediate expiration. Using any - // other data type or leaving the field absent will disable expiration for the - // individual document. + // the document's absolute expiration time. For Enterprise edition databases, + // the timestamp value may also be stored in an array value in the + // TTL-enabled field. + // + // Timestamp values in the past indicate that the document is eligible for + // immediate expiration. Using any other data type or leaving the field absent + // will disable expiration for the individual document. message TtlConfig { // The state of applying the TTL configuration to all documents. enum State { diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/firestore_admin.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/firestore_admin.proto index 1d4efbdde1b..1dbf0cec1e0 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/firestore_admin.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/firestore_admin.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -538,7 +538,7 @@ message CreateDatabaseRequest { // with first character a letter and the last a letter or a number. Must not // be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. // - // "(default)" database ID is also valid. + // "(default)" database ID is also valid if the database is Standard edition. string database_id = 3 [(google.api.field_behavior) = REQUIRED]; } @@ -943,8 +943,8 @@ message ExportDocumentsRequest { } ]; - // Which collection IDs to export. Unspecified means all collections. Each - // collection ID in this list must be unique. + // IDs of the collection groups to export. Unspecified means all + // collection groups. Each collection group in this list must be unique. repeated string collection_ids = 2; // The output URI. Currently only supports Google Cloud Storage URIs of the @@ -987,8 +987,9 @@ message ImportDocumentsRequest { } ]; - // Which collection IDs to import. Unspecified means all collections included - // in the import. Each collection ID in this list must be unique. + // IDs of the collection groups to import. Unspecified means all collection + // groups that were included in the export. Each collection group in this list + // must be unique. repeated string collection_ids = 2; // Location of the exported files. @@ -1144,7 +1145,7 @@ message RestoreDatabaseRequest { // with first character a letter and the last a letter or a number. Must not // be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. // - // "(default)" database ID is also valid. + // "(default)" database ID is also valid if the database is Standard edition. string database_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. Backup to restore from. Must be from the same project as the @@ -1199,7 +1200,7 @@ message CloneDatabaseRequest { // with first character a letter and the last a letter or a number. Must not // be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. // - // "(default)" database ID is also valid. + // "(default)" database ID is also valid if the database is Standard edition. string database_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. Specification of the PITR data to clone from. The source database diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/index.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/index.proto index 5dd4dc9fb97..d98753ce497 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/index.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/index.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -171,23 +171,65 @@ message Index { // only. DENSITY_UNSPECIFIED = 0; - // In order for an index entry to be added, the document must - // contain all fields specified in the index. + // An index entry will only exist if ALL fields are present in the document. // - // This is the only allowed value for indexes having ApiScope `ANY_API` and - // `DATASTORE_MODE_API`. + // This is both the default and only allowed value for Standard Edition + // databases (for both Cloud Firestore `ANY_API` and Cloud Datastore + // `DATASTORE_MODE_API`). + // + // Take for example the following document: + // + // ``` + // { + // "__name__": "...", + // "a": 1, + // "b": 2, + // "c": 3 + // } + // ``` + // + // an index on `(a ASC, b ASC, c ASC, __name__ ASC)` will generate an index + // entry for this document since `a`, 'b', `c`, and `__name__` are all + // present but an index of `(a ASC, d ASC, __name__ ASC)` will not generate + // an index entry for this document since `d` is missing. + // + // This means that such indexes can only be used to serve a query when the + // query has either implicit or explicit requirements that all fields from + // the index are present. SPARSE_ALL = 1; - // In order for an index entry to be added, the document must - // contain at least one of the fields specified in the index. - // Non-existent fields are treated as having a NULL value when generating - // index entries. + // An index entry will exist if ANY field are present in the document. + // + // This is used as the definition of a sparse index for Enterprise Edition + // databases. + // + // Take for example the following document: + // + // ``` + // { + // "__name__": "...", + // "a": 1, + // "b": 2, + // "c": 3 + // } + // ``` + // + // an index on `(a ASC, d ASC)` will generate an index entry for this + // document since `a` is present, and will fill in an `unset` value for `d`. + // An index on `(d ASC, e ASC)` will not generate any index entry as neither + // `d` nor `e` are present. + // + // An index that contains `__name__` will generate an index entry for all + // documents since Firestore guarantees that all documents have a `__name__` + // field. SPARSE_ANY = 2; - // An index entry will be added regardless of whether the - // document contains any of the fields specified in the index. - // Non-existent fields are treated as having a NULL value when generating - // index entries. + // An index entry will exist regardless of if the fields are present or not. + // + // This is the default density for an Enterprise Edition database. + // + // The index will store `unset` values for fields that are not present in + // the document. DENSE = 3; } @@ -240,4 +282,8 @@ message Index { // Optional. The number of shards for the index. int32 shard_count = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether it is an unique index. Unique index ensures all values + // for the indexed field(s) are unique across documents. + bool unique = 10 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/location.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/location.proto index 1eaa5df3314..702138b1518 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/location.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/location.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/operation.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/operation.proto index 6fa21489f77..eefc3e3384e 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/operation.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/operation.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/realtime_updates.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/realtime_updates.proto new file mode 100644 index 00000000000..e06a63792ef --- /dev/null +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/realtime_updates.proto @@ -0,0 +1,40 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.firestore.admin.v1; + +option csharp_namespace = "Google.Cloud.Firestore.Admin.V1"; +option go_package = "cloud.google.com/go/firestore/apiv1/admin/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "RealtimeUpdatesProto"; +option java_package = "com.google.firestore.admin.v1"; +option objc_class_prefix = "GCFS"; +option php_namespace = "Google\\Cloud\\Firestore\\Admin\\V1"; +option ruby_package = "Google::Cloud::Firestore::Admin::V1"; + +// The Realtime Updates mode. +enum RealtimeUpdatesMode { + // The Realtime Updates feature is not specified. + REALTIME_UPDATES_MODE_UNSPECIFIED = 0; + + // The Realtime Updates feature is enabled by default. + // + // This could potentially degrade write performance for the database. + REALTIME_UPDATES_MODE_ENABLED = 1; + + // The Realtime Updates feature is disabled by default. + REALTIME_UPDATES_MODE_DISABLED = 2; +} diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/schedule.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/schedule.proto index 0f1798247e4..c6f3b3d3825 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/schedule.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/schedule.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/snapshot.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/snapshot.proto index 895bed4dab6..07a5e0bc1e9 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/snapshot.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/snapshot.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/admin/v1/user_creds.proto b/handwritten/firestore/dev/protos/google/firestore/admin/v1/user_creds.proto index ae4db3e4615..e949a085aa6 100644 --- a/handwritten/firestore/dev/protos/google/firestore/admin/v1/user_creds.proto +++ b/handwritten/firestore/dev/protos/google/firestore/admin/v1/user_creds.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/aggregation_result.proto b/handwritten/firestore/dev/protos/google/firestore/v1/aggregation_result.proto index 26c42b9be3e..4eee2ddc8aa 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/aggregation_result.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/aggregation_result.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/bloom_filter.proto b/handwritten/firestore/dev/protos/google/firestore/v1/bloom_filter.proto index e697ede6f78..f9bbdbf08d5 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/bloom_filter.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/bloom_filter.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/common.proto b/handwritten/firestore/dev/protos/google/firestore/v1/common.proto index 150e06e8b2d..799fd011c26 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/common.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/common.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/document.proto b/handwritten/firestore/dev/protos/google/firestore/v1/document.proto index 1eec17bf5d5..a77dbd99718 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/document.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/document.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -142,6 +142,13 @@ message Value { // * Not allowed to be used when writing documents. string field_reference_value = 19; + // Pointer to a variable defined elsewhere in a pipeline. + // + // Unlike `field_reference_value` which references a field within a + // document, this refers to a variable, defined in a separate namespace than + // the fields of a document. + string variable_reference_value = 22; + // A value that represents an unevaluated expression. // // **Requires:** diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/explain_stats.proto b/handwritten/firestore/dev/protos/google/firestore/v1/explain_stats.proto index 3ec7dbf71e8..a05d530133b 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/explain_stats.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/explain_stats.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/firestore.proto b/handwritten/firestore/dev/protos/google/firestore/v1/firestore.proto index 245d39d70dc..f65646a4afd 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/firestore.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/firestore.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/pipeline.proto b/handwritten/firestore/dev/protos/google/firestore/v1/pipeline.proto index 484b12d00bd..509ecd2730e 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/pipeline.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/pipeline.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/query.proto b/handwritten/firestore/dev/protos/google/firestore/v1/query.proto index 492f67af7e5..0144ffe5cd9 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/query.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/query.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/query_profile.proto b/handwritten/firestore/dev/protos/google/firestore/v1/query_profile.proto index 73f8cb1bacd..a5f9e95c51f 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/query_profile.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/query_profile.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/google/firestore/v1/write.proto b/handwritten/firestore/dev/protos/google/firestore/v1/write.proto index fa25cc2a505..49f9a4870f9 100644 --- a/handwritten/firestore/dev/protos/google/firestore/v1/write.proto +++ b/handwritten/firestore/dev/protos/google/firestore/v1/write.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/protos/v1.json b/handwritten/firestore/dev/protos/v1.json index 465e1689ff3..95450ca0f41 100644 --- a/handwritten/firestore/dev/protos/v1.json +++ b/handwritten/firestore/dev/protos/v1.json @@ -62,6 +62,7 @@ "arrayValue", "mapValue", "fieldReferenceValue", + "variableReferenceValue", "functionValue", "pipelineValue" ] @@ -116,6 +117,10 @@ "type": "string", "id": 19 }, + "variableReferenceValue": { + "type": "string", + "id": 22 + }, "functionValue": { "type": "Function", "id": 20 diff --git a/handwritten/firestore/dev/src/v1/firestore_admin_client.ts b/handwritten/firestore/dev/src/v1/firestore_admin_client.ts index 50570635fa6..6f270b170a8 100644 --- a/handwritten/firestore/dev/src/v1/firestore_admin_client.ts +++ b/handwritten/firestore/dev/src/v1/firestore_admin_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -3705,8 +3705,8 @@ export class FirestoreAdminClient { * Required. Database to export. Should be of the form: * `projects/{project_id}/databases/{database_id}`. * @param {string[]} request.collectionIds - * Which collection IDs to export. Unspecified means all collections. Each - * collection ID in this list must be unique. + * IDs of the collection groups to export. Unspecified means all + * collection groups. Each collection group in this list must be unique. * @param {string} request.outputUriPrefix * The output URI. Currently only supports Google Cloud Storage URIs of the * form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name @@ -3906,8 +3906,9 @@ export class FirestoreAdminClient { * Required. Database to import into. Should be of the form: * `projects/{project_id}/databases/{database_id}`. * @param {string[]} request.collectionIds - * Which collection IDs to import. Unspecified means all collections included - * in the import. Each collection ID in this list must be unique. + * IDs of the collection groups to import. Unspecified means all collection + * groups that were included in the export. Each collection group in this list + * must be unique. * @param {string} request.inputUriPrefix * Location of the exported files. * This must match the output_uri_prefix of an ExportDocumentsResponse from @@ -4294,7 +4295,7 @@ export class FirestoreAdminClient { * with first character a letter and the last a letter or a number. Must not * be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. * - * "(default)" database ID is also valid. + * "(default)" database ID is also valid if the database is Standard edition. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -4835,7 +4836,7 @@ export class FirestoreAdminClient { * with first character a letter and the last a letter or a number. Must not * be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. * - * "(default)" database ID is also valid. + * "(default)" database ID is also valid if the database is Standard edition. * @param {string} request.backup * Required. Backup to restore from. Must be from the same project as the * parent. @@ -5050,7 +5051,7 @@ export class FirestoreAdminClient { * with first character a letter and the last a letter or a number. Must not * be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. * - * "(default)" database ID is also valid. + * "(default)" database ID is also valid if the database is Standard edition. * @param {google.firestore.admin.v1.PitrSnapshot} request.pitrSnapshot * Required. Specification of the PITR data to clone from. The source database * must exist. diff --git a/handwritten/firestore/dev/src/v1/firestore_admin_proto_list.json b/handwritten/firestore/dev/src/v1/firestore_admin_proto_list.json index 72095b1e714..8b50432407c 100644 --- a/handwritten/firestore/dev/src/v1/firestore_admin_proto_list.json +++ b/handwritten/firestore/dev/src/v1/firestore_admin_proto_list.json @@ -6,6 +6,7 @@ "../../protos/google/firestore/admin/v1/index.proto", "../../protos/google/firestore/admin/v1/location.proto", "../../protos/google/firestore/admin/v1/operation.proto", + "../../protos/google/firestore/admin/v1/realtime_updates.proto", "../../protos/google/firestore/admin/v1/schedule.proto", "../../protos/google/firestore/admin/v1/snapshot.proto", "../../protos/google/firestore/admin/v1/user_creds.proto" diff --git a/handwritten/firestore/dev/src/v1/firestore_client.ts b/handwritten/firestore/dev/src/v1/firestore_client.ts index 9429a2d62f5..cc21ec244bf 100644 --- a/handwritten/firestore/dev/src/v1/firestore_client.ts +++ b/handwritten/firestore/dev/src/v1/firestore_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/src/v1/firestore_client_config.json b/handwritten/firestore/dev/src/v1/firestore_client_config.json index 47cbabb9091..d820a4667ed 100644 --- a/handwritten/firestore/dev/src/v1/firestore_client_config.json +++ b/handwritten/firestore/dev/src/v1/firestore_client_config.json @@ -17,6 +17,11 @@ "RESOURCE_EXHAUSTED", "UNAVAILABLE" ], + "deadline_exceeded_internal_unavailable": [ + "DEADLINE_EXCEEDED", + "INTERNAL", + "UNAVAILABLE" + ], "resource_exhausted_aborted_unavailable": [ "RESOURCE_EXHAUSTED", "ABORTED", @@ -57,7 +62,7 @@ }, "BatchGetDocuments": { "timeout_millis": 300000, - "retry_codes_name": "deadline_exceeded_resource_exhausted_internal_unavailable", + "retry_codes_name": "deadline_exceeded_internal_unavailable", "retry_params_name": "default" }, "BeginTransaction": { @@ -77,22 +82,22 @@ }, "RunQuery": { "timeout_millis": 300000, - "retry_codes_name": "deadline_exceeded_resource_exhausted_internal_unavailable", + "retry_codes_name": "deadline_exceeded_internal_unavailable", "retry_params_name": "default" }, "ExecutePipeline": { "timeout_millis": 300000, - "retry_codes_name": "deadline_exceeded_resource_exhausted_internal_unavailable", + "retry_codes_name": "deadline_exceeded_internal_unavailable", "retry_params_name": "default" }, "RunAggregationQuery": { "timeout_millis": 300000, - "retry_codes_name": "deadline_exceeded_resource_exhausted_internal_unavailable", + "retry_codes_name": "deadline_exceeded_internal_unavailable", "retry_params_name": "default" }, "PartitionQuery": { "timeout_millis": 300000, - "retry_codes_name": "deadline_exceeded_resource_exhausted_internal_unavailable", + "retry_codes_name": "deadline_exceeded_internal_unavailable", "retry_params_name": "default" }, "Write": { diff --git a/handwritten/firestore/dev/src/v1beta1/firestore_client.ts b/handwritten/firestore/dev/src/v1beta1/firestore_client.ts index 7d3b2fde416..77dfad22269 100644 --- a/handwritten/firestore/dev/src/v1beta1/firestore_client.ts +++ b/handwritten/firestore/dev/src/v1beta1/firestore_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/test/gapic_firestore_admin_v1.ts b/handwritten/firestore/dev/test/gapic_firestore_admin_v1.ts index cb1e4171f55..a64653426b6 100644 --- a/handwritten/firestore/dev/test/gapic_firestore_admin_v1.ts +++ b/handwritten/firestore/dev/test/gapic_firestore_admin_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/test/gapic_firestore_v1.ts b/handwritten/firestore/dev/test/gapic_firestore_v1.ts index 6060a98713a..4e91b6d2de2 100644 --- a/handwritten/firestore/dev/test/gapic_firestore_v1.ts +++ b/handwritten/firestore/dev/test/gapic_firestore_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/test/gapic_firestore_v1beta1.ts b/handwritten/firestore/dev/test/gapic_firestore_v1beta1.ts index 8ca18f6ba6f..802d93a2254 100644 --- a/handwritten/firestore/dev/test/gapic_firestore_v1beta1.ts +++ b/handwritten/firestore/dev/test/gapic_firestore_v1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/handwritten/firestore/dev/test/index.ts b/handwritten/firestore/dev/test/index.ts index 73359e14f78..b0971528683 100644 --- a/handwritten/firestore/dev/test/index.ts +++ b/handwritten/firestore/dev/test/index.ts @@ -1264,7 +1264,7 @@ describe('getAll() method', () => { [Status.NOT_FOUND]: 1, [Status.ALREADY_EXISTS]: 1, [Status.PERMISSION_DENIED]: 1, - [Status.RESOURCE_EXHAUSTED]: 5, + [Status.RESOURCE_EXHAUSTED]: 1, [Status.FAILED_PRECONDITION]: 1, [Status.ABORTED]: 1, [Status.OUT_OF_RANGE]: 1, diff --git a/handwritten/firestore/types/protos/firestore_admin_v1_proto_api.d.ts b/handwritten/firestore/types/protos/firestore_admin_v1_proto_api.d.ts index 4c92456901b..11132fe625d 100644 --- a/handwritten/firestore/types/protos/firestore_admin_v1_proto_api.d.ts +++ b/handwritten/firestore/types/protos/firestore_admin_v1_proto_api.d.ts @@ -244,6 +244,15 @@ export namespace google { /** Database databaseEdition */ databaseEdition?: (google.firestore.admin.v1.Database.DatabaseEdition|null); + + /** Database realtimeUpdatesMode */ + realtimeUpdatesMode?: (google.firestore.admin.v1.RealtimeUpdatesMode|null); + + /** Database firestoreDataAccessMode */ + firestoreDataAccessMode?: (google.firestore.admin.v1.Database.DataAccessMode|null); + + /** Database mongodbCompatibleDataAccessMode */ + mongodbCompatibleDataAccessMode?: (google.firestore.admin.v1.Database.DataAccessMode|null); } /** Represents a Database. */ @@ -318,6 +327,15 @@ export namespace google { /** Database databaseEdition. */ public databaseEdition: google.firestore.admin.v1.Database.DatabaseEdition; + /** Database realtimeUpdatesMode. */ + public realtimeUpdatesMode: google.firestore.admin.v1.RealtimeUpdatesMode; + + /** Database firestoreDataAccessMode. */ + public firestoreDataAccessMode: google.firestore.admin.v1.Database.DataAccessMode; + + /** Database mongodbCompatibleDataAccessMode. */ + public mongodbCompatibleDataAccessMode: google.firestore.admin.v1.Database.DataAccessMode; + /** * Creates a Database message from a plain object. Also converts values to their respective internal types. * @param object Plain object @@ -732,8 +750,16 @@ export namespace google { /** DatabaseEdition enum. */ type DatabaseEdition = "DATABASE_EDITION_UNSPECIFIED"| "STANDARD"| "ENTERPRISE"; + + /** DataAccessMode enum. */ + type DataAccessMode = + "DATA_ACCESS_MODE_UNSPECIFIED"| "DATA_ACCESS_MODE_ENABLED"| "DATA_ACCESS_MODE_DISABLED"; } + /** RealtimeUpdatesMode enum. */ + type RealtimeUpdatesMode = + "REALTIME_UPDATES_MODE_UNSPECIFIED"| "REALTIME_UPDATES_MODE_ENABLED"| "REALTIME_UPDATES_MODE_DISABLED"; + /** Properties of a Field. */ interface IField { @@ -944,6 +970,9 @@ export namespace google { /** Index shardCount */ shardCount?: (number|null); + + /** Index unique */ + unique?: (boolean|null); } /** Represents an Index. */ @@ -979,6 +1008,9 @@ export namespace google { /** Index shardCount. */ public shardCount: number; + /** Index unique. */ + public unique: boolean; + /** * Creates an Index message from a plain object. Also converts values to their respective internal types. * @param object Plain object diff --git a/handwritten/firestore/types/protos/firestore_v1_proto_api.d.ts b/handwritten/firestore/types/protos/firestore_v1_proto_api.d.ts index e7ede770764..65ceec85751 100644 --- a/handwritten/firestore/types/protos/firestore_v1_proto_api.d.ts +++ b/handwritten/firestore/types/protos/firestore_v1_proto_api.d.ts @@ -519,6 +519,9 @@ export namespace google { /** Value fieldReferenceValue */ fieldReferenceValue?: (string|null); + /** Value variableReferenceValue */ + variableReferenceValue?: (string|null); + /** Value functionValue */ functionValue?: (google.firestore.v1.IFunction|null); @@ -571,6 +574,9 @@ export namespace google { /** Value fieldReferenceValue. */ public fieldReferenceValue?: (string|null); + /** Value variableReferenceValue. */ + public variableReferenceValue?: (string|null); + /** Value functionValue. */ public functionValue?: (google.firestore.v1.IFunction|null); @@ -578,7 +584,7 @@ export namespace google { public pipelineValue?: (google.firestore.v1.IPipeline|null); /** Value valueType. */ - public valueType?: ("nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"functionValue"|"pipelineValue"); + public valueType?: ("nullValue"|"booleanValue"|"integerValue"|"doubleValue"|"timestampValue"|"stringValue"|"bytesValue"|"referenceValue"|"geoPointValue"|"arrayValue"|"mapValue"|"fieldReferenceValue"|"variableReferenceValue"|"functionValue"|"pipelineValue"); /** * Creates a Value message from a plain object. Also converts values to their respective internal types.