Index: generated/googleapis/lib/doubleclickbidmanager/v1.dart |
diff --git a/generated/googleapis/lib/doubleclickbidmanager/v1.dart b/generated/googleapis/lib/doubleclickbidmanager/v1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ac90b3a7ba360eac24f9d4a35eb4334ae9d79bfe |
--- /dev/null |
+++ b/generated/googleapis/lib/doubleclickbidmanager/v1.dart |
@@ -0,0 +1,1515 @@ |
+library googleapis.doubleclickbidmanager.v1; |
+ |
+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; |
+ |
+/** API for viewing and managing your reports in DoubleClick Bid Manager. */ |
+class DoubleclickbidmanagerApi { |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ LineitemsResourceApi get lineitems => new LineitemsResourceApi(_requester); |
+ QueriesResourceApi get queries => new QueriesResourceApi(_requester); |
+ ReportsResourceApi get reports => new ReportsResourceApi(_requester); |
+ |
+ DoubleclickbidmanagerApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclickbidmanager/v1/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class LineitemsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ LineitemsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Retrieves line items in CSV format. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [DownloadLineItemsResponse]. |
+ * |
+ * 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<DownloadLineItemsResponse> downloadlineitems(DownloadLineItemsRequest request) { |
+ 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()); |
+ } |
+ |
+ |
+ _url = 'lineitems/downloadlineitems'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new DownloadLineItemsResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Uploads line items in CSV format. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [UploadLineItemsResponse]. |
+ * |
+ * 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<UploadLineItemsResponse> uploadlineitems(UploadLineItemsRequest request) { |
+ 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()); |
+ } |
+ |
+ |
+ _url = 'lineitems/uploadlineitems'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new UploadLineItemsResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class QueriesResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ QueriesResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Creates a query. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [Query]. |
+ * |
+ * 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<Query> createquery(Query request) { |
+ 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()); |
+ } |
+ |
+ |
+ _url = 'query'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Query.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Deletes a stored query as well as the associated stored reports. |
+ * |
+ * Request parameters: |
+ * |
+ * [queryId] - Query ID to delete. |
+ * |
+ * 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 deletequery(core.String queryId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (queryId == null) { |
+ throw new core.ArgumentError("Parameter queryId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Retrieves a stored query. |
+ * |
+ * Request parameters: |
+ * |
+ * [queryId] - Query ID to retrieve. |
+ * |
+ * Completes with a [Query]. |
+ * |
+ * 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<Query> getquery(core.String queryId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (queryId == null) { |
+ throw new core.ArgumentError("Parameter queryId is required."); |
+ } |
+ |
+ |
+ _url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Query.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Retrieves stored queries. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [ListQueriesResponse]. |
+ * |
+ * 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<ListQueriesResponse> listqueries() { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ |
+ |
+ _url = 'queries'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListQueriesResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Runs a stored query to generate a report. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [queryId] - Query ID to run. |
+ * |
+ * 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 runquery(RunQueryRequest request, core.String queryId) { |
+ 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 (queryId == null) { |
+ throw new core.ArgumentError("Parameter queryId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId'); |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ReportsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ReportsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Retrieves stored reports. |
+ * |
+ * Request parameters: |
+ * |
+ * [queryId] - Query ID with which the reports are associated. |
+ * |
+ * Completes with a [ListReportsResponse]. |
+ * |
+ * 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<ListReportsResponse> listreports(core.String queryId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (queryId == null) { |
+ throw new core.ArgumentError("Parameter queryId is required."); |
+ } |
+ |
+ |
+ _url = 'queries/' + common_internal.Escaper.ecapeVariable('$queryId') + '/reports'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListReportsResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** Request to fetch stored line items. */ |
+class DownloadLineItemsRequest { |
+ /** |
+ * Ids of the specified filter type used to filter line items to fetch. If |
+ * omitted, all the line items will be returned. |
+ */ |
+ core.List<core.String> filterIds; |
+ |
+ /** |
+ * Filter type used to filter line items to fetch. |
+ * Possible string values are: |
+ * - "ADVERTISER_ID" |
+ * - "INSERTION_ORDER_ID" |
+ * - "LINE_ITEM_ID" |
+ */ |
+ core.String filterType; |
+ |
+ /** |
+ * Format in which the line items will be returned. Default to CSV. |
+ * Possible string values are: |
+ * - "CSV" |
+ */ |
+ core.String format; |
+ |
+ |
+ DownloadLineItemsRequest(); |
+ |
+ DownloadLineItemsRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("filterIds")) { |
+ filterIds = _json["filterIds"]; |
+ } |
+ if (_json.containsKey("filterType")) { |
+ filterType = _json["filterType"]; |
+ } |
+ if (_json.containsKey("format")) { |
+ format = _json["format"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (filterIds != null) { |
+ _json["filterIds"] = filterIds; |
+ } |
+ if (filterType != null) { |
+ _json["filterType"] = filterType; |
+ } |
+ if (format != null) { |
+ _json["format"] = format; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Download line items response. */ |
+class DownloadLineItemsResponse { |
+ /** |
+ * Retrieved line items in CSV format. Refer to Entity Write File Format for |
+ * more information on file format. |
+ */ |
+ core.String lineItems; |
+ |
+ |
+ DownloadLineItemsResponse(); |
+ |
+ DownloadLineItemsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("lineItems")) { |
+ lineItems = _json["lineItems"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (lineItems != null) { |
+ _json["lineItems"] = lineItems; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Filter used to match traffic data in your report. */ |
+class FilterPair { |
+ /** |
+ * Filter type. |
+ * Possible string values are: |
+ * - "FILTER_ACTIVITY_ID" |
+ * - "FILTER_ADVERTISER" |
+ * - "FILTER_ADVERTISER_CURRENCY" |
+ * - "FILTER_ADVERTISER_TIMEZONE" |
+ * - "FILTER_AD_POSITION" |
+ * - "FILTER_BRANDSAFE_CHANNEL_ID" |
+ * - "FILTER_BROWSER" |
+ * - "FILTER_CAMPAIGN_DAILY_FREQUENCY" |
+ * - "FILTER_CARRIER" |
+ * - "FILTER_CHANNEL_ID" |
+ * - "FILTER_CITY" |
+ * - "FILTER_CONVERSION_DELAY" |
+ * - "FILTER_COUNTRY" |
+ * - "FILTER_CREATIVE_ID" |
+ * - "FILTER_CREATIVE_SIZE" |
+ * - "FILTER_CREATIVE_TYPE" |
+ * - "FILTER_DATA_PROVIDER" |
+ * - "FILTER_DATE" |
+ * - "FILTER_DAY_OF_WEEK" |
+ * - "FILTER_DMA" |
+ * - "FILTER_EXCHANGE_ID" |
+ * - "FILTER_FLOODLIGHT_PIXEL_ID" |
+ * - "FILTER_INSERTION_ORDER" |
+ * - "FILTER_INVENTORY_FORMAT" |
+ * - "FILTER_INVENTORY_SOURCE" |
+ * - "FILTER_KEYWORD" |
+ * - "FILTER_LINE_ITEM" |
+ * - "FILTER_LINE_ITEM_DAILY_FREQUENCY" |
+ * - "FILTER_LINE_ITEM_LIFETIME_FREQUENCY" |
+ * - "FILTER_LINE_ITEM_TYPE" |
+ * - "FILTER_MOBILE_DEVICE_MAKE" |
+ * - "FILTER_MOBILE_DEVICE_MAKE_MODEL" |
+ * - "FILTER_MOBILE_DEVICE_TYPE" |
+ * - "FILTER_MONTH" |
+ * - "FILTER_ORDER_ID" |
+ * - "FILTER_OS" |
+ * - "FILTER_PAGE_CATEGORY" |
+ * - "FILTER_PAGE_LAYOUT" |
+ * - "FILTER_PARTNER" |
+ * - "FILTER_PARTNER_CURRENCY" |
+ * - "FILTER_PUBLIC_INVENTORY" |
+ * - "FILTER_REGION" |
+ * - "FILTER_REGULAR_CHANNEL_ID" |
+ * - "FILTER_SITE_ID" |
+ * - "FILTER_SITE_LANGUAGE" |
+ * - "FILTER_TARGETED_USER_LIST" |
+ * - "FILTER_TIME_OF_DAY" |
+ * - "FILTER_UNKNOWN" |
+ * - "FILTER_USER_LIST" |
+ * - "FILTER_USER_LIST_FIRST_PARTY" |
+ * - "FILTER_USER_LIST_THIRD_PARTY" |
+ * - "FILTER_VIDEO_AD_POSITION_IN_STREAM" |
+ * - "FILTER_VIDEO_CREATIVE_DURATION" |
+ * - "FILTER_VIDEO_DURATION_SECONDS" |
+ * - "FILTER_VIDEO_FORMAT_SUPPORT" |
+ * - "FILTER_VIDEO_INVENTORY_TYPE" |
+ * - "FILTER_VIDEO_PLAYER_SIZE" |
+ * - "FILTER_VIDEO_RATING_TIER" |
+ * - "FILTER_VIDEO_SKIPPABLE_SUPPORT" |
+ * - "FILTER_VIDEO_VPAID_SUPPORT" |
+ * - "FILTER_WEEK" |
+ * - "FILTER_YEAR" |
+ * - "FILTER_YOUTUBE_VERTICAL" |
+ * - "FILTER_ZIP_CODE" |
+ */ |
+ core.String type; |
+ |
+ /** Filter value. */ |
+ core.String value; |
+ |
+ |
+ FilterPair(); |
+ |
+ FilterPair.fromJson(core.Map _json) { |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("value")) { |
+ value = _json["value"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (value != null) { |
+ _json["value"] = value; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** List queries response. */ |
+class ListQueriesResponse { |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "doubleclickbidmanager#listQueriesResponse". |
+ */ |
+ core.String kind; |
+ |
+ /** Retrieved queries. */ |
+ core.List<Query> queries; |
+ |
+ |
+ ListQueriesResponse(); |
+ |
+ ListQueriesResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("queries")) { |
+ queries = _json["queries"].map((value) => new Query.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (queries != null) { |
+ _json["queries"] = queries.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** List reports response. */ |
+class ListReportsResponse { |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "doubleclickbidmanager#listReportsResponse". |
+ */ |
+ core.String kind; |
+ |
+ /** Retrieved reports. */ |
+ core.List<Report> reports; |
+ |
+ |
+ ListReportsResponse(); |
+ |
+ ListReportsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("reports")) { |
+ reports = _json["reports"].map((value) => new Report.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (reports != null) { |
+ _json["reports"] = reports.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Parameters of a query or report. */ |
+class Parameters { |
+ /** Filters used to match traffic data in your report. */ |
+ core.List<FilterPair> filters; |
+ |
+ /** Data is grouped by the filters listed in this field. */ |
+ core.List<core.String> groupBys; |
+ |
+ /** Whether to include data from Invite Media. */ |
+ core.bool includeInviteData; |
+ |
+ /** Metrics to include as columns in your report. */ |
+ core.List<core.String> metrics; |
+ |
+ /** |
+ * Report type. |
+ * Possible string values are: |
+ * - "TYPE_ACTIVE_GRP" |
+ * - "TYPE_AUDIENCE_COMPOSITION" |
+ * - "TYPE_AUDIENCE_PERFORMANCE" |
+ * - "TYPE_CLIENT_SAFE" |
+ * - "TYPE_CROSS_FEE" |
+ * - "TYPE_CROSS_PARTNER" |
+ * - "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER" |
+ * - "TYPE_FEE" |
+ * - "TYPE_GENERAL" |
+ * - "TYPE_INVENTORY_AVAILABILITY" |
+ * - "TYPE_KEYWORD" |
+ * - "TYPE_ORDER_ID" |
+ * - "TYPE_PAGE_CATEGORY" |
+ * - "TYPE_PIXEL_LOAD" |
+ * - "TYPE_THIRD_PARTY_DATA_PROVIDER" |
+ * - "TYPE_YOUTUBE_VERTICAL" |
+ */ |
+ core.String type; |
+ |
+ |
+ Parameters(); |
+ |
+ Parameters.fromJson(core.Map _json) { |
+ if (_json.containsKey("filters")) { |
+ filters = _json["filters"].map((value) => new FilterPair.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("groupBys")) { |
+ groupBys = _json["groupBys"]; |
+ } |
+ if (_json.containsKey("includeInviteData")) { |
+ includeInviteData = _json["includeInviteData"]; |
+ } |
+ if (_json.containsKey("metrics")) { |
+ metrics = _json["metrics"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (filters != null) { |
+ _json["filters"] = filters.map((value) => (value).toJson()).toList(); |
+ } |
+ if (groupBys != null) { |
+ _json["groupBys"] = groupBys; |
+ } |
+ if (includeInviteData != null) { |
+ _json["includeInviteData"] = includeInviteData; |
+ } |
+ if (metrics != null) { |
+ _json["metrics"] = metrics; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Represents a query. */ |
+class Query { |
+ /** |
+ * Identifies what kind of resource this is. Value: the fixed string |
+ * "doubleclickbidmanager#query". |
+ */ |
+ core.String kind; |
+ |
+ /** Query metadata. */ |
+ QueryMetadata metadata; |
+ |
+ /** Query parameters. */ |
+ Parameters params; |
+ |
+ /** Query ID. */ |
+ core.String queryId; |
+ |
+ /** |
+ * The ending time for the data that is shown in the report. Note, |
+ * reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and |
+ * ignored otherwise. |
+ */ |
+ core.String reportDataEndTimeMs; |
+ |
+ /** |
+ * The starting time for the data that is shown in the report. Note, |
+ * reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and |
+ * ignored otherwise. |
+ */ |
+ core.String reportDataStartTimeMs; |
+ |
+ /** Information on how often and when to run a query. */ |
+ QuerySchedule schedule; |
+ |
+ /** |
+ * Canonical timezone code for report data time. Defaults to America/New_York. |
+ */ |
+ core.String timezoneCode; |
+ |
+ |
+ Query(); |
+ |
+ Query.fromJson(core.Map _json) { |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("metadata")) { |
+ metadata = new QueryMetadata.fromJson(_json["metadata"]); |
+ } |
+ if (_json.containsKey("params")) { |
+ params = new Parameters.fromJson(_json["params"]); |
+ } |
+ if (_json.containsKey("queryId")) { |
+ queryId = _json["queryId"]; |
+ } |
+ if (_json.containsKey("reportDataEndTimeMs")) { |
+ reportDataEndTimeMs = _json["reportDataEndTimeMs"]; |
+ } |
+ if (_json.containsKey("reportDataStartTimeMs")) { |
+ reportDataStartTimeMs = _json["reportDataStartTimeMs"]; |
+ } |
+ if (_json.containsKey("schedule")) { |
+ schedule = new QuerySchedule.fromJson(_json["schedule"]); |
+ } |
+ if (_json.containsKey("timezoneCode")) { |
+ timezoneCode = _json["timezoneCode"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (metadata != null) { |
+ _json["metadata"] = (metadata).toJson(); |
+ } |
+ if (params != null) { |
+ _json["params"] = (params).toJson(); |
+ } |
+ if (queryId != null) { |
+ _json["queryId"] = queryId; |
+ } |
+ if (reportDataEndTimeMs != null) { |
+ _json["reportDataEndTimeMs"] = reportDataEndTimeMs; |
+ } |
+ if (reportDataStartTimeMs != null) { |
+ _json["reportDataStartTimeMs"] = reportDataStartTimeMs; |
+ } |
+ if (schedule != null) { |
+ _json["schedule"] = (schedule).toJson(); |
+ } |
+ if (timezoneCode != null) { |
+ _json["timezoneCode"] = timezoneCode; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Query metadata. */ |
+class QueryMetadata { |
+ /** |
+ * Range of report data. |
+ * Possible string values are: |
+ * - "ALL_TIME" |
+ * - "CURRENT_DAY" |
+ * - "CUSTOM_DATES" |
+ * - "LAST_14_DAYS" |
+ * - "LAST_30_DAYS" |
+ * - "LAST_365_DAYS" |
+ * - "LAST_7_DAYS" |
+ * - "LAST_90_DAYS" |
+ * - "MONTH_TO_DATE" |
+ * - "PREVIOUS_DAY" |
+ * - "PREVIOUS_HALF_MONTH" |
+ * - "PREVIOUS_MONTH" |
+ * - "PREVIOUS_QUARTER" |
+ * - "PREVIOUS_WEEK" |
+ * - "PREVIOUS_YEAR" |
+ * - "QUARTER_TO_DATE" |
+ * - "WEEK_TO_DATE" |
+ * - "YEAR_TO_DATE" |
+ */ |
+ core.String dataRange; |
+ |
+ /** |
+ * Format of the generated report. |
+ * Possible string values are: |
+ * - "CSV" |
+ * - "EXCEL_CSV" |
+ * - "XLSX" |
+ */ |
+ core.String format; |
+ |
+ /** |
+ * The path to the location in Google Cloud Storage where the latest report is |
+ * stored. |
+ */ |
+ core.String googleCloudStoragePathForLatestReport; |
+ |
+ /** The path in Google Drive for the latest report. */ |
+ core.String googleDrivePathForLatestReport; |
+ |
+ /** The time when the latest report started to run. */ |
+ core.String latestReportRunTimeMs; |
+ |
+ /** Number of reports that have been generated for the query. */ |
+ core.int reportCount; |
+ |
+ /** Whether the latest report is currently running. */ |
+ core.bool running; |
+ |
+ /** |
+ * Whether to send an email notification when a report is ready. Default to |
+ * false. |
+ */ |
+ core.bool sendNotification; |
+ |
+ /** |
+ * List of email addresses which are sent email notifications when the report |
+ * is finished. Separate from sendNotification. |
+ */ |
+ core.List<core.String> shareEmailAddress; |
+ |
+ /** Query title. It is used to name the reports generated from this query. */ |
+ core.String title; |
+ |
+ |
+ QueryMetadata(); |
+ |
+ QueryMetadata.fromJson(core.Map _json) { |
+ if (_json.containsKey("dataRange")) { |
+ dataRange = _json["dataRange"]; |
+ } |
+ if (_json.containsKey("format")) { |
+ format = _json["format"]; |
+ } |
+ if (_json.containsKey("googleCloudStoragePathForLatestReport")) { |
+ googleCloudStoragePathForLatestReport = _json["googleCloudStoragePathForLatestReport"]; |
+ } |
+ if (_json.containsKey("googleDrivePathForLatestReport")) { |
+ googleDrivePathForLatestReport = _json["googleDrivePathForLatestReport"]; |
+ } |
+ if (_json.containsKey("latestReportRunTimeMs")) { |
+ latestReportRunTimeMs = _json["latestReportRunTimeMs"]; |
+ } |
+ if (_json.containsKey("reportCount")) { |
+ reportCount = _json["reportCount"]; |
+ } |
+ if (_json.containsKey("running")) { |
+ running = _json["running"]; |
+ } |
+ if (_json.containsKey("sendNotification")) { |
+ sendNotification = _json["sendNotification"]; |
+ } |
+ if (_json.containsKey("shareEmailAddress")) { |
+ shareEmailAddress = _json["shareEmailAddress"]; |
+ } |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dataRange != null) { |
+ _json["dataRange"] = dataRange; |
+ } |
+ if (format != null) { |
+ _json["format"] = format; |
+ } |
+ if (googleCloudStoragePathForLatestReport != null) { |
+ _json["googleCloudStoragePathForLatestReport"] = googleCloudStoragePathForLatestReport; |
+ } |
+ if (googleDrivePathForLatestReport != null) { |
+ _json["googleDrivePathForLatestReport"] = googleDrivePathForLatestReport; |
+ } |
+ if (latestReportRunTimeMs != null) { |
+ _json["latestReportRunTimeMs"] = latestReportRunTimeMs; |
+ } |
+ if (reportCount != null) { |
+ _json["reportCount"] = reportCount; |
+ } |
+ if (running != null) { |
+ _json["running"] = running; |
+ } |
+ if (sendNotification != null) { |
+ _json["sendNotification"] = sendNotification; |
+ } |
+ if (shareEmailAddress != null) { |
+ _json["shareEmailAddress"] = shareEmailAddress; |
+ } |
+ if (title != null) { |
+ _json["title"] = title; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information on how frequently and when to run a query. */ |
+class QuerySchedule { |
+ /** Datetime to periodically run the query until. */ |
+ core.String endTimeMs; |
+ |
+ /** |
+ * How often the query is run. |
+ * Possible string values are: |
+ * - "DAILY" |
+ * - "MONTHLY" |
+ * - "ONE_TIME" |
+ * - "QUARTERLY" |
+ * - "SEMI_MONTHLY" |
+ * - "WEEKLY" |
+ */ |
+ core.String frequency; |
+ |
+ /** |
+ * Time of day at which a new report will be generated, represented as minutes |
+ * past midnight Range is 0 to 1439. Only applies to scheduled reports. |
+ */ |
+ core.int nextRunMinuteOfDay; |
+ |
+ /** |
+ * Canonical timezone code for report generation time. Defaults to |
+ * America/New_York. |
+ */ |
+ core.String nextRunTimezoneCode; |
+ |
+ |
+ QuerySchedule(); |
+ |
+ QuerySchedule.fromJson(core.Map _json) { |
+ if (_json.containsKey("endTimeMs")) { |
+ endTimeMs = _json["endTimeMs"]; |
+ } |
+ if (_json.containsKey("frequency")) { |
+ frequency = _json["frequency"]; |
+ } |
+ if (_json.containsKey("nextRunMinuteOfDay")) { |
+ nextRunMinuteOfDay = _json["nextRunMinuteOfDay"]; |
+ } |
+ if (_json.containsKey("nextRunTimezoneCode")) { |
+ nextRunTimezoneCode = _json["nextRunTimezoneCode"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (endTimeMs != null) { |
+ _json["endTimeMs"] = endTimeMs; |
+ } |
+ if (frequency != null) { |
+ _json["frequency"] = frequency; |
+ } |
+ if (nextRunMinuteOfDay != null) { |
+ _json["nextRunMinuteOfDay"] = nextRunMinuteOfDay; |
+ } |
+ if (nextRunTimezoneCode != null) { |
+ _json["nextRunTimezoneCode"] = nextRunTimezoneCode; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Represents a report. */ |
+class Report { |
+ /** Key used to identify a report. */ |
+ ReportKey key; |
+ |
+ /** Report metadata. */ |
+ ReportMetadata metadata; |
+ |
+ /** Report parameters. */ |
+ Parameters params; |
+ |
+ |
+ Report(); |
+ |
+ Report.fromJson(core.Map _json) { |
+ if (_json.containsKey("key")) { |
+ key = new ReportKey.fromJson(_json["key"]); |
+ } |
+ if (_json.containsKey("metadata")) { |
+ metadata = new ReportMetadata.fromJson(_json["metadata"]); |
+ } |
+ if (_json.containsKey("params")) { |
+ params = new Parameters.fromJson(_json["params"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (key != null) { |
+ _json["key"] = (key).toJson(); |
+ } |
+ if (metadata != null) { |
+ _json["metadata"] = (metadata).toJson(); |
+ } |
+ if (params != null) { |
+ _json["params"] = (params).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** An explanation of a report failure. */ |
+class ReportFailure { |
+ /** |
+ * Error code that shows why the report was not created. |
+ * Possible string values are: |
+ * - "AUTHENTICATION_ERROR" |
+ * - "DEPRECATED_REPORTING_INVALID_QUERY" |
+ * - "REPORTING_BUCKET_NOT_FOUND" |
+ * - "REPORTING_CREATE_BUCKET_FAILED" |
+ * - "REPORTING_DELETE_BUCKET_FAILED" |
+ * - "REPORTING_FATAL_ERROR" |
+ * - "REPORTING_ILLEGAL_FILENAME" |
+ * - "REPORTING_IMCOMPATIBLE_METRICS" |
+ * - "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS" |
+ * - "REPORTING_INVALID_QUERY_TITLE_MISSING" |
+ * - "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS" |
+ * - "REPORTING_QUERY_NOT_FOUND" |
+ * - "REPORTING_TRANSIENT_ERROR" |
+ * - "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED" |
+ * - "REPORTING_WRITE_BUCKET_OBJECT_FAILED" |
+ * - "SERVER_ERROR" |
+ * - "UNAUTHORIZED_API_ACCESS" |
+ * - "VALIDATION_ERROR" |
+ */ |
+ core.String errorCode; |
+ |
+ |
+ ReportFailure(); |
+ |
+ ReportFailure.fromJson(core.Map _json) { |
+ if (_json.containsKey("errorCode")) { |
+ errorCode = _json["errorCode"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (errorCode != null) { |
+ _json["errorCode"] = errorCode; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Key used to identify a report. */ |
+class ReportKey { |
+ /** Query ID. */ |
+ core.String queryId; |
+ |
+ /** Report ID. */ |
+ core.String reportId; |
+ |
+ |
+ ReportKey(); |
+ |
+ ReportKey.fromJson(core.Map _json) { |
+ if (_json.containsKey("queryId")) { |
+ queryId = _json["queryId"]; |
+ } |
+ if (_json.containsKey("reportId")) { |
+ reportId = _json["reportId"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (queryId != null) { |
+ _json["queryId"] = queryId; |
+ } |
+ if (reportId != null) { |
+ _json["reportId"] = reportId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Report metadata. */ |
+class ReportMetadata { |
+ /** |
+ * The path to the location in Google Cloud Storage where the report is |
+ * stored. |
+ */ |
+ core.String googleCloudStoragePath; |
+ |
+ /** The ending time for the data that is shown in the report. */ |
+ core.String reportDataEndTimeMs; |
+ |
+ /** The starting time for the data that is shown in the report. */ |
+ core.String reportDataStartTimeMs; |
+ |
+ /** Report status. */ |
+ ReportStatus status; |
+ |
+ |
+ ReportMetadata(); |
+ |
+ ReportMetadata.fromJson(core.Map _json) { |
+ if (_json.containsKey("googleCloudStoragePath")) { |
+ googleCloudStoragePath = _json["googleCloudStoragePath"]; |
+ } |
+ if (_json.containsKey("reportDataEndTimeMs")) { |
+ reportDataEndTimeMs = _json["reportDataEndTimeMs"]; |
+ } |
+ if (_json.containsKey("reportDataStartTimeMs")) { |
+ reportDataStartTimeMs = _json["reportDataStartTimeMs"]; |
+ } |
+ if (_json.containsKey("status")) { |
+ status = new ReportStatus.fromJson(_json["status"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (googleCloudStoragePath != null) { |
+ _json["googleCloudStoragePath"] = googleCloudStoragePath; |
+ } |
+ if (reportDataEndTimeMs != null) { |
+ _json["reportDataEndTimeMs"] = reportDataEndTimeMs; |
+ } |
+ if (reportDataStartTimeMs != null) { |
+ _json["reportDataStartTimeMs"] = reportDataStartTimeMs; |
+ } |
+ if (status != null) { |
+ _json["status"] = (status).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Report status. */ |
+class ReportStatus { |
+ /** If the report failed, this records the cause. */ |
+ ReportFailure failure; |
+ |
+ /** The time when this report either completed successfully or failed. */ |
+ core.String finishTimeMs; |
+ |
+ /** |
+ * The file type of the report. |
+ * Possible string values are: |
+ * - "CSV" |
+ * - "EXCEL_CSV" |
+ * - "XLSX" |
+ */ |
+ core.String format; |
+ |
+ /** |
+ * The state of the report. |
+ * Possible string values are: |
+ * - "DONE" |
+ * - "FAILED" |
+ * - "RUNNING" |
+ */ |
+ core.String state; |
+ |
+ |
+ ReportStatus(); |
+ |
+ ReportStatus.fromJson(core.Map _json) { |
+ if (_json.containsKey("failure")) { |
+ failure = new ReportFailure.fromJson(_json["failure"]); |
+ } |
+ if (_json.containsKey("finishTimeMs")) { |
+ finishTimeMs = _json["finishTimeMs"]; |
+ } |
+ if (_json.containsKey("format")) { |
+ format = _json["format"]; |
+ } |
+ if (_json.containsKey("state")) { |
+ state = _json["state"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (failure != null) { |
+ _json["failure"] = (failure).toJson(); |
+ } |
+ if (finishTimeMs != null) { |
+ _json["finishTimeMs"] = finishTimeMs; |
+ } |
+ if (format != null) { |
+ _json["format"] = format; |
+ } |
+ if (state != null) { |
+ _json["state"] = state; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Represents the upload status of a row in the request. */ |
+class RowStatus { |
+ /** Whether the stored entity is changed as a result of upload. */ |
+ core.bool changed; |
+ |
+ /** Entity Id. */ |
+ core.String entityId; |
+ |
+ /** Entity name. */ |
+ core.String entityName; |
+ |
+ /** Reasons why the entity can't be uploaded. */ |
+ core.List<core.String> errors; |
+ |
+ /** Whether the entity is persisted. */ |
+ core.bool persisted; |
+ |
+ /** Row number. */ |
+ core.int rowNumber; |
+ |
+ |
+ RowStatus(); |
+ |
+ RowStatus.fromJson(core.Map _json) { |
+ if (_json.containsKey("changed")) { |
+ changed = _json["changed"]; |
+ } |
+ if (_json.containsKey("entityId")) { |
+ entityId = _json["entityId"]; |
+ } |
+ if (_json.containsKey("entityName")) { |
+ entityName = _json["entityName"]; |
+ } |
+ if (_json.containsKey("errors")) { |
+ errors = _json["errors"]; |
+ } |
+ if (_json.containsKey("persisted")) { |
+ persisted = _json["persisted"]; |
+ } |
+ if (_json.containsKey("rowNumber")) { |
+ rowNumber = _json["rowNumber"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (changed != null) { |
+ _json["changed"] = changed; |
+ } |
+ if (entityId != null) { |
+ _json["entityId"] = entityId; |
+ } |
+ if (entityName != null) { |
+ _json["entityName"] = entityName; |
+ } |
+ if (errors != null) { |
+ _json["errors"] = errors; |
+ } |
+ if (persisted != null) { |
+ _json["persisted"] = persisted; |
+ } |
+ if (rowNumber != null) { |
+ _json["rowNumber"] = rowNumber; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Request to run a stored query to generate a report. */ |
+class RunQueryRequest { |
+ /** |
+ * Report data range used to generate the report. |
+ * Possible string values are: |
+ * - "ALL_TIME" |
+ * - "CURRENT_DAY" |
+ * - "CUSTOM_DATES" |
+ * - "LAST_14_DAYS" |
+ * - "LAST_30_DAYS" |
+ * - "LAST_365_DAYS" |
+ * - "LAST_7_DAYS" |
+ * - "LAST_90_DAYS" |
+ * - "MONTH_TO_DATE" |
+ * - "PREVIOUS_DAY" |
+ * - "PREVIOUS_HALF_MONTH" |
+ * - "PREVIOUS_MONTH" |
+ * - "PREVIOUS_QUARTER" |
+ * - "PREVIOUS_WEEK" |
+ * - "PREVIOUS_YEAR" |
+ * - "QUARTER_TO_DATE" |
+ * - "WEEK_TO_DATE" |
+ * - "YEAR_TO_DATE" |
+ */ |
+ core.String dataRange; |
+ |
+ /** |
+ * The ending time for the data that is shown in the report. Note, |
+ * reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored |
+ * otherwise. |
+ */ |
+ core.String reportDataEndTimeMs; |
+ |
+ /** |
+ * The starting time for the data that is shown in the report. Note, |
+ * reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored |
+ * otherwise. |
+ */ |
+ core.String reportDataStartTimeMs; |
+ |
+ /** |
+ * Canonical timezone code for report data time. Defaults to America/New_York. |
+ */ |
+ core.String timezoneCode; |
+ |
+ |
+ RunQueryRequest(); |
+ |
+ RunQueryRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("dataRange")) { |
+ dataRange = _json["dataRange"]; |
+ } |
+ if (_json.containsKey("reportDataEndTimeMs")) { |
+ reportDataEndTimeMs = _json["reportDataEndTimeMs"]; |
+ } |
+ if (_json.containsKey("reportDataStartTimeMs")) { |
+ reportDataStartTimeMs = _json["reportDataStartTimeMs"]; |
+ } |
+ if (_json.containsKey("timezoneCode")) { |
+ timezoneCode = _json["timezoneCode"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dataRange != null) { |
+ _json["dataRange"] = dataRange; |
+ } |
+ if (reportDataEndTimeMs != null) { |
+ _json["reportDataEndTimeMs"] = reportDataEndTimeMs; |
+ } |
+ if (reportDataStartTimeMs != null) { |
+ _json["reportDataStartTimeMs"] = reportDataStartTimeMs; |
+ } |
+ if (timezoneCode != null) { |
+ _json["timezoneCode"] = timezoneCode; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Request to upload line items. */ |
+class UploadLineItemsRequest { |
+ /** |
+ * Set to true to get upload status without actually persisting the line |
+ * items. |
+ */ |
+ core.bool dryRun; |
+ |
+ /** |
+ * Format the line items are in. Default to CSV. |
+ * Possible string values are: |
+ * - "CSV" |
+ */ |
+ core.String format; |
+ |
+ /** |
+ * Line items in CSV to upload. Refer to Entity Write File Format for more |
+ * information on file format. |
+ */ |
+ core.String lineItems; |
+ |
+ |
+ UploadLineItemsRequest(); |
+ |
+ UploadLineItemsRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("dryRun")) { |
+ dryRun = _json["dryRun"]; |
+ } |
+ if (_json.containsKey("format")) { |
+ format = _json["format"]; |
+ } |
+ if (_json.containsKey("lineItems")) { |
+ lineItems = _json["lineItems"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (dryRun != null) { |
+ _json["dryRun"] = dryRun; |
+ } |
+ if (format != null) { |
+ _json["format"] = format; |
+ } |
+ if (lineItems != null) { |
+ _json["lineItems"] = lineItems; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Upload line items response. */ |
+class UploadLineItemsResponse { |
+ /** Status of upload. */ |
+ UploadStatus uploadStatus; |
+ |
+ |
+ UploadLineItemsResponse(); |
+ |
+ UploadLineItemsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("uploadStatus")) { |
+ uploadStatus = new UploadStatus.fromJson(_json["uploadStatus"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (uploadStatus != null) { |
+ _json["uploadStatus"] = (uploadStatus).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Represents the status of upload. */ |
+class UploadStatus { |
+ /** Reasons why upload can't be completed. */ |
+ core.List<core.String> errors; |
+ |
+ /** Per-row upload status. */ |
+ core.List<RowStatus> rowStatus; |
+ |
+ |
+ UploadStatus(); |
+ |
+ UploadStatus.fromJson(core.Map _json) { |
+ if (_json.containsKey("errors")) { |
+ errors = _json["errors"]; |
+ } |
+ if (_json.containsKey("rowStatus")) { |
+ rowStatus = _json["rowStatus"].map((value) => new RowStatus.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (errors != null) { |
+ _json["errors"] = errors; |
+ } |
+ if (rowStatus != null) { |
+ _json["rowStatus"] = rowStatus.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |