googleapis
Version:
Google APIs Client Library for Node.js
201 lines (200 loc) • 8.17 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* Google App State API
*
* The Google App State API.
*
* @example
* const google = require('googleapis');
* const appstate = google.appstate('v1');
*
* @namespace appstate
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Appstate
*/
export declare class Appstate {
_options: GlobalOptions;
google: GoogleApis;
root: this;
states: Resource$States;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* This is a JSON template for an app state resource.
*/
export interface Schema$GetResponse {
/**
* The current app state version.
*/
currentStateVersion: string;
/**
* The requested data.
*/
data: string;
/**
* Uniquely identifies the type of this resource. Value is always the fixed
* string appstate#getResponse.
*/
kind: string;
/**
* The key for the data.
*/
stateKey: number;
}
/**
* This is a JSON template to convert a list-response for app state.
*/
export interface Schema$ListResponse {
/**
* The app state data.
*/
items: Schema$GetResponse[];
/**
* Uniquely identifies the type of this resource. Value is always the fixed
* string appstate#listResponse.
*/
kind: string;
/**
* The maximum number of keys allowed for this user.
*/
maximumKeyCount: number;
}
/**
* This is a JSON template for a requests which update app state
*/
export interface Schema$UpdateRequest {
/**
* The new app state data that your application is trying to update with.
*/
data: string;
/**
* Uniquely identifies the type of this resource. Value is always the fixed
* string appstate#updateRequest.
*/
kind: string;
}
/**
* This is a JSON template for an app state write result.
*/
export interface Schema$WriteResult {
/**
* The version of the data for this key on the server.
*/
currentStateVersion: string;
/**
* Uniquely identifies the type of this resource. Value is always the fixed
* string appstate#writeResult.
*/
kind: string;
/**
* The written key.
*/
stateKey: number;
}
export declare class Resource$States {
root: Appstate;
constructor(root: Appstate);
getRoot(): Appstate;
/**
* appstate.states.clear
* @desc Clears (sets to empty) the data for the passed key if and only if the
* passed version matches the currently stored version. This method results in
* a conflict error on version mismatch.
* @alias appstate.states.clear
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string=} params.currentDataVersion The version of the data to be cleared. Version strings are returned by the server.
* @param {integer} params.stateKey The key for the data to be retrieved.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
clear(params?: any, options?: MethodOptions): AxiosPromise<Schema$WriteResult>;
clear(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$WriteResult>, callback?: BodyResponseCallback<Schema$WriteResult>): void;
/**
* appstate.states.delete
* @desc Deletes a key and the data associated with it. The key is removed and
* no longer counts against the key quota. Note that since this method is not
* safe in the face of concurrent modifications, it should only be used for
* development and testing purposes. Invoking this method in shipping code can
* result in data loss and data corruption.
* @alias appstate.states.delete
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {integer} params.stateKey The key for the data to be retrieved.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
delete(params?: any, options?: MethodOptions): AxiosPromise<void>;
delete(params?: any, options?: MethodOptions | BodyResponseCallback<void>, callback?: BodyResponseCallback<void>): void;
/**
* appstate.states.get
* @desc Retrieves the data corresponding to the passed key. If the key does
* not exist on the server, an HTTP 404 will be returned.
* @alias appstate.states.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {integer} params.stateKey The key for the data to be retrieved.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: any, options?: MethodOptions): AxiosPromise<Schema$GetResponse>;
get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$GetResponse>, callback?: BodyResponseCallback<Schema$GetResponse>): void;
/**
* appstate.states.list
* @desc Lists all the states keys, and optionally the state data.
* @alias appstate.states.list
* @memberOf! ()
*
* @param {object=} params Parameters for request
* @param {boolean=} params.includeData Whether to include the full data in addition to the version number
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
list(params?: any, options?: MethodOptions): AxiosPromise<Schema$ListResponse>;
list(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$ListResponse>, callback?: BodyResponseCallback<Schema$ListResponse>): void;
/**
* appstate.states.update
* @desc Update the data associated with the input key if and only if the
* passed version matches the currently stored version. This method is safe in
* the face of concurrent writes. Maximum per-key size is 128KB.
* @alias appstate.states.update
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string=} params.currentStateVersion The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter.
* @param {integer} params.stateKey The key for the data to be retrieved.
* @param {().UpdateRequest} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
update(params?: any, options?: MethodOptions): AxiosPromise<Schema$WriteResult>;
update(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$WriteResult>, callback?: BodyResponseCallback<Schema$WriteResult>): void;
}