google-cloud-firestore 1.4.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/CHANGELOG.md +51 -0
  4. data/TROUBLESHOOTING.md +2 -8
  5. data/lib/google-cloud-firestore.rb +15 -21
  6. data/lib/google/cloud/firestore.rb +12 -23
  7. data/lib/google/cloud/firestore/client.rb +12 -14
  8. data/lib/google/cloud/firestore/collection_reference.rb +1 -0
  9. data/lib/google/cloud/firestore/collection_reference_list.rb +137 -0
  10. data/lib/google/cloud/firestore/convert.rb +39 -39
  11. data/lib/google/cloud/firestore/credentials.rb +2 -2
  12. data/lib/google/cloud/firestore/document_reference.rb +8 -8
  13. data/lib/google/cloud/firestore/document_reference/list.rb +2 -2
  14. data/lib/google/cloud/firestore/document_snapshot.rb +4 -4
  15. data/lib/google/cloud/firestore/query.rb +114 -22
  16. data/lib/google/cloud/firestore/service.rb +63 -104
  17. data/lib/google/cloud/firestore/transaction.rb +2 -2
  18. data/lib/google/cloud/firestore/version.rb +1 -1
  19. data/lib/google/cloud/firestore/watch/inventory.rb +2 -0
  20. data/lib/google/cloud/firestore/watch/listener.rb +9 -9
  21. data/lib/google/cloud/firestore/watch/order.rb +1 -1
  22. metadata +9 -107
  23. data/lib/google/cloud/firestore/admin.rb +0 -144
  24. data/lib/google/cloud/firestore/admin/v1.rb +0 -151
  25. data/lib/google/cloud/firestore/admin/v1/credentials.rb +0 -44
  26. data/lib/google/cloud/firestore/admin/v1/doc/google/firestore/admin/v1/field.rb +0 -86
  27. data/lib/google/cloud/firestore/admin/v1/doc/google/firestore/admin/v1/firestore_admin.rb +0 -161
  28. data/lib/google/cloud/firestore/admin/v1/doc/google/firestore/admin/v1/index.rb +0 -142
  29. data/lib/google/cloud/firestore/admin/v1/doc/google/longrunning/operations.rb +0 -51
  30. data/lib/google/cloud/firestore/admin/v1/doc/google/protobuf/any.rb +0 -131
  31. data/lib/google/cloud/firestore/admin/v1/doc/google/protobuf/empty.rb +0 -29
  32. data/lib/google/cloud/firestore/admin/v1/doc/google/protobuf/field_mask.rb +0 -222
  33. data/lib/google/cloud/firestore/admin/v1/doc/google/rpc/status.rb +0 -39
  34. data/lib/google/cloud/firestore/admin/v1/firestore_admin_client.rb +0 -902
  35. data/lib/google/cloud/firestore/admin/v1/firestore_admin_client_config.json +0 -71
  36. data/lib/google/cloud/firestore/v1.rb +0 -152
  37. data/lib/google/cloud/firestore/v1/credentials.rb +0 -42
  38. data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/common.rb +0 -64
  39. data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/document.rb +0 -136
  40. data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/firestore.rb +0 -566
  41. data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/query.rb +0 -227
  42. data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/write.rb +0 -241
  43. data/lib/google/cloud/firestore/v1/doc/google/protobuf/any.rb +0 -131
  44. data/lib/google/cloud/firestore/v1/doc/google/protobuf/empty.rb +0 -29
  45. data/lib/google/cloud/firestore/v1/doc/google/protobuf/timestamp.rb +0 -113
  46. data/lib/google/cloud/firestore/v1/doc/google/protobuf/wrappers.rb +0 -26
  47. data/lib/google/cloud/firestore/v1/doc/google/rpc/status.rb +0 -39
  48. data/lib/google/cloud/firestore/v1/firestore_client.rb +0 -1011
  49. data/lib/google/cloud/firestore/v1/firestore_client_config.json +0 -100
  50. data/lib/google/cloud/firestore/v1beta1.rb +0 -162
  51. data/lib/google/cloud/firestore/v1beta1/credentials.rb +0 -42
  52. data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/common.rb +0 -64
  53. data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/document.rb +0 -136
  54. data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/firestore.rb +0 -564
  55. data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/query.rb +0 -227
  56. data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/write.rb +0 -237
  57. data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/any.rb +0 -131
  58. data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/empty.rb +0 -29
  59. data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/timestamp.rb +0 -113
  60. data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/wrappers.rb +0 -26
  61. data/lib/google/cloud/firestore/v1beta1/doc/google/rpc/status.rb +0 -39
  62. data/lib/google/cloud/firestore/v1beta1/firestore_client.rb +0 -1021
  63. data/lib/google/cloud/firestore/v1beta1/firestore_client_config.json +0 -100
  64. data/lib/google/firestore/admin/v1/field_pb.rb +0 -32
  65. data/lib/google/firestore/admin/v1/firestore_admin_pb.rb +0 -84
  66. data/lib/google/firestore/admin/v1/firestore_admin_services_pb.rb +0 -94
  67. data/lib/google/firestore/admin/v1/index_pb.rb +0 -58
  68. data/lib/google/firestore/admin/v1/location_pb.rb +0 -22
  69. data/lib/google/firestore/admin/v1/operation_pb.rb +0 -90
  70. data/lib/google/firestore/v1/common_pb.rb +0 -45
  71. data/lib/google/firestore/v1/document_pb.rb +0 -50
  72. data/lib/google/firestore/v1/firestore_pb.rb +0 -222
  73. data/lib/google/firestore/v1/firestore_services_pb.rb +0 -80
  74. data/lib/google/firestore/v1/query_pb.rb +0 -107
  75. data/lib/google/firestore/v1/write_pb.rb +0 -80
  76. data/lib/google/firestore/v1beta1/common_pb.rb +0 -45
  77. data/lib/google/firestore/v1beta1/document_pb.rb +0 -50
  78. data/lib/google/firestore/v1beta1/firestore_pb.rb +0 -222
  79. data/lib/google/firestore/v1beta1/firestore_services_pb.rb +0 -89
  80. data/lib/google/firestore/v1beta1/query_pb.rb +0 -107
  81. data/lib/google/firestore/v1beta1/write_pb.rb +0 -79
@@ -1,144 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "google/gax"
17
- require "pathname"
18
-
19
- module Google
20
- module Cloud
21
- module Firestore
22
- # rubocop:disable LineLength
23
-
24
- ##
25
- # # Ruby Client for Google Cloud Firestore Admin API
26
- #
27
- # [Google Cloud Firestore Admin API][Product Documentation]:
28
- # Accesses the NoSQL document database built for automatic scaling, high
29
- # performance, and ease of application development.
30
- # - [Product Documentation][]
31
- #
32
- # ## Quick Start
33
- # In order to use this library, you first need to go through the following
34
- # steps:
35
- #
36
- # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
37
- # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
38
- # 3. [Enable the Google Cloud Firestore Admin API.](https://console.cloud.google.com/apis/library/firestore-admin.googleapis.com)
39
- # 4. [Setup Authentication.](https://googleapis.dev/ruby/google-cloud-firestore/latest/file.AUTHENTICATION.html)
40
- #
41
- # ### Installation
42
- # ```
43
- # $ gem install google-cloud-firestore-admin
44
- # ```
45
- #
46
- # ### Next Steps
47
- # - Read the [Google Cloud Firestore Admin API Product documentation][Product Documentation]
48
- # to learn more about the product and see How-to Guides.
49
- # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
50
- # to see the full list of Cloud APIs that we cover.
51
- #
52
- # [Product Documentation]: https://cloud.google.com/firestore-admin
53
- #
54
- # ## Enabling Logging
55
- #
56
- # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
57
- # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
58
- # or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
59
- # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
60
- # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
61
- #
62
- # Configuring a Ruby stdlib logger:
63
- #
64
- # ```ruby
65
- # require "logger"
66
- #
67
- # module MyLogger
68
- # LOGGER = Logger.new $stderr, level: Logger::WARN
69
- # def logger
70
- # LOGGER
71
- # end
72
- # end
73
- #
74
- # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
75
- # module GRPC
76
- # extend MyLogger
77
- # end
78
- # ```
79
- #
80
- module Admin
81
- # rubocop:enable LineLength
82
-
83
- FILE_DIR = File.realdirpath(Pathname.new(__FILE__).join("..").join("admin"))
84
-
85
- AVAILABLE_VERSIONS = Dir["#{FILE_DIR}/*"]
86
- .select { |file| File.directory?(file) }
87
- .select { |dir| Google::Gax::VERSION_MATCHER.match(File.basename(dir)) }
88
- .select { |dir| File.exist?(dir + ".rb") }
89
- .map { |dir| File.basename(dir) }
90
-
91
- ##
92
- # Operations are created by service `FirestoreAdmin`, but are accessed via
93
- # service `google.longrunning.Operations`.
94
- #
95
- # @param version [Symbol, String]
96
- # The major version of the service to be used. By default :v1
97
- # is used.
98
- # @overload new(version:, credentials:, scopes:, client_config:, timeout:)
99
- # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
100
- # Provides the means for authenticating requests made by the client. This parameter can
101
- # be many types.
102
- # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
103
- # authenticating requests made by this client.
104
- # A `String` will be treated as the path to the keyfile to be used for the construction of
105
- # credentials for this client.
106
- # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
107
- # credentials for this client.
108
- # A `GRPC::Core::Channel` will be used to make calls through.
109
- # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
110
- # should already be composed with a `GRPC::Core::CallCredentials` object.
111
- # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
112
- # metadata for requests, generally, to give OAuth credentials.
113
- # @param scopes [Array<String>]
114
- # The OAuth scopes for this service. This parameter is ignored if
115
- # an updater_proc is supplied.
116
- # @param client_config [Hash]
117
- # A Hash for call options for each method. See
118
- # Google::Gax#construct_settings for the structure of
119
- # this data. Falls back to the default config if not specified
120
- # or the specified config is missing data points.
121
- # @param timeout [Numeric]
122
- # The default timeout, in seconds, for calls made through this client.
123
- # @param metadata [Hash]
124
- # Default metadata to be sent with each request. This can be overridden on a per call basis.
125
- # @param exception_transformer [Proc]
126
- # An optional proc that intercepts any exceptions raised during an API call to inject
127
- # custom error handling.
128
- def self.new(*args, version: :v1, **kwargs)
129
- unless AVAILABLE_VERSIONS.include?(version.to_s.downcase)
130
- raise "The version: #{version} is not available. The available versions " \
131
- "are: [#{AVAILABLE_VERSIONS.join(", ")}]"
132
- end
133
-
134
- require "#{FILE_DIR}/#{version.to_s.downcase}"
135
- version_module = Google::Cloud::Firestore::Admin
136
- .constants
137
- .select {|sym| sym.to_s.downcase == version.to_s.downcase}
138
- .first
139
- Google::Cloud::Firestore::Admin.const_get(version_module).new(*args, **kwargs)
140
- end
141
- end
142
- end
143
- end
144
- end
@@ -1,151 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "google/cloud/firestore/admin/v1/firestore_admin_client"
17
- require "google/firestore/admin/v1/operation_pb"
18
- require "google/firestore/admin/v1/location_pb"
19
-
20
- module Google
21
- module Cloud
22
- module Firestore
23
- module Admin
24
- # rubocop:disable LineLength
25
-
26
- ##
27
- # # Ruby Client for Google Cloud Firestore Admin API
28
- #
29
- # [Google Cloud Firestore Admin API][Product Documentation]:
30
- # Accesses the NoSQL document database built for automatic scaling, high
31
- # performance, and ease of application development.
32
- # - [Product Documentation][]
33
- #
34
- # ## Quick Start
35
- # In order to use this library, you first need to go through the following
36
- # steps:
37
- #
38
- # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
39
- # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
40
- # 3. [Enable the Google Cloud Firestore Admin API.](https://console.cloud.google.com/apis/library/firestore-admin.googleapis.com)
41
- # 4. [Setup Authentication.](https://googleapis.dev/ruby/google-cloud-firestore/latest/file.AUTHENTICATION.html)
42
- #
43
- # ### Installation
44
- # ```
45
- # $ gem install google-cloud-firestore-admin
46
- # ```
47
- #
48
- # ### Next Steps
49
- # - Read the [Google Cloud Firestore Admin API Product documentation][Product Documentation]
50
- # to learn more about the product and see How-to Guides.
51
- # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
52
- # to see the full list of Cloud APIs that we cover.
53
- #
54
- # [Product Documentation]: https://cloud.google.com/firestore-admin
55
- #
56
- # ## Enabling Logging
57
- #
58
- # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
59
- # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
60
- # or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
61
- # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
62
- # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
63
- #
64
- # Configuring a Ruby stdlib logger:
65
- #
66
- # ```ruby
67
- # require "logger"
68
- #
69
- # module MyLogger
70
- # LOGGER = Logger.new $stderr, level: Logger::WARN
71
- # def logger
72
- # LOGGER
73
- # end
74
- # end
75
- #
76
- # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
77
- # module GRPC
78
- # extend MyLogger
79
- # end
80
- # ```
81
- #
82
- module V1
83
- # rubocop:enable LineLength
84
-
85
- ##
86
- # Operations are created by service `FirestoreAdmin`, but are accessed via
87
- # service `google.longrunning.Operations`.
88
- #
89
- # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
90
- # Provides the means for authenticating requests made by the client. This parameter can
91
- # be many types.
92
- # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
93
- # authenticating requests made by this client.
94
- # A `String` will be treated as the path to the keyfile to be used for the construction of
95
- # credentials for this client.
96
- # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
97
- # credentials for this client.
98
- # A `GRPC::Core::Channel` will be used to make calls through.
99
- # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
100
- # should already be composed with a `GRPC::Core::CallCredentials` object.
101
- # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
102
- # metadata for requests, generally, to give OAuth credentials.
103
- # @param scopes [Array<String>]
104
- # The OAuth scopes for this service. This parameter is ignored if
105
- # an updater_proc is supplied.
106
- # @param client_config [Hash]
107
- # A Hash for call options for each method. See
108
- # Google::Gax#construct_settings for the structure of
109
- # this data. Falls back to the default config if not specified
110
- # or the specified config is missing data points.
111
- # @param timeout [Numeric]
112
- # The default timeout, in seconds, for calls made through this client.
113
- # @param metadata [Hash]
114
- # Default metadata to be sent with each request. This can be overridden on a per call basis.
115
- # @param service_address [String]
116
- # Override for the service hostname, or `nil` to leave as the default.
117
- # @param service_port [Integer]
118
- # Override for the service port, or `nil` to leave as the default.
119
- # @param exception_transformer [Proc]
120
- # An optional proc that intercepts any exceptions raised during an API call to inject
121
- # custom error handling.
122
- def self.new \
123
- credentials: nil,
124
- scopes: nil,
125
- client_config: nil,
126
- timeout: nil,
127
- metadata: nil,
128
- service_address: nil,
129
- service_port: nil,
130
- exception_transformer: nil,
131
- lib_name: nil,
132
- lib_version: nil
133
- kwargs = {
134
- credentials: credentials,
135
- scopes: scopes,
136
- client_config: client_config,
137
- timeout: timeout,
138
- metadata: metadata,
139
- exception_transformer: exception_transformer,
140
- lib_name: lib_name,
141
- service_address: service_address,
142
- service_port: service_port,
143
- lib_version: lib_version
144
- }.select { |_, v| v != nil }
145
- Google::Cloud::Firestore::Admin::V1::FirestoreAdminClient.new(**kwargs)
146
- end
147
- end
148
- end
149
- end
150
- end
151
- end
@@ -1,44 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "googleauth"
17
-
18
- module Google
19
- module Cloud
20
- module Firestore
21
- module Admin
22
- module V1
23
- class Credentials < Google::Auth::Credentials
24
- SCOPE = [
25
- "https://www.googleapis.com/auth/cloud-platform",
26
- "https://www.googleapis.com/auth/datastore"
27
- ].freeze
28
- PATH_ENV_VARS = %w(FIRESTORE_ADMIN_CREDENTIALS
29
- FIRESTORE_ADMIN_KEYFILE
30
- GOOGLE_CLOUD_CREDENTIALS
31
- GOOGLE_CLOUD_KEYFILE
32
- GCLOUD_KEYFILE)
33
- JSON_ENV_VARS = %w(FIRESTORE_ADMIN_CREDENTIALS_JSON
34
- FIRESTORE_ADMIN_KEYFILE_JSON
35
- GOOGLE_CLOUD_CREDENTIALS_JSON
36
- GOOGLE_CLOUD_KEYFILE_JSON
37
- GCLOUD_KEYFILE_JSON)
38
- DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,86 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Firestore
18
- module Admin
19
- module V1
20
- # Represents a single field in the database.
21
- #
22
- # Fields are grouped by their "Collection Group", which represent all
23
- # collections in the database with the same id.
24
- # @!attribute [rw] name
25
- # @return [String]
26
- # A field name of the form
27
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`
28
- #
29
- # A field path may be a simple field name, e.g. `address` or a path to fields
30
- # within map_value , e.g. `address.city`,
31
- # or a special field path. The only valid special field is `*`, which
32
- # represents any field.
33
- #
34
- # Field paths may be quoted using ` (backtick). The only character that needs
35
- # to be escaped within a quoted field path is the backtick character itself,
36
- # escaped using a backslash. Special characters in field paths that
37
- # must be quoted include: `*`, `.`,
38
- # ``` (backtick), `[`, `]`, as well as any ascii symbolic characters.
39
- #
40
- # Examples:
41
- # (Note: Comments here are written in markdown syntax, so there is an
42
- # additional layer of backticks to represent a code block)
43
- # `\`address.city\`` represents a field named `address.city`, not the map key
44
- # `city` in the field `address`.
45
- # `\`*\`` represents a field named `*`, not any field.
46
- #
47
- # A special `Field` contains the default indexing settings for all fields.
48
- # This field's resource name is:
49
- # `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`
50
- # Indexes defined on this `Field` will be applied to all fields which do not
51
- # have their own `Field` index configuration.
52
- # @!attribute [rw] index_config
53
- # @return [Google::Firestore::Admin::V1::Field::IndexConfig]
54
- # The index configuration for this field. If unset, field indexing will
55
- # revert to the configuration defined by the `ancestor_field`. To
56
- # explicitly remove all indexes for this field, specify an index config
57
- # with an empty list of indexes.
58
- class Field
59
- # The index configuration for this field.
60
- # @!attribute [rw] indexes
61
- # @return [Array<Google::Firestore::Admin::V1::Index>]
62
- # The indexes supported for this field.
63
- # @!attribute [rw] uses_ancestor_config
64
- # @return [true, false]
65
- # Output only. When true, the `Field`'s index configuration is set from the
66
- # configuration specified by the `ancestor_field`.
67
- # When false, the `Field`'s index configuration is defined explicitly.
68
- # @!attribute [rw] ancestor_field
69
- # @return [String]
70
- # Output only. Specifies the resource name of the `Field` from which this field's
71
- # index configuration is set (when `uses_ancestor_config` is true),
72
- # or from which it *would* be set if this field had no index configuration
73
- # (when `uses_ancestor_config` is false).
74
- # @!attribute [rw] reverting
75
- # @return [true, false]
76
- # Output only
77
- # When true, the `Field`'s index configuration is in the process of being
78
- # reverted. Once complete, the index config will transition to the same
79
- # state as the field specified by `ancestor_field`, at which point
80
- # `uses_ancestor_config` will be `true` and `reverting` will be `false`.
81
- class IndexConfig; end
82
- end
83
- end
84
- end
85
- end
86
- end
@@ -1,161 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Firestore
18
- module Admin
19
- module V1
20
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::CreateIndex FirestoreAdmin::CreateIndex}.
21
- # @!attribute [rw] parent
22
- # @return [String]
23
- # Required. A parent name of the form
24
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`
25
- # @!attribute [rw] index
26
- # @return [Google::Firestore::Admin::V1::Index]
27
- # Required. The composite index to create.
28
- class CreateIndexRequest; end
29
-
30
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::ListIndexes FirestoreAdmin::ListIndexes}.
31
- # @!attribute [rw] parent
32
- # @return [String]
33
- # Required. A parent name of the form
34
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`
35
- # @!attribute [rw] filter
36
- # @return [String]
37
- # The filter to apply to list results.
38
- # @!attribute [rw] page_size
39
- # @return [Integer]
40
- # The number of results to return.
41
- # @!attribute [rw] page_token
42
- # @return [String]
43
- # A page token, returned from a previous call to
44
- # {Google::Firestore::Admin::V1::FirestoreAdmin::ListIndexes FirestoreAdmin::ListIndexes}, that may be used to get the next
45
- # page of results.
46
- class ListIndexesRequest; end
47
-
48
- # The response for {Google::Firestore::Admin::V1::FirestoreAdmin::ListIndexes FirestoreAdmin::ListIndexes}.
49
- # @!attribute [rw] indexes
50
- # @return [Array<Google::Firestore::Admin::V1::Index>]
51
- # The requested indexes.
52
- # @!attribute [rw] next_page_token
53
- # @return [String]
54
- # A page token that may be used to request another page of results. If blank,
55
- # this is the last page.
56
- class ListIndexesResponse; end
57
-
58
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::GetIndex FirestoreAdmin::GetIndex}.
59
- # @!attribute [rw] name
60
- # @return [String]
61
- # Required. A name of the form
62
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`
63
- class GetIndexRequest; end
64
-
65
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::DeleteIndex FirestoreAdmin::DeleteIndex}.
66
- # @!attribute [rw] name
67
- # @return [String]
68
- # Required. A name of the form
69
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`
70
- class DeleteIndexRequest; end
71
-
72
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::UpdateField FirestoreAdmin::UpdateField}.
73
- # @!attribute [rw] field
74
- # @return [Google::Firestore::Admin::V1::Field]
75
- # Required. The field to be updated.
76
- # @!attribute [rw] update_mask
77
- # @return [Google::Protobuf::FieldMask]
78
- # A mask, relative to the field. If specified, only configuration specified
79
- # by this field_mask will be updated in the field.
80
- class UpdateFieldRequest; end
81
-
82
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::GetField FirestoreAdmin::GetField}.
83
- # @!attribute [rw] name
84
- # @return [String]
85
- # Required. A name of the form
86
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`
87
- class GetFieldRequest; end
88
-
89
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::ListFields FirestoreAdmin::ListFields}.
90
- # @!attribute [rw] parent
91
- # @return [String]
92
- # Required. A parent name of the form
93
- # `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`
94
- # @!attribute [rw] filter
95
- # @return [String]
96
- # The filter to apply to list results. Currently,
97
- # {Google::Firestore::Admin::V1::FirestoreAdmin::ListFields FirestoreAdmin::ListFields} only supports listing fields
98
- # that have been explicitly overridden. To issue this query, call
99
- # {Google::Firestore::Admin::V1::FirestoreAdmin::ListFields FirestoreAdmin::ListFields} with the filter set to
100
- # `indexConfig.usesAncestorConfig:false`.
101
- # @!attribute [rw] page_size
102
- # @return [Integer]
103
- # The number of results to return.
104
- # @!attribute [rw] page_token
105
- # @return [String]
106
- # A page token, returned from a previous call to
107
- # {Google::Firestore::Admin::V1::FirestoreAdmin::ListFields FirestoreAdmin::ListFields}, that may be used to get the next
108
- # page of results.
109
- class ListFieldsRequest; end
110
-
111
- # The response for {Google::Firestore::Admin::V1::FirestoreAdmin::ListFields FirestoreAdmin::ListFields}.
112
- # @!attribute [rw] fields
113
- # @return [Array<Google::Firestore::Admin::V1::Field>]
114
- # The requested fields.
115
- # @!attribute [rw] next_page_token
116
- # @return [String]
117
- # A page token that may be used to request another page of results. If blank,
118
- # this is the last page.
119
- class ListFieldsResponse; end
120
-
121
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::ExportDocuments FirestoreAdmin::ExportDocuments}.
122
- # @!attribute [rw] name
123
- # @return [String]
124
- # Required. Database to export. Should be of the form:
125
- # `projects/{project_id}/databases/{database_id}`.
126
- # @!attribute [rw] collection_ids
127
- # @return [Array<String>]
128
- # Which collection ids to export. Unspecified means all collections.
129
- # @!attribute [rw] output_uri_prefix
130
- # @return [String]
131
- # The output URI. Currently only supports Google Cloud Storage URIs of the
132
- # form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name
133
- # of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional
134
- # Google Cloud Storage namespace path. When
135
- # choosing a name, be sure to consider Google Cloud Storage naming
136
- # guidelines: https://cloud.google.com/storage/docs/naming.
137
- # If the URI is a bucket (without a namespace path), a prefix will be
138
- # generated based on the start time.
139
- class ExportDocumentsRequest; end
140
-
141
- # The request for {Google::Firestore::Admin::V1::FirestoreAdmin::ImportDocuments FirestoreAdmin::ImportDocuments}.
142
- # @!attribute [rw] name
143
- # @return [String]
144
- # Required. Database to import into. Should be of the form:
145
- # `projects/{project_id}/databases/{database_id}`.
146
- # @!attribute [rw] collection_ids
147
- # @return [Array<String>]
148
- # Which collection ids to import. Unspecified means all collections included
149
- # in the import.
150
- # @!attribute [rw] input_uri_prefix
151
- # @return [String]
152
- # Location of the exported files.
153
- # This must match the output_uri_prefix of an ExportDocumentsResponse from
154
- # an export that has completed successfully.
155
- # See:
156
- # {Google::Firestore::Admin::V1::ExportDocumentsResponse#output_uri_prefix}.
157
- class ImportDocumentsRequest; end
158
- end
159
- end
160
- end
161
- end