| // This is a generated file (see the discoveryapis_generator project). |
| |
| library googleapis.mirror.v1; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show |
| ApiRequestError, |
| DetailedApiRequestError, |
| Media, |
| UploadOptions, |
| ResumableUploadOptions, |
| DownloadOptions, |
| PartialDownloadOptions, |
| ByteRange; |
| |
| const core.String USER_AGENT = 'dart-api-client mirror/v1'; |
| |
| /// Interacts with Glass users via the timeline. |
| class MirrorApi { |
| /// View your location |
| static const GlassLocationScope = |
| "https://www.googleapis.com/auth/glass.location"; |
| |
| /// View and manage your Glass timeline |
| static const GlassTimelineScope = |
| "https://www.googleapis.com/auth/glass.timeline"; |
| |
| final commons.ApiRequester _requester; |
| |
| AccountsResourceApi get accounts => new AccountsResourceApi(_requester); |
| ContactsResourceApi get contacts => new ContactsResourceApi(_requester); |
| LocationsResourceApi get locations => new LocationsResourceApi(_requester); |
| SettingsResourceApi get settings => new SettingsResourceApi(_requester); |
| SubscriptionsResourceApi get subscriptions => |
| new SubscriptionsResourceApi(_requester); |
| TimelineResourceApi get timeline => new TimelineResourceApi(_requester); |
| |
| MirrorApi(http.Client client, |
| {core.String rootUrl: "https://www.googleapis.com/", |
| core.String servicePath: "mirror/v1/"}) |
| : _requester = |
| new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
| } |
| |
| class AccountsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| AccountsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Inserts a new account for a user |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [userToken] - The ID for the user. |
| /// |
| /// [accountType] - Account type to be passed to Android Account Manager. |
| /// |
| /// [accountName] - The name of the account to be passed to the Android |
| /// Account Manager. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Account]. |
| /// |
| /// Completes with a [commons.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<Account> insert(Account request, core.String userToken, |
| core.String accountType, core.String accountName, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (userToken == null) { |
| throw new core.ArgumentError("Parameter userToken is required."); |
| } |
| if (accountType == null) { |
| throw new core.ArgumentError("Parameter accountType is required."); |
| } |
| if (accountName == null) { |
| throw new core.ArgumentError("Parameter accountName is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'accounts/' + |
| commons.Escaper.ecapeVariable('$userToken') + |
| '/' + |
| commons.Escaper.ecapeVariable('$accountType') + |
| '/' + |
| commons.Escaper.ecapeVariable('$accountName'); |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Account.fromJson(data)); |
| } |
| } |
| |
| class ContactsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ContactsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Deletes a contact. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the contact. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'contacts/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => null); |
| } |
| |
| /// Gets a single contact by ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the contact. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Contact]. |
| /// |
| /// Completes with a [commons.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<Contact> get(core.String id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'contacts/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Contact.fromJson(data)); |
| } |
| |
| /// Inserts a new contact. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Contact]. |
| /// |
| /// Completes with a [commons.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<Contact> insert(Contact request, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'contacts'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Contact.fromJson(data)); |
| } |
| |
| /// Retrieves a list of contacts for the authenticated user. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ContactsListResponse]. |
| /// |
| /// Completes with a [commons.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<ContactsListResponse> list({core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'contacts'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ContactsListResponse.fromJson(data)); |
| } |
| |
| /// Updates a contact in place. This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the contact. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Contact]. |
| /// |
| /// Completes with a [commons.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<Contact> patch(Contact request, core.String id, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'contacts/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "PATCH", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Contact.fromJson(data)); |
| } |
| |
| /// Updates a contact in place. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the contact. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Contact]. |
| /// |
| /// Completes with a [commons.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<Contact> update(Contact request, core.String id, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'contacts/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "PUT", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Contact.fromJson(data)); |
| } |
| } |
| |
| class LocationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| LocationsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Gets a single location by ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the location or latest for the last known location. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Location]. |
| /// |
| /// Completes with a [commons.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<Location> get(core.String id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'locations/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Location.fromJson(data)); |
| } |
| |
| /// Retrieves a list of locations for the user. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LocationsListResponse]. |
| /// |
| /// Completes with a [commons.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<LocationsListResponse> list({core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'locations'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new LocationsListResponse.fromJson(data)); |
| } |
| } |
| |
| class SettingsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SettingsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Gets a single setting by ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the setting. The following IDs are valid: |
| /// - locale - The key to the user’s language/locale (BCP 47 identifier) that |
| /// Glassware should use to render localized content. |
| /// - timezone - The key to the user’s current time zone region as defined in |
| /// the tz database. Example: America/Los_Angeles. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Setting]. |
| /// |
| /// Completes with a [commons.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<Setting> get(core.String id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'settings/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Setting.fromJson(data)); |
| } |
| } |
| |
| class SubscriptionsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| SubscriptionsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Deletes a subscription. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the subscription. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'subscriptions/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => null); |
| } |
| |
| /// Creates a new subscription. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.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<Subscription> insert(Subscription request, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'subscriptions'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Subscription.fromJson(data)); |
| } |
| |
| /// Retrieves a list of subscriptions for the authenticated user and service. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SubscriptionsListResponse]. |
| /// |
| /// Completes with a [commons.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<SubscriptionsListResponse> list({core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'subscriptions'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new SubscriptionsListResponse.fromJson(data)); |
| } |
| |
| /// Updates an existing subscription in place. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the subscription. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Subscription]. |
| /// |
| /// Completes with a [commons.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<Subscription> update(Subscription request, core.String id, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'subscriptions/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "PUT", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Subscription.fromJson(data)); |
| } |
| } |
| |
| class TimelineResourceApi { |
| final commons.ApiRequester _requester; |
| |
| TimelineAttachmentsResourceApi get attachments => |
| new TimelineAttachmentsResourceApi(_requester); |
| |
| TimelineResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Deletes a timeline item. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the timeline item. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'timeline/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => null); |
| } |
| |
| /// Gets a single timeline item by ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the timeline item. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TimelineItem]. |
| /// |
| /// Completes with a [commons.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<TimelineItem> get(core.String id, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'timeline/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new TimelineItem.fromJson(data)); |
| } |
| |
| /// Inserts a new item into the timeline. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [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 [TimelineItem]. |
| /// |
| /// Completes with a [commons.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<TimelineItem> insert(TimelineItem request, |
| {core.String $fields, |
| commons.UploadOptions uploadOptions: commons.UploadOptions.Default, |
| commons.Media uploadMedia}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _uploadMedia = uploadMedia; |
| _uploadOptions = uploadOptions; |
| |
| if (_uploadMedia == null) { |
| _url = 'timeline'; |
| } else if (_uploadOptions is commons.ResumableUploadOptions) { |
| _url = '/resumable/upload/mirror/v1/timeline'; |
| } else { |
| _url = '/upload/mirror/v1/timeline'; |
| } |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new TimelineItem.fromJson(data)); |
| } |
| |
| /// Retrieves a list of timeline items for the authenticated user. |
| /// |
| /// Request parameters: |
| /// |
| /// [bundleId] - If provided, only items with the given bundleId will be |
| /// returned. |
| /// |
| /// [includeDeleted] - If true, tombstone records for deleted items will be |
| /// returned. |
| /// |
| /// [maxResults] - The maximum number of items to include in the response, |
| /// used for paging. |
| /// |
| /// [orderBy] - Controls the order in which timeline items are returned. |
| /// Possible string values are: |
| /// - "displayTime" : Results will be ordered by displayTime (default). This |
| /// is the same ordering as is used in the timeline on the device. |
| /// - "writeTime" : Results will be ordered by the time at which they were |
| /// last written to the data store. |
| /// |
| /// [pageToken] - Token for the page of results to return. |
| /// |
| /// [pinnedOnly] - If true, only pinned items will be returned. |
| /// |
| /// [sourceItemId] - If provided, only items with the given sourceItemId will |
| /// be returned. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TimelineListResponse]. |
| /// |
| /// Completes with a [commons.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<TimelineListResponse> list( |
| {core.String bundleId, |
| core.bool includeDeleted, |
| core.int maxResults, |
| core.String orderBy, |
| core.String pageToken, |
| core.bool pinnedOnly, |
| core.String sourceItemId, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (bundleId != null) { |
| _queryParams["bundleId"] = [bundleId]; |
| } |
| if (includeDeleted != null) { |
| _queryParams["includeDeleted"] = ["${includeDeleted}"]; |
| } |
| if (maxResults != null) { |
| _queryParams["maxResults"] = ["${maxResults}"]; |
| } |
| if (orderBy != null) { |
| _queryParams["orderBy"] = [orderBy]; |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pinnedOnly != null) { |
| _queryParams["pinnedOnly"] = ["${pinnedOnly}"]; |
| } |
| if (sourceItemId != null) { |
| _queryParams["sourceItemId"] = [sourceItemId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'timeline'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new TimelineListResponse.fromJson(data)); |
| } |
| |
| /// Updates a timeline item in place. This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the timeline item. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TimelineItem]. |
| /// |
| /// Completes with a [commons.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<TimelineItem> patch(TimelineItem request, core.String id, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'timeline/' + commons.Escaper.ecapeVariable('$id'); |
| |
| var _response = _requester.request(_url, "PATCH", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new TimelineItem.fromJson(data)); |
| } |
| |
| /// Updates a timeline item in place. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [id] - The ID of the timeline item. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [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 [TimelineItem]. |
| /// |
| /// Completes with a [commons.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<TimelineItem> update(TimelineItem request, core.String id, |
| {core.String $fields, |
| commons.UploadOptions uploadOptions: commons.UploadOptions.Default, |
| commons.Media uploadMedia}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (id == null) { |
| throw new core.ArgumentError("Parameter id is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _uploadMedia = uploadMedia; |
| _uploadOptions = uploadOptions; |
| |
| if (_uploadMedia == null) { |
| _url = 'timeline/' + commons.Escaper.ecapeVariable('$id'); |
| } else if (_uploadOptions is commons.ResumableUploadOptions) { |
| _url = '/resumable/upload/mirror/v1/timeline/' + |
| commons.Escaper.ecapeVariable('$id'); |
| } else { |
| _url = |
| '/upload/mirror/v1/timeline/' + commons.Escaper.ecapeVariable('$id'); |
| } |
| |
| var _response = _requester.request(_url, "PUT", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new TimelineItem.fromJson(data)); |
| } |
| } |
| |
| class TimelineAttachmentsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| TimelineAttachmentsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Deletes an attachment from a timeline item. |
| /// |
| /// Request parameters: |
| /// |
| /// [itemId] - The ID of the timeline item the attachment belongs to. |
| /// |
| /// [attachmentId] - The ID of the attachment. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [commons.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 itemId, core.String attachmentId, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (itemId == null) { |
| throw new core.ArgumentError("Parameter itemId is required."); |
| } |
| if (attachmentId == null) { |
| throw new core.ArgumentError("Parameter attachmentId is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _downloadOptions = null; |
| |
| _url = 'timeline/' + |
| commons.Escaper.ecapeVariable('$itemId') + |
| '/attachments/' + |
| commons.Escaper.ecapeVariable('$attachmentId'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => null); |
| } |
| |
| /// Retrieves an attachment on a timeline item by item ID and attachment ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [itemId] - The ID of the timeline item the attachment belongs to. |
| /// |
| /// [attachmentId] - The ID of the attachment. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [downloadOptions] - Options for downloading. A download can be either a |
| /// Metadata (default) or Media download. Partial Media downloads are possible |
| /// as well. |
| /// |
| /// Completes with a |
| /// |
| /// - [Attachment] for Metadata downloads (see [downloadOptions]). |
| /// |
| /// - [commons.Media] for Media downloads (see [downloadOptions]). |
| /// |
| /// Completes with a [commons.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 get(core.String itemId, core.String attachmentId, |
| {core.String $fields, |
| commons.DownloadOptions downloadOptions: |
| commons.DownloadOptions.Metadata}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (itemId == null) { |
| throw new core.ArgumentError("Parameter itemId is required."); |
| } |
| if (attachmentId == null) { |
| throw new core.ArgumentError("Parameter attachmentId is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _downloadOptions = downloadOptions; |
| |
| _url = 'timeline/' + |
| commons.Escaper.ecapeVariable('$itemId') + |
| '/attachments/' + |
| commons.Escaper.ecapeVariable('$attachmentId'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| if (_downloadOptions == null || |
| _downloadOptions == commons.DownloadOptions.Metadata) { |
| return _response.then((data) => new Attachment.fromJson(data)); |
| } else { |
| return _response; |
| } |
| } |
| |
| /// Adds a new attachment to a timeline item. |
| /// |
| /// Request parameters: |
| /// |
| /// [itemId] - The ID of the timeline item the attachment belongs to. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [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 [Attachment]. |
| /// |
| /// Completes with a [commons.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<Attachment> insert(core.String itemId, |
| {core.String $fields, |
| commons.UploadOptions uploadOptions: commons.UploadOptions.Default, |
| commons.Media uploadMedia}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (itemId == null) { |
| throw new core.ArgumentError("Parameter itemId is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _uploadMedia = uploadMedia; |
| _uploadOptions = uploadOptions; |
| |
| if (_uploadMedia == null) { |
| _url = 'timeline/' + |
| commons.Escaper.ecapeVariable('$itemId') + |
| '/attachments'; |
| } else if (_uploadOptions is commons.ResumableUploadOptions) { |
| _url = '/resumable/upload/mirror/v1/timeline/' + |
| commons.Escaper.ecapeVariable('$itemId') + |
| '/attachments'; |
| } else { |
| _url = '/upload/mirror/v1/timeline/' + |
| commons.Escaper.ecapeVariable('$itemId') + |
| '/attachments'; |
| } |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Attachment.fromJson(data)); |
| } |
| |
| /// Returns a list of attachments for a timeline item. |
| /// |
| /// Request parameters: |
| /// |
| /// [itemId] - The ID of the timeline item whose attachments should be listed. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [AttachmentsListResponse]. |
| /// |
| /// Completes with a [commons.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<AttachmentsListResponse> list(core.String itemId, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (itemId == null) { |
| throw new core.ArgumentError("Parameter itemId is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = |
| 'timeline/' + commons.Escaper.ecapeVariable('$itemId') + '/attachments'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new AttachmentsListResponse.fromJson(data)); |
| } |
| } |
| |
| /// Represents an account passed into the Account Manager on Glass. |
| class Account { |
| core.List<AuthToken> authTokens; |
| core.List<core.String> features; |
| core.String password; |
| core.List<UserData> userData; |
| |
| Account(); |
| |
| Account.fromJson(core.Map _json) { |
| if (_json.containsKey("authTokens")) { |
| authTokens = _json["authTokens"] |
| .map<AuthToken>((value) => new AuthToken.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("features")) { |
| features = _json["features"]; |
| } |
| if (_json.containsKey("password")) { |
| password = _json["password"]; |
| } |
| if (_json.containsKey("userData")) { |
| userData = _json["userData"] |
| .map<UserData>((value) => new UserData.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (authTokens != null) { |
| _json["authTokens"] = |
| authTokens.map((value) => (value).toJson()).toList(); |
| } |
| if (features != null) { |
| _json["features"] = features; |
| } |
| if (password != null) { |
| _json["password"] = password; |
| } |
| if (userData != null) { |
| _json["userData"] = userData.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Represents media content, such as a photo, that can be attached to a |
| /// timeline item. |
| class Attachment { |
| /// The MIME type of the attachment. |
| core.String contentType; |
| |
| /// The URL for the content. |
| core.String contentUrl; |
| |
| /// The ID of the attachment. |
| core.String id; |
| |
| /// Indicates that the contentUrl is not available because the attachment |
| /// content is still being processed. If the caller wishes to retrieve the |
| /// content, it should try again later. |
| core.bool isProcessingContent; |
| |
| Attachment(); |
| |
| Attachment.fromJson(core.Map _json) { |
| if (_json.containsKey("contentType")) { |
| contentType = _json["contentType"]; |
| } |
| if (_json.containsKey("contentUrl")) { |
| contentUrl = _json["contentUrl"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("isProcessingContent")) { |
| isProcessingContent = _json["isProcessingContent"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (contentType != null) { |
| _json["contentType"] = contentType; |
| } |
| if (contentUrl != null) { |
| _json["contentUrl"] = contentUrl; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (isProcessingContent != null) { |
| _json["isProcessingContent"] = isProcessingContent; |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of Attachments. This is the response from the server to GET requests |
| /// on the attachments collection. |
| class AttachmentsListResponse { |
| /// The list of attachments. |
| core.List<Attachment> items; |
| |
| /// The type of resource. This is always mirror#attachmentsList. |
| core.String kind; |
| |
| AttachmentsListResponse(); |
| |
| AttachmentsListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("items")) { |
| items = _json["items"] |
| .map<Attachment>((value) => new Attachment.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (items != null) { |
| _json["items"] = items.map((value) => (value).toJson()).toList(); |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| return _json; |
| } |
| } |
| |
| class AuthToken { |
| core.String authToken; |
| core.String type; |
| |
| AuthToken(); |
| |
| AuthToken.fromJson(core.Map _json) { |
| if (_json.containsKey("authToken")) { |
| authToken = _json["authToken"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (authToken != null) { |
| _json["authToken"] = authToken; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// A single menu command that is part of a Contact. |
| class Command { |
| /// The type of operation this command corresponds to. Allowed values are: |
| /// - TAKE_A_NOTE - Shares a timeline item with the transcription of user |
| /// speech from the "Take a note" voice menu command. |
| /// - POST_AN_UPDATE - Shares a timeline item with the transcription of user |
| /// speech from the "Post an update" voice menu command. |
| core.String type; |
| |
| Command(); |
| |
| Command.fromJson(core.Map _json) { |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// A person or group that can be used as a creator or a contact. |
| class Contact { |
| /// A list of voice menu commands that a contact can handle. Glass shows up to |
| /// three contacts for each voice menu command. If there are more than that, |
| /// the three contacts with the highest priority are shown for that particular |
| /// command. |
| core.List<Command> acceptCommands; |
| |
| /// A list of MIME types that a contact supports. The contact will be shown to |
| /// the user if any of its acceptTypes matches any of the types of the |
| /// attachments on the item. If no acceptTypes are given, the contact will be |
| /// shown for all items. |
| core.List<core.String> acceptTypes; |
| |
| /// The name to display for this contact. |
| core.String displayName; |
| |
| /// An ID for this contact. This is generated by the application and is |
| /// treated as an opaque token. |
| core.String id; |
| |
| /// Set of image URLs to display for a contact. Most contacts will have a |
| /// single image, but a "group" contact may include up to 8 image URLs and |
| /// they will be resized and cropped into a mosaic on the client. |
| core.List<core.String> imageUrls; |
| |
| /// The type of resource. This is always mirror#contact. |
| core.String kind; |
| |
| /// Primary phone number for the contact. This can be a fully-qualified |
| /// number, with country calling code and area code, or a local number. |
| core.String phoneNumber; |
| |
| /// Priority for the contact to determine ordering in a list of contacts. |
| /// Contacts with higher priorities will be shown before ones with lower |
| /// priorities. |
| core.int priority; |
| |
| /// A list of sharing features that a contact can handle. Allowed values are: |
| /// - ADD_CAPTION |
| core.List<core.String> sharingFeatures; |
| |
| /// The ID of the application that created this contact. This is populated by |
| /// the API |
| core.String source; |
| |
| /// Name of this contact as it should be pronounced. If this contact's name |
| /// must be spoken as part of a voice disambiguation menu, this name is used |
| /// as the expected pronunciation. This is useful for contact names with |
| /// unpronounceable characters or whose display spelling is otherwise not |
| /// phonetic. |
| core.String speakableName; |
| |
| /// The type for this contact. This is used for sorting in UIs. Allowed values |
| /// are: |
| /// - INDIVIDUAL - Represents a single person. This is the default. |
| /// - GROUP - Represents more than a single person. |
| core.String type; |
| |
| Contact(); |
| |
| Contact.fromJson(core.Map _json) { |
| if (_json.containsKey("acceptCommands")) { |
| acceptCommands = _json["acceptCommands"] |
| .map<Command>((value) => new Command.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("acceptTypes")) { |
| acceptTypes = _json["acceptTypes"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("imageUrls")) { |
| imageUrls = _json["imageUrls"]; |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("phoneNumber")) { |
| phoneNumber = _json["phoneNumber"]; |
| } |
| if (_json.containsKey("priority")) { |
| priority = _json["priority"]; |
| } |
| if (_json.containsKey("sharingFeatures")) { |
| sharingFeatures = _json["sharingFeatures"]; |
| } |
| if (_json.containsKey("source")) { |
| source = _json["source"]; |
| } |
| if (_json.containsKey("speakableName")) { |
| speakableName = _json["speakableName"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (acceptCommands != null) { |
| _json["acceptCommands"] = |
| acceptCommands.map((value) => (value).toJson()).toList(); |
| } |
| if (acceptTypes != null) { |
| _json["acceptTypes"] = acceptTypes; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (imageUrls != null) { |
| _json["imageUrls"] = imageUrls; |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| if (phoneNumber != null) { |
| _json["phoneNumber"] = phoneNumber; |
| } |
| if (priority != null) { |
| _json["priority"] = priority; |
| } |
| if (sharingFeatures != null) { |
| _json["sharingFeatures"] = sharingFeatures; |
| } |
| if (source != null) { |
| _json["source"] = source; |
| } |
| if (speakableName != null) { |
| _json["speakableName"] = speakableName; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of Contacts representing contacts. This is the response from the |
| /// server to GET requests on the contacts collection. |
| class ContactsListResponse { |
| /// Contact list. |
| core.List<Contact> items; |
| |
| /// The type of resource. This is always mirror#contacts. |
| core.String kind; |
| |
| ContactsListResponse(); |
| |
| ContactsListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("items")) { |
| items = _json["items"] |
| .map<Contact>((value) => new Contact.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (items != null) { |
| _json["items"] = items.map((value) => (value).toJson()).toList(); |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| return _json; |
| } |
| } |
| |
| /// A geographic location that can be associated with a timeline item. |
| class Location { |
| /// The accuracy of the location fix in meters. |
| core.double accuracy; |
| |
| /// The full address of the location. |
| core.String address; |
| |
| /// The name to be displayed. This may be a business name or a user-defined |
| /// place, such as "Home". |
| core.String displayName; |
| |
| /// The ID of the location. |
| core.String id; |
| |
| /// The type of resource. This is always mirror#location. |
| core.String kind; |
| |
| /// The latitude, in degrees. |
| core.double latitude; |
| |
| /// The longitude, in degrees. |
| core.double longitude; |
| |
| /// The time at which this location was captured, formatted according to RFC |
| /// 3339. |
| core.DateTime timestamp; |
| |
| Location(); |
| |
| Location.fromJson(core.Map _json) { |
| if (_json.containsKey("accuracy")) { |
| accuracy = _json["accuracy"]; |
| } |
| if (_json.containsKey("address")) { |
| address = _json["address"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("latitude")) { |
| latitude = _json["latitude"]; |
| } |
| if (_json.containsKey("longitude")) { |
| longitude = _json["longitude"]; |
| } |
| if (_json.containsKey("timestamp")) { |
| timestamp = core.DateTime.parse(_json["timestamp"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (accuracy != null) { |
| _json["accuracy"] = accuracy; |
| } |
| if (address != null) { |
| _json["address"] = address; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| if (latitude != null) { |
| _json["latitude"] = latitude; |
| } |
| if (longitude != null) { |
| _json["longitude"] = longitude; |
| } |
| if (timestamp != null) { |
| _json["timestamp"] = (timestamp).toIso8601String(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of Locations. This is the response from the server to GET requests on |
| /// the locations collection. |
| class LocationsListResponse { |
| /// The list of locations. |
| core.List<Location> items; |
| |
| /// The type of resource. This is always mirror#locationsList. |
| core.String kind; |
| |
| LocationsListResponse(); |
| |
| LocationsListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("items")) { |
| items = _json["items"] |
| .map<Location>((value) => new Location.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (items != null) { |
| _json["items"] = items.map((value) => (value).toJson()).toList(); |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| return _json; |
| } |
| } |
| |
| /// A custom menu item that can be presented to the user by a timeline item. |
| class MenuItem { |
| /// Controls the behavior when the user picks the menu option. Allowed values |
| /// are: |
| /// - CUSTOM - Custom action set by the service. When the user selects this |
| /// menuItem, the API triggers a notification to your callbackUrl with the |
| /// userActions.type set to CUSTOM and the userActions.payload set to the ID |
| /// of this menu item. This is the default value. |
| /// - Built-in actions: |
| /// - REPLY - Initiate a reply to the timeline item using the voice recording |
| /// UI. The creator attribute must be set in the timeline item for this menu |
| /// to be available. |
| /// - REPLY_ALL - Same behavior as REPLY. The original timeline item's |
| /// recipients will be added to the reply item. |
| /// - DELETE - Delete the timeline item. |
| /// - SHARE - Share the timeline item with the available contacts. |
| /// - READ_ALOUD - Read the timeline item's speakableText aloud; if this field |
| /// is not set, read the text field; if none of those fields are set, this |
| /// menu item is ignored. |
| /// - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware |
| /// from a menu item (currently, only transcribed text from voice input is |
| /// supported). Subscribe to notifications when users invoke this menu item to |
| /// receive the timeline item ID. Retrieve the media from the timeline item in |
| /// the payload property. |
| /// - VOICE_CALL - Initiate a phone call using the timeline item's |
| /// creator.phoneNumber attribute as recipient. |
| /// - NAVIGATE - Navigate to the timeline item's location. |
| /// - TOGGLE_PINNED - Toggle the isPinned state of the timeline item. |
| /// - OPEN_URI - Open the payload of the menu item in the browser. |
| /// - PLAY_VIDEO - Open the payload of the menu item in the Glass video |
| /// player. |
| /// - SEND_MESSAGE - Initiate sending a message to the timeline item's |
| /// creator: |
| /// - If the creator.phoneNumber is set and Glass is connected to an Android |
| /// phone, the message is an SMS. |
| /// - Otherwise, if the creator.email is set, the message is an email. |
| core.String action; |
| |
| /// The ContextualMenus.Command associated with this MenuItem (e.g. |
| /// READ_ALOUD). The voice label for this command will be displayed in the |
| /// voice menu and the touch label will be displayed in the touch menu. Note |
| /// that the default menu value's display name will be overriden if you |
| /// specify this property. Values that do not correspond to a |
| /// ContextualMenus.Command name will be ignored. |
| core.String contextualCommand; |
| |
| /// The ID for this menu item. This is generated by the application and is |
| /// treated as an opaque token. |
| core.String id; |
| |
| /// A generic payload whose meaning changes depending on this MenuItem's |
| /// action. |
| /// - When the action is OPEN_URI, the payload is the URL of the website to |
| /// view. |
| /// - When the action is PLAY_VIDEO, the payload is the streaming URL of the |
| /// video |
| /// - When the action is GET_MEDIA_INPUT, the payload is the text |
| /// transcription of a user's speech input |
| core.String payload; |
| |
| /// If set to true on a CUSTOM menu item, that item will be removed from the |
| /// menu after it is selected. |
| core.bool removeWhenSelected; |
| |
| /// For CUSTOM items, a list of values controlling the appearance of the menu |
| /// item in each of its states. A value for the DEFAULT state must be |
| /// provided. If the PENDING or CONFIRMED states are missing, they will not be |
| /// shown. |
| core.List<MenuValue> values; |
| |
| MenuItem(); |
| |
| MenuItem.fromJson(core.Map _json) { |
| if (_json.containsKey("action")) { |
| action = _json["action"]; |
| } |
| if (_json.containsKey("contextual_command")) { |
| contextualCommand = _json["contextual_command"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("payload")) { |
| payload = _json["payload"]; |
| } |
| if (_json.containsKey("removeWhenSelected")) { |
| removeWhenSelected = _json["removeWhenSelected"]; |
| } |
| if (_json.containsKey("values")) { |
| values = _json["values"] |
| .map<MenuValue>((value) => new MenuValue.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (action != null) { |
| _json["action"] = action; |
| } |
| if (contextualCommand != null) { |
| _json["contextual_command"] = contextualCommand; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (payload != null) { |
| _json["payload"] = payload; |
| } |
| if (removeWhenSelected != null) { |
| _json["removeWhenSelected"] = removeWhenSelected; |
| } |
| if (values != null) { |
| _json["values"] = values.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A single value that is part of a MenuItem. |
| class MenuValue { |
| /// The name to display for the menu item. If you specify this property for a |
| /// built-in menu item, the default contextual voice command for that menu |
| /// item is not shown. |
| core.String displayName; |
| |
| /// URL of an icon to display with the menu item. |
| core.String iconUrl; |
| |
| /// The state that this value applies to. Allowed values are: |
| /// - DEFAULT - Default value shown when displayed in the menuItems list. |
| /// - PENDING - Value shown when the menuItem has been selected by the user |
| /// but can still be cancelled. |
| /// - CONFIRMED - Value shown when the menuItem has been selected by the user |
| /// and can no longer be cancelled. |
| core.String state; |
| |
| MenuValue(); |
| |
| MenuValue.fromJson(core.Map _json) { |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("iconUrl")) { |
| iconUrl = _json["iconUrl"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (iconUrl != null) { |
| _json["iconUrl"] = iconUrl; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| return _json; |
| } |
| } |
| |
| /// A notification delivered by the API. |
| class Notification { |
| /// The collection that generated the notification. |
| core.String collection; |
| |
| /// The ID of the item that generated the notification. |
| core.String itemId; |
| |
| /// The type of operation that generated the notification. |
| core.String operation; |
| |
| /// A list of actions taken by the user that triggered the notification. |
| core.List<UserAction> userActions; |
| |
| /// The user token provided by the service when it subscribed for |
| /// notifications. |
| core.String userToken; |
| |
| /// The secret verify token provided by the service when it subscribed for |
| /// notifications. |
| core.String verifyToken; |
| |
| Notification(); |
| |
| Notification.fromJson(core.Map _json) { |
| if (_json.containsKey("collection")) { |
| collection = _json["collection"]; |
| } |
| if (_json.containsKey("itemId")) { |
| itemId = _json["itemId"]; |
| } |
| if (_json.containsKey("operation")) { |
| operation = _json["operation"]; |
| } |
| if (_json.containsKey("userActions")) { |
| userActions = _json["userActions"] |
| .map<UserAction>((value) => new UserAction.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("userToken")) { |
| userToken = _json["userToken"]; |
| } |
| if (_json.containsKey("verifyToken")) { |
| verifyToken = _json["verifyToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (collection != null) { |
| _json["collection"] = collection; |
| } |
| if (itemId != null) { |
| _json["itemId"] = itemId; |
| } |
| if (operation != null) { |
| _json["operation"] = operation; |
| } |
| if (userActions != null) { |
| _json["userActions"] = |
| userActions.map((value) => (value).toJson()).toList(); |
| } |
| if (userToken != null) { |
| _json["userToken"] = userToken; |
| } |
| if (verifyToken != null) { |
| _json["verifyToken"] = verifyToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// Controls how notifications for a timeline item are presented to the user. |
| class NotificationConfig { |
| /// The time at which the notification should be delivered. |
| core.DateTime deliveryTime; |
| |
| /// Describes how important the notification is. Allowed values are: |
| /// - DEFAULT - Notifications of default importance. A chime will be played to |
| /// alert users. |
| core.String level; |
| |
| NotificationConfig(); |
| |
| NotificationConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("deliveryTime")) { |
| deliveryTime = core.DateTime.parse(_json["deliveryTime"]); |
| } |
| if (_json.containsKey("level")) { |
| level = _json["level"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (deliveryTime != null) { |
| _json["deliveryTime"] = (deliveryTime).toIso8601String(); |
| } |
| if (level != null) { |
| _json["level"] = level; |
| } |
| return _json; |
| } |
| } |
| |
| /// A setting for Glass. |
| class Setting { |
| /// The setting's ID. The following IDs are valid: |
| /// - locale - The key to the user’s language/locale (BCP 47 identifier) that |
| /// Glassware should use to render localized content. |
| /// - timezone - The key to the user’s current time zone region as defined in |
| /// the tz database. Example: America/Los_Angeles. |
| core.String id; |
| |
| /// The type of resource. This is always mirror#setting. |
| core.String kind; |
| |
| /// The setting value, as a string. |
| core.String value; |
| |
| Setting(); |
| |
| Setting.fromJson(core.Map _json) { |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |
| |
| /// A subscription to events on a collection. |
| class Subscription { |
| /// The URL where notifications should be delivered (must start with |
| /// https://). |
| core.String callbackUrl; |
| |
| /// The collection to subscribe to. Allowed values are: |
| /// - timeline - Changes in the timeline including insertion, deletion, and |
| /// updates. |
| /// - locations - Location updates. |
| /// - settings - Settings updates. |
| core.String collection; |
| |
| /// The ID of the subscription. |
| core.String id; |
| |
| /// The type of resource. This is always mirror#subscription. |
| core.String kind; |
| |
| /// Container object for notifications. This is not populated in the |
| /// Subscription resource. |
| Notification notification; |
| |
| /// A list of operations that should be subscribed to. An empty list indicates |
| /// that all operations on the collection should be subscribed to. Allowed |
| /// values are: |
| /// - UPDATE - The item has been updated. |
| /// - INSERT - A new item has been inserted. |
| /// - DELETE - The item has been deleted. |
| /// - MENU_ACTION - A custom menu item has been triggered by the user. |
| core.List<core.String> operation; |
| |
| /// The time at which this subscription was last modified, formatted according |
| /// to RFC 3339. |
| core.DateTime updated; |
| |
| /// An opaque token sent to the subscriber in notifications so that it can |
| /// determine the ID of the user. |
| core.String userToken; |
| |
| /// A secret token sent to the subscriber in notifications so that it can |
| /// verify that the notification was generated by Google. |
| core.String verifyToken; |
| |
| Subscription(); |
| |
| Subscription.fromJson(core.Map _json) { |
| if (_json.containsKey("callbackUrl")) { |
| callbackUrl = _json["callbackUrl"]; |
| } |
| if (_json.containsKey("collection")) { |
| collection = _json["collection"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("notification")) { |
| notification = new Notification.fromJson(_json["notification"]); |
| } |
| if (_json.containsKey("operation")) { |
| operation = _json["operation"]; |
| } |
| if (_json.containsKey("updated")) { |
| updated = core.DateTime.parse(_json["updated"]); |
| } |
| if (_json.containsKey("userToken")) { |
| userToken = _json["userToken"]; |
| } |
| if (_json.containsKey("verifyToken")) { |
| verifyToken = _json["verifyToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (callbackUrl != null) { |
| _json["callbackUrl"] = callbackUrl; |
| } |
| if (collection != null) { |
| _json["collection"] = collection; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| if (notification != null) { |
| _json["notification"] = (notification).toJson(); |
| } |
| if (operation != null) { |
| _json["operation"] = operation; |
| } |
| if (updated != null) { |
| _json["updated"] = (updated).toIso8601String(); |
| } |
| if (userToken != null) { |
| _json["userToken"] = userToken; |
| } |
| if (verifyToken != null) { |
| _json["verifyToken"] = verifyToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of Subscriptions. This is the response from the server to GET |
| /// requests on the subscription collection. |
| class SubscriptionsListResponse { |
| /// The list of subscriptions. |
| core.List<Subscription> items; |
| |
| /// The type of resource. This is always mirror#subscriptionsList. |
| core.String kind; |
| |
| SubscriptionsListResponse(); |
| |
| SubscriptionsListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("items")) { |
| items = _json["items"] |
| .map<Subscription>((value) => new Subscription.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (items != null) { |
| _json["items"] = items.map((value) => (value).toJson()).toList(); |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| return _json; |
| } |
| } |
| |
| /// Each item in the user's timeline is represented as a TimelineItem JSON |
| /// structure, described below. |
| class TimelineItem { |
| /// A list of media attachments associated with this item. As a convenience, |
| /// you can refer to attachments in your HTML payloads with the attachment or |
| /// cid scheme. For example: |
| /// - attachment: <img src="attachment:attachment_index"> where |
| /// attachment_index is the 0-based index of this array. |
| /// - cid: <img src="cid:attachment_id"> where attachment_id is the ID of the |
| /// attachment. |
| core.List<Attachment> attachments; |
| |
| /// The bundle ID for this item. Services can specify a bundleId to group many |
| /// items together. They appear under a single top-level item on the device. |
| core.String bundleId; |
| |
| /// A canonical URL pointing to the canonical/high quality version of the data |
| /// represented by the timeline item. |
| core.String canonicalUrl; |
| |
| /// The time at which this item was created, formatted according to RFC 3339. |
| core.DateTime created; |
| |
| /// The user or group that created this item. |
| Contact creator; |
| |
| /// The time that should be displayed when this item is viewed in the |
| /// timeline, formatted according to RFC 3339. This user's timeline is sorted |
| /// chronologically on display time, so this will also determine where the |
| /// item is displayed in the timeline. If not set by the service, the display |
| /// time defaults to the updated time. |
| core.DateTime displayTime; |
| |
| /// ETag for this item. |
| core.String etag; |
| |
| /// HTML content for this item. If both text and html are provided for an |
| /// item, the html will be rendered in the timeline. |
| /// Allowed HTML elements - You can use these elements in your timeline cards. |
| /// |
| /// - Headers: h1, h2, h3, h4, h5, h6 |
| /// - Images: img |
| /// - Lists: li, ol, ul |
| /// - HTML5 semantics: article, aside, details, figure, figcaption, footer, |
| /// header, nav, section, summary, time |
| /// - Structural: blockquote, br, div, hr, p, span |
| /// - Style: b, big, center, em, i, u, s, small, strike, strong, style, sub, |
| /// sup |
| /// - Tables: table, tbody, td, tfoot, th, thead, tr |
| /// Blocked HTML elements: These elements and their contents are removed from |
| /// HTML payloads. |
| /// |
| /// - Document headers: head, title |
| /// - Embeds: audio, embed, object, source, video |
| /// - Frames: frame, frameset |
| /// - Scripting: applet, script |
| /// Other elements: Any elements that aren't listed are removed, but their |
| /// contents are preserved. |
| core.String html; |
| |
| /// The ID of the timeline item. This is unique within a user's timeline. |
| core.String id; |
| |
| /// If this item was generated as a reply to another item, this field will be |
| /// set to the ID of the item being replied to. This can be used to attach a |
| /// reply to the appropriate conversation or post. |
| core.String inReplyTo; |
| |
| /// Whether this item is a bundle cover. |
| /// |
| /// If an item is marked as a bundle cover, it will be the entry point to the |
| /// bundle of items that have the same bundleId as that item. It will be shown |
| /// only on the main timeline — not within the opened bundle. |
| /// |
| /// On the main timeline, items that are shown are: |
| /// - Items that have isBundleCover set to true |
| /// - Items that do not have a bundleId In a bundle sub-timeline, items that |
| /// are shown are: |
| /// - Items that have the bundleId in question AND isBundleCover set to false |
| core.bool isBundleCover; |
| |
| /// When true, indicates this item is deleted, and only the ID property is |
| /// set. |
| core.bool isDeleted; |
| |
| /// When true, indicates this item is pinned, which means it's grouped |
| /// alongside "active" items like navigation and hangouts, on the opposite |
| /// side of the home screen from historical (non-pinned) timeline items. You |
| /// can allow the user to toggle the value of this property with the |
| /// TOGGLE_PINNED built-in menu item. |
| core.bool isPinned; |
| |
| /// The type of resource. This is always mirror#timelineItem. |
| core.String kind; |
| |
| /// The geographic location associated with this item. |
| Location location; |
| |
| /// A list of menu items that will be presented to the user when this item is |
| /// selected in the timeline. |
| core.List<MenuItem> menuItems; |
| |
| /// Controls how notifications for this item are presented on the device. If |
| /// this is missing, no notification will be generated. |
| NotificationConfig notification; |
| |
| /// For pinned items, this determines the order in which the item is displayed |
| /// in the timeline, with a higher score appearing closer to the clock. Note: |
| /// setting this field is currently not supported. |
| core.int pinScore; |
| |
| /// A list of users or groups that this item has been shared with. |
| core.List<Contact> recipients; |
| |
| /// A URL that can be used to retrieve this item. |
| core.String selfLink; |
| |
| /// Opaque string you can use to map a timeline item to data in your own |
| /// service. |
| core.String sourceItemId; |
| |
| /// The speakable version of the content of this item. Along with the |
| /// READ_ALOUD menu item, use this field to provide text that would be clearer |
| /// when read aloud, or to provide extended information to what is displayed |
| /// visually on Glass. |
| /// |
| /// Glassware should also specify the speakableType field, which will be |
| /// spoken before this text in cases where the additional context is useful, |
| /// for example when the user requests that the item be read aloud following a |
| /// notification. |
| core.String speakableText; |
| |
| /// A speakable description of the type of this item. This will be announced |
| /// to the user prior to reading the content of the item in cases where the |
| /// additional context is useful, for example when the user requests that the |
| /// item be read aloud following a notification. |
| /// |
| /// This should be a short, simple noun phrase such as "Email", "Text |
| /// message", or "Daily Planet News Update". |
| /// |
| /// Glassware are encouraged to populate this field for every timeline item, |
| /// even if the item does not contain speakableText or text so that the user |
| /// can learn the type of the item without looking at the screen. |
| core.String speakableType; |
| |
| /// Text content of this item. |
| core.String text; |
| |
| /// The title of this item. |
| core.String title; |
| |
| /// The time at which this item was last modified, formatted according to RFC |
| /// 3339. |
| core.DateTime updated; |
| |
| TimelineItem(); |
| |
| TimelineItem.fromJson(core.Map _json) { |
| if (_json.containsKey("attachments")) { |
| attachments = _json["attachments"] |
| .map<Attachment>((value) => new Attachment.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("bundleId")) { |
| bundleId = _json["bundleId"]; |
| } |
| if (_json.containsKey("canonicalUrl")) { |
| canonicalUrl = _json["canonicalUrl"]; |
| } |
| if (_json.containsKey("created")) { |
| created = core.DateTime.parse(_json["created"]); |
| } |
| if (_json.containsKey("creator")) { |
| creator = new Contact.fromJson(_json["creator"]); |
| } |
| if (_json.containsKey("displayTime")) { |
| displayTime = core.DateTime.parse(_json["displayTime"]); |
| } |
| if (_json.containsKey("etag")) { |
| etag = _json["etag"]; |
| } |
| if (_json.containsKey("html")) { |
| html = _json["html"]; |
| } |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("inReplyTo")) { |
| inReplyTo = _json["inReplyTo"]; |
| } |
| if (_json.containsKey("isBundleCover")) { |
| isBundleCover = _json["isBundleCover"]; |
| } |
| if (_json.containsKey("isDeleted")) { |
| isDeleted = _json["isDeleted"]; |
| } |
| if (_json.containsKey("isPinned")) { |
| isPinned = _json["isPinned"]; |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("location")) { |
| location = new Location.fromJson(_json["location"]); |
| } |
| if (_json.containsKey("menuItems")) { |
| menuItems = _json["menuItems"] |
| .map<MenuItem>((value) => new MenuItem.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("notification")) { |
| notification = new NotificationConfig.fromJson(_json["notification"]); |
| } |
| if (_json.containsKey("pinScore")) { |
| pinScore = _json["pinScore"]; |
| } |
| if (_json.containsKey("recipients")) { |
| recipients = _json["recipients"] |
| .map<Contact>((value) => new Contact.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("selfLink")) { |
| selfLink = _json["selfLink"]; |
| } |
| if (_json.containsKey("sourceItemId")) { |
| sourceItemId = _json["sourceItemId"]; |
| } |
| if (_json.containsKey("speakableText")) { |
| speakableText = _json["speakableText"]; |
| } |
| if (_json.containsKey("speakableType")) { |
| speakableType = _json["speakableType"]; |
| } |
| if (_json.containsKey("text")) { |
| text = _json["text"]; |
| } |
| if (_json.containsKey("title")) { |
| title = _json["title"]; |
| } |
| if (_json.containsKey("updated")) { |
| updated = core.DateTime.parse(_json["updated"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (attachments != null) { |
| _json["attachments"] = |
| attachments.map((value) => (value).toJson()).toList(); |
| } |
| if (bundleId != null) { |
| _json["bundleId"] = bundleId; |
| } |
| if (canonicalUrl != null) { |
| _json["canonicalUrl"] = canonicalUrl; |
| } |
| if (created != null) { |
| _json["created"] = (created).toIso8601String(); |
| } |
| if (creator != null) { |
| _json["creator"] = (creator).toJson(); |
| } |
| if (displayTime != null) { |
| _json["displayTime"] = (displayTime).toIso8601String(); |
| } |
| if (etag != null) { |
| _json["etag"] = etag; |
| } |
| if (html != null) { |
| _json["html"] = html; |
| } |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (inReplyTo != null) { |
| _json["inReplyTo"] = inReplyTo; |
| } |
| if (isBundleCover != null) { |
| _json["isBundleCover"] = isBundleCover; |
| } |
| if (isDeleted != null) { |
| _json["isDeleted"] = isDeleted; |
| } |
| if (isPinned != null) { |
| _json["isPinned"] = isPinned; |
| } |
| if (kind != null) { |
| _json["kind"] = kind; |
| } |
| if (location != null) { |
| _json["location"] = (location).toJson(); |
| } |
| if (menuItems != null) { |
| _json["menuItems"] = menuItems.map((value) => (value).toJson()).toList(); |
| } |
| if (notification != null) { |
| _json["notification"] = (notification).toJson(); |
| } |
| if (pinScore != null) { |
| _json["pinScore"] = pinScore; |
| } |
| if (recipients != null) { |
| _json["recipients"] = |
| recipients.map((value) => (value).toJson()).toList(); |
| } |
| if (selfLink != null) { |
| _json["selfLink"] = selfLink; |
| } |
| if (sourceItemId != null) { |
| _json["sourceItemId"] = sourceItemId; |
| } |
| if (speakableText != null) { |
| _json["speakableText"] = speakableText; |
| } |
| if (speakableType != null) { |
| _json["speakableType"] = speakableType; |
| } |
| if (text != null) { |
| _json["text"] = text; |
| } |
| if (title != null) { |
| _json["title"] = title; |
| } |
| if (updated != null) { |
| _json["updated"] = (updated).toIso8601String(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A list of timeline items. This is the response from the server to GET |
| /// requests on the timeline collection. |
| class TimelineListResponse { |
| /// Items in the timeline. |
| core.List<TimelineItem> items; |
| |
| /// The type of resource. This is always mirror#timeline. |
| core.String kind; |
| |
| /// The next page token. Provide this as the pageToken parameter in the |
| /// request to retrieve the next page of results. |
| core.String nextPageToken; |
| |
| TimelineListResponse(); |
| |
| TimelineListResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("items")) { |
| items = _json["items"] |
| .map<TimelineItem>((value) => new TimelineItem.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("kind")) { |
| kind = _json["kind"]; |
| } |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| 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; |
| } |
| } |
| |
| /// Represents an action taken by the user that triggered a notification. |
| class UserAction { |
| /// An optional payload for the action. |
| /// |
| /// For actions of type CUSTOM, this is the ID of the custom menu item that |
| /// was selected. |
| core.String payload; |
| |
| /// The type of action. The value of this can be: |
| /// - SHARE - the user shared an item. |
| /// - REPLY - the user replied to an item. |
| /// - REPLY_ALL - the user replied to all recipients of an item. |
| /// - CUSTOM - the user selected a custom menu item on the timeline item. |
| /// - DELETE - the user deleted the item. |
| /// - PIN - the user pinned the item. |
| /// - UNPIN - the user unpinned the item. |
| /// - LAUNCH - the user initiated a voice command. In the future, additional |
| /// types may be added. UserActions with unrecognized types should be ignored. |
| core.String type; |
| |
| UserAction(); |
| |
| UserAction.fromJson(core.Map _json) { |
| if (_json.containsKey("payload")) { |
| payload = _json["payload"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (payload != null) { |
| _json["payload"] = payload; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| class UserData { |
| core.String key; |
| core.String value; |
| |
| UserData(); |
| |
| UserData.fromJson(core.Map _json) { |
| if (_json.containsKey("key")) { |
| key = _json["key"]; |
| } |
| if (_json.containsKey("value")) { |
| value = _json["value"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (key != null) { |
| _json["key"] = key; |
| } |
| if (value != null) { |
| _json["value"] = value; |
| } |
| return _json; |
| } |
| } |