xref: /aosp_15_r20/external/googleapis/google/area120/tables/v1alpha1/tables.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 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.area120.tables.v1alpha1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/area120/tables/apiv1alpha1/tablespb;tablespb";
28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TablesProto";
30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.area120.tables.v1alpha1";
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// The Tables Service provides an API for reading and updating tables.
33*d5c09012SAndroid Build Coastguard Worker// It defines the following resource model:
34*d5c09012SAndroid Build Coastguard Worker//
35*d5c09012SAndroid Build Coastguard Worker// - The API has a collection of [Table][google.area120.tables.v1alpha1.Table]
36*d5c09012SAndroid Build Coastguard Worker//   resources, named `tables/*`
37*d5c09012SAndroid Build Coastguard Worker//
38*d5c09012SAndroid Build Coastguard Worker// - Each Table has a collection of [Row][google.area120.tables.v1alpha1.Row]
39*d5c09012SAndroid Build Coastguard Worker//   resources, named `tables/*/rows/*`
40*d5c09012SAndroid Build Coastguard Worker//
41*d5c09012SAndroid Build Coastguard Worker// - The API has a collection of
42*d5c09012SAndroid Build Coastguard Worker//   [Workspace][google.area120.tables.v1alpha1.Workspace]
43*d5c09012SAndroid Build Coastguard Worker//   resources, named `workspaces/*`.
44*d5c09012SAndroid Build Coastguard Workerservice TablesService {
45*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "area120tables.googleapis.com";
46*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
47*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/drive,"
48*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/drive.file,"
49*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/drive.readonly,"
50*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/spreadsheets,"
51*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/spreadsheets.readonly,"
52*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/tables";
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // Gets a table. Returns NOT_FOUND if the table does not exist.
55*d5c09012SAndroid Build Coastguard Worker  rpc GetTable(GetTableRequest) returns (Table) {
56*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
57*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/{name=tables/*}"
58*d5c09012SAndroid Build Coastguard Worker    };
59*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
60*d5c09012SAndroid Build Coastguard Worker  }
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker  // Lists tables for the user.
63*d5c09012SAndroid Build Coastguard Worker  rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
64*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
65*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/tables"
66*d5c09012SAndroid Build Coastguard Worker    };
67*d5c09012SAndroid Build Coastguard Worker  }
68*d5c09012SAndroid Build Coastguard Worker
69*d5c09012SAndroid Build Coastguard Worker  // Gets a workspace. Returns NOT_FOUND if the workspace does not exist.
70*d5c09012SAndroid Build Coastguard Worker  rpc GetWorkspace(GetWorkspaceRequest) returns (Workspace) {
71*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
72*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/{name=workspaces/*}"
73*d5c09012SAndroid Build Coastguard Worker    };
74*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
75*d5c09012SAndroid Build Coastguard Worker  }
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // Lists workspaces for the user.
78*d5c09012SAndroid Build Coastguard Worker  rpc ListWorkspaces(ListWorkspacesRequest) returns (ListWorkspacesResponse) {
79*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
80*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/workspaces"
81*d5c09012SAndroid Build Coastguard Worker    };
82*d5c09012SAndroid Build Coastguard Worker  }
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker  // Gets a row. Returns NOT_FOUND if the row does not exist in the table.
85*d5c09012SAndroid Build Coastguard Worker  rpc GetRow(GetRowRequest) returns (Row) {
86*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
87*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/{name=tables/*/rows/*}"
88*d5c09012SAndroid Build Coastguard Worker    };
89*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
90*d5c09012SAndroid Build Coastguard Worker  }
91*d5c09012SAndroid Build Coastguard Worker
92*d5c09012SAndroid Build Coastguard Worker  // Lists rows in a table. Returns NOT_FOUND if the table does not exist.
93*d5c09012SAndroid Build Coastguard Worker  rpc ListRows(ListRowsRequest) returns (ListRowsResponse) {
94*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
95*d5c09012SAndroid Build Coastguard Worker      get: "/v1alpha1/{parent=tables/*}/rows"
96*d5c09012SAndroid Build Coastguard Worker    };
97*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
98*d5c09012SAndroid Build Coastguard Worker  }
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker  // Creates a row.
101*d5c09012SAndroid Build Coastguard Worker  rpc CreateRow(CreateRowRequest) returns (Row) {
102*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
103*d5c09012SAndroid Build Coastguard Worker      post: "/v1alpha1/{parent=tables/*}/rows"
104*d5c09012SAndroid Build Coastguard Worker      body: "row"
105*d5c09012SAndroid Build Coastguard Worker    };
106*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,row";
107*d5c09012SAndroid Build Coastguard Worker  }
108*d5c09012SAndroid Build Coastguard Worker
109*d5c09012SAndroid Build Coastguard Worker  // Creates multiple rows.
110*d5c09012SAndroid Build Coastguard Worker  rpc BatchCreateRows(BatchCreateRowsRequest) returns (BatchCreateRowsResponse) {
111*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
112*d5c09012SAndroid Build Coastguard Worker      post: "/v1alpha1/{parent=tables/*}/rows:batchCreate"
113*d5c09012SAndroid Build Coastguard Worker      body: "*"
114*d5c09012SAndroid Build Coastguard Worker    };
115*d5c09012SAndroid Build Coastguard Worker  }
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // Updates a row.
118*d5c09012SAndroid Build Coastguard Worker  rpc UpdateRow(UpdateRowRequest) returns (Row) {
119*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
120*d5c09012SAndroid Build Coastguard Worker      patch: "/v1alpha1/{row.name=tables/*/rows/*}"
121*d5c09012SAndroid Build Coastguard Worker      body: "row"
122*d5c09012SAndroid Build Coastguard Worker    };
123*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "row,update_mask";
124*d5c09012SAndroid Build Coastguard Worker  }
125*d5c09012SAndroid Build Coastguard Worker
126*d5c09012SAndroid Build Coastguard Worker  // Updates multiple rows.
127*d5c09012SAndroid Build Coastguard Worker  rpc BatchUpdateRows(BatchUpdateRowsRequest) returns (BatchUpdateRowsResponse) {
128*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
129*d5c09012SAndroid Build Coastguard Worker      post: "/v1alpha1/{parent=tables/*}/rows:batchUpdate"
130*d5c09012SAndroid Build Coastguard Worker      body: "*"
131*d5c09012SAndroid Build Coastguard Worker    };
132*d5c09012SAndroid Build Coastguard Worker  }
133*d5c09012SAndroid Build Coastguard Worker
134*d5c09012SAndroid Build Coastguard Worker  // Deletes a row.
135*d5c09012SAndroid Build Coastguard Worker  rpc DeleteRow(DeleteRowRequest) returns (google.protobuf.Empty) {
136*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
137*d5c09012SAndroid Build Coastguard Worker      delete: "/v1alpha1/{name=tables/*/rows/*}"
138*d5c09012SAndroid Build Coastguard Worker    };
139*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
140*d5c09012SAndroid Build Coastguard Worker  }
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker  // Deletes multiple rows.
143*d5c09012SAndroid Build Coastguard Worker  rpc BatchDeleteRows(BatchDeleteRowsRequest) returns (google.protobuf.Empty) {
144*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
145*d5c09012SAndroid Build Coastguard Worker      post: "/v1alpha1/{parent=tables/*}/rows:batchDelete"
146*d5c09012SAndroid Build Coastguard Worker      body: "*"
147*d5c09012SAndroid Build Coastguard Worker    };
148*d5c09012SAndroid Build Coastguard Worker  }
149*d5c09012SAndroid Build Coastguard Worker}
150*d5c09012SAndroid Build Coastguard Worker
151*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetTable.
152*d5c09012SAndroid Build Coastguard Workermessage GetTableRequest {
153*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the table to retrieve.
154*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
155*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
156*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
157*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
158*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Table"
159*d5c09012SAndroid Build Coastguard Worker    }
160*d5c09012SAndroid Build Coastguard Worker  ];
161*d5c09012SAndroid Build Coastguard Worker}
162*d5c09012SAndroid Build Coastguard Worker
163*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListTables.
164*d5c09012SAndroid Build Coastguard Workermessage ListTablesRequest {
165*d5c09012SAndroid Build Coastguard Worker  // The maximum number of tables to return. The service may return fewer than
166*d5c09012SAndroid Build Coastguard Worker  // this value.
167*d5c09012SAndroid Build Coastguard Worker  //
168*d5c09012SAndroid Build Coastguard Worker  // If unspecified, at most 20 tables are returned. The maximum value is 100;
169*d5c09012SAndroid Build Coastguard Worker  // values above 100 are coerced to 100.
170*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 1;
171*d5c09012SAndroid Build Coastguard Worker
172*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListTables` call.
173*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
174*d5c09012SAndroid Build Coastguard Worker  //
175*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListTables` must match
176*d5c09012SAndroid Build Coastguard Worker  // the call that provided the page token.
177*d5c09012SAndroid Build Coastguard Worker  string page_token = 2;
178*d5c09012SAndroid Build Coastguard Worker}
179*d5c09012SAndroid Build Coastguard Worker
180*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListTables.
181*d5c09012SAndroid Build Coastguard Workermessage ListTablesResponse {
182*d5c09012SAndroid Build Coastguard Worker  // The list of tables.
183*d5c09012SAndroid Build Coastguard Worker  repeated Table tables = 1;
184*d5c09012SAndroid Build Coastguard Worker
185*d5c09012SAndroid Build Coastguard Worker  // A token, which can be sent as `page_token` to retrieve the next page.
186*d5c09012SAndroid Build Coastguard Worker  // If this field is empty, there are no subsequent pages.
187*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
188*d5c09012SAndroid Build Coastguard Worker}
189*d5c09012SAndroid Build Coastguard Worker
190*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetWorkspace.
191*d5c09012SAndroid Build Coastguard Workermessage GetWorkspaceRequest {
192*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the workspace to retrieve.
193*d5c09012SAndroid Build Coastguard Worker  // Format: workspaces/{workspace}
194*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
195*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
196*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
197*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Workspace"
198*d5c09012SAndroid Build Coastguard Worker    }
199*d5c09012SAndroid Build Coastguard Worker  ];
200*d5c09012SAndroid Build Coastguard Worker}
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListWorkspaces.
203*d5c09012SAndroid Build Coastguard Workermessage ListWorkspacesRequest {
204*d5c09012SAndroid Build Coastguard Worker  // The maximum number of workspaces to return. The service may return fewer
205*d5c09012SAndroid Build Coastguard Worker  // than this value.
206*d5c09012SAndroid Build Coastguard Worker  //
207*d5c09012SAndroid Build Coastguard Worker  // If unspecified, at most 10 workspaces are returned. The maximum value is
208*d5c09012SAndroid Build Coastguard Worker  // 25; values above 25 are coerced to 25.
209*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 1;
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListWorkspaces` call.
212*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
213*d5c09012SAndroid Build Coastguard Worker  //
214*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListWorkspaces` must
215*d5c09012SAndroid Build Coastguard Worker  // match the call that provided the page token.
216*d5c09012SAndroid Build Coastguard Worker  string page_token = 2;
217*d5c09012SAndroid Build Coastguard Worker}
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListWorkspaces.
220*d5c09012SAndroid Build Coastguard Workermessage ListWorkspacesResponse {
221*d5c09012SAndroid Build Coastguard Worker  // The list of workspaces.
222*d5c09012SAndroid Build Coastguard Worker  repeated Workspace workspaces = 1;
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // A token, which can be sent as `page_token` to retrieve the next page.
225*d5c09012SAndroid Build Coastguard Worker  // If this field is empty, there are no subsequent pages.
226*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
227*d5c09012SAndroid Build Coastguard Worker}
228*d5c09012SAndroid Build Coastguard Worker
229*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetRow.
230*d5c09012SAndroid Build Coastguard Workermessage GetRowRequest {
231*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the row to retrieve.
232*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}/rows/{row}
233*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
234*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
235*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
236*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Row"
237*d5c09012SAndroid Build Coastguard Worker    }
238*d5c09012SAndroid Build Coastguard Worker  ];
239*d5c09012SAndroid Build Coastguard Worker
240*d5c09012SAndroid Build Coastguard Worker  // Optional. Column key to use for values in the row.
241*d5c09012SAndroid Build Coastguard Worker  // Defaults to user entered name.
242*d5c09012SAndroid Build Coastguard Worker  View view = 2 [(google.api.field_behavior) = OPTIONAL];
243*d5c09012SAndroid Build Coastguard Worker}
244*d5c09012SAndroid Build Coastguard Worker
245*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListRows.
246*d5c09012SAndroid Build Coastguard Workermessage ListRowsRequest {
247*d5c09012SAndroid Build Coastguard Worker  // Required. The parent table.
248*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
249*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
250*d5c09012SAndroid Build Coastguard Worker
251*d5c09012SAndroid Build Coastguard Worker  // The maximum number of rows to return. The service may return fewer than
252*d5c09012SAndroid Build Coastguard Worker  // this value.
253*d5c09012SAndroid Build Coastguard Worker  //
254*d5c09012SAndroid Build Coastguard Worker  // If unspecified, at most 50 rows are returned. The maximum value is 1,000;
255*d5c09012SAndroid Build Coastguard Worker  // values above 1,000 are coerced to 1,000.
256*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
257*d5c09012SAndroid Build Coastguard Worker
258*d5c09012SAndroid Build Coastguard Worker  // A page token, received from a previous `ListRows` call.
259*d5c09012SAndroid Build Coastguard Worker  // Provide this to retrieve the subsequent page.
260*d5c09012SAndroid Build Coastguard Worker  //
261*d5c09012SAndroid Build Coastguard Worker  // When paginating, all other parameters provided to `ListRows` must match
262*d5c09012SAndroid Build Coastguard Worker  // the call that provided the page token.
263*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker  // Optional. Column key to use for values in the row.
266*d5c09012SAndroid Build Coastguard Worker  // Defaults to user entered name.
267*d5c09012SAndroid Build Coastguard Worker  View view = 4 [(google.api.field_behavior) = OPTIONAL];
268*d5c09012SAndroid Build Coastguard Worker
269*d5c09012SAndroid Build Coastguard Worker  // Optional. Raw text query to search for in rows of the table.
270*d5c09012SAndroid Build Coastguard Worker  // Special characters must be escaped. Logical operators and field specific
271*d5c09012SAndroid Build Coastguard Worker  // filtering not supported.
272*d5c09012SAndroid Build Coastguard Worker  string filter = 5 [(google.api.field_behavior) = OPTIONAL];
273*d5c09012SAndroid Build Coastguard Worker}
274*d5c09012SAndroid Build Coastguard Worker
275*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListRows.
276*d5c09012SAndroid Build Coastguard Workermessage ListRowsResponse {
277*d5c09012SAndroid Build Coastguard Worker  // The rows from the specified table.
278*d5c09012SAndroid Build Coastguard Worker  repeated Row rows = 1;
279*d5c09012SAndroid Build Coastguard Worker
280*d5c09012SAndroid Build Coastguard Worker  // A token, which can be sent as `page_token` to retrieve the next page.
281*d5c09012SAndroid Build Coastguard Worker  // If this field is empty, there are no subsequent pages.
282*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
283*d5c09012SAndroid Build Coastguard Worker}
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.CreateRow.
286*d5c09012SAndroid Build Coastguard Workermessage CreateRowRequest {
287*d5c09012SAndroid Build Coastguard Worker  // Required. The parent table where this row will be created.
288*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
289*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
290*d5c09012SAndroid Build Coastguard Worker
291*d5c09012SAndroid Build Coastguard Worker  // Required. The row to create.
292*d5c09012SAndroid Build Coastguard Worker  Row row = 2 [(google.api.field_behavior) = REQUIRED];
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker  // Optional. Column key to use for values in the row.
295*d5c09012SAndroid Build Coastguard Worker  // Defaults to user entered name.
296*d5c09012SAndroid Build Coastguard Worker  View view = 3 [(google.api.field_behavior) = OPTIONAL];
297*d5c09012SAndroid Build Coastguard Worker}
298*d5c09012SAndroid Build Coastguard Worker
299*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchCreateRows.
300*d5c09012SAndroid Build Coastguard Workermessage BatchCreateRowsRequest {
301*d5c09012SAndroid Build Coastguard Worker  // Required. The parent table where the rows will be created.
302*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
303*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker  // Required. The request message specifying the rows to create.
306*d5c09012SAndroid Build Coastguard Worker  //
307*d5c09012SAndroid Build Coastguard Worker  // A maximum of 500 rows can be created in a single batch.
308*d5c09012SAndroid Build Coastguard Worker  repeated CreateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED];
309*d5c09012SAndroid Build Coastguard Worker}
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.BatchCreateRows.
312*d5c09012SAndroid Build Coastguard Workermessage BatchCreateRowsResponse {
313*d5c09012SAndroid Build Coastguard Worker  // The created rows.
314*d5c09012SAndroid Build Coastguard Worker  repeated Row rows = 1;
315*d5c09012SAndroid Build Coastguard Worker}
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.UpdateRow.
318*d5c09012SAndroid Build Coastguard Workermessage UpdateRowRequest {
319*d5c09012SAndroid Build Coastguard Worker  // Required. The row to update.
320*d5c09012SAndroid Build Coastguard Worker  Row row = 1 [(google.api.field_behavior) = REQUIRED];
321*d5c09012SAndroid Build Coastguard Worker
322*d5c09012SAndroid Build Coastguard Worker  // The list of fields to update.
323*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker  // Optional. Column key to use for values in the row.
326*d5c09012SAndroid Build Coastguard Worker  // Defaults to user entered name.
327*d5c09012SAndroid Build Coastguard Worker  View view = 3 [(google.api.field_behavior) = OPTIONAL];
328*d5c09012SAndroid Build Coastguard Worker}
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchUpdateRows.
331*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateRowsRequest {
332*d5c09012SAndroid Build Coastguard Worker  // Required. The parent table shared by all rows being updated.
333*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
334*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker  // Required. The request messages specifying the rows to update.
337*d5c09012SAndroid Build Coastguard Worker  //
338*d5c09012SAndroid Build Coastguard Worker  // A maximum of 500 rows can be modified in a single batch.
339*d5c09012SAndroid Build Coastguard Worker  repeated UpdateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED];
340*d5c09012SAndroid Build Coastguard Worker}
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.BatchUpdateRows.
343*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateRowsResponse {
344*d5c09012SAndroid Build Coastguard Worker  // The updated rows.
345*d5c09012SAndroid Build Coastguard Worker  repeated Row rows = 1;
346*d5c09012SAndroid Build Coastguard Worker}
347*d5c09012SAndroid Build Coastguard Worker
348*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.DeleteRow
349*d5c09012SAndroid Build Coastguard Workermessage DeleteRowRequest {
350*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the row to delete.
351*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}/rows/{row}
352*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
353*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
354*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
355*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Row"
356*d5c09012SAndroid Build Coastguard Worker    }
357*d5c09012SAndroid Build Coastguard Worker  ];
358*d5c09012SAndroid Build Coastguard Worker}
359*d5c09012SAndroid Build Coastguard Worker
360*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchDeleteRows
361*d5c09012SAndroid Build Coastguard Workermessage BatchDeleteRowsRequest {
362*d5c09012SAndroid Build Coastguard Worker  // Required. The parent table shared by all rows being deleted.
363*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}
364*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
365*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
366*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
367*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Table"
368*d5c09012SAndroid Build Coastguard Worker    }
369*d5c09012SAndroid Build Coastguard Worker  ];
370*d5c09012SAndroid Build Coastguard Worker
371*d5c09012SAndroid Build Coastguard Worker  // Required. The names of the rows to delete. All rows must belong to the parent table
372*d5c09012SAndroid Build Coastguard Worker  // or else the entire batch will fail. A maximum of 500 rows can be deleted
373*d5c09012SAndroid Build Coastguard Worker  // in a batch.
374*d5c09012SAndroid Build Coastguard Worker  // Format: tables/{table}/rows/{row}
375*d5c09012SAndroid Build Coastguard Worker  repeated string names = 2 [
376*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
377*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
378*d5c09012SAndroid Build Coastguard Worker      type: "area120tables.googleapis.com/Row"
379*d5c09012SAndroid Build Coastguard Worker    }
380*d5c09012SAndroid Build Coastguard Worker  ];
381*d5c09012SAndroid Build Coastguard Worker}
382*d5c09012SAndroid Build Coastguard Worker
383*d5c09012SAndroid Build Coastguard Worker// A single table.
384*d5c09012SAndroid Build Coastguard Workermessage Table {
385*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
386*d5c09012SAndroid Build Coastguard Worker    type: "area120tables.googleapis.com/Table"
387*d5c09012SAndroid Build Coastguard Worker    pattern: "tables/{table}"
388*d5c09012SAndroid Build Coastguard Worker  };
389*d5c09012SAndroid Build Coastguard Worker
390*d5c09012SAndroid Build Coastguard Worker  // The resource name of the table.
391*d5c09012SAndroid Build Coastguard Worker  // Table names have the form `tables/{table}`.
392*d5c09012SAndroid Build Coastguard Worker  string name = 1;
393*d5c09012SAndroid Build Coastguard Worker
394*d5c09012SAndroid Build Coastguard Worker  // The human readable title of the table.
395*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
396*d5c09012SAndroid Build Coastguard Worker
397*d5c09012SAndroid Build Coastguard Worker  // List of columns in this table.
398*d5c09012SAndroid Build Coastguard Worker  // Order of columns matches the display order.
399*d5c09012SAndroid Build Coastguard Worker  repeated ColumnDescription columns = 3;
400*d5c09012SAndroid Build Coastguard Worker}
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker// Details on a column in the table.
403*d5c09012SAndroid Build Coastguard Workermessage ColumnDescription {
404*d5c09012SAndroid Build Coastguard Worker  // column name
405*d5c09012SAndroid Build Coastguard Worker  string name = 1;
406*d5c09012SAndroid Build Coastguard Worker
407*d5c09012SAndroid Build Coastguard Worker  // Data type of the column
408*d5c09012SAndroid Build Coastguard Worker  // Supported types are auto_id, boolean, boolean_list, creator,
409*d5c09012SAndroid Build Coastguard Worker  // create_timestamp, date, dropdown, location, integer,
410*d5c09012SAndroid Build Coastguard Worker  // integer_list, number, number_list, person, person_list, tags, check_list,
411*d5c09012SAndroid Build Coastguard Worker  // text, text_list, update_timestamp, updater, relationship,
412*d5c09012SAndroid Build Coastguard Worker  // file_attachment_list.
413*d5c09012SAndroid Build Coastguard Worker  // These types directly map to the column types supported on Tables website.
414*d5c09012SAndroid Build Coastguard Worker  string data_type = 2;
415*d5c09012SAndroid Build Coastguard Worker
416*d5c09012SAndroid Build Coastguard Worker  // Internal id for a column.
417*d5c09012SAndroid Build Coastguard Worker  string id = 3;
418*d5c09012SAndroid Build Coastguard Worker
419*d5c09012SAndroid Build Coastguard Worker  // Optional. Range of labeled values for the column.
420*d5c09012SAndroid Build Coastguard Worker  // Some columns like tags and drop-downs limit the values to a set of
421*d5c09012SAndroid Build Coastguard Worker  // possible values. We return the range of values in such cases to help
422*d5c09012SAndroid Build Coastguard Worker  // clients implement better user data validation.
423*d5c09012SAndroid Build Coastguard Worker  repeated LabeledItem labels = 4 [(google.api.field_behavior) = OPTIONAL];
424*d5c09012SAndroid Build Coastguard Worker
425*d5c09012SAndroid Build Coastguard Worker  // Optional. Additional details about a relationship column. Specified when data_type
426*d5c09012SAndroid Build Coastguard Worker  // is relationship.
427*d5c09012SAndroid Build Coastguard Worker  RelationshipDetails relationship_details = 5 [(google.api.field_behavior) = OPTIONAL];
428*d5c09012SAndroid Build Coastguard Worker
429*d5c09012SAndroid Build Coastguard Worker  // Optional. Indicates that this is a lookup column whose value is derived from the
430*d5c09012SAndroid Build Coastguard Worker  // relationship column specified in the details. Lookup columns can not be
431*d5c09012SAndroid Build Coastguard Worker  // updated directly. To change the value you must update the associated
432*d5c09012SAndroid Build Coastguard Worker  // relationship column.
433*d5c09012SAndroid Build Coastguard Worker  LookupDetails lookup_details = 6 [(google.api.field_behavior) = OPTIONAL];
434*d5c09012SAndroid Build Coastguard Worker}
435*d5c09012SAndroid Build Coastguard Worker
436*d5c09012SAndroid Build Coastguard Worker// A single item in a labeled column.
437*d5c09012SAndroid Build Coastguard Workermessage LabeledItem {
438*d5c09012SAndroid Build Coastguard Worker  // Display string as entered by user.
439*d5c09012SAndroid Build Coastguard Worker  string name = 1;
440*d5c09012SAndroid Build Coastguard Worker
441*d5c09012SAndroid Build Coastguard Worker  // Internal id associated with the item.
442*d5c09012SAndroid Build Coastguard Worker  string id = 2;
443*d5c09012SAndroid Build Coastguard Worker}
444*d5c09012SAndroid Build Coastguard Worker
445*d5c09012SAndroid Build Coastguard Worker// Details about a relationship column.
446*d5c09012SAndroid Build Coastguard Workermessage RelationshipDetails {
447*d5c09012SAndroid Build Coastguard Worker  // The name of the table this relationship is linked to.
448*d5c09012SAndroid Build Coastguard Worker  string linked_table = 1;
449*d5c09012SAndroid Build Coastguard Worker}
450*d5c09012SAndroid Build Coastguard Worker
451*d5c09012SAndroid Build Coastguard Worker// Details about a lookup column whose value comes from the associated
452*d5c09012SAndroid Build Coastguard Worker// relationship.
453*d5c09012SAndroid Build Coastguard Workermessage LookupDetails {
454*d5c09012SAndroid Build Coastguard Worker  // The name of the relationship column associated with the lookup.
455*d5c09012SAndroid Build Coastguard Worker  string relationship_column = 1;
456*d5c09012SAndroid Build Coastguard Worker
457*d5c09012SAndroid Build Coastguard Worker  // The id of the relationship column.
458*d5c09012SAndroid Build Coastguard Worker  string relationship_column_id = 2;
459*d5c09012SAndroid Build Coastguard Worker}
460*d5c09012SAndroid Build Coastguard Worker
461*d5c09012SAndroid Build Coastguard Worker// A single row in a table.
462*d5c09012SAndroid Build Coastguard Workermessage Row {
463*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
464*d5c09012SAndroid Build Coastguard Worker    type: "area120tables.googleapis.com/Row"
465*d5c09012SAndroid Build Coastguard Worker    pattern: "tables/{table}/rows/{row}"
466*d5c09012SAndroid Build Coastguard Worker  };
467*d5c09012SAndroid Build Coastguard Worker
468*d5c09012SAndroid Build Coastguard Worker  // The resource name of the row.
469*d5c09012SAndroid Build Coastguard Worker  // Row names have the form `tables/{table}/rows/{row}`.
470*d5c09012SAndroid Build Coastguard Worker  // The name is ignored when creating a row.
471*d5c09012SAndroid Build Coastguard Worker  string name = 1;
472*d5c09012SAndroid Build Coastguard Worker
473*d5c09012SAndroid Build Coastguard Worker  // The values of the row. This is a map of column key to value.
474*d5c09012SAndroid Build Coastguard Worker  // Key is user entered name(default) or the internal column id based on
475*d5c09012SAndroid Build Coastguard Worker  // the view in the request.
476*d5c09012SAndroid Build Coastguard Worker  map<string, google.protobuf.Value> values = 2;
477*d5c09012SAndroid Build Coastguard Worker}
478*d5c09012SAndroid Build Coastguard Worker
479*d5c09012SAndroid Build Coastguard Worker// A single workspace.
480*d5c09012SAndroid Build Coastguard Workermessage Workspace {
481*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
482*d5c09012SAndroid Build Coastguard Worker    type: "area120tables.googleapis.com/Workspace"
483*d5c09012SAndroid Build Coastguard Worker    pattern: "workspaces/{workspace}"
484*d5c09012SAndroid Build Coastguard Worker  };
485*d5c09012SAndroid Build Coastguard Worker
486*d5c09012SAndroid Build Coastguard Worker  // The resource name of the workspace.
487*d5c09012SAndroid Build Coastguard Worker  // Workspace names have the form `workspaces/{workspace}`.
488*d5c09012SAndroid Build Coastguard Worker  string name = 1;
489*d5c09012SAndroid Build Coastguard Worker
490*d5c09012SAndroid Build Coastguard Worker  // The human readable title of the workspace.
491*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
492*d5c09012SAndroid Build Coastguard Worker
493*d5c09012SAndroid Build Coastguard Worker  // The list of tables in the workspace.
494*d5c09012SAndroid Build Coastguard Worker  repeated Table tables = 3;
495*d5c09012SAndroid Build Coastguard Worker}
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker// Column identifier used for the values in the row.
498*d5c09012SAndroid Build Coastguard Workerenum View {
499*d5c09012SAndroid Build Coastguard Worker  // Defaults to user entered text.
500*d5c09012SAndroid Build Coastguard Worker  VIEW_UNSPECIFIED = 0;
501*d5c09012SAndroid Build Coastguard Worker
502*d5c09012SAndroid Build Coastguard Worker  // Uses internally generated column id to identify values.
503*d5c09012SAndroid Build Coastguard Worker  COLUMN_ID_VIEW = 1;
504*d5c09012SAndroid Build Coastguard Worker}
505