xref: /aosp_15_r20/external/googleapis/google/cloud/contentwarehouse/v1/document.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.contentwarehouse.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/documentai/v1/document.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/type/datetime.proto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ContentWarehouse.V1";
26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/contentwarehouse/apiv1/contentwarehousepb;contentwarehousepb";
27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DocumentProto";
29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.contentwarehouse.v1";
30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ContentWarehouse\\V1";
31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ContentWarehouse::V1";
32*d5c09012SAndroid Build Coastguard Worker
33*d5c09012SAndroid Build Coastguard Worker// Defines the structure for content warehouse document proto.
34*d5c09012SAndroid Build Coastguard Workermessage Document {
35*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
36*d5c09012SAndroid Build Coastguard Worker    type: "contentwarehouse.googleapis.com/Document"
37*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/documents/{document}"
38*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/documents/referenceId/{reference_id}"
39*d5c09012SAndroid Build Coastguard Worker  };
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // The resource name of the document.
42*d5c09012SAndroid Build Coastguard Worker  // Format:
43*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documents/{document_id}.
44*d5c09012SAndroid Build Coastguard Worker  //
45*d5c09012SAndroid Build Coastguard Worker  // The name is ignored when creating a document.
46*d5c09012SAndroid Build Coastguard Worker  string name = 1;
47*d5c09012SAndroid Build Coastguard Worker
48*d5c09012SAndroid Build Coastguard Worker  // The reference ID set by customers. Must be unique per project and location.
49*d5c09012SAndroid Build Coastguard Worker  string reference_id = 11;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker  // Required. Display name of the document given by the user. This name will be
52*d5c09012SAndroid Build Coastguard Worker  // displayed in the UI. Customer can populate this field with the name of the
53*d5c09012SAndroid Build Coastguard Worker  // document. This differs from the 'title' field as 'title' is optional and
54*d5c09012SAndroid Build Coastguard Worker  // stores the top heading in the document.
55*d5c09012SAndroid Build Coastguard Worker  string display_name = 2 [(google.api.field_behavior) = REQUIRED];
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker  // Title that describes the document.
58*d5c09012SAndroid Build Coastguard Worker  // This can be the top heading or text that describes the document.
59*d5c09012SAndroid Build Coastguard Worker  string title = 18;
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker  // Uri to display the document, for example, in the UI.
62*d5c09012SAndroid Build Coastguard Worker  string display_uri = 17;
63*d5c09012SAndroid Build Coastguard Worker
64*d5c09012SAndroid Build Coastguard Worker  // The Document schema name.
65*d5c09012SAndroid Build Coastguard Worker  // Format:
66*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.
67*d5c09012SAndroid Build Coastguard Worker  string document_schema_name = 3 [(google.api.resource_reference) = {
68*d5c09012SAndroid Build Coastguard Worker    type: "contentwarehouse.googleapis.com/DocumentSchema"
69*d5c09012SAndroid Build Coastguard Worker  }];
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker  oneof structured_content {
72*d5c09012SAndroid Build Coastguard Worker    // Other document format, such as PPTX, XLXS
73*d5c09012SAndroid Build Coastguard Worker    string plain_text = 15;
74*d5c09012SAndroid Build Coastguard Worker
75*d5c09012SAndroid Build Coastguard Worker    // Document AI format to save the structured content, including OCR.
76*d5c09012SAndroid Build Coastguard Worker    google.cloud.documentai.v1.Document cloud_ai_document = 4;
77*d5c09012SAndroid Build Coastguard Worker  }
78*d5c09012SAndroid Build Coastguard Worker
79*d5c09012SAndroid Build Coastguard Worker  // A path linked to structured content file.
80*d5c09012SAndroid Build Coastguard Worker  string structured_content_uri = 16 [deprecated = true];
81*d5c09012SAndroid Build Coastguard Worker
82*d5c09012SAndroid Build Coastguard Worker  // Raw document file.
83*d5c09012SAndroid Build Coastguard Worker  oneof raw_document {
84*d5c09012SAndroid Build Coastguard Worker    // Raw document file in Cloud Storage path.
85*d5c09012SAndroid Build Coastguard Worker    string raw_document_path = 5;
86*d5c09012SAndroid Build Coastguard Worker
87*d5c09012SAndroid Build Coastguard Worker    // Raw document content.
88*d5c09012SAndroid Build Coastguard Worker    bytes inline_raw_document = 6;
89*d5c09012SAndroid Build Coastguard Worker  }
90*d5c09012SAndroid Build Coastguard Worker
91*d5c09012SAndroid Build Coastguard Worker  // List of values that are user supplied metadata.
92*d5c09012SAndroid Build Coastguard Worker  repeated Property properties = 7;
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the document is last updated.
95*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 8
96*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the document is created.
99*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 9
100*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker  // This is used when DocAI was not used to load the document and parsing/
103*d5c09012SAndroid Build Coastguard Worker  // extracting is needed for the inline_raw_document.  For example, if
104*d5c09012SAndroid Build Coastguard Worker  // inline_raw_document is the byte representation of a PDF file, then
105*d5c09012SAndroid Build Coastguard Worker  // this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF.
106*d5c09012SAndroid Build Coastguard Worker  RawDocumentFileType raw_document_file_type = 10;
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // If true, makes the document visible to asynchronous policies and rules.
109*d5c09012SAndroid Build Coastguard Worker  bool async_enabled = 12 [deprecated = true];
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // Indicates the category (image, audio, video etc.) of the original content.
112*d5c09012SAndroid Build Coastguard Worker  ContentCategory content_category = 20;
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // If true, text extraction will not be performed.
115*d5c09012SAndroid Build Coastguard Worker  bool text_extraction_disabled = 19 [deprecated = true];
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // If true, text extraction will be performed.
118*d5c09012SAndroid Build Coastguard Worker  bool text_extraction_enabled = 21;
119*d5c09012SAndroid Build Coastguard Worker
120*d5c09012SAndroid Build Coastguard Worker  // The user who creates the document.
121*d5c09012SAndroid Build Coastguard Worker  string creator = 13;
122*d5c09012SAndroid Build Coastguard Worker
123*d5c09012SAndroid Build Coastguard Worker  // The user who lastly updates the document.
124*d5c09012SAndroid Build Coastguard Worker  string updater = 14;
125*d5c09012SAndroid Build Coastguard Worker
126*d5c09012SAndroid Build Coastguard Worker  // Output only. If linked to a Collection with RetentionPolicy, the date when
127*d5c09012SAndroid Build Coastguard Worker  // the document becomes mutable.
128*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp disposition_time = 22
129*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
130*d5c09012SAndroid Build Coastguard Worker
131*d5c09012SAndroid Build Coastguard Worker  // Output only. Indicates if the document has a legal hold on it.
132*d5c09012SAndroid Build Coastguard Worker  bool legal_hold = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
133*d5c09012SAndroid Build Coastguard Worker}
134*d5c09012SAndroid Build Coastguard Worker
135*d5c09012SAndroid Build Coastguard Worker// References to the documents.
136*d5c09012SAndroid Build Coastguard Workermessage DocumentReference {
137*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the referenced document.
138*d5c09012SAndroid Build Coastguard Worker  string document_name = 1 [
139*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
140*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
141*d5c09012SAndroid Build Coastguard Worker      type: "contentwarehouse.googleapis.com/Document"
142*d5c09012SAndroid Build Coastguard Worker    }
143*d5c09012SAndroid Build Coastguard Worker  ];
144*d5c09012SAndroid Build Coastguard Worker
145*d5c09012SAndroid Build Coastguard Worker  // display_name of the referenced document; this name does not need to be
146*d5c09012SAndroid Build Coastguard Worker  // consistent to the display_name in the Document proto, depending on the ACL
147*d5c09012SAndroid Build Coastguard Worker  // constraint.
148*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Stores the subset of the referenced document's content.
151*d5c09012SAndroid Build Coastguard Worker  // This is useful to allow user peek the information of the referenced
152*d5c09012SAndroid Build Coastguard Worker  // document.
153*d5c09012SAndroid Build Coastguard Worker  string snippet = 3;
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // The document type of the document being referenced.
156*d5c09012SAndroid Build Coastguard Worker  bool document_is_folder = 4;
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the document is last updated.
159*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 5
160*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
161*d5c09012SAndroid Build Coastguard Worker
162*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the document is created.
163*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 6
164*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the document is deleted.
167*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp delete_time = 7
168*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
169*d5c09012SAndroid Build Coastguard Worker
170*d5c09012SAndroid Build Coastguard Worker  // Document is a folder with retention policy.
171*d5c09012SAndroid Build Coastguard Worker  bool document_is_retention_folder = 8;
172*d5c09012SAndroid Build Coastguard Worker
173*d5c09012SAndroid Build Coastguard Worker  // Document is a folder with legal hold.
174*d5c09012SAndroid Build Coastguard Worker  bool document_is_legal_hold_folder = 9;
175*d5c09012SAndroid Build Coastguard Worker}
176*d5c09012SAndroid Build Coastguard Worker
177*d5c09012SAndroid Build Coastguard Worker// Property of a document.
178*d5c09012SAndroid Build Coastguard Workermessage Property {
179*d5c09012SAndroid Build Coastguard Worker  // Required. Must match the name of a PropertyDefinition in the
180*d5c09012SAndroid Build Coastguard Worker  // DocumentSchema.
181*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // Type of the property.
184*d5c09012SAndroid Build Coastguard Worker  // Must match the property_options type of the matching PropertyDefinition.
185*d5c09012SAndroid Build Coastguard Worker  // Value of the Property parsed into a specific data type.
186*d5c09012SAndroid Build Coastguard Worker  // Specific type value(s) obtained from Document AIs Property.mention_text
187*d5c09012SAndroid Build Coastguard Worker  // field.
188*d5c09012SAndroid Build Coastguard Worker  oneof values {
189*d5c09012SAndroid Build Coastguard Worker    // Integer property values.
190*d5c09012SAndroid Build Coastguard Worker    IntegerArray integer_values = 2;
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker    // Float property values.
193*d5c09012SAndroid Build Coastguard Worker    FloatArray float_values = 3;
194*d5c09012SAndroid Build Coastguard Worker
195*d5c09012SAndroid Build Coastguard Worker    // String/text property values.
196*d5c09012SAndroid Build Coastguard Worker    TextArray text_values = 4;
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker    // Enum property values.
199*d5c09012SAndroid Build Coastguard Worker    EnumArray enum_values = 5;
200*d5c09012SAndroid Build Coastguard Worker
201*d5c09012SAndroid Build Coastguard Worker    // Nested structured data property values.
202*d5c09012SAndroid Build Coastguard Worker    PropertyArray property_values = 6;
203*d5c09012SAndroid Build Coastguard Worker
204*d5c09012SAndroid Build Coastguard Worker    // Date time property values.
205*d5c09012SAndroid Build Coastguard Worker    // It is not supported by CMEK compliant deployment.
206*d5c09012SAndroid Build Coastguard Worker    DateTimeArray date_time_values = 7;
207*d5c09012SAndroid Build Coastguard Worker
208*d5c09012SAndroid Build Coastguard Worker    // Map property values.
209*d5c09012SAndroid Build Coastguard Worker    MapProperty map_property = 8;
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker    // Timestamp property values.
212*d5c09012SAndroid Build Coastguard Worker    // It is not supported by CMEK compliant deployment.
213*d5c09012SAndroid Build Coastguard Worker    TimestampArray timestamp_values = 9;
214*d5c09012SAndroid Build Coastguard Worker  }
215*d5c09012SAndroid Build Coastguard Worker}
216*d5c09012SAndroid Build Coastguard Worker
217*d5c09012SAndroid Build Coastguard Worker// Integer values.
218*d5c09012SAndroid Build Coastguard Workermessage IntegerArray {
219*d5c09012SAndroid Build Coastguard Worker  // List of integer values.
220*d5c09012SAndroid Build Coastguard Worker  repeated int32 values = 1;
221*d5c09012SAndroid Build Coastguard Worker}
222*d5c09012SAndroid Build Coastguard Worker
223*d5c09012SAndroid Build Coastguard Worker// Float values.
224*d5c09012SAndroid Build Coastguard Workermessage FloatArray {
225*d5c09012SAndroid Build Coastguard Worker  // List of float values.
226*d5c09012SAndroid Build Coastguard Worker  repeated float values = 1;
227*d5c09012SAndroid Build Coastguard Worker}
228*d5c09012SAndroid Build Coastguard Worker
229*d5c09012SAndroid Build Coastguard Worker// String/text values.
230*d5c09012SAndroid Build Coastguard Workermessage TextArray {
231*d5c09012SAndroid Build Coastguard Worker  // List of text values.
232*d5c09012SAndroid Build Coastguard Worker  repeated string values = 1;
233*d5c09012SAndroid Build Coastguard Worker}
234*d5c09012SAndroid Build Coastguard Worker
235*d5c09012SAndroid Build Coastguard Worker// Enum values.
236*d5c09012SAndroid Build Coastguard Workermessage EnumArray {
237*d5c09012SAndroid Build Coastguard Worker  // List of enum values.
238*d5c09012SAndroid Build Coastguard Worker  repeated string values = 1;
239*d5c09012SAndroid Build Coastguard Worker}
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker// DateTime values.
242*d5c09012SAndroid Build Coastguard Workermessage DateTimeArray {
243*d5c09012SAndroid Build Coastguard Worker  // List of datetime values.
244*d5c09012SAndroid Build Coastguard Worker  // Both OffsetDateTime and ZonedDateTime are supported.
245*d5c09012SAndroid Build Coastguard Worker  repeated google.type.DateTime values = 1;
246*d5c09012SAndroid Build Coastguard Worker}
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker// Timestamp values.
249*d5c09012SAndroid Build Coastguard Workermessage TimestampArray {
250*d5c09012SAndroid Build Coastguard Worker  // List of timestamp values.
251*d5c09012SAndroid Build Coastguard Worker  repeated TimestampValue values = 1;
252*d5c09012SAndroid Build Coastguard Worker}
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker// Timestamp value type.
255*d5c09012SAndroid Build Coastguard Workermessage TimestampValue {
256*d5c09012SAndroid Build Coastguard Worker  oneof value {
257*d5c09012SAndroid Build Coastguard Worker    // Timestamp value
258*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Timestamp timestamp_value = 1;
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker    // The string must represent a valid instant in UTC and is parsed using
261*d5c09012SAndroid Build Coastguard Worker    // java.time.format.DateTimeFormatter.ISO_INSTANT.
262*d5c09012SAndroid Build Coastguard Worker    // e.g. "2013-09-29T18:46:19Z"
263*d5c09012SAndroid Build Coastguard Worker    string text_value = 2;
264*d5c09012SAndroid Build Coastguard Worker  }
265*d5c09012SAndroid Build Coastguard Worker}
266*d5c09012SAndroid Build Coastguard Worker
267*d5c09012SAndroid Build Coastguard Worker// Property values.
268*d5c09012SAndroid Build Coastguard Workermessage PropertyArray {
269*d5c09012SAndroid Build Coastguard Worker  // List of property values.
270*d5c09012SAndroid Build Coastguard Worker  repeated Property properties = 1;
271*d5c09012SAndroid Build Coastguard Worker}
272*d5c09012SAndroid Build Coastguard Worker
273*d5c09012SAndroid Build Coastguard Worker// Map property value.
274*d5c09012SAndroid Build Coastguard Worker// Represents a structured entries of key value pairs, consisting of field names
275*d5c09012SAndroid Build Coastguard Worker// which map to dynamically typed values.
276*d5c09012SAndroid Build Coastguard Workermessage MapProperty {
277*d5c09012SAndroid Build Coastguard Worker  // Unordered map of dynamically typed values.
278*d5c09012SAndroid Build Coastguard Worker  map<string, Value> fields = 1;
279*d5c09012SAndroid Build Coastguard Worker}
280*d5c09012SAndroid Build Coastguard Worker
281*d5c09012SAndroid Build Coastguard Worker// `Value` represents a dynamically typed value which can be either be
282*d5c09012SAndroid Build Coastguard Worker// a float, a integer, a string, or a datetime value. A producer of value is
283*d5c09012SAndroid Build Coastguard Worker// expected to set one of these variants. Absence of any variant indicates an
284*d5c09012SAndroid Build Coastguard Worker// error.
285*d5c09012SAndroid Build Coastguard Workermessage Value {
286*d5c09012SAndroid Build Coastguard Worker  // The kind of value.
287*d5c09012SAndroid Build Coastguard Worker  oneof kind {
288*d5c09012SAndroid Build Coastguard Worker    // Represents a float value.
289*d5c09012SAndroid Build Coastguard Worker    float float_value = 1;
290*d5c09012SAndroid Build Coastguard Worker
291*d5c09012SAndroid Build Coastguard Worker    // Represents a integer value.
292*d5c09012SAndroid Build Coastguard Worker    int32 int_value = 2;
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker    // Represents a string value.
295*d5c09012SAndroid Build Coastguard Worker    string string_value = 3;
296*d5c09012SAndroid Build Coastguard Worker
297*d5c09012SAndroid Build Coastguard Worker    // Represents an enum value.
298*d5c09012SAndroid Build Coastguard Worker    EnumValue enum_value = 4;
299*d5c09012SAndroid Build Coastguard Worker
300*d5c09012SAndroid Build Coastguard Worker    // Represents a datetime value.
301*d5c09012SAndroid Build Coastguard Worker    google.type.DateTime datetime_value = 5;
302*d5c09012SAndroid Build Coastguard Worker
303*d5c09012SAndroid Build Coastguard Worker    // Represents a timestamp value.
304*d5c09012SAndroid Build Coastguard Worker    TimestampValue timestamp_value = 6;
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker    // Represents a boolean value.
307*d5c09012SAndroid Build Coastguard Worker    bool boolean_value = 7;
308*d5c09012SAndroid Build Coastguard Worker  }
309*d5c09012SAndroid Build Coastguard Worker}
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker// Represents the string value of the enum field.
312*d5c09012SAndroid Build Coastguard Workermessage EnumValue {
313*d5c09012SAndroid Build Coastguard Worker  // String value of the enum field. This must match defined set of enums
314*d5c09012SAndroid Build Coastguard Worker  // in document schema using EnumTypeOptions.
315*d5c09012SAndroid Build Coastguard Worker  string value = 1;
316*d5c09012SAndroid Build Coastguard Worker}
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker// When a raw document is supplied, this indicates the file format
319*d5c09012SAndroid Build Coastguard Workerenum RawDocumentFileType {
320*d5c09012SAndroid Build Coastguard Worker  // No raw document specified or it is non-parsable
321*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED = 0;
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker  // Adobe PDF format
324*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_PDF = 1;
325*d5c09012SAndroid Build Coastguard Worker
326*d5c09012SAndroid Build Coastguard Worker  // Microsoft Word format
327*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_DOCX = 2;
328*d5c09012SAndroid Build Coastguard Worker
329*d5c09012SAndroid Build Coastguard Worker  // Microsoft Excel format
330*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_XLSX = 3;
331*d5c09012SAndroid Build Coastguard Worker
332*d5c09012SAndroid Build Coastguard Worker  // Microsoft Powerpoint format
333*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_PPTX = 4;
334*d5c09012SAndroid Build Coastguard Worker
335*d5c09012SAndroid Build Coastguard Worker  // UTF-8 encoded text format
336*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_TEXT = 5;
337*d5c09012SAndroid Build Coastguard Worker
338*d5c09012SAndroid Build Coastguard Worker  // TIFF or TIF image file format
339*d5c09012SAndroid Build Coastguard Worker  RAW_DOCUMENT_FILE_TYPE_TIFF = 6;
340*d5c09012SAndroid Build Coastguard Worker}
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker// When a raw document or structured content is supplied, this stores the
343*d5c09012SAndroid Build Coastguard Worker// content category.
344*d5c09012SAndroid Build Coastguard Workerenum ContentCategory {
345*d5c09012SAndroid Build Coastguard Worker  // No category is specified.
346*d5c09012SAndroid Build Coastguard Worker  CONTENT_CATEGORY_UNSPECIFIED = 0;
347*d5c09012SAndroid Build Coastguard Worker
348*d5c09012SAndroid Build Coastguard Worker  // Content is of image type.
349*d5c09012SAndroid Build Coastguard Worker  CONTENT_CATEGORY_IMAGE = 1;
350*d5c09012SAndroid Build Coastguard Worker
351*d5c09012SAndroid Build Coastguard Worker  // Content is of audio type.
352*d5c09012SAndroid Build Coastguard Worker  CONTENT_CATEGORY_AUDIO = 2;
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker  // Content is of video type.
355*d5c09012SAndroid Build Coastguard Worker  CONTENT_CATEGORY_VIDEO = 3;
356*d5c09012SAndroid Build Coastguard Worker}
357