API roll 11 v2: 2015-02-06
R=kustermann@google.com, sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//904493003
diff --git a/generated/googleapis/lib/gamesconfiguration/v1configuration.dart b/generated/googleapis/lib/gamesconfiguration/v1configuration.dart
new file mode 100644
index 0000000..136c89b
--- /dev/null
+++ b/generated/googleapis/lib/gamesconfiguration/v1configuration.dart
@@ -0,0 +1,1374 @@
+library googleapis.gamesConfiguration.v1configuration;
+
+import "dart:core" as core;
+import "dart:collection" as collection;
+import "dart:async" as async;
+import "dart:convert" as convert;
+
+import "package:crypto/crypto.dart" as crypto;
+import 'package:http/http.dart' as http;
+import '../src/common_internal.dart' as common_internal;
+import '../common/common.dart' as common;
+
+export '../common/common.dart' show ApiRequestError;
+export '../common/common.dart' show DetailedApiRequestError;
+
+/** The Publishing API for Google Play Game Services. */
+class GamesConfigurationApi {
+ /** View and manage your Google Play Android Developer account */
+ static const AndroidpublisherScope = "https://www.googleapis.com/auth/androidpublisher";
+
+
+ final common_internal.ApiRequester _requester;
+
+ AchievementConfigurationsResourceApi get achievementConfigurations => new AchievementConfigurationsResourceApi(_requester);
+ ImageConfigurationsResourceApi get imageConfigurations => new ImageConfigurationsResourceApi(_requester);
+ LeaderboardConfigurationsResourceApi get leaderboardConfigurations => new LeaderboardConfigurationsResourceApi(_requester);
+
+ GamesConfigurationApi(http.Client client, {core.String rootUrl: "https://www.googleapis.com/", core.String servicePath: "games/v1configuration/"}) :
+ _requester = new common_internal.ApiRequester(client, rootUrl, servicePath);
+}
+
+
+/** Not documented yet. */
+class AchievementConfigurationsResourceApi {
+ final common_internal.ApiRequester _requester;
+
+ AchievementConfigurationsResourceApi(common_internal.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Delete the achievement configuration with the given ID.
+ *
+ * Request parameters:
+ *
+ * [achievementId] - The ID of the achievement used by this method.
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future delete(core.String achievementId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (achievementId == null) {
+ throw new core.ArgumentError("Parameter achievementId is required.");
+ }
+
+ _downloadOptions = null;
+
+ _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => null);
+ }
+
+ /**
+ * Retrieves the metadata of the achievement configuration with the given ID.
+ *
+ * Request parameters:
+ *
+ * [achievementId] - The ID of the achievement used by this method.
+ *
+ * Completes with a [AchievementConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<AchievementConfiguration> get(core.String achievementId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (achievementId == null) {
+ throw new core.ArgumentError("Parameter achievementId is required.");
+ }
+
+
+ _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AchievementConfiguration.fromJson(data));
+ }
+
+ /**
+ * Insert a new achievement configuration in this application.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [applicationId] - The application ID from the Google Play developer
+ * console.
+ *
+ * Completes with a [AchievementConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<AchievementConfiguration> insert(AchievementConfiguration request, core.String applicationId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (applicationId == null) {
+ throw new core.ArgumentError("Parameter applicationId is required.");
+ }
+
+
+ _url = 'applications/' + common_internal.Escaper.ecapeVariable('$applicationId') + '/achievements';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AchievementConfiguration.fromJson(data));
+ }
+
+ /**
+ * Returns a list of the achievement configurations in this application.
+ *
+ * Request parameters:
+ *
+ * [applicationId] - The application ID from the Google Play developer
+ * console.
+ *
+ * [maxResults] - The maximum number of resource configurations to return in
+ * the response, used for paging. For any response, the actual number of
+ * resources returned may be less than the specified maxResults.
+ * Value must be between "1" and "200".
+ *
+ * [pageToken] - The token returned by the previous request.
+ *
+ * Completes with a [AchievementConfigurationListResponse].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<AchievementConfigurationListResponse> list(core.String applicationId, {core.int maxResults, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (applicationId == null) {
+ throw new core.ArgumentError("Parameter applicationId is required.");
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+
+ _url = 'applications/' + common_internal.Escaper.ecapeVariable('$applicationId') + '/achievements';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AchievementConfigurationListResponse.fromJson(data));
+ }
+
+ /**
+ * Update the metadata of the achievement configuration with the given ID.
+ * This method supports patch semantics.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [achievementId] - The ID of the achievement used by this method.
+ *
+ * Completes with a [AchievementConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<AchievementConfiguration> patch(AchievementConfiguration request, core.String achievementId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (achievementId == null) {
+ throw new core.ArgumentError("Parameter achievementId is required.");
+ }
+
+
+ _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AchievementConfiguration.fromJson(data));
+ }
+
+ /**
+ * Update the metadata of the achievement configuration with the given ID.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [achievementId] - The ID of the achievement used by this method.
+ *
+ * Completes with a [AchievementConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<AchievementConfiguration> update(AchievementConfiguration request, core.String achievementId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (achievementId == null) {
+ throw new core.ArgumentError("Parameter achievementId is required.");
+ }
+
+
+ _url = 'achievements/' + common_internal.Escaper.ecapeVariable('$achievementId');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new AchievementConfiguration.fromJson(data));
+ }
+
+}
+
+
+/** Not documented yet. */
+class ImageConfigurationsResourceApi {
+ final common_internal.ApiRequester _requester;
+
+ ImageConfigurationsResourceApi(common_internal.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Uploads an image for a resource with the given ID and image type.
+ *
+ * Request parameters:
+ *
+ * [resourceId] - The ID of the resource used by this method.
+ *
+ * [imageType] - Selects which image in a resource for this method.
+ * Possible string values are:
+ * - "ACHIEVEMENT_ICON" : The icon image for an achievement resource.
+ * - "LEADERBOARD_ICON" : The icon image for a leaderboard resource.
+ *
+ * [uploadMedia] - The media to upload.
+ *
+ * [uploadOptions] - Options for the media upload. Streaming Media without the
+ * length being known ahead of time is only supported via resumable uploads.
+ *
+ * Completes with a [ImageConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<ImageConfiguration> upload(core.String resourceId, core.String imageType, {common.UploadOptions uploadOptions : common.UploadOptions.Default, common.Media uploadMedia}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (resourceId == null) {
+ throw new core.ArgumentError("Parameter resourceId is required.");
+ }
+ if (imageType == null) {
+ throw new core.ArgumentError("Parameter imageType is required.");
+ }
+
+ _uploadMedia = uploadMedia;
+ _uploadOptions = uploadOptions;
+
+ if (_uploadMedia == null) {
+ _url = 'images/' + common_internal.Escaper.ecapeVariable('$resourceId') + '/imageType/' + common_internal.Escaper.ecapeVariable('$imageType');
+ } else if (_uploadOptions is common.ResumableUploadOptions) {
+ _url = '/resumable/upload/games/v1configuration/images/' + common_internal.Escaper.ecapeVariable('$resourceId') + '/imageType/' + common_internal.Escaper.ecapeVariable('$imageType');
+ } else {
+ _url = '/upload/games/v1configuration/images/' + common_internal.Escaper.ecapeVariable('$resourceId') + '/imageType/' + common_internal.Escaper.ecapeVariable('$imageType');
+ }
+
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ImageConfiguration.fromJson(data));
+ }
+
+}
+
+
+/** Not documented yet. */
+class LeaderboardConfigurationsResourceApi {
+ final common_internal.ApiRequester _requester;
+
+ LeaderboardConfigurationsResourceApi(common_internal.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Delete the leaderboard configuration with the given ID.
+ *
+ * Request parameters:
+ *
+ * [leaderboardId] - The ID of the leaderboard.
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future delete(core.String leaderboardId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (leaderboardId == null) {
+ throw new core.ArgumentError("Parameter leaderboardId is required.");
+ }
+
+ _downloadOptions = null;
+
+ _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => null);
+ }
+
+ /**
+ * Retrieves the metadata of the leaderboard configuration with the given ID.
+ *
+ * Request parameters:
+ *
+ * [leaderboardId] - The ID of the leaderboard.
+ *
+ * Completes with a [LeaderboardConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<LeaderboardConfiguration> get(core.String leaderboardId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (leaderboardId == null) {
+ throw new core.ArgumentError("Parameter leaderboardId is required.");
+ }
+
+
+ _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new LeaderboardConfiguration.fromJson(data));
+ }
+
+ /**
+ * Insert a new leaderboard configuration in this application.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [applicationId] - The application ID from the Google Play developer
+ * console.
+ *
+ * Completes with a [LeaderboardConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<LeaderboardConfiguration> insert(LeaderboardConfiguration request, core.String applicationId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (applicationId == null) {
+ throw new core.ArgumentError("Parameter applicationId is required.");
+ }
+
+
+ _url = 'applications/' + common_internal.Escaper.ecapeVariable('$applicationId') + '/leaderboards';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new LeaderboardConfiguration.fromJson(data));
+ }
+
+ /**
+ * Returns a list of the leaderboard configurations in this application.
+ *
+ * Request parameters:
+ *
+ * [applicationId] - The application ID from the Google Play developer
+ * console.
+ *
+ * [maxResults] - The maximum number of resource configurations to return in
+ * the response, used for paging. For any response, the actual number of
+ * resources returned may be less than the specified maxResults.
+ * Value must be between "1" and "200".
+ *
+ * [pageToken] - The token returned by the previous request.
+ *
+ * Completes with a [LeaderboardConfigurationListResponse].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<LeaderboardConfigurationListResponse> list(core.String applicationId, {core.int maxResults, core.String pageToken}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (applicationId == null) {
+ throw new core.ArgumentError("Parameter applicationId is required.");
+ }
+ if (maxResults != null) {
+ _queryParams["maxResults"] = ["${maxResults}"];
+ }
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+
+
+ _url = 'applications/' + common_internal.Escaper.ecapeVariable('$applicationId') + '/leaderboards';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new LeaderboardConfigurationListResponse.fromJson(data));
+ }
+
+ /**
+ * Update the metadata of the leaderboard configuration with the given ID.
+ * This method supports patch semantics.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [leaderboardId] - The ID of the leaderboard.
+ *
+ * Completes with a [LeaderboardConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<LeaderboardConfiguration> patch(LeaderboardConfiguration request, core.String leaderboardId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (leaderboardId == null) {
+ throw new core.ArgumentError("Parameter leaderboardId is required.");
+ }
+
+
+ _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId');
+
+ var _response = _requester.request(_url,
+ "PATCH",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new LeaderboardConfiguration.fromJson(data));
+ }
+
+ /**
+ * Update the metadata of the leaderboard configuration with the given ID.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [leaderboardId] - The ID of the leaderboard.
+ *
+ * Completes with a [LeaderboardConfiguration].
+ *
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<LeaderboardConfiguration> update(LeaderboardConfiguration request, core.String leaderboardId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = common.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+ if (leaderboardId == null) {
+ throw new core.ArgumentError("Parameter leaderboardId is required.");
+ }
+
+
+ _url = 'leaderboards/' + common_internal.Escaper.ecapeVariable('$leaderboardId');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new LeaderboardConfiguration.fromJson(data));
+ }
+
+}
+
+
+
+/** This is a JSON template for an achievement configuration resource. */
+class AchievementConfiguration {
+ /**
+ * The type of the achievement.
+ * Possible values are:
+ * - "STANDARD" - Achievement is either locked or unlocked.
+ * - "INCREMENTAL" - Achievement is incremental.
+ */
+ core.String achievementType;
+
+ /** The draft data of the achievement. */
+ AchievementConfigurationDetail draft;
+
+ /** The ID of the achievement. */
+ core.String id;
+
+ /**
+ * The initial state of the achievement.
+ * Possible values are:
+ * - "HIDDEN" - Achievement is hidden.
+ * - "REVEALED" - Achievement is revealed.
+ * - "UNLOCKED" - Achievement is unlocked.
+ */
+ core.String initialState;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#achievementConfiguration.
+ */
+ core.String kind;
+
+ /** The read-only published data of the achievement. */
+ AchievementConfigurationDetail published;
+
+ /** Steps to unlock. Only applicable to incremental achievements. */
+ core.int stepsToUnlock;
+
+ /** The token for this resource. */
+ core.String token;
+
+
+ AchievementConfiguration();
+
+ AchievementConfiguration.fromJson(core.Map _json) {
+ if (_json.containsKey("achievementType")) {
+ achievementType = _json["achievementType"];
+ }
+ if (_json.containsKey("draft")) {
+ draft = new AchievementConfigurationDetail.fromJson(_json["draft"]);
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("initialState")) {
+ initialState = _json["initialState"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("published")) {
+ published = new AchievementConfigurationDetail.fromJson(_json["published"]);
+ }
+ if (_json.containsKey("stepsToUnlock")) {
+ stepsToUnlock = _json["stepsToUnlock"];
+ }
+ if (_json.containsKey("token")) {
+ token = _json["token"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (achievementType != null) {
+ _json["achievementType"] = achievementType;
+ }
+ if (draft != null) {
+ _json["draft"] = (draft).toJson();
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (initialState != null) {
+ _json["initialState"] = initialState;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (published != null) {
+ _json["published"] = (published).toJson();
+ }
+ if (stepsToUnlock != null) {
+ _json["stepsToUnlock"] = stepsToUnlock;
+ }
+ if (token != null) {
+ _json["token"] = token;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for an achievement configuration detail. */
+class AchievementConfigurationDetail {
+ /** Localized strings for the achievement description. */
+ LocalizedStringBundle description;
+
+ /** The icon url of this achievement. Writes to this field are ignored. */
+ core.String iconUrl;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#achievementConfigurationDetail.
+ */
+ core.String kind;
+
+ /** Localized strings for the achievement name. */
+ LocalizedStringBundle name;
+
+ /** Point value for the achievement. */
+ core.int pointValue;
+
+ /** The sort rank of this achievement. Writes to this field are ignored. */
+ core.int sortRank;
+
+
+ AchievementConfigurationDetail();
+
+ AchievementConfigurationDetail.fromJson(core.Map _json) {
+ if (_json.containsKey("description")) {
+ description = new LocalizedStringBundle.fromJson(_json["description"]);
+ }
+ if (_json.containsKey("iconUrl")) {
+ iconUrl = _json["iconUrl"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = new LocalizedStringBundle.fromJson(_json["name"]);
+ }
+ if (_json.containsKey("pointValue")) {
+ pointValue = _json["pointValue"];
+ }
+ if (_json.containsKey("sortRank")) {
+ sortRank = _json["sortRank"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (description != null) {
+ _json["description"] = (description).toJson();
+ }
+ if (iconUrl != null) {
+ _json["iconUrl"] = iconUrl;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = (name).toJson();
+ }
+ if (pointValue != null) {
+ _json["pointValue"] = pointValue;
+ }
+ if (sortRank != null) {
+ _json["sortRank"] = sortRank;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a ListConfigurations response. */
+class AchievementConfigurationListResponse {
+ /** The achievement configurations. */
+ core.List<AchievementConfiguration> items;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string games#achievementConfigurationListResponse.
+ */
+ core.String kind;
+
+ /** The pagination token for the next page of results. */
+ core.String nextPageToken;
+
+
+ AchievementConfigurationListResponse();
+
+ AchievementConfigurationListResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new AchievementConfiguration.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a number affix resource. */
+class GamesNumberAffixConfiguration {
+ /**
+ * When the language requires special treatment of "small" numbers (as with 2,
+ * 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in
+ * Polish).
+ */
+ LocalizedStringBundle few;
+
+ /**
+ * When the language requires special treatment of "large" numbers (as with
+ * numbers ending 11-99 in Maltese).
+ */
+ LocalizedStringBundle many;
+
+ /**
+ * When the language requires special treatment of numbers like one (as with
+ * the number 1 in English and most other languages; in Russian, any number
+ * ending in 1 but not ending in 11 is in this class).
+ */
+ LocalizedStringBundle one;
+
+ /**
+ * When the language does not require special treatment of the given quantity
+ * (as with all numbers in Chinese, or 42 in English).
+ */
+ LocalizedStringBundle other;
+
+ /**
+ * When the language requires special treatment of numbers like two (as with 2
+ * in Welsh, or 102 in Slovenian).
+ */
+ LocalizedStringBundle two;
+
+ /**
+ * When the language requires special treatment of the number 0 (as in
+ * Arabic).
+ */
+ LocalizedStringBundle zero;
+
+
+ GamesNumberAffixConfiguration();
+
+ GamesNumberAffixConfiguration.fromJson(core.Map _json) {
+ if (_json.containsKey("few")) {
+ few = new LocalizedStringBundle.fromJson(_json["few"]);
+ }
+ if (_json.containsKey("many")) {
+ many = new LocalizedStringBundle.fromJson(_json["many"]);
+ }
+ if (_json.containsKey("one")) {
+ one = new LocalizedStringBundle.fromJson(_json["one"]);
+ }
+ if (_json.containsKey("other")) {
+ other = new LocalizedStringBundle.fromJson(_json["other"]);
+ }
+ if (_json.containsKey("two")) {
+ two = new LocalizedStringBundle.fromJson(_json["two"]);
+ }
+ if (_json.containsKey("zero")) {
+ zero = new LocalizedStringBundle.fromJson(_json["zero"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (few != null) {
+ _json["few"] = (few).toJson();
+ }
+ if (many != null) {
+ _json["many"] = (many).toJson();
+ }
+ if (one != null) {
+ _json["one"] = (one).toJson();
+ }
+ if (other != null) {
+ _json["other"] = (other).toJson();
+ }
+ if (two != null) {
+ _json["two"] = (two).toJson();
+ }
+ if (zero != null) {
+ _json["zero"] = (zero).toJson();
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a number format resource. */
+class GamesNumberFormatConfiguration {
+ /** The curreny code string. Only used for CURRENCY format type. */
+ core.String currencyCode;
+
+ /**
+ * The number of decimal places for number. Only used for NUMERIC format type.
+ */
+ core.int numDecimalPlaces;
+
+ /**
+ * The formatting for the number.
+ * Possible values are:
+ * - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of
+ * digits after the decimal point according to locale. An optional custom unit
+ * can be added.
+ * - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
+ * - "CURRENCY" - Numbers are formatted to currency according to locale.
+ */
+ core.String numberFormatType;
+
+ /**
+ * An optional suffix for the NUMERIC format type. These strings follow the
+ * same plural rules as all Android string resources.
+ */
+ GamesNumberAffixConfiguration suffix;
+
+
+ GamesNumberFormatConfiguration();
+
+ GamesNumberFormatConfiguration.fromJson(core.Map _json) {
+ if (_json.containsKey("currencyCode")) {
+ currencyCode = _json["currencyCode"];
+ }
+ if (_json.containsKey("numDecimalPlaces")) {
+ numDecimalPlaces = _json["numDecimalPlaces"];
+ }
+ if (_json.containsKey("numberFormatType")) {
+ numberFormatType = _json["numberFormatType"];
+ }
+ if (_json.containsKey("suffix")) {
+ suffix = new GamesNumberAffixConfiguration.fromJson(_json["suffix"]);
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (currencyCode != null) {
+ _json["currencyCode"] = currencyCode;
+ }
+ if (numDecimalPlaces != null) {
+ _json["numDecimalPlaces"] = numDecimalPlaces;
+ }
+ if (numberFormatType != null) {
+ _json["numberFormatType"] = numberFormatType;
+ }
+ if (suffix != null) {
+ _json["suffix"] = (suffix).toJson();
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for an image configuration resource. */
+class ImageConfiguration {
+ /** The image type for the image. */
+ core.String imageType;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#imageConfiguration.
+ */
+ core.String kind;
+
+ /** The resource ID of resource which the image belongs to. */
+ core.String resourceId;
+
+ /** The url for this image. */
+ core.String url;
+
+
+ ImageConfiguration();
+
+ ImageConfiguration.fromJson(core.Map _json) {
+ if (_json.containsKey("imageType")) {
+ imageType = _json["imageType"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("resourceId")) {
+ resourceId = _json["resourceId"];
+ }
+ if (_json.containsKey("url")) {
+ url = _json["url"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (imageType != null) {
+ _json["imageType"] = imageType;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (resourceId != null) {
+ _json["resourceId"] = resourceId;
+ }
+ if (url != null) {
+ _json["url"] = url;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for an leaderboard configuration resource. */
+class LeaderboardConfiguration {
+ /** The draft data of the leaderboard. */
+ LeaderboardConfigurationDetail draft;
+
+ /** The ID of the leaderboard. */
+ core.String id;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#leaderboardConfiguration.
+ */
+ core.String kind;
+
+ /** The read-only published data of the leaderboard. */
+ LeaderboardConfigurationDetail published;
+
+ /** Maximum score that can be posted to this leaderboard. */
+ core.String scoreMax;
+
+ /** Minimum score that can be posted to this leaderboard. */
+ core.String scoreMin;
+
+ /**
+ * The type of the leaderboard.
+ * Possible values are:
+ * - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
+ * - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
+ */
+ core.String scoreOrder;
+
+ /** The token for this resource. */
+ core.String token;
+
+
+ LeaderboardConfiguration();
+
+ LeaderboardConfiguration.fromJson(core.Map _json) {
+ if (_json.containsKey("draft")) {
+ draft = new LeaderboardConfigurationDetail.fromJson(_json["draft"]);
+ }
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("published")) {
+ published = new LeaderboardConfigurationDetail.fromJson(_json["published"]);
+ }
+ if (_json.containsKey("scoreMax")) {
+ scoreMax = _json["scoreMax"];
+ }
+ if (_json.containsKey("scoreMin")) {
+ scoreMin = _json["scoreMin"];
+ }
+ if (_json.containsKey("scoreOrder")) {
+ scoreOrder = _json["scoreOrder"];
+ }
+ if (_json.containsKey("token")) {
+ token = _json["token"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (draft != null) {
+ _json["draft"] = (draft).toJson();
+ }
+ if (id != null) {
+ _json["id"] = id;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (published != null) {
+ _json["published"] = (published).toJson();
+ }
+ if (scoreMax != null) {
+ _json["scoreMax"] = scoreMax;
+ }
+ if (scoreMin != null) {
+ _json["scoreMin"] = scoreMin;
+ }
+ if (scoreOrder != null) {
+ _json["scoreOrder"] = scoreOrder;
+ }
+ if (token != null) {
+ _json["token"] = token;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a leaderboard configuration detail. */
+class LeaderboardConfigurationDetail {
+ /** The icon url of this leaderboard. Writes to this field are ignored. */
+ core.String iconUrl;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#leaderboardConfigurationDetail.
+ */
+ core.String kind;
+
+ /** Localized strings for the leaderboard name. */
+ LocalizedStringBundle name;
+
+ /** The score formatting for the leaderboard. */
+ GamesNumberFormatConfiguration scoreFormat;
+
+ /** The sort rank of this leaderboard. Writes to this field are ignored. */
+ core.int sortRank;
+
+
+ LeaderboardConfigurationDetail();
+
+ LeaderboardConfigurationDetail.fromJson(core.Map _json) {
+ if (_json.containsKey("iconUrl")) {
+ iconUrl = _json["iconUrl"];
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("name")) {
+ name = new LocalizedStringBundle.fromJson(_json["name"]);
+ }
+ if (_json.containsKey("scoreFormat")) {
+ scoreFormat = new GamesNumberFormatConfiguration.fromJson(_json["scoreFormat"]);
+ }
+ if (_json.containsKey("sortRank")) {
+ sortRank = _json["sortRank"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (iconUrl != null) {
+ _json["iconUrl"] = iconUrl;
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (name != null) {
+ _json["name"] = (name).toJson();
+ }
+ if (scoreFormat != null) {
+ _json["scoreFormat"] = (scoreFormat).toJson();
+ }
+ if (sortRank != null) {
+ _json["sortRank"] = sortRank;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a ListConfigurations response. */
+class LeaderboardConfigurationListResponse {
+ /** The leaderboard configurations. */
+ core.List<LeaderboardConfiguration> items;
+
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string games#leaderboardConfigurationListResponse.
+ */
+ core.String kind;
+
+ /** The pagination token for the next page of results. */
+ core.String nextPageToken;
+
+
+ LeaderboardConfigurationListResponse();
+
+ LeaderboardConfigurationListResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("items")) {
+ items = _json["items"].map((value) => new LeaderboardConfiguration.fromJson(value)).toList();
+ }
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (items != null) {
+ _json["items"] = items.map((value) => (value).toJson()).toList();
+ }
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a localized string resource. */
+class LocalizedString {
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#localizedString.
+ */
+ core.String kind;
+
+ /** The locale string. */
+ core.String locale;
+
+ /** The string value. */
+ core.String value;
+
+
+ LocalizedString();
+
+ LocalizedString.fromJson(core.Map _json) {
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("locale")) {
+ locale = _json["locale"];
+ }
+ if (_json.containsKey("value")) {
+ value = _json["value"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (locale != null) {
+ _json["locale"] = locale;
+ }
+ if (value != null) {
+ _json["value"] = value;
+ }
+ return _json;
+ }
+}
+
+
+/** This is a JSON template for a localized string bundle resource. */
+class LocalizedStringBundle {
+ /**
+ * Uniquely identifies the type of this resource. Value is always the fixed
+ * string gamesConfiguration#localizedStringBundle.
+ */
+ core.String kind;
+
+ /** The locale strings. */
+ core.List<LocalizedString> translations;
+
+
+ LocalizedStringBundle();
+
+ LocalizedStringBundle.fromJson(core.Map _json) {
+ if (_json.containsKey("kind")) {
+ kind = _json["kind"];
+ }
+ if (_json.containsKey("translations")) {
+ translations = _json["translations"].map((value) => new LocalizedString.fromJson(value)).toList();
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (kind != null) {
+ _json["kind"] = kind;
+ }
+ if (translations != null) {
+ _json["translations"] = translations.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+