1 | /*!
|
2 | * Copyright 2014 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 | */
|
16 | import { google } from '../protos/protos';
|
17 | import { CallOptions } from 'google-gax';
|
18 | import { Duplex, Transform } from 'stream';
|
19 | export declare const transactionExpiredError = "This transaction has already expired.";
|
20 | export interface AbortableDuplex extends Duplex {
|
21 | abort(): void;
|
22 | }
|
23 | interface TransactionRequestOptions {
|
24 | readOnly?: {};
|
25 | readWrite?: {
|
26 | previousTransaction?: string | Uint8Array | null;
|
27 | };
|
28 | }
|
29 | import { entity, Entity, EntityProto, Entities } from './entity';
|
30 | import { ExplainOptions, Query, QueryProto, RunQueryInfo, RunQueryOptions, RunQueryResponse, RunQueryCallback } from './query';
|
31 | import { Datastore, Transaction } from '.';
|
32 | import ITimestamp = google.protobuf.ITimestamp;
|
33 | import { AggregateQuery } from './aggregate';
|
34 | import { RunOptions } from './transaction';
|
35 | import { SaveDataValue } from './interfaces/save';
|
36 | /**
|
37 | * By default a DatastoreRequest is in the NOT_TRANSACTION state. If the
|
38 | * DatastoreRequest is a Transaction object, then initially it will be in
|
39 | * the NOT_STARTED state, but then the state will become IN_PROGRESS after the
|
40 | * transaction has started.
|
41 | */
|
42 | export declare enum TransactionState {
|
43 | NOT_TRANSACTION = 0,
|
44 | NOT_STARTED = 1,
|
45 | IN_PROGRESS = 2,
|
46 | EXPIRED = 3
|
47 | }
|
48 | /**
|
49 | * Handles request logic for Datastore API operations.
|
50 | *
|
51 | * Creates requests to the Datastore endpoint. Designed to be inherited by
|
52 | * the {@link Datastore} and {@link Transaction} classes.
|
53 | *
|
54 | * @class
|
55 | */
|
56 | declare class DatastoreRequest {
|
57 | id: string | undefined | Uint8Array | null;
|
58 | requests_: Entity | {
|
59 | mutations: Array<{}>;
|
60 | };
|
61 | requestCallbacks_: Array<(err: Error | null, resp: Entity | null) => void> | Entity;
|
62 | datastore: Datastore;
|
63 | protected state: TransactionState;
|
64 | [key: string]: Entity;
|
65 | /**
|
66 | * Format a user's input to mutation methods. This will create a deep clone of
|
67 | * the input, as well as allow users to pass an object in the format of an
|
68 | * entity.
|
69 | *
|
70 | * Both of the following formats can be supplied supported:
|
71 | *
|
72 | * datastore.save({
|
73 | * key: datastore.key('Kind'),
|
74 | * data: { foo: 'bar' }
|
75 | * }, (err) => {})
|
76 | *
|
77 | * const entity = { foo: 'bar' }
|
78 | * entity[datastore.KEY] = datastore.key('Kind')
|
79 | * datastore.save(entity, (err) => {})
|
80 | *
|
81 | * @internal
|
82 | *
|
83 | * @see {@link https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1803}
|
84 | *
|
85 | * @param {object} obj The user's input object.
|
86 | */
|
87 | static prepareEntityObject_(obj: Entity): PrepareEntityObjectResponse;
|
88 | /**
|
89 | * Generate IDs without creating entities.
|
90 | *
|
91 | * @param {Key} key The key object to complete.
|
92 | * @param {number|object} options Either the number of IDs to allocate or an
|
93 | * options object for further customization of the request.
|
94 | * @param {number} options.allocations How many IDs to allocate.
|
95 | * @param {object} [options.gaxOptions] Request configuration options, outlined
|
96 | * here: https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
|
97 | * @param {function} callback The callback function.
|
98 | * @param {?error} callback.err An error returned while making this request
|
99 | * @param {array} callback.keys The generated IDs
|
100 | * @param {object} callback.apiResponse The full API response.
|
101 | *
|
102 | * @example
|
103 | * ```
|
104 | * const incompleteKey = datastore.key(['Company']);
|
105 | *
|
106 | * //-
|
107 | * // The following call will create 100 new IDs from the Company kind, which
|
108 | * // exists under the default namespace.
|
109 | * //-
|
110 | * datastore.allocateIds(incompleteKey, 100, (err, keys) => {});
|
111 | *
|
112 | * //-
|
113 | * // Or, if you're using a transaction object.
|
114 | * //-
|
115 | * const transaction = datastore.transaction();
|
116 | *
|
117 | * transaction.run((err) => {
|
118 | * if (err) {
|
119 | * // Error handling omitted.
|
120 | * }
|
121 | *
|
122 | * transaction.allocateIds(incompleteKey, 100, (err, keys) => {
|
123 | * if (err) {
|
124 | * // Error handling omitted.
|
125 | * }
|
126 | *
|
127 | * transaction.commit((err) => {
|
128 | * if (!err) {
|
129 | * // Transaction committed successfully.
|
130 | * }
|
131 | * });
|
132 | * });
|
133 | * });
|
134 | *
|
135 | * //-
|
136 | * // You may prefer to create IDs from a non-default namespace by providing
|
137 | * an
|
138 | * // incomplete key with a namespace. Similar to the previous example, the
|
139 | * call
|
140 | * // below will create 100 new IDs, but from the Company kind that exists
|
141 | * under
|
142 | * // the "ns-test" namespace.
|
143 | * //-
|
144 | * const incompleteKey = datastore.key({
|
145 | * namespace: 'ns-test',
|
146 | * path: ['Company']
|
147 | * });
|
148 | *
|
149 | * function callback(err, keys, apiResponse) {}
|
150 | *
|
151 | * datastore.allocateIds(incompleteKey, 100, callback);
|
152 | *
|
153 | * //-
|
154 | * // Returns a Promise if callback is omitted.
|
155 | * //-
|
156 | * datastore.allocateIds(incompleteKey, 100).then((data) => {
|
157 | * const keys = data[0];
|
158 | * const apiResponse = data[1];
|
159 | * });
|
160 | * ```
|
161 | */
|
162 | allocateIds(key: entity.Key, options: AllocateIdsOptions | number): Promise<AllocateIdsResponse>;
|
163 | allocateIds(key: entity.Key, options: AllocateIdsOptions | number, callback: AllocateIdsCallback): void;
|
164 | protected checkExpired(): void;
|
165 | /**
|
166 | * Retrieve the entities as a readable object stream.
|
167 | *
|
168 | * @throws {Error} If at least one Key object is not provided.
|
169 | * @throws {Error} If read time and read consistency cannot both be specified.
|
170 | *
|
171 | * @param {Key|Key[]} keys Datastore key object(s).
|
172 | * @param {object} [options] Optional configuration. See {@link Datastore#get}
|
173 | * for a complete list of options.
|
174 | *
|
175 | * @example
|
176 | * ```
|
177 | * const keys = [
|
178 | * datastore.key(['Company', 123]),
|
179 | * datastore.key(['Product', 'Computer'])
|
180 | * ];
|
181 | *
|
182 | * datastore.createReadStream(keys)
|
183 | * .on('error', (err) => {})
|
184 | * .on('data', (entity) => {
|
185 | * // entity is an entity object.
|
186 | * })
|
187 | * .on('end', () => {
|
188 | * // All entities retrieved.
|
189 | * });
|
190 | * ```
|
191 | */
|
192 | createReadStream(keys: Entities, options?: CreateReadStreamOptions): Transform;
|
193 | /**
|
194 | * Delete all entities identified with the specified key(s).
|
195 | *
|
196 | * @param {Key|Key[]} key Datastore key object(s).
|
197 | * @param {object} [gaxOptions] Request configuration options, outlined here:
|
198 | * https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
|
199 | * @param {function} callback The callback function.
|
200 | * @param {?error} callback.err An error returned while making this request
|
201 | * @param {object} callback.apiResponse The full API response.
|
202 | *
|
203 | * @example
|
204 | * ```
|
205 | * const key = datastore.key(['Company', 123]);
|
206 | * datastore.delete(key, (err, apiResp) => {});
|
207 | *
|
208 | * //-
|
209 | * // Or, if you're using a transaction object.
|
210 | * //-
|
211 | * const transaction = datastore.transaction();
|
212 | *
|
213 | * transaction.run((err) => {
|
214 | * if (err) {
|
215 | * // Error handling omitted.
|
216 | * }
|
217 | *
|
218 | * transaction.delete(key);
|
219 | *
|
220 | * transaction.commit((err) => {
|
221 | * if (!err) {
|
222 | * // Transaction committed successfully.
|
223 | * }
|
224 | * });
|
225 | * });
|
226 | *
|
227 | * //-
|
228 | * // Delete multiple entities at once.
|
229 | * //-
|
230 | * datastore.delete([
|
231 | * datastore.key(['Company', 123]),
|
232 | * datastore.key(['Product', 'Computer'])
|
233 | * ], (err, apiResponse) => {});
|
234 | *
|
235 | * //-
|
236 | * // Returns a Promise if callback is omitted.
|
237 | * //-
|
238 | * datastore.delete().then((data) => {
|
239 | * const apiResponse = data[0];
|
240 | * });
|
241 | * ```
|
242 | */
|
243 | delete(keys: Entities, gaxOptions?: CallOptions): Promise<DeleteResponse>;
|
244 | delete(keys: Entities, callback: DeleteCallback): void;
|
245 | delete(keys: Entities, gaxOptions: CallOptions, callback: DeleteCallback): void;
|
246 | /**
|
247 | * Retrieve the entities identified with the specified key(s) in the current
|
248 | * transaction. Get operations require a valid key to retrieve the
|
249 | * key-identified entity from Datastore.
|
250 | *
|
251 | * @throws {Error} If at least one Key object is not provided.
|
252 | *
|
253 | * @param {Key|Key[]} keys Datastore key object(s).
|
254 | * @param {object} [options] Optional configuration.
|
255 | * @param {string} [options.consistency] Specify either `strong` or `eventual`.
|
256 | * If not specified, default values are chosen by Datastore for the
|
257 | * operation. Learn more about strong and eventual consistency
|
258 | * [here](https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore).
|
259 | * @param {object} [options.gaxOptions] Request configuration options, outlined
|
260 | * here: https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
|
261 | * @param {boolean | IntegerTypeCastOptions} [options.wrapNumbers=false]
|
262 | * Wrap values of integerValue type in {@link Datastore#Int} objects.
|
263 | * If a `boolean`, this will wrap values in {@link Datastore#Int} objects.
|
264 | * If an `object`, this will return a value returned by
|
265 | * `wrapNumbers.integerTypeCastFunction`.
|
266 | * Please see {@link IntegerTypeCastOptions} for options descriptions.
|
267 | * @param {function} callback The callback function.
|
268 | * @param {?error} callback.err An error returned while making this request
|
269 | * @param {object|object[]} callback.entity The entity object(s) which match
|
270 | * the provided keys.
|
271 | *
|
272 | * @example
|
273 | * ```
|
274 | * //-
|
275 | * // Get a single entity.
|
276 | * //-
|
277 | * const key = datastore.key(['Company', 123]);
|
278 | *
|
279 | * datastore.get(key, (err, entity) => {});
|
280 | *
|
281 | * //-
|
282 | * // Or, if you're using a transaction object.
|
283 | * //-
|
284 | * const transaction = datastore.transaction();
|
285 | *
|
286 | * transaction.run((err) => {
|
287 | * if (err) {
|
288 | * // Error handling omitted.
|
289 | * }
|
290 | *
|
291 | * transaction.get(key, (err, entity) => {
|
292 | * if (err) {
|
293 | * // Error handling omitted.
|
294 | * }
|
295 | *
|
296 | * transaction.commit((err) => {
|
297 | * if (!err) {
|
298 | * // Transaction committed successfully.
|
299 | * }
|
300 | * });
|
301 | * });
|
302 | * });
|
303 | *
|
304 | * //-
|
305 | * // Get multiple entities at once with a callback.
|
306 | * //-
|
307 | * const keys = [
|
308 | * datastore.key(['Company', 123]),
|
309 | * datastore.key(['Product', 'Computer'])
|
310 | * ];
|
311 | *
|
312 | * datastore.get(keys, (err, entities) => {});
|
313 | *
|
314 | * //-
|
315 | * // Below is how to update the value of an entity with the help of the
|
316 | * // `save` method.
|
317 | * //-
|
318 | * datastore.get(key, (err, entity) => {
|
319 | * if (err) {
|
320 | * // Error handling omitted.
|
321 | * }
|
322 | *
|
323 | * entity.newValue = true;
|
324 | *
|
325 | * datastore.save({
|
326 | * key: key,
|
327 | * data: entity
|
328 | * }, (err) => {});
|
329 | * });
|
330 | *
|
331 | * //-
|
332 | * // Returns a Promise if callback is omitted.
|
333 | * //-
|
334 | * datastore.get(keys).then((data) => {
|
335 | * const entities = data[0];
|
336 | * });
|
337 | * ```
|
338 | */
|
339 | get(keys: entity.Key | entity.Key[], options?: CreateReadStreamOptions): Promise<GetResponse>;
|
340 | get(keys: entity.Key | entity.Key[], callback: GetCallback): void;
|
341 | get(keys: entity.Key | entity.Key[], options: CreateReadStreamOptions, callback: GetCallback): void;
|
342 | /**
|
343 | * This function saves results from a successful beginTransaction call.
|
344 | *
|
345 | * @param {BeginAsyncResponse} [response] The response from a call to
|
346 | * begin a transaction that completed successfully.
|
347 | *
|
348 | **/
|
349 | protected parseTransactionResponse(resp?: {
|
350 | transaction?: Uint8Array | string | undefined | null;
|
351 | }): void;
|
352 | /**
|
353 | * Datastore allows you to run aggregate queries by supplying aggregate fields
|
354 | * which will determine the type of aggregation that is performed.
|
355 | *
|
356 | * The query is run, and the results are returned in the second argument of
|
357 | * the callback provided.
|
358 | *
|
359 | * @param {AggregateQuery} query AggregateQuery object.
|
360 | * @param {RunQueryOptions} options Optional configuration
|
361 | * @param {function} [callback] The callback function. If omitted, a promise is
|
362 | * returned.
|
363 | *
|
364 | * @throws {Error} If read time and read consistency cannot both be specified.
|
365 | *
|
366 | **/
|
367 | runAggregationQuery(query: AggregateQuery, options?: RunQueryOptions): Promise<RunQueryResponse>;
|
368 | runAggregationQuery(query: AggregateQuery, options: RunQueryOptions, callback: RunAggregationQueryCallback): void;
|
369 | runAggregationQuery(query: AggregateQuery, callback: RunAggregationQueryCallback): void;
|
370 | /**
|
371 | * Datastore allows you to query entities by kind, filter them by property
|
372 | * filters, and sort them by a property name. Projection and pagination are
|
373 | * also supported.
|
374 | *
|
375 | * The query is run, and the results are returned as the second argument to
|
376 | * your callback. A third argument may also exist, which is a query object
|
377 | * that uses the end cursor from the previous query as the starting cursor for
|
378 | * the next query. You can pass that object back to this method to see if more
|
379 | * results exist.
|
380 | * @param {Query} query A Query object
|
381 | * @param {object} [options] Optional configuration.
|
382 | * @param {string} [options.consistency] Specify either `strong` or `eventual`.
|
383 | * If not specified, default values are chosen by Datastore for the
|
384 | * operation. Learn more about strong and eventual consistency
|
385 | * [here](https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore).
|
386 | * @param {object} [options.gaxOptions] Request configuration options, outlined
|
387 | * here: https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
|
388 | * @param {boolean | IntegerTypeCastOptions} [options.wrapNumbers=false]
|
389 | * Wrap values of integerValue type in {@link Datastore#Int} objects.
|
390 | * If a `boolean`, this will wrap values in {@link Datastore#Int} objects.
|
391 | * If an `object`, this will return a value returned by
|
392 | * `wrapNumbers.integerTypeCastFunction`.
|
393 | * Please see {@link IntegerTypeCastOptions} for options descriptions.
|
394 | * @param {function} [callback] The callback function. If omitted, a readable
|
395 | * stream instance is returned.
|
396 | * @param {?error} callback.err An error returned while making this request
|
397 | * @param {object[]} callback.entities A list of entities.
|
398 | * @param {object} callback.info An object useful for pagination.
|
399 | * @param {?string} callback.info.endCursor Use this in a follow-up query to
|
400 | * begin from where these results ended.
|
401 | * @param {string} callback.info.moreResults Datastore responds with one of:
|
402 | *
|
403 | * - {@link Datastore#MORE_RESULTS_AFTER_LIMIT}: There *may* be more
|
404 | * results after the specified limit.
|
405 | * - {@link Datastore#MORE_RESULTS_AFTER_CURSOR}: There *may* be more
|
406 | * results after the specified end cursor.
|
407 | * - {@link Datastore#NO_MORE_RESULTS}: There are no more results.
|
408 | *
|
409 | * @example
|
410 | * ```
|
411 | * //-
|
412 | * // Where you see `transaction`, assume this is the context that's relevant
|
413 | * to
|
414 | * // your use, whether that be a Datastore or a Transaction object.
|
415 | * //-
|
416 | * const query = datastore.createQuery('Lion');
|
417 | *
|
418 | * datastore.runQuery(query, (err, entities, info) => {
|
419 | * // entities = An array of records.
|
420 | *
|
421 | * // Access the Key object for an entity.
|
422 | * const firstEntityKey = entities[0][datastore.KEY];
|
423 | * });
|
424 | *
|
425 | * //-
|
426 | * // Or, if you're using a transaction object.
|
427 | * //-
|
428 | * const transaction = datastore.transaction();
|
429 | *
|
430 | * transaction.run((err) => {
|
431 | * if (err) {
|
432 | * // Error handling omitted.
|
433 | * }
|
434 | *
|
435 | * transaction.runQuery(query, (err, entities) => {
|
436 | * if (err) {
|
437 | * // Error handling omitted.
|
438 | * }
|
439 | *
|
440 | * transaction.commit((err) => {
|
441 | * if (!err) {
|
442 | * // Transaction committed successfully.
|
443 | * }
|
444 | * });
|
445 | * });
|
446 | * });
|
447 | *
|
448 | * //-
|
449 | * // A keys-only query returns just the keys of the result entities instead
|
450 | * of
|
451 | * // the entities themselves, at lower latency and cost.
|
452 | * //-
|
453 | * const keysOnlyQuery = datastore.createQuery('Lion').select('__key__');
|
454 | *
|
455 | * datastore.runQuery(keysOnlyQuery, (err, entities) => {
|
456 | * const keys = entities.map((entity) => {
|
457 | * return entity[datastore.KEY];
|
458 | * });
|
459 | * });
|
460 | *
|
461 | * //-
|
462 | * // Returns a Promise if callback is omitted.
|
463 | * //-
|
464 | * datastore.runQuery(query).then((data) => {
|
465 | * const entities = data[0];
|
466 | * });
|
467 | * ```
|
468 | */
|
469 | runQuery(query: Query, options?: RunQueryOptions): Promise<RunQueryResponse>;
|
470 | runQuery(query: Query, options: RunQueryOptions, callback: RunQueryCallback): void;
|
471 | runQuery(query: Query, callback: RunQueryCallback): void;
|
472 | /**
|
473 | * Get a list of entities as a readable object stream.
|
474 | *
|
475 | * See {@link Datastore#runQuery} for a list of all available options.
|
476 | *
|
477 | * @param {Query} query A Query object
|
478 | * @param {object} [options] Optional configuration.
|
479 | * @param {object} [options.gaxOptions] Request configuration options, outlined
|
480 | * here: https://googleapis.github.io/gax-nodejs/global.html#CallOptions.
|
481 | *
|
482 | * @throws {Error} If read time and read consistency cannot both be specified.
|
483 | *
|
484 | * @example
|
485 | * ```
|
486 | * datastore.runQueryStream(query)
|
487 | * .on('error', console.error)
|
488 | * .on('data', (entity) => {
|
489 | * // Access the Key object for this entity.
|
490 | * const key = entity[datastore.KEY];
|
491 | * })
|
492 | * .on('info', (info) => {})
|
493 | * .on('end', () => {
|
494 | * // All entities retrieved.
|
495 | * });
|
496 | *
|
497 | * //-
|
498 | * // If you anticipate many results, you can end a stream early to prevent
|
499 | * // unnecessary processing and API requests.
|
500 | * //-
|
501 | * datastore.runQueryStream(query)
|
502 | * .on('data', (entity) => {
|
503 | * this.end();
|
504 | * });
|
505 | * ```
|
506 | */
|
507 | runQueryStream(query: Query, options?: RunQueryStreamOptions): Transform;
|
508 | private getRequestOptions;
|
509 | private getQueryOptions;
|
510 | /**
|
511 | * Merge the specified object(s). If a key is incomplete, its associated object
|
512 | * is inserted and the original Key object is updated to contain the generated ID.
|
513 | * For example, if you provide an incomplete key (one without an ID),
|
514 | * the request will create a new entity and have its ID automatically assigned.
|
515 | * If you provide a complete key, the entity will be get the data from datastore
|
516 | * and merge with the data specified.
|
517 | * By default, all properties are indexed. To prevent a property from being
|
518 | * included in *all* indexes, you must supply an `excludeFromIndexes` array.
|
519 | *
|
520 | * Maps to {@link Datastore#save}, forcing the method to be `upsert`.
|
521 | *
|
522 | * @param {object|object[]} entities Datastore key object(s).
|
523 | * @param {Key} entities.key Datastore key object.
|
524 | * @param {string[]} [entities.excludeFromIndexes] Exclude properties from
|
525 | * indexing using a simple JSON path notation. See the examples in
|
526 | * {@link Datastore#save} to see how to target properties at different
|
527 | * levels of nesting within your entity.
|
528 | * @param {object} entities.data Data to merge to the same for provided key.
|
529 | * @param {function} callback The callback function.
|
530 | * @param {?error} callback.err An error returned while making this request
|
531 | * @param {object} callback.apiResponse The full API response.
|
532 | */
|
533 | merge(entities: Entities): Promise<CommitResponse>;
|
534 | merge(entities: Entities, callback: SaveCallback): void;
|
535 | /**
|
536 | * @private
|
537 | */
|
538 | prepareGaxRequest_(config: RequestConfig, callback: Function): void;
|
539 | /**
|
540 | * Make a request to the API endpoint. Properties to indicate a transactional
|
541 | * or non-transactional operation are added automatically.
|
542 | *
|
543 | * @param {object} config Configuration object.
|
544 | * @param {object} config.gaxOpts GAX options.
|
545 | * @param {string} config.client The name of the gax client.
|
546 | * @param {function} config.method The gax method to call.
|
547 | * @param {object} config.reqOpts Request options.
|
548 | * @param {function} callback The callback function.
|
549 | *
|
550 | * @private
|
551 | */
|
552 | request_(config: RequestConfig, callback: RequestCallback): void;
|
553 | /**
|
554 | * Make a request as a stream.
|
555 | *
|
556 | * @param {object} config Configuration object.
|
557 | * @param {object} config.gaxOpts GAX options.
|
558 | * @param {string} config.client The name of the gax client.
|
559 | * @param {string} config.method The gax method to call.
|
560 | * @param {object} config.reqOpts Request options.
|
561 | */
|
562 | requestStream_(config: RequestConfig): AbortableDuplex;
|
563 | }
|
564 | /**
|
565 | * This function gets transaction request options used for defining a
|
566 | * request to create a new transaction on the server.
|
567 | *
|
568 | * @param transaction The transaction for which the request will be made.
|
569 | * @param options Custom options that will be used to create the request.
|
570 | */
|
571 | export declare function getTransactionRequest(transaction: Transaction, options: RunOptions): TransactionRequestOptions;
|
572 | export interface ConsistencyProtoCode {
|
573 | [key: string]: number;
|
574 | }
|
575 | export type AllocateIdsResponse = [
|
576 | entity.Key[],
|
577 | google.datastore.v1.IAllocateIdsResponse
|
578 | ];
|
579 | export interface AllocateIdsCallback {
|
580 | (a: Error | null, b: entity.Key[] | null, c: google.datastore.v1.IAllocateIdsResponse): void;
|
581 | }
|
582 | export interface AllocateIdsOptions {
|
583 | allocations?: number;
|
584 | gaxOptions?: CallOptions;
|
585 | }
|
586 | export type CreateReadStreamOptions = RunQueryOptions;
|
587 | export interface GetCallback {
|
588 | (err?: Error | null, entity?: Entities): void;
|
589 | }
|
590 | export type GetResponse = [Entities];
|
591 | export interface Mutation {
|
592 | [key: string]: EntityProto;
|
593 | }
|
594 | export interface PrepareEntityObject {
|
595 | [key: string]: google.datastore.v1.Key | undefined;
|
596 | }
|
597 | export interface PrepareEntityObjectResponse {
|
598 | key?: entity.Key;
|
599 | data?: SaveDataValue;
|
600 | excludeFromIndexes?: string[];
|
601 | excludeLargeProperties?: boolean;
|
602 | method?: string;
|
603 | }
|
604 | export interface RequestCallback {
|
605 | (a?: Error | null, b?: any): void;
|
606 | }
|
607 | export interface RunAggregationQueryCallback {
|
608 | (a?: Error | null, b?: any, c?: RunQueryInfo): void;
|
609 | }
|
610 | export interface RequestConfig {
|
611 | client: string;
|
612 | gaxOpts?: CallOptions;
|
613 | method: string;
|
614 | prepared?: boolean;
|
615 | reqOpts?: RequestOptions;
|
616 | }
|
617 | export interface SharedQueryOptions {
|
618 | databaseId?: string;
|
619 | explainOptions?: ExplainOptions;
|
620 | projectId?: string;
|
621 | partitionId?: google.datastore.v1.IPartitionId | null;
|
622 | readOptions?: {
|
623 | readConsistency?: number;
|
624 | transaction?: string | Uint8Array | null;
|
625 | readTime?: ITimestamp;
|
626 | newTransaction?: TransactionRequestOptions;
|
627 | consistencyType?: 'readConsistency' | 'transaction' | 'newTransaction' | 'readTime';
|
628 | };
|
629 | }
|
630 | export interface RequestOptions extends SharedQueryOptions {
|
631 | mutations?: google.datastore.v1.IMutation[];
|
632 | keys?: Entity;
|
633 | transactionOptions?: TransactionRequestOptions | null;
|
634 | transaction?: string | null | Uint8Array;
|
635 | mode?: string;
|
636 | query?: QueryProto;
|
637 | filter?: string;
|
638 | indexId?: string;
|
639 | entityFilter?: google.datastore.admin.v1.IEntityFilter;
|
640 | }
|
641 | export interface RunAggregationQueryRequest extends SharedQueryOptions {
|
642 | aggregationQuery: AggregationQueryOptions;
|
643 | }
|
644 | export interface AggregationQueryOptions {
|
645 | nestedQuery: QueryProto;
|
646 | aggregations: Array<any>;
|
647 | }
|
648 | export type RunQueryStreamOptions = RunQueryOptions;
|
649 | export interface CommitCallback {
|
650 | (err?: Error | null, resp?: google.datastore.v1.ICommitResponse): void;
|
651 | }
|
652 | export type CommitResponse = [google.datastore.v1.ICommitResponse];
|
653 | export type SaveCallback = CommitCallback;
|
654 | export type SaveResponse = CommitResponse;
|
655 | export type DeleteCallback = CommitCallback;
|
656 | export type DeleteResponse = CommitResponse;
|
657 | /**
|
658 | * Reference to the {@link DatastoreRequest} class.
|
659 | * @name module:@google-cloud/datastore.DatastoreRequest
|
660 | * @see DatastoreRequest
|
661 | */
|
662 | export { DatastoreRequest };
|