diff --git a/Firestore/metadata/Admin/V1/Index.php b/Firestore/metadata/Admin/V1/Index.php index 7832c5a6f90..24d9c9c92d7 100644 --- a/Firestore/metadata/Admin/V1/Index.php +++ b/Firestore/metadata/Admin/V1/Index.php @@ -17,7 +17,7 @@ public static function initOnce() { \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xC6\x0D\x0A%google/firestore/admin/v1/index.proto\x12\x19google.firestore.admin.v1\x1A\x19google/api/resource.proto\"\x82\x0B\x0A\x05Index\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12@\x0A\x0Bquery_scope\x18\x02 \x01(\x0E2+.google.firestore.admin.v1.Index.QueryScope\x12<\x0A\x09api_scope\x18\x05 \x01(\x0E2).google.firestore.admin.v1.Index.ApiScope\x12;\x0A\x06fields\x18\x03 \x03(\x0B2+.google.firestore.admin.v1.Index.IndexField\x125\x0A\x05state\x18\x04 \x01(\x0E2&.google.firestore.admin.v1.Index.State\x12>\x0A\x07density\x18\x06 \x01(\x0E2(.google.firestore.admin.v1.Index.DensityB\x03\xE0A\x05\x12\x15\x0A\x08multikey\x18\x07 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Bshard_count\x18\x08 \x01(\x05B\x03\xE0A\x01\x12\x13\x0A\x06unique\x18\x0A \x01(\x08B\x03\xE0A\x01\x1A\xA2\x04\x0A\x0AIndexField\x12\x12\x0A\x0Afield_path\x18\x01 \x01(\x09\x12B\x0A\x05order\x18\x02 \x01(\x0E21.google.firestore.admin.v1.Index.IndexField.OrderH\x00\x12O\x0A\x0Carray_config\x18\x03 \x01(\x0E27.google.firestore.admin.v1.Index.IndexField.ArrayConfigH\x00\x12Q\x0A\x0Dvector_config\x18\x04 \x01(\x0B28.google.firestore.admin.v1.Index.IndexField.VectorConfigH\x00\x1A\x8F\x01\x0A\x0CVectorConfig\x12\x16\x0A\x09dimension\x18\x01 \x01(\x05B\x03\xE0A\x02\x12R\x0A\x04flat\x18\x02 \x01(\x0B2B.google.firestore.admin.v1.Index.IndexField.VectorConfig.FlatIndexH\x00\x1A\x0B\x0A\x09FlatIndexB\x06\x0A\x04type\"=\x0A\x05Order\x12\x15\x0A\x11ORDER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09ASCENDING\x10\x01\x12\x0E\x0A\x0ADESCENDING\x10\x02\"9\x0A\x0BArrayConfig\x12\x1C\x0A\x18ARRAY_CONFIG_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CONTAINS\x10\x01B\x0C\x0A\x0Avalue_mode\"i\x0A\x0AQueryScope\x12\x1B\x0A\x17QUERY_SCOPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ACOLLECTION\x10\x01\x12\x14\x0A\x10COLLECTION_GROUP\x10\x02\x12\x18\x0A\x14COLLECTION_RECURSIVE\x10\x03\"K\x0A\x08ApiScope\x12\x0B\x0A\x07ANY_API\x10\x00\x12\x16\x0A\x12DATASTORE_MODE_API\x10\x01\x12\x1A\x0A\x16MONGODB_COMPATIBLE_API\x10\x02\"I\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CREATING\x10\x01\x12\x09\x0A\x05READY\x10\x02\x12\x10\x0A\x0CNEEDS_REPAIR\x10\x03\"M\x0A\x07Density\x12\x17\x0A\x13DENSITY_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ASPARSE_ALL\x10\x01\x12\x0E\x0A\x0ASPARSE_ANY\x10\x02\x12\x09\x0A\x05DENSE\x10\x03:z\xEAAw\x0A\x1Efirestore.googleapis.com/Index\x12Uprojects/{project}/databases/{database}/collectionGroups/{collection}/indexes/{index}B\xD9\x01\x0A\x1Dcom.google.firestore.admin.v1B\x0AIndexProtoP\x01Z9cloud.google.com/go/firestore/apiv1/admin/adminpb;adminpb\xA2\x02\x04GCFS\xAA\x02\x1FGoogle.Cloud.Firestore.Admin.V1\xCA\x02\x1FGoogle\\Cloud\\Firestore\\Admin\\V1\xEA\x02#Google::Cloud::Firestore::Admin::V1b\x06proto3" + "\x0A\xB9\x15\x0A%google/firestore/admin/v1/index.proto\x12\x19google.firestore.admin.v1\x1A\x19google/api/resource.proto\"\xF5\x12\x0A\x05Index\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12@\x0A\x0Bquery_scope\x18\x02 \x01(\x0E2+.google.firestore.admin.v1.Index.QueryScope\x12<\x0A\x09api_scope\x18\x05 \x01(\x0E2).google.firestore.admin.v1.Index.ApiScope\x12;\x0A\x06fields\x18\x03 \x03(\x0B2+.google.firestore.admin.v1.Index.IndexField\x125\x0A\x05state\x18\x04 \x01(\x0E2&.google.firestore.admin.v1.Index.State\x12>\x0A\x07density\x18\x06 \x01(\x0E2(.google.firestore.admin.v1.Index.DensityB\x03\xE0A\x05\x12\x15\x0A\x08multikey\x18\x07 \x01(\x08B\x03\xE0A\x01\x12\x18\x0A\x0Bshard_count\x18\x08 \x01(\x05B\x03\xE0A\x01\x12\x13\x0A\x06unique\x18\x0A \x01(\x08B\x03\xE0A\x01\x12V\x0A\x14search_index_options\x18\x09 \x01(\x0B23.google.firestore.admin.v1.Index.SearchIndexOptionsB\x03\xE0A\x01\x1A\xDB\x0A\x0A\x0AIndexField\x12\x12\x0A\x0Afield_path\x18\x01 \x01(\x09\x12B\x0A\x05order\x18\x02 \x01(\x0E21.google.firestore.admin.v1.Index.IndexField.OrderH\x00\x12O\x0A\x0Carray_config\x18\x03 \x01(\x0E27.google.firestore.admin.v1.Index.IndexField.ArrayConfigH\x00\x12Q\x0A\x0Dvector_config\x18\x04 \x01(\x0B28.google.firestore.admin.v1.Index.IndexField.VectorConfigH\x00\x12Q\x0A\x0Dsearch_config\x18\x05 \x01(\x0B28.google.firestore.admin.v1.Index.IndexField.SearchConfigH\x00\x1A\x8F\x01\x0A\x0CVectorConfig\x12\x16\x0A\x09dimension\x18\x01 \x01(\x05B\x03\xE0A\x02\x12R\x0A\x04flat\x18\x02 \x01(\x0B2B.google.firestore.admin.v1.Index.IndexField.VectorConfig.FlatIndexH\x00\x1A\x0B\x0A\x09FlatIndexB\x06\x0A\x04type\x1A\xE3\x05\x0A\x0CSearchConfig\x12_\x0A\x09text_spec\x18\x01 \x01(\x0B2G.google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextSpecB\x03\xE0A\x01\x12]\x0A\x08geo_spec\x18\x02 \x01(\x0B2F.google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchGeoSpecB\x03\xE0A\x01\x1A\xD7\x01\x0A\x13SearchTextIndexSpec\x12_\x0A\x0Aindex_type\x18\x01 \x01(\x0E2F.google.firestore.admin.v1.Index.IndexField.SearchConfig.TextIndexTypeB\x03\xE0A\x02\x12_\x0A\x0Amatch_type\x18\x02 \x01(\x0E2F.google.firestore.admin.v1.Index.IndexField.SearchConfig.TextMatchTypeB\x03\xE0A\x02\x1Ax\x0A\x0ESearchTextSpec\x12f\x0A\x0Bindex_specs\x18\x01 \x03(\x0B2L.google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextIndexSpecB\x03\xE0A\x02\x1A8\x0A\x0DSearchGeoSpec\x12'\x0A\x1Ageo_json_indexing_disabled\x18\x01 \x01(\x08B\x03\xE0A\x01\"?\x0A\x0DTextIndexType\x12\x1F\x0A\x1BTEXT_INDEX_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09TOKENIZED\x10\x01\"D\x0A\x0DTextMatchType\x12\x1F\x0A\x1BTEXT_MATCH_TYPE_UNSPECIFIED\x10\x00\x12\x12\x0A\x0EMATCH_GLOBALLY\x10\x01\"=\x0A\x05Order\x12\x15\x0A\x11ORDER_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09ASCENDING\x10\x01\x12\x0E\x0A\x0ADESCENDING\x10\x02\"9\x0A\x0BArrayConfig\x12\x1C\x0A\x18ARRAY_CONFIG_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CONTAINS\x10\x01B\x0C\x0A\x0Avalue_mode\x1A`\x0A\x12SearchIndexOptions\x12\x1A\x0A\x0Dtext_language\x18\x01 \x01(\x09B\x03\xE0A\x01\x12.\x0A!text_language_override_field_path\x18\x02 \x01(\x09B\x03\xE0A\x01\"i\x0A\x0AQueryScope\x12\x1B\x0A\x17QUERY_SCOPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ACOLLECTION\x10\x01\x12\x14\x0A\x10COLLECTION_GROUP\x10\x02\x12\x18\x0A\x14COLLECTION_RECURSIVE\x10\x03\"K\x0A\x08ApiScope\x12\x0B\x0A\x07ANY_API\x10\x00\x12\x16\x0A\x12DATASTORE_MODE_API\x10\x01\x12\x1A\x0A\x16MONGODB_COMPATIBLE_API\x10\x02\"I\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08CREATING\x10\x01\x12\x09\x0A\x05READY\x10\x02\x12\x10\x0A\x0CNEEDS_REPAIR\x10\x03\"M\x0A\x07Density\x12\x17\x0A\x13DENSITY_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ASPARSE_ALL\x10\x01\x12\x0E\x0A\x0ASPARSE_ANY\x10\x02\x12\x09\x0A\x05DENSE\x10\x03:z\xEAAw\x0A\x1Efirestore.googleapis.com/Index\x12Uprojects/{project}/databases/{database}/collectionGroups/{collection}/indexes/{index}B\xD9\x01\x0A\x1Dcom.google.firestore.admin.v1B\x0AIndexProtoP\x01Z9cloud.google.com/go/firestore/apiv1/admin/adminpb;adminpb\xA2\x02\x04GCFS\xAA\x02\x1FGoogle.Cloud.Firestore.Admin.V1\xCA\x02\x1FGoogle\\Cloud\\Firestore\\Admin\\V1\xEA\x02#Google::Cloud::Firestore::Admin::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/Firestore/src/Admin/V1/Backup.php b/Firestore/src/Admin/V1/Backup.php index 05241f9bd5c..6f4d2842708 100644 --- a/Firestore/src/Admin/V1/Backup.php +++ b/Firestore/src/Admin/V1/Backup.php @@ -20,6 +20,10 @@ class Backup extends \Google\Protobuf\Internal\Message /** * Output only. The unique resource name of the Backup. * Format is `projects/{project}/locations/{location}/backups/{backup}`. + * The location in the name will be the Standard Managed Multi-Region (SMMR) + * location (e.g. `us`) if the backup was created with an SMMR location, or + * the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup + * was created with a GMMR location. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ @@ -75,6 +79,10 @@ class Backup extends \Google\Protobuf\Internal\Message * @type string $name * Output only. The unique resource name of the Backup. * Format is `projects/{project}/locations/{location}/backups/{backup}`. + * The location in the name will be the Standard Managed Multi-Region (SMMR) + * location (e.g. `us`) if the backup was created with an SMMR location, or + * the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup + * was created with a GMMR location. * @type string $database * Output only. Name of the Firestore database that the backup is from. * Format is `projects/{project}/databases/{database}`. @@ -102,6 +110,10 @@ public function __construct($data = NULL) { /** * Output only. The unique resource name of the Backup. * Format is `projects/{project}/locations/{location}/backups/{backup}`. + * The location in the name will be the Standard Managed Multi-Region (SMMR) + * location (e.g. `us`) if the backup was created with an SMMR location, or + * the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup + * was created with a GMMR location. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return string @@ -114,6 +126,10 @@ public function getName() /** * Output only. The unique resource name of the Backup. * Format is `projects/{project}/locations/{location}/backups/{backup}`. + * The location in the name will be the Standard Managed Multi-Region (SMMR) + * location (e.g. `us`) if the backup was created with an SMMR location, or + * the Google Managed Multi-Region (GMMR) location (e.g. `nam5`) if the backup + * was created with a GMMR location. * * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param string $var diff --git a/Firestore/src/Admin/V1/Index.php b/Firestore/src/Admin/V1/Index.php index fe840ca7bf4..25eea551aba 100644 --- a/Firestore/src/Admin/V1/Index.php +++ b/Firestore/src/Admin/V1/Index.php @@ -93,6 +93,14 @@ class Index extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool unique = 10 [(.google.api.field_behavior) = OPTIONAL]; */ private $unique = false; + /** + * Optional. Options for search indexes that are at the index definition + * level. This field is only currently supported for indexes with + * MONGODB_COMPATIBLE_API ApiScope. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.SearchIndexOptions search_index_options = 9 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $search_index_options = null; /** * Constructor. @@ -141,6 +149,10 @@ class Index extends \Google\Protobuf\Internal\Message * @type bool $unique * Optional. Whether it is an unique index. Unique index ensures all values * for the indexed field(s) are unique across documents. + * @type \Google\Cloud\Firestore\Admin\V1\Index\SearchIndexOptions $search_index_options + * Optional. Options for search indexes that are at the index definition + * level. This field is only currently supported for indexes with + * MONGODB_COMPATIBLE_API ApiScope. * } */ public function __construct($data = NULL) { @@ -428,5 +440,45 @@ public function setUnique($var) return $this; } + /** + * Optional. Options for search indexes that are at the index definition + * level. This field is only currently supported for indexes with + * MONGODB_COMPATIBLE_API ApiScope. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.SearchIndexOptions search_index_options = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Firestore\Admin\V1\Index\SearchIndexOptions|null + */ + public function getSearchIndexOptions() + { + return $this->search_index_options; + } + + public function hasSearchIndexOptions() + { + return isset($this->search_index_options); + } + + public function clearSearchIndexOptions() + { + unset($this->search_index_options); + } + + /** + * Optional. Options for search indexes that are at the index definition + * level. This field is only currently supported for indexes with + * MONGODB_COMPATIBLE_API ApiScope. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.SearchIndexOptions search_index_options = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Firestore\Admin\V1\Index\SearchIndexOptions $var + * @return $this + */ + public function setSearchIndexOptions($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Firestore\Admin\V1\Index\SearchIndexOptions::class); + $this->search_index_options = $var; + + return $this; + } + } diff --git a/Firestore/src/Admin/V1/Index/IndexField.php b/Firestore/src/Admin/V1/Index/IndexField.php index fed937ea661..a082920ccf1 100644 --- a/Firestore/src/Admin/V1/Index/IndexField.php +++ b/Firestore/src/Admin/V1/Index/IndexField.php @@ -45,6 +45,10 @@ class IndexField extends \Google\Protobuf\Internal\Message * @type \Google\Cloud\Firestore\Admin\V1\Index\IndexField\VectorConfig $vector_config * Indicates that this field supports nearest neighbor and distance * operations on vector. + * @type \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig $search_config + * Indicates that this field supports search operations. This field + * is only currently supported for indexes with MONGODB_COMPATIBLE_API + * ApiScope. * } */ public function __construct($data = NULL) { @@ -179,6 +183,41 @@ public function setVectorConfig($var) return $this; } + /** + * Indicates that this field supports search operations. This field + * is only currently supported for indexes with MONGODB_COMPATIBLE_API + * ApiScope. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig search_config = 5; + * @return \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig|null + */ + public function getSearchConfig() + { + return $this->readOneof(5); + } + + public function hasSearchConfig() + { + return $this->hasOneof(5); + } + + /** + * Indicates that this field supports search operations. This field + * is only currently supported for indexes with MONGODB_COMPATIBLE_API + * ApiScope. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig search_config = 5; + * @param \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig $var + * @return $this + */ + public function setSearchConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig::class); + $this->writeOneof(5, $var); + + return $this; + } + /** * @return string */ diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig.php new file mode 100644 index 00000000000..25791b04bce --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig.php @@ -0,0 +1,129 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig + */ +class SearchConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The specification for building a text search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextSpec text_spec = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $text_spec = null; + /** + * Optional. The specification for building a geo search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchGeoSpec geo_spec = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $geo_spec = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextSpec $text_spec + * Optional. The specification for building a text search index for a + * field. + * @type \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchGeoSpec $geo_spec + * Optional. The specification for building a geo search index for a + * field. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Firestore\Admin\V1\Index::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The specification for building a text search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextSpec text_spec = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextSpec|null + */ + public function getTextSpec() + { + return $this->text_spec; + } + + public function hasTextSpec() + { + return isset($this->text_spec); + } + + public function clearTextSpec() + { + unset($this->text_spec); + } + + /** + * Optional. The specification for building a text search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextSpec text_spec = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextSpec $var + * @return $this + */ + public function setTextSpec($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextSpec::class); + $this->text_spec = $var; + + return $this; + } + + /** + * Optional. The specification for building a geo search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchGeoSpec geo_spec = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchGeoSpec|null + */ + public function getGeoSpec() + { + return $this->geo_spec; + } + + public function hasGeoSpec() + { + return isset($this->geo_spec); + } + + public function clearGeoSpec() + { + unset($this->geo_spec); + } + + /** + * Optional. The specification for building a geo search index for a + * field. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchGeoSpec geo_spec = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchGeoSpec $var + * @return $this + */ + public function setGeoSpec($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchGeoSpec::class); + $this->geo_spec = $var; + + return $this; + } + +} + diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchGeoSpec.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchGeoSpec.php new file mode 100644 index 00000000000..c24e08344f1 --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchGeoSpec.php @@ -0,0 +1,71 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchGeoSpec + */ +class SearchGeoSpec extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Disables geoJSON indexing for the field. By default, + * geoJSON points are indexed. + * + * Generated from protobuf field bool geo_json_indexing_disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $geo_json_indexing_disabled = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $geo_json_indexing_disabled + * Optional. Disables geoJSON indexing for the field. By default, + * geoJSON points are indexed. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Firestore\Admin\V1\Index::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Disables geoJSON indexing for the field. By default, + * geoJSON points are indexed. + * + * Generated from protobuf field bool geo_json_indexing_disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getGeoJsonIndexingDisabled() + { + return $this->geo_json_indexing_disabled; + } + + /** + * Optional. Disables geoJSON indexing for the field. By default, + * geoJSON points are indexed. + * + * Generated from protobuf field bool geo_json_indexing_disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setGeoJsonIndexingDisabled($var) + { + GPBUtil::checkBool($var); + $this->geo_json_indexing_disabled = $var; + + return $this; + } + +} + diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextIndexSpec.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextIndexSpec.php new file mode 100644 index 00000000000..9d35996a16d --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextIndexSpec.php @@ -0,0 +1,102 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextIndexSpec + */ +class SearchTextIndexSpec extends \Google\Protobuf\Internal\Message +{ + /** + * Required. How to index the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextIndexType index_type = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $index_type = 0; + /** + * Required. How to match the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextMatchType match_type = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private $match_type = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $index_type + * Required. How to index the text field value. + * @type int $match_type + * Required. How to match the text field value. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Firestore\Admin\V1\Index::initOnce(); + parent::__construct($data); + } + + /** + * Required. How to index the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextIndexType index_type = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return int + */ + public function getIndexType() + { + return $this->index_type; + } + + /** + * Required. How to index the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextIndexType index_type = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param int $var + * @return $this + */ + public function setIndexType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\TextIndexType::class); + $this->index_type = $var; + + return $this; + } + + /** + * Required. How to match the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextMatchType match_type = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return int + */ + public function getMatchType() + { + return $this->match_type; + } + + /** + * Required. How to match the text field value. + * + * Generated from protobuf field .google.firestore.admin.v1.Index.IndexField.SearchConfig.TextMatchType match_type = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param int $var + * @return $this + */ + public function setMatchType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\TextMatchType::class); + $this->match_type = $var; + + return $this; + } + +} + diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextSpec.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextSpec.php new file mode 100644 index 00000000000..91d20bf0f88 --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/SearchTextSpec.php @@ -0,0 +1,71 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextSpec + */ +class SearchTextSpec extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Specifications for how the field should be indexed. + * Repeated so that the field can be indexed in multiple ways. + * + * Generated from protobuf field repeated .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextIndexSpec index_specs = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $index_specs; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextIndexSpec[] $index_specs + * Required. Specifications for how the field should be indexed. + * Repeated so that the field can be indexed in multiple ways. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Firestore\Admin\V1\Index::initOnce(); + parent::__construct($data); + } + + /** + * Required. Specifications for how the field should be indexed. + * Repeated so that the field can be indexed in multiple ways. + * + * Generated from protobuf field repeated .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextIndexSpec index_specs = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return RepeatedField<\Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextIndexSpec> + */ + public function getIndexSpecs() + { + return $this->index_specs; + } + + /** + * Required. Specifications for how the field should be indexed. + * Repeated so that the field can be indexed in multiple ways. + * + * Generated from protobuf field repeated .google.firestore.admin.v1.Index.IndexField.SearchConfig.SearchTextIndexSpec index_specs = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextIndexSpec[] $var + * @return $this + */ + public function setIndexSpecs($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Firestore\Admin\V1\Index\IndexField\SearchConfig\SearchTextIndexSpec::class); + $this->index_specs = $arr; + + return $this; + } + +} + diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextIndexType.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextIndexType.php new file mode 100644 index 00000000000..4a915d32d84 --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextIndexType.php @@ -0,0 +1,55 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig.TextIndexType + */ +class TextIndexType +{ + /** + * The index type is unspecified. Not a valid option. + * + * Generated from protobuf enum TEXT_INDEX_TYPE_UNSPECIFIED = 0; + */ + const TEXT_INDEX_TYPE_UNSPECIFIED = 0; + /** + * Field values are tokenized. This is the only way currently supported + * for MONGODB_COMPATIBLE_API. + * + * Generated from protobuf enum TOKENIZED = 1; + */ + const TOKENIZED = 1; + + private static $valueToName = [ + self::TEXT_INDEX_TYPE_UNSPECIFIED => 'TEXT_INDEX_TYPE_UNSPECIFIED', + self::TOKENIZED => 'TOKENIZED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextMatchType.php b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextMatchType.php new file mode 100644 index 00000000000..4396fe467d8 --- /dev/null +++ b/Firestore/src/Admin/V1/Index/IndexField/SearchConfig/TextMatchType.php @@ -0,0 +1,56 @@ +google.firestore.admin.v1.Index.IndexField.SearchConfig.TextMatchType + */ +class TextMatchType +{ + /** + * The match type is unspecified. Not a valid option. + * + * Generated from protobuf enum TEXT_MATCH_TYPE_UNSPECIFIED = 0; + */ + const TEXT_MATCH_TYPE_UNSPECIFIED = 0; + /** + * Match on any indexed field. This is the only way currently supported + * for MONGODB_COMPATIBLE_API. + * + * Generated from protobuf enum MATCH_GLOBALLY = 1; + */ + const MATCH_GLOBALLY = 1; + + private static $valueToName = [ + self::TEXT_MATCH_TYPE_UNSPECIFIED => 'TEXT_MATCH_TYPE_UNSPECIFIED', + self::MATCH_GLOBALLY => 'MATCH_GLOBALLY', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Firestore/src/Admin/V1/Index/SearchIndexOptions.php b/Firestore/src/Admin/V1/Index/SearchIndexOptions.php new file mode 100644 index 00000000000..6370997d81e --- /dev/null +++ b/Firestore/src/Admin/V1/Index/SearchIndexOptions.php @@ -0,0 +1,141 @@ +google.firestore.admin.v1.Index.SearchIndexOptions + */ +class SearchIndexOptions extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. The language to use for text search indexes. Used as the + * default language if not overridden at the document level by specifying + * the `text_language_override_field`. The language is specified as a BCP 47 + * language code. + * For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the + * default language is English. + * For indexes with `ANY_API` ApiScope: If unspecified, the default behavior + * is autodetect. + * + * Generated from protobuf field string text_language = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $text_language = ''; + /** + * Optional. The field in the document that specifies which language to use + * for that specific document. For indexes with MONGODB_COMPATIBLE_API + * ApiScope: if unspecified, the language is taken from the "language" field + * if it exists or from `text_language` if it does not. + * + * Generated from protobuf field string text_language_override_field_path = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $text_language_override_field_path = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $text_language + * Optional. The language to use for text search indexes. Used as the + * default language if not overridden at the document level by specifying + * the `text_language_override_field`. The language is specified as a BCP 47 + * language code. + * For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the + * default language is English. + * For indexes with `ANY_API` ApiScope: If unspecified, the default behavior + * is autodetect. + * @type string $text_language_override_field_path + * Optional. The field in the document that specifies which language to use + * for that specific document. For indexes with MONGODB_COMPATIBLE_API + * ApiScope: if unspecified, the language is taken from the "language" field + * if it exists or from `text_language` if it does not. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Firestore\Admin\V1\Index::initOnce(); + parent::__construct($data); + } + + /** + * Optional. The language to use for text search indexes. Used as the + * default language if not overridden at the document level by specifying + * the `text_language_override_field`. The language is specified as a BCP 47 + * language code. + * For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the + * default language is English. + * For indexes with `ANY_API` ApiScope: If unspecified, the default behavior + * is autodetect. + * + * Generated from protobuf field string text_language = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getTextLanguage() + { + return $this->text_language; + } + + /** + * Optional. The language to use for text search indexes. Used as the + * default language if not overridden at the document level by specifying + * the `text_language_override_field`. The language is specified as a BCP 47 + * language code. + * For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the + * default language is English. + * For indexes with `ANY_API` ApiScope: If unspecified, the default behavior + * is autodetect. + * + * Generated from protobuf field string text_language = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setTextLanguage($var) + { + GPBUtil::checkString($var, True); + $this->text_language = $var; + + return $this; + } + + /** + * Optional. The field in the document that specifies which language to use + * for that specific document. For indexes with MONGODB_COMPATIBLE_API + * ApiScope: if unspecified, the language is taken from the "language" field + * if it exists or from `text_language` if it does not. + * + * Generated from protobuf field string text_language_override_field_path = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getTextLanguageOverrideFieldPath() + { + return $this->text_language_override_field_path; + } + + /** + * Optional. The field in the document that specifies which language to use + * for that specific document. For indexes with MONGODB_COMPATIBLE_API + * ApiScope: if unspecified, the language is taken from the "language" field + * if it exists or from `text_language` if it does not. + * + * Generated from protobuf field string text_language_override_field_path = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setTextLanguageOverrideFieldPath($var) + { + GPBUtil::checkString($var, True); + $this->text_language_override_field_path = $var; + + return $this; + } + +} +