Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/google/cloud/firestore_v1/types/common.py: 100%
18 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-09 06:27 +0000
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-09 06:27 +0000
1# -*- coding: utf-8 -*-
2# Copyright 2023 Google LLC
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16from __future__ import annotations
18from typing import MutableMapping, MutableSequence
20import proto # type: ignore
22from google.protobuf import timestamp_pb2 # type: ignore
25__protobuf__ = proto.module(
26 package="google.firestore.v1",
27 manifest={
28 "DocumentMask",
29 "Precondition",
30 "TransactionOptions",
31 },
32)
35class DocumentMask(proto.Message):
36 r"""A set of field paths on a document. Used to restrict a get or update
37 operation on a document to a subset of its fields. This is different
38 from standard field masks, as this is always scoped to a
39 [Document][google.firestore.v1.Document], and takes in account the
40 dynamic nature of [Value][google.firestore.v1.Value].
42 Attributes:
43 field_paths (MutableSequence[str]):
44 The list of field paths in the mask. See
45 [Document.fields][google.firestore.v1.Document.fields] for a
46 field path syntax reference.
47 """
49 field_paths: MutableSequence[str] = proto.RepeatedField(
50 proto.STRING,
51 number=1,
52 )
55class Precondition(proto.Message):
56 r"""A precondition on a document, used for conditional
57 operations.
59 This message has `oneof`_ fields (mutually exclusive fields).
60 For each oneof, at most one member field can be set at the same time.
61 Setting any member of the oneof automatically clears all other
62 members.
64 .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
66 Attributes:
67 exists (bool):
68 When set to ``true``, the target document must exist. When
69 set to ``false``, the target document must not exist.
71 This field is a member of `oneof`_ ``condition_type``.
72 update_time (google.protobuf.timestamp_pb2.Timestamp):
73 When set, the target document must exist and
74 have been last updated at that time. Timestamp
75 must be microsecond aligned.
77 This field is a member of `oneof`_ ``condition_type``.
78 """
80 exists: bool = proto.Field(
81 proto.BOOL,
82 number=1,
83 oneof="condition_type",
84 )
85 update_time: timestamp_pb2.Timestamp = proto.Field(
86 proto.MESSAGE,
87 number=2,
88 oneof="condition_type",
89 message=timestamp_pb2.Timestamp,
90 )
93class TransactionOptions(proto.Message):
94 r"""Options for creating a new transaction.
96 This message has `oneof`_ fields (mutually exclusive fields).
97 For each oneof, at most one member field can be set at the same time.
98 Setting any member of the oneof automatically clears all other
99 members.
101 .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
103 Attributes:
104 read_only (google.cloud.firestore_v1.types.TransactionOptions.ReadOnly):
105 The transaction can only be used for read
106 operations.
108 This field is a member of `oneof`_ ``mode``.
109 read_write (google.cloud.firestore_v1.types.TransactionOptions.ReadWrite):
110 The transaction can be used for both read and
111 write operations.
113 This field is a member of `oneof`_ ``mode``.
114 """
116 class ReadWrite(proto.Message):
117 r"""Options for a transaction that can be used to read and write
118 documents.
119 Firestore does not allow 3rd party auth requests to create
120 read-write. transactions.
122 Attributes:
123 retry_transaction (bytes):
124 An optional transaction to retry.
125 """
127 retry_transaction: bytes = proto.Field(
128 proto.BYTES,
129 number=1,
130 )
132 class ReadOnly(proto.Message):
133 r"""Options for a transaction that can only be used to read
134 documents.
137 .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
139 Attributes:
140 read_time (google.protobuf.timestamp_pb2.Timestamp):
141 Reads documents at the given time.
143 This must be a microsecond precision timestamp
144 within the past one hour, or if Point-in-Time
145 Recovery is enabled, can additionally be a whole
146 minute timestamp within the past 7 days.
148 This field is a member of `oneof`_ ``consistency_selector``.
149 """
151 read_time: timestamp_pb2.Timestamp = proto.Field(
152 proto.MESSAGE,
153 number=2,
154 oneof="consistency_selector",
155 message=timestamp_pb2.Timestamp,
156 )
158 read_only: ReadOnly = proto.Field(
159 proto.MESSAGE,
160 number=2,
161 oneof="mode",
162 message=ReadOnly,
163 )
164 read_write: ReadWrite = proto.Field(
165 proto.MESSAGE,
166 number=3,
167 oneof="mode",
168 message=ReadWrite,
169 )
172__all__ = tuple(sorted(__protobuf__.manifest))