Index: generated/googleapis/lib/calendar/v3.dart |
diff --git a/generated/googleapis/lib/calendar/v3.dart b/generated/googleapis/lib/calendar/v3.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a3c38b0b94dc0e503cdffa865a79a1deb823662c |
--- /dev/null |
+++ b/generated/googleapis/lib/calendar/v3.dart |
@@ -0,0 +1,4766 @@ |
+library googleapis.calendar.v3; |
+ |
+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; |
+ |
+/** Lets you manipulate events and other calendar data. */ |
+class CalendarApi { |
+ /** Manage your calendars */ |
+ static const CalendarScope = "https://www.googleapis.com/auth/calendar"; |
+ |
+ /** View your calendars */ |
+ static const CalendarReadonlyScope = "https://www.googleapis.com/auth/calendar.readonly"; |
+ |
+ |
+ final common_internal.ApiRequester _requester; |
+ |
+ AclResourceApi get acl => new AclResourceApi(_requester); |
+ CalendarListResourceApi get calendarList => new CalendarListResourceApi(_requester); |
+ CalendarsResourceApi get calendars => new CalendarsResourceApi(_requester); |
+ ChannelsResourceApi get channels => new ChannelsResourceApi(_requester); |
+ ColorsResourceApi get colors => new ColorsResourceApi(_requester); |
+ EventsResourceApi get events => new EventsResourceApi(_requester); |
+ FreebusyResourceApi get freebusy => new FreebusyResourceApi(_requester); |
+ SettingsResourceApi get settings => new SettingsResourceApi(_requester); |
+ |
+ CalendarApi(http.Client client) : |
+ _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/calendar/v3/"); |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class AclResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ AclResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Deletes an access control rule. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [ruleId] - ACL rule identifier. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String calendarId, core.String ruleId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (ruleId == null) { |
+ throw new core.ArgumentError("Parameter ruleId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl/' + common_internal.Escaper.ecapeVariable('$ruleId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns an access control rule. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [ruleId] - ACL rule identifier. |
+ * |
+ * Completes with a [AclRule]. |
+ * |
+ * 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<AclRule> get(core.String calendarId, core.String ruleId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (ruleId == null) { |
+ throw new core.ArgumentError("Parameter ruleId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl/' + common_internal.Escaper.ecapeVariable('$ruleId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AclRule.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Creates an access control rule. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [AclRule]. |
+ * |
+ * 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<AclRule> insert(AclRule request, core.String calendarId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AclRule.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns the rules in the access control list for the calendar. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [showDeleted] - Whether to include deleted ACLs in the result. Deleted ACLs |
+ * are represented by role equal to "none". Deleted ACLs will always be |
+ * included if syncToken is provided. Optional. The default is False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. All |
+ * entries deleted since the previous list request will always be in the |
+ * result set and it is not allowed to set showDeleted to False. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [Acl]. |
+ * |
+ * 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<Acl> list(core.String calendarId, {core.int maxResults, core.String pageToken, core.bool showDeleted, core.String syncToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Acl.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an access control rule. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [ruleId] - ACL rule identifier. |
+ * |
+ * Completes with a [AclRule]. |
+ * |
+ * 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<AclRule> patch(AclRule request, core.String calendarId, core.String ruleId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (ruleId == null) { |
+ throw new core.ArgumentError("Parameter ruleId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl/' + common_internal.Escaper.ecapeVariable('$ruleId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AclRule.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an access control rule. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [ruleId] - ACL rule identifier. |
+ * |
+ * Completes with a [AclRule]. |
+ * |
+ * 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<AclRule> update(AclRule request, core.String calendarId, core.String ruleId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (ruleId == null) { |
+ throw new core.ArgumentError("Parameter ruleId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl/' + common_internal.Escaper.ecapeVariable('$ruleId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new AclRule.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Watch for changes to ACL resources. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [showDeleted] - Whether to include deleted ACLs in the result. Deleted ACLs |
+ * are represented by role equal to "none". Deleted ACLs will always be |
+ * included if syncToken is provided. Optional. The default is False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. All |
+ * entries deleted since the previous list request will always be in the |
+ * result set and it is not allowed to set showDeleted to False. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [Channel]. |
+ * |
+ * 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<Channel> watch(Channel request, core.String calendarId, {core.int maxResults, core.String pageToken, core.bool showDeleted, core.String syncToken}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/acl/watch'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Channel.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CalendarListResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ CalendarListResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Deletes an entry on the user's calendar list. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String calendarId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'users/me/calendarList/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns an entry on the user's calendar list. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [CalendarListEntry]. |
+ * |
+ * 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<CalendarListEntry> get(core.String calendarId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CalendarListEntry.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Adds an entry to the user's calendar list. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [colorRgbFormat] - Whether to use the foregroundColor and backgroundColor |
+ * fields to write the calendar colors (RGB). If this feature is used, the |
+ * index-based colorId field will be set to the best matching option |
+ * automatically. Optional. The default is False. |
+ * |
+ * Completes with a [CalendarListEntry]. |
+ * |
+ * 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<CalendarListEntry> insert(CalendarListEntry request, {core.bool colorRgbFormat}) { |
+ 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 (colorRgbFormat != null) { |
+ _queryParams["colorRgbFormat"] = ["${colorRgbFormat}"]; |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CalendarListEntry.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns entries on the user's calendar list. |
+ * |
+ * Request parameters: |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [minAccessRole] - The minimum access role for the user in the returned |
+ * entires. Optional. The default is no restriction. |
+ * Possible string values are: |
+ * - "freeBusyReader" : The user can read free/busy information. |
+ * - "owner" : The user can read and modify events and access control lists. |
+ * - "reader" : The user can read events that are not private. |
+ * - "writer" : The user can read and modify events. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [showDeleted] - Whether to include deleted calendar list entries in the |
+ * result. Optional. The default is False. |
+ * |
+ * [showHidden] - Whether to show hidden entries. Optional. The default is |
+ * False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. If |
+ * only read-only fields such as calendar properties or ACLs have changed, the |
+ * entry won't be returned. All entries deleted and hidden since the previous |
+ * list request will always be in the result set and it is not allowed to set |
+ * showDeleted neither showHidden to False. |
+ * To ensure client state consistency minAccessRole query parameter cannot be |
+ * specified together with nextSyncToken. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [CalendarList]. |
+ * |
+ * 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<CalendarList> list({core.int maxResults, core.String minAccessRole, core.String pageToken, core.bool showDeleted, core.bool showHidden, core.String syncToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (minAccessRole != null) { |
+ _queryParams["minAccessRole"] = [minAccessRole]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (showHidden != null) { |
+ _queryParams["showHidden"] = ["${showHidden}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CalendarList.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an entry on the user's calendar list. This method supports patch |
+ * semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [colorRgbFormat] - Whether to use the foregroundColor and backgroundColor |
+ * fields to write the calendar colors (RGB). If this feature is used, the |
+ * index-based colorId field will be set to the best matching option |
+ * automatically. Optional. The default is False. |
+ * |
+ * Completes with a [CalendarListEntry]. |
+ * |
+ * 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<CalendarListEntry> patch(CalendarListEntry request, core.String calendarId, {core.bool colorRgbFormat}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (colorRgbFormat != null) { |
+ _queryParams["colorRgbFormat"] = ["${colorRgbFormat}"]; |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CalendarListEntry.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an entry on the user's calendar list. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [colorRgbFormat] - Whether to use the foregroundColor and backgroundColor |
+ * fields to write the calendar colors (RGB). If this feature is used, the |
+ * index-based colorId field will be set to the best matching option |
+ * automatically. Optional. The default is False. |
+ * |
+ * Completes with a [CalendarListEntry]. |
+ * |
+ * 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<CalendarListEntry> update(CalendarListEntry request, core.String calendarId, {core.bool colorRgbFormat}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (colorRgbFormat != null) { |
+ _queryParams["colorRgbFormat"] = ["${colorRgbFormat}"]; |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new CalendarListEntry.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Watch for changes to CalendarList resources. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [minAccessRole] - The minimum access role for the user in the returned |
+ * entires. Optional. The default is no restriction. |
+ * Possible string values are: |
+ * - "freeBusyReader" : The user can read free/busy information. |
+ * - "owner" : The user can read and modify events and access control lists. |
+ * - "reader" : The user can read events that are not private. |
+ * - "writer" : The user can read and modify events. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [showDeleted] - Whether to include deleted calendar list entries in the |
+ * result. Optional. The default is False. |
+ * |
+ * [showHidden] - Whether to show hidden entries. Optional. The default is |
+ * False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. If |
+ * only read-only fields such as calendar properties or ACLs have changed, the |
+ * entry won't be returned. All entries deleted and hidden since the previous |
+ * list request will always be in the result set and it is not allowed to set |
+ * showDeleted neither showHidden to False. |
+ * To ensure client state consistency minAccessRole query parameter cannot be |
+ * specified together with nextSyncToken. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [Channel]. |
+ * |
+ * 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<Channel> watch(Channel request, {core.int maxResults, core.String minAccessRole, core.String pageToken, core.bool showDeleted, core.bool showHidden, core.String syncToken}) { |
+ 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 (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (minAccessRole != null) { |
+ _queryParams["minAccessRole"] = [minAccessRole]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (showHidden != null) { |
+ _queryParams["showHidden"] = ["${showHidden}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'users/me/calendarList/watch'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Channel.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CalendarsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ CalendarsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Clears a primary calendar. This operation deletes all data associated with |
+ * the primary calendar of an account and cannot be undone. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * 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 clear(core.String calendarId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/clear'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Deletes a secondary calendar. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String calendarId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns metadata for a calendar. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [Calendar]. |
+ * |
+ * 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<Calendar> get(core.String calendarId) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Calendar.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Creates a secondary calendar. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [Calendar]. |
+ * |
+ * 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<Calendar> insert(Calendar 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 = 'calendars'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Calendar.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates metadata for a calendar. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [Calendar]. |
+ * |
+ * 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<Calendar> patch(Calendar request, core.String calendarId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Calendar.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates metadata for a calendar. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [Calendar]. |
+ * |
+ * 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<Calendar> update(Calendar request, core.String calendarId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Calendar.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ChannelsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ChannelsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Stop watching resources through this channel |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * 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 stop(Channel 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()); |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'channels/stop'; |
+ |
+ 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 ColorsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ ColorsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns the color definitions for calendars and events. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [Colors]. |
+ * |
+ * 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<Colors> get() { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ |
+ |
+ _url = 'colors'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Colors.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class EventsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ EventsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Deletes an event. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [eventId] - Event identifier. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the deletion of |
+ * the event. Optional. The default is False. |
+ * |
+ * Completes with a [common.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future delete(core.String calendarId, core.String eventId, {core.bool sendNotifications}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ _downloadOptions = null; |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => null); |
+ } |
+ |
+ /** |
+ * Returns an event. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [eventId] - Event identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [timeZone] - Time zone used in the response. Optional. The default is the |
+ * time zone of the calendar. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> get(core.String calendarId, core.String eventId, {core.bool alwaysIncludeEmail, core.int maxAttendees, core.String timeZone}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (timeZone != null) { |
+ _queryParams["timeZone"] = [timeZone]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Imports an event. This operation is used to add a private copy of an |
+ * existing event to a calendar. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> import(Event request, core.String calendarId) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/import'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Creates an event. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the creation of |
+ * the new event. Optional. The default is False. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> insert(Event request, core.String calendarId, {core.int maxAttendees, core.bool sendNotifications}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns instances of the specified recurring event. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [eventId] - Recurring event identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [maxResults] - Maximum number of events returned on one result page. By |
+ * default the value is 250 events. The page size can never be larger than |
+ * 2500 events. Optional. |
+ * |
+ * [originalStart] - The original start time of the instance in the result. |
+ * Optional. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [showDeleted] - Whether to include deleted events (with status equals |
+ * "cancelled") in the result. Cancelled instances of recurring events will |
+ * still be included if singleEvents is False. Optional. The default is False. |
+ * |
+ * [timeMax] - Upper bound (exclusive) for an event's start time to filter by. |
+ * Optional. The default is not to filter by start time. |
+ * |
+ * [timeMin] - Lower bound (inclusive) for an event's end time to filter by. |
+ * Optional. The default is not to filter by end time. |
+ * |
+ * [timeZone] - Time zone used in the response. Optional. The default is the |
+ * time zone of the calendar. |
+ * |
+ * Completes with a [Events]. |
+ * |
+ * 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<Events> instances(core.String calendarId, core.String eventId, {core.bool alwaysIncludeEmail, core.int maxAttendees, core.int maxResults, core.String originalStart, core.String pageToken, core.bool showDeleted, core.DateTime timeMax, core.DateTime timeMin, core.String timeZone}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (originalStart != null) { |
+ _queryParams["originalStart"] = [originalStart]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (timeMax != null) { |
+ _queryParams["timeMax"] = [(timeMax).toIso8601String()]; |
+ } |
+ if (timeMin != null) { |
+ _queryParams["timeMin"] = [(timeMin).toIso8601String()]; |
+ } |
+ if (timeZone != null) { |
+ _queryParams["timeZone"] = [timeZone]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId') + '/instances'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Events.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns events on the specified calendar. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [iCalUID] - Specifies event ID in the iCalendar format to be included in |
+ * the response. Optional. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [maxResults] - Maximum number of events returned on one result page. By |
+ * default the value is 250 events. The page size can never be larger than |
+ * 2500 events. Optional. |
+ * |
+ * [orderBy] - The order of the events returned in the result. Optional. The |
+ * default is an unspecified, stable order. |
+ * Possible string values are: |
+ * - "startTime" : Order by the start date/time (ascending). This is only |
+ * available when querying single events (i.e. the parameter singleEvents is |
+ * True) |
+ * - "updated" : Order by last modification time (ascending). |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [privateExtendedProperty] - Extended properties constraint specified as |
+ * propertyName=value. Matches only private properties. This parameter might |
+ * be repeated multiple times to return events that match all given |
+ * constraints. |
+ * |
+ * [q] - Free text search terms to find events that match these terms in any |
+ * field, except for extended properties. Optional. |
+ * |
+ * [sharedExtendedProperty] - Extended properties constraint specified as |
+ * propertyName=value. Matches only shared properties. This parameter might be |
+ * repeated multiple times to return events that match all given constraints. |
+ * |
+ * [showDeleted] - Whether to include deleted events (with status equals |
+ * "cancelled") in the result. Cancelled instances of recurring events (but |
+ * not the underlying recurring event) will still be included if showDeleted |
+ * and singleEvents are both False. If showDeleted and singleEvents are both |
+ * True, only single instances of deleted events (but not the underlying |
+ * recurring events) are returned. Optional. The default is False. |
+ * |
+ * [showHiddenInvitations] - Whether to include hidden invitations in the |
+ * result. Optional. The default is False. |
+ * |
+ * [singleEvents] - Whether to expand recurring events into instances and only |
+ * return single one-off events and instances of recurring events, but not the |
+ * underlying recurring events themselves. Optional. The default is False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. All |
+ * events deleted since the previous list request will always be in the result |
+ * set and it is not allowed to set showDeleted to False. |
+ * There are several query parameters that cannot be specified together with |
+ * nextSyncToken to ensure consistency of the client state. |
+ * |
+ * These are: |
+ * - iCalUID |
+ * - orderBy |
+ * - privateExtendedProperty |
+ * - q |
+ * - sharedExtendedProperty |
+ * - timeMin |
+ * - timeMax |
+ * - updatedMin If the syncToken expires, the server will respond with a 410 |
+ * GONE response code and the client should clear its storage and perform a |
+ * full synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * [timeMax] - Upper bound (exclusive) for an event's start time to filter by. |
+ * Optional. The default is not to filter by start time. |
+ * |
+ * [timeMin] - Lower bound (inclusive) for an event's end time to filter by. |
+ * Optional. The default is not to filter by end time. |
+ * |
+ * [timeZone] - Time zone used in the response. Optional. The default is the |
+ * time zone of the calendar. |
+ * |
+ * [updatedMin] - Lower bound for an event's last modification time (as a RFC |
+ * 3339 timestamp) to filter by. When specified, entries deleted since this |
+ * time will always be included regardless of showDeleted. Optional. The |
+ * default is not to filter by last modification time. |
+ * |
+ * Completes with a [Events]. |
+ * |
+ * 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<Events> list(core.String calendarId, {core.bool alwaysIncludeEmail, core.String iCalUID, core.int maxAttendees, core.int maxResults, core.String orderBy, core.String pageToken, core.List<core.String> privateExtendedProperty, core.String q, core.List<core.String> sharedExtendedProperty, core.bool showDeleted, core.bool showHiddenInvitations, core.bool singleEvents, core.String syncToken, core.DateTime timeMax, core.DateTime timeMin, core.String timeZone, core.DateTime updatedMin}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (iCalUID != null) { |
+ _queryParams["iCalUID"] = [iCalUID]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (orderBy != null) { |
+ _queryParams["orderBy"] = [orderBy]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (privateExtendedProperty != null) { |
+ _queryParams["privateExtendedProperty"] = privateExtendedProperty; |
+ } |
+ if (q != null) { |
+ _queryParams["q"] = [q]; |
+ } |
+ if (sharedExtendedProperty != null) { |
+ _queryParams["sharedExtendedProperty"] = sharedExtendedProperty; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (showHiddenInvitations != null) { |
+ _queryParams["showHiddenInvitations"] = ["${showHiddenInvitations}"]; |
+ } |
+ if (singleEvents != null) { |
+ _queryParams["singleEvents"] = ["${singleEvents}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ if (timeMax != null) { |
+ _queryParams["timeMax"] = [(timeMax).toIso8601String()]; |
+ } |
+ if (timeMin != null) { |
+ _queryParams["timeMin"] = [(timeMin).toIso8601String()]; |
+ } |
+ if (timeZone != null) { |
+ _queryParams["timeZone"] = [timeZone]; |
+ } |
+ if (updatedMin != null) { |
+ _queryParams["updatedMin"] = [(updatedMin).toIso8601String()]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Events.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Moves an event to another calendar, i.e. changes an event's organizer. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier of the source calendar where the event |
+ * currently is on. |
+ * |
+ * [eventId] - Event identifier. |
+ * |
+ * [destination] - Calendar identifier of the target calendar where the event |
+ * is to be moved to. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the change of the |
+ * event's organizer. Optional. The default is False. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> move(core.String calendarId, core.String eventId, core.String destination, {core.bool sendNotifications}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (destination == null) { |
+ throw new core.ArgumentError("Parameter destination is required."); |
+ } |
+ _queryParams["destination"] = [destination]; |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId') + '/move'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an event. This method supports patch semantics. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [eventId] - Event identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the event update |
+ * (e.g. attendee's responses, title changes, etc.). Optional. The default is |
+ * False. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> patch(Event request, core.String calendarId, core.String eventId, {core.bool alwaysIncludeEmail, core.int maxAttendees, core.bool sendNotifications}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Creates an event based on a simple text string. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [text] - The text describing the event to be created. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the creation of |
+ * the event. Optional. The default is False. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> quickAdd(core.String calendarId, core.String text, {core.bool sendNotifications}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (text == null) { |
+ throw new core.ArgumentError("Parameter text is required."); |
+ } |
+ _queryParams["text"] = [text]; |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/quickAdd'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates an event. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [eventId] - Event identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [sendNotifications] - Whether to send notifications about the event update |
+ * (e.g. attendee's responses, title changes, etc.). Optional. The default is |
+ * False. |
+ * |
+ * Completes with a [Event]. |
+ * |
+ * 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<Event> update(Event request, core.String calendarId, core.String eventId, {core.bool alwaysIncludeEmail, core.int maxAttendees, core.bool sendNotifications}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (eventId == null) { |
+ throw new core.ArgumentError("Parameter eventId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (sendNotifications != null) { |
+ _queryParams["sendNotifications"] = ["${sendNotifications}"]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/' + common_internal.Escaper.ecapeVariable('$eventId'); |
+ |
+ var _response = _requester.request(_url, |
+ "PUT", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Event.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Watch for changes to Events resources. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [calendarId] - Calendar identifier. |
+ * |
+ * [alwaysIncludeEmail] - Whether to always include a value in the email field |
+ * for the organizer, creator and attendees, even if no real email is |
+ * available (i.e. a generated, non-working value will be provided). The use |
+ * of this option is discouraged and should only be used by clients which |
+ * cannot handle the absence of an email address value in the mentioned |
+ * places. Optional. The default is False. |
+ * |
+ * [iCalUID] - Specifies event ID in the iCalendar format to be included in |
+ * the response. Optional. |
+ * |
+ * [maxAttendees] - The maximum number of attendees to include in the |
+ * response. If there are more than the specified number of attendees, only |
+ * the participant is returned. Optional. |
+ * |
+ * [maxResults] - Maximum number of events returned on one result page. By |
+ * default the value is 250 events. The page size can never be larger than |
+ * 2500 events. Optional. |
+ * |
+ * [orderBy] - The order of the events returned in the result. Optional. The |
+ * default is an unspecified, stable order. |
+ * Possible string values are: |
+ * - "startTime" : Order by the start date/time (ascending). This is only |
+ * available when querying single events (i.e. the parameter singleEvents is |
+ * True) |
+ * - "updated" : Order by last modification time (ascending). |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [privateExtendedProperty] - Extended properties constraint specified as |
+ * propertyName=value. Matches only private properties. This parameter might |
+ * be repeated multiple times to return events that match all given |
+ * constraints. |
+ * |
+ * [q] - Free text search terms to find events that match these terms in any |
+ * field, except for extended properties. Optional. |
+ * |
+ * [sharedExtendedProperty] - Extended properties constraint specified as |
+ * propertyName=value. Matches only shared properties. This parameter might be |
+ * repeated multiple times to return events that match all given constraints. |
+ * |
+ * [showDeleted] - Whether to include deleted events (with status equals |
+ * "cancelled") in the result. Cancelled instances of recurring events (but |
+ * not the underlying recurring event) will still be included if showDeleted |
+ * and singleEvents are both False. If showDeleted and singleEvents are both |
+ * True, only single instances of deleted events (but not the underlying |
+ * recurring events) are returned. Optional. The default is False. |
+ * |
+ * [showHiddenInvitations] - Whether to include hidden invitations in the |
+ * result. Optional. The default is False. |
+ * |
+ * [singleEvents] - Whether to expand recurring events into instances and only |
+ * return single one-off events and instances of recurring events, but not the |
+ * underlying recurring events themselves. Optional. The default is False. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. All |
+ * events deleted since the previous list request will always be in the result |
+ * set and it is not allowed to set showDeleted to False. |
+ * There are several query parameters that cannot be specified together with |
+ * nextSyncToken to ensure consistency of the client state. |
+ * |
+ * These are: |
+ * - iCalUID |
+ * - orderBy |
+ * - privateExtendedProperty |
+ * - q |
+ * - sharedExtendedProperty |
+ * - timeMin |
+ * - timeMax |
+ * - updatedMin If the syncToken expires, the server will respond with a 410 |
+ * GONE response code and the client should clear its storage and perform a |
+ * full synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * [timeMax] - Upper bound (exclusive) for an event's start time to filter by. |
+ * Optional. The default is not to filter by start time. |
+ * |
+ * [timeMin] - Lower bound (inclusive) for an event's end time to filter by. |
+ * Optional. The default is not to filter by end time. |
+ * |
+ * [timeZone] - Time zone used in the response. Optional. The default is the |
+ * time zone of the calendar. |
+ * |
+ * [updatedMin] - Lower bound for an event's last modification time (as a RFC |
+ * 3339 timestamp) to filter by. When specified, entries deleted since this |
+ * time will always be included regardless of showDeleted. Optional. The |
+ * default is not to filter by last modification time. |
+ * |
+ * Completes with a [Channel]. |
+ * |
+ * 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<Channel> watch(Channel request, core.String calendarId, {core.bool alwaysIncludeEmail, core.String iCalUID, core.int maxAttendees, core.int maxResults, core.String orderBy, core.String pageToken, core.List<core.String> privateExtendedProperty, core.String q, core.List<core.String> sharedExtendedProperty, core.bool showDeleted, core.bool showHiddenInvitations, core.bool singleEvents, core.String syncToken, core.DateTime timeMax, core.DateTime timeMin, core.String timeZone, core.DateTime updatedMin}) { |
+ 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 (calendarId == null) { |
+ throw new core.ArgumentError("Parameter calendarId is required."); |
+ } |
+ if (alwaysIncludeEmail != null) { |
+ _queryParams["alwaysIncludeEmail"] = ["${alwaysIncludeEmail}"]; |
+ } |
+ if (iCalUID != null) { |
+ _queryParams["iCalUID"] = [iCalUID]; |
+ } |
+ if (maxAttendees != null) { |
+ _queryParams["maxAttendees"] = ["${maxAttendees}"]; |
+ } |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (orderBy != null) { |
+ _queryParams["orderBy"] = [orderBy]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (privateExtendedProperty != null) { |
+ _queryParams["privateExtendedProperty"] = privateExtendedProperty; |
+ } |
+ if (q != null) { |
+ _queryParams["q"] = [q]; |
+ } |
+ if (sharedExtendedProperty != null) { |
+ _queryParams["sharedExtendedProperty"] = sharedExtendedProperty; |
+ } |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (showHiddenInvitations != null) { |
+ _queryParams["showHiddenInvitations"] = ["${showHiddenInvitations}"]; |
+ } |
+ if (singleEvents != null) { |
+ _queryParams["singleEvents"] = ["${singleEvents}"]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ if (timeMax != null) { |
+ _queryParams["timeMax"] = [(timeMax).toIso8601String()]; |
+ } |
+ if (timeMin != null) { |
+ _queryParams["timeMin"] = [(timeMin).toIso8601String()]; |
+ } |
+ if (timeZone != null) { |
+ _queryParams["timeZone"] = [timeZone]; |
+ } |
+ if (updatedMin != null) { |
+ _queryParams["updatedMin"] = [(updatedMin).toIso8601String()]; |
+ } |
+ |
+ |
+ _url = 'calendars/' + common_internal.Escaper.ecapeVariable('$calendarId') + '/events/watch'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Channel.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreebusyResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ FreebusyResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns free/busy information for a set of calendars. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [FreeBusyResponse]. |
+ * |
+ * 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<FreeBusyResponse> query(FreeBusyRequest 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 = 'freeBusy'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new FreeBusyResponse.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class SettingsResourceApi { |
+ final common_internal.ApiRequester _requester; |
+ |
+ SettingsResourceApi(common_internal.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Returns a single user setting. |
+ * |
+ * Request parameters: |
+ * |
+ * [setting] - The id of the user setting. |
+ * |
+ * Completes with a [Setting]. |
+ * |
+ * 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<Setting> get(core.String setting) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (setting == null) { |
+ throw new core.ArgumentError("Parameter setting is required."); |
+ } |
+ |
+ |
+ _url = 'users/me/settings/' + common_internal.Escaper.ecapeVariable('$setting'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Setting.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns all user settings for the authenticated user. |
+ * |
+ * Request parameters: |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [Settings]. |
+ * |
+ * 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<Settings> list({core.int maxResults, core.String pageToken, core.String syncToken}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = common.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'users/me/settings'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Settings.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Watch for changes to Settings resources. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [maxResults] - Maximum number of entries returned on one result page. By |
+ * default the value is 100 entries. The page size can never be larger than |
+ * 250 entries. Optional. |
+ * |
+ * [pageToken] - Token specifying which result page to return. Optional. |
+ * |
+ * [syncToken] - Token obtained from the nextSyncToken field returned on the |
+ * last page of results from the previous list request. It makes the result of |
+ * this list request contain only entries that have changed since then. |
+ * If the syncToken expires, the server will respond with a 410 GONE response |
+ * code and the client should clear its storage and perform a full |
+ * synchronization without any syncToken. |
+ * Learn more about incremental synchronization. |
+ * Optional. The default is to return all entries. |
+ * |
+ * Completes with a [Channel]. |
+ * |
+ * 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<Channel> watch(Channel request, {core.int maxResults, core.String pageToken, core.String syncToken}) { |
+ 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 (maxResults != null) { |
+ _queryParams["maxResults"] = ["${maxResults}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (syncToken != null) { |
+ _queryParams["syncToken"] = [syncToken]; |
+ } |
+ |
+ |
+ _url = 'users/me/settings/watch'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Channel.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** Not documented yet. */ |
+class Acl { |
+ /** ETag of the collection. */ |
+ core.String etag; |
+ |
+ /** List of rules on the access control list. */ |
+ core.List<AclRule> items; |
+ |
+ /** Type of the collection ("calendar#acl"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Token used to access the next page of this result. Omitted if no further |
+ * results are available, in which case nextSyncToken is provided. |
+ */ |
+ core.String nextPageToken; |
+ |
+ /** |
+ * Token used at a later point in time to retrieve only the entries that have |
+ * changed since this result was returned. Omitted if further results are |
+ * available, in which case nextPageToken is provided. |
+ */ |
+ core.String nextSyncToken; |
+ |
+ |
+ Acl(); |
+ |
+ Acl.fromJson(core.Map _json) { |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new AclRule.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("nextSyncToken")) { |
+ nextSyncToken = _json["nextSyncToken"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (nextSyncToken != null) { |
+ _json["nextSyncToken"] = nextSyncToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The scope of the rule. */ |
+class AclRuleScope { |
+ /** |
+ * The type of the scope. Possible values are: |
+ * - "default" - The public scope. This is the default value. |
+ * - "user" - Limits the scope to a single user. |
+ * - "group" - Limits the scope to a group. |
+ * - "domain" - Limits the scope to a domain. Note: The permissions granted |
+ * to the "default", or public, scope apply to any user, authenticated or not. |
+ */ |
+ core.String type; |
+ |
+ /** |
+ * The email address of a user or group, or the name of a domain, depending on |
+ * the scope type. Omitted for type "default". |
+ */ |
+ core.String value; |
+ |
+ |
+ AclRuleScope(); |
+ |
+ AclRuleScope.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; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class AclRule { |
+ /** ETag of the resource. */ |
+ core.String etag; |
+ |
+ /** Identifier of the ACL rule. */ |
+ core.String id; |
+ |
+ /** Type of the resource ("calendar#aclRule"). */ |
+ core.String kind; |
+ |
+ /** |
+ * The role assigned to the scope. Possible values are: |
+ * - "none" - Provides no access. |
+ * - "freeBusyReader" - Provides read access to free/busy information. |
+ * - "reader" - Provides read access to the calendar. Private events will |
+ * appear to users with reader access, but event details will be hidden. |
+ * - "writer" - Provides read and write access to the calendar. Private events |
+ * will appear to users with writer access, and event details will be visible. |
+ * - "owner" - Provides ownership of the calendar. This role has all of the |
+ * permissions of the writer role with the additional ability to see and |
+ * manipulate ACLs. |
+ */ |
+ core.String role; |
+ |
+ /** The scope of the rule. */ |
+ AclRuleScope scope; |
+ |
+ |
+ AclRule(); |
+ |
+ AclRule.fromJson(core.Map _json) { |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("role")) { |
+ role = _json["role"]; |
+ } |
+ if (_json.containsKey("scope")) { |
+ scope = new AclRuleScope.fromJson(_json["scope"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (role != null) { |
+ _json["role"] = role; |
+ } |
+ if (scope != null) { |
+ _json["scope"] = (scope).toJson(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Calendar { |
+ /** Description of the calendar. Optional. */ |
+ core.String description; |
+ |
+ /** ETag of the resource. */ |
+ core.String etag; |
+ |
+ /** Identifier of the calendar. */ |
+ core.String id; |
+ |
+ /** Type of the resource ("calendar#calendar"). */ |
+ core.String kind; |
+ |
+ /** Geographic location of the calendar as free-form text. Optional. */ |
+ core.String location; |
+ |
+ /** Title of the calendar. */ |
+ core.String summary; |
+ |
+ /** The time zone of the calendar. Optional. */ |
+ core.String timeZone; |
+ |
+ |
+ Calendar(); |
+ |
+ Calendar.fromJson(core.Map _json) { |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("location")) { |
+ location = _json["location"]; |
+ } |
+ if (_json.containsKey("summary")) { |
+ summary = _json["summary"]; |
+ } |
+ if (_json.containsKey("timeZone")) { |
+ timeZone = _json["timeZone"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (location != null) { |
+ _json["location"] = location; |
+ } |
+ if (summary != null) { |
+ _json["summary"] = summary; |
+ } |
+ if (timeZone != null) { |
+ _json["timeZone"] = timeZone; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CalendarList { |
+ /** ETag of the collection. */ |
+ core.String etag; |
+ |
+ /** Calendars that are present on the user's calendar list. */ |
+ core.List<CalendarListEntry> items; |
+ |
+ /** Type of the collection ("calendar#calendarList"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Token used to access the next page of this result. Omitted if no further |
+ * results are available, in which case nextSyncToken is provided. |
+ */ |
+ core.String nextPageToken; |
+ |
+ /** |
+ * Token used at a later point in time to retrieve only the entries that have |
+ * changed since this result was returned. Omitted if further results are |
+ * available, in which case nextPageToken is provided. |
+ */ |
+ core.String nextSyncToken; |
+ |
+ |
+ CalendarList(); |
+ |
+ CalendarList.fromJson(core.Map _json) { |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new CalendarListEntry.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("nextSyncToken")) { |
+ nextSyncToken = _json["nextSyncToken"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (nextSyncToken != null) { |
+ _json["nextSyncToken"] = nextSyncToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * The notifications that the authenticated user is receiving for this calendar. |
+ */ |
+class CalendarListEntryNotificationSettings { |
+ /** The list of notifications set for this calendar. */ |
+ core.List<CalendarNotification> notifications; |
+ |
+ |
+ CalendarListEntryNotificationSettings(); |
+ |
+ CalendarListEntryNotificationSettings.fromJson(core.Map _json) { |
+ if (_json.containsKey("notifications")) { |
+ notifications = _json["notifications"].map((value) => new CalendarNotification.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (notifications != null) { |
+ _json["notifications"] = notifications.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CalendarListEntry { |
+ /** |
+ * The effective access role that the authenticated user has on the calendar. |
+ * Read-only. Possible values are: |
+ * - "freeBusyReader" - Provides read access to free/busy information. |
+ * - "reader" - Provides read access to the calendar. Private events will |
+ * appear to users with reader access, but event details will be hidden. |
+ * - "writer" - Provides read and write access to the calendar. Private events |
+ * will appear to users with writer access, and event details will be visible. |
+ * - "owner" - Provides ownership of the calendar. This role has all of the |
+ * permissions of the writer role with the additional ability to see and |
+ * manipulate ACLs. |
+ */ |
+ core.String accessRole; |
+ |
+ /** |
+ * The main color of the calendar in the hexadecimal format "#0088aa". This |
+ * property supersedes the index-based colorId property. Optional. |
+ */ |
+ core.String backgroundColor; |
+ |
+ /** |
+ * The color of the calendar. This is an ID referring to an entry in the |
+ * calendar section of the colors definition (see the colors endpoint). |
+ * Optional. |
+ */ |
+ core.String colorId; |
+ |
+ /** |
+ * The default reminders that the authenticated user has for this calendar. |
+ */ |
+ core.List<EventReminder> defaultReminders; |
+ |
+ /** |
+ * Whether this calendar list entry has been deleted from the calendar list. |
+ * Read-only. Optional. The default is False. |
+ */ |
+ core.bool deleted; |
+ |
+ /** Description of the calendar. Optional. Read-only. */ |
+ core.String description; |
+ |
+ /** ETag of the resource. */ |
+ core.String etag; |
+ |
+ /** |
+ * The foreground color of the calendar in the hexadecimal format "#ffffff". |
+ * This property supersedes the index-based colorId property. Optional. |
+ */ |
+ core.String foregroundColor; |
+ |
+ /** |
+ * Whether the calendar has been hidden from the list. Optional. The default |
+ * is False. |
+ */ |
+ core.bool hidden; |
+ |
+ /** Identifier of the calendar. */ |
+ core.String id; |
+ |
+ /** Type of the resource ("calendar#calendarListEntry"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Geographic location of the calendar as free-form text. Optional. Read-only. |
+ */ |
+ core.String location; |
+ |
+ /** |
+ * The notifications that the authenticated user is receiving for this |
+ * calendar. |
+ */ |
+ CalendarListEntryNotificationSettings notificationSettings; |
+ |
+ /** |
+ * Whether the calendar is the primary calendar of the authenticated user. |
+ * Read-only. Optional. The default is False. |
+ */ |
+ core.bool primary; |
+ |
+ /** |
+ * Whether the calendar content shows up in the calendar UI. Optional. The |
+ * default is False. |
+ */ |
+ core.bool selected; |
+ |
+ /** Title of the calendar. Read-only. */ |
+ core.String summary; |
+ |
+ /** |
+ * The summary that the authenticated user has set for this calendar. |
+ * Optional. |
+ */ |
+ core.String summaryOverride; |
+ |
+ /** The time zone of the calendar. Optional. Read-only. */ |
+ core.String timeZone; |
+ |
+ |
+ CalendarListEntry(); |
+ |
+ CalendarListEntry.fromJson(core.Map _json) { |
+ if (_json.containsKey("accessRole")) { |
+ accessRole = _json["accessRole"]; |
+ } |
+ if (_json.containsKey("backgroundColor")) { |
+ backgroundColor = _json["backgroundColor"]; |
+ } |
+ if (_json.containsKey("colorId")) { |
+ colorId = _json["colorId"]; |
+ } |
+ if (_json.containsKey("defaultReminders")) { |
+ defaultReminders = _json["defaultReminders"].map((value) => new EventReminder.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("deleted")) { |
+ deleted = _json["deleted"]; |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("foregroundColor")) { |
+ foregroundColor = _json["foregroundColor"]; |
+ } |
+ if (_json.containsKey("hidden")) { |
+ hidden = _json["hidden"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("location")) { |
+ location = _json["location"]; |
+ } |
+ if (_json.containsKey("notificationSettings")) { |
+ notificationSettings = new CalendarListEntryNotificationSettings.fromJson(_json["notificationSettings"]); |
+ } |
+ if (_json.containsKey("primary")) { |
+ primary = _json["primary"]; |
+ } |
+ if (_json.containsKey("selected")) { |
+ selected = _json["selected"]; |
+ } |
+ if (_json.containsKey("summary")) { |
+ summary = _json["summary"]; |
+ } |
+ if (_json.containsKey("summaryOverride")) { |
+ summaryOverride = _json["summaryOverride"]; |
+ } |
+ if (_json.containsKey("timeZone")) { |
+ timeZone = _json["timeZone"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accessRole != null) { |
+ _json["accessRole"] = accessRole; |
+ } |
+ if (backgroundColor != null) { |
+ _json["backgroundColor"] = backgroundColor; |
+ } |
+ if (colorId != null) { |
+ _json["colorId"] = colorId; |
+ } |
+ if (defaultReminders != null) { |
+ _json["defaultReminders"] = defaultReminders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (deleted != null) { |
+ _json["deleted"] = deleted; |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (foregroundColor != null) { |
+ _json["foregroundColor"] = foregroundColor; |
+ } |
+ if (hidden != null) { |
+ _json["hidden"] = hidden; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (location != null) { |
+ _json["location"] = location; |
+ } |
+ if (notificationSettings != null) { |
+ _json["notificationSettings"] = (notificationSettings).toJson(); |
+ } |
+ if (primary != null) { |
+ _json["primary"] = primary; |
+ } |
+ if (selected != null) { |
+ _json["selected"] = selected; |
+ } |
+ if (summary != null) { |
+ _json["summary"] = summary; |
+ } |
+ if (summaryOverride != null) { |
+ _json["summaryOverride"] = summaryOverride; |
+ } |
+ if (timeZone != null) { |
+ _json["timeZone"] = timeZone; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class CalendarNotification { |
+ /** |
+ * The method used to deliver the notification. Possible values are: |
+ * - "email" - Reminders are sent via email. |
+ * - "sms" - Reminders are sent via SMS. This value is read-only and is |
+ * ignored on inserts and updates. |
+ */ |
+ core.String method; |
+ |
+ /** |
+ * The type of notification. Possible values are: |
+ * - "eventCreation" - Notification sent when a new event is put on the |
+ * calendar. |
+ * - "eventChange" - Notification sent when an event is changed. |
+ * - "eventCancellation" - Notification sent when an event is cancelled. |
+ * - "eventResponse" - Notification sent when an event is changed. |
+ * - "agenda" - An agenda with the events of the day (sent out in the |
+ * morning). |
+ */ |
+ core.String type; |
+ |
+ |
+ CalendarNotification(); |
+ |
+ CalendarNotification.fromJson(core.Map _json) { |
+ if (_json.containsKey("method")) { |
+ method = _json["method"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (method != null) { |
+ _json["method"] = method; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Channel { |
+ /** The address where notifications are delivered for this channel. */ |
+ core.String address; |
+ |
+ /** |
+ * Date and time of notification channel expiration, expressed as a Unix |
+ * timestamp, in milliseconds. Optional. |
+ */ |
+ core.String expiration; |
+ |
+ /** A UUID or similar unique string that identifies this channel. */ |
+ core.String id; |
+ |
+ /** |
+ * Identifies this as a notification channel used to watch for changes to a |
+ * resource. Value: the fixed string "api#channel". |
+ */ |
+ core.String kind; |
+ |
+ /** Additional parameters controlling delivery channel behavior. Optional. */ |
+ core.Map<core.String, core.String> params; |
+ |
+ /** A Boolean value to indicate whether payload is wanted. Optional. */ |
+ core.bool payload; |
+ |
+ /** |
+ * An opaque ID that identifies the resource being watched on this channel. |
+ * Stable across different API versions. |
+ */ |
+ core.String resourceId; |
+ |
+ /** A version-specific identifier for the watched resource. */ |
+ core.String resourceUri; |
+ |
+ /** |
+ * An arbitrary string delivered to the target address with each notification |
+ * delivered over this channel. Optional. |
+ */ |
+ core.String token; |
+ |
+ /** The type of delivery mechanism used for this channel. */ |
+ core.String type; |
+ |
+ |
+ Channel(); |
+ |
+ Channel.fromJson(core.Map _json) { |
+ if (_json.containsKey("address")) { |
+ address = _json["address"]; |
+ } |
+ if (_json.containsKey("expiration")) { |
+ expiration = _json["expiration"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("params")) { |
+ params = _json["params"]; |
+ } |
+ if (_json.containsKey("payload")) { |
+ payload = _json["payload"]; |
+ } |
+ if (_json.containsKey("resourceId")) { |
+ resourceId = _json["resourceId"]; |
+ } |
+ if (_json.containsKey("resourceUri")) { |
+ resourceUri = _json["resourceUri"]; |
+ } |
+ if (_json.containsKey("token")) { |
+ token = _json["token"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (address != null) { |
+ _json["address"] = address; |
+ } |
+ if (expiration != null) { |
+ _json["expiration"] = expiration; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (params != null) { |
+ _json["params"] = params; |
+ } |
+ if (payload != null) { |
+ _json["payload"] = payload; |
+ } |
+ if (resourceId != null) { |
+ _json["resourceId"] = resourceId; |
+ } |
+ if (resourceUri != null) { |
+ _json["resourceUri"] = resourceUri; |
+ } |
+ if (token != null) { |
+ _json["token"] = token; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class ColorDefinition { |
+ /** The background color associated with this color definition. */ |
+ core.String background; |
+ |
+ /** |
+ * The foreground color that can be used to write on top of a background with |
+ * 'background' color. |
+ */ |
+ core.String foreground; |
+ |
+ |
+ ColorDefinition(); |
+ |
+ ColorDefinition.fromJson(core.Map _json) { |
+ if (_json.containsKey("background")) { |
+ background = _json["background"]; |
+ } |
+ if (_json.containsKey("foreground")) { |
+ foreground = _json["foreground"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (background != null) { |
+ _json["background"] = background; |
+ } |
+ if (foreground != null) { |
+ _json["foreground"] = foreground; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Colors { |
+ /** |
+ * Palette of calendar colors, mapping from the color ID to its definition. A |
+ * calendarListEntry resource refers to one of these color IDs in its color |
+ * field. Read-only. |
+ */ |
+ core.Map<core.String, ColorDefinition> calendar; |
+ |
+ /** |
+ * Palette of event colors, mapping from the color ID to its definition. An |
+ * event resource may refer to one of these color IDs in its color field. |
+ * Read-only. |
+ */ |
+ core.Map<core.String, ColorDefinition> event; |
+ |
+ /** Type of the resource ("calendar#colors"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Last modification time of the color palette (as a RFC 3339 timestamp). |
+ * Read-only. |
+ */ |
+ core.DateTime updated; |
+ |
+ |
+ Colors(); |
+ |
+ Colors.fromJson(core.Map _json) { |
+ if (_json.containsKey("calendar")) { |
+ calendar = common_internal.mapMap(_json["calendar"], (item) => new ColorDefinition.fromJson(item)); |
+ } |
+ if (_json.containsKey("event")) { |
+ event = common_internal.mapMap(_json["event"], (item) => new ColorDefinition.fromJson(item)); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (calendar != null) { |
+ _json["calendar"] = common_internal.mapMap(calendar, (item) => (item).toJson()); |
+ } |
+ if (event != null) { |
+ _json["event"] = common_internal.mapMap(event, (item) => (item).toJson()); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Error { |
+ /** Domain, or broad category, of the error. */ |
+ core.String domain; |
+ |
+ /** |
+ * Specific reason for the error. Some of the possible values are: |
+ * - "groupTooBig" - The group of users requested is too large for a single |
+ * query. |
+ * - "tooManyCalendarsRequested" - The number of calendars requested is too |
+ * large for a single query. |
+ * - "notFound" - The requested resource was not found. |
+ * - "internalError" - The API service has encountered an internal error. |
+ * Additional error types may be added in the future, so clients should |
+ * gracefully handle additional error statuses not included in this list. |
+ */ |
+ core.String reason; |
+ |
+ |
+ Error(); |
+ |
+ Error.fromJson(core.Map _json) { |
+ if (_json.containsKey("domain")) { |
+ domain = _json["domain"]; |
+ } |
+ if (_json.containsKey("reason")) { |
+ reason = _json["reason"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (domain != null) { |
+ _json["domain"] = domain; |
+ } |
+ if (reason != null) { |
+ _json["reason"] = reason; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** The creator of the event. Read-only. */ |
+class EventCreator { |
+ /** The creator's name, if available. */ |
+ core.String displayName; |
+ |
+ /** The creator's email address, if available. */ |
+ core.String email; |
+ |
+ /** The creator's Profile ID, if available. */ |
+ core.String id; |
+ |
+ /** |
+ * Whether the creator corresponds to the calendar on which this copy of the |
+ * event appears. Read-only. The default is False. |
+ */ |
+ core.bool self; |
+ |
+ |
+ EventCreator(); |
+ |
+ EventCreator.fromJson(core.Map _json) { |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("email")) { |
+ email = _json["email"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("self")) { |
+ self = _json["self"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (email != null) { |
+ _json["email"] = email; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (self != null) { |
+ _json["self"] = self; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Extended properties of the event. */ |
+class EventExtendedProperties { |
+ /** |
+ * Properties that are private to the copy of the event that appears on this |
+ * calendar. |
+ */ |
+ core.Map<core.String, core.String> private; |
+ |
+ /** |
+ * Properties that are shared between copies of the event on other attendees' |
+ * calendars. |
+ */ |
+ core.Map<core.String, core.String> shared; |
+ |
+ |
+ EventExtendedProperties(); |
+ |
+ EventExtendedProperties.fromJson(core.Map _json) { |
+ if (_json.containsKey("private")) { |
+ private = _json["private"]; |
+ } |
+ if (_json.containsKey("shared")) { |
+ shared = _json["shared"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (private != null) { |
+ _json["private"] = private; |
+ } |
+ if (shared != null) { |
+ _json["shared"] = shared; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** A gadget that extends this event. */ |
+class EventGadget { |
+ /** |
+ * The gadget's display mode. Optional. Possible values are: |
+ * - "icon" - The gadget displays next to the event's title in the calendar |
+ * view. |
+ * - "chip" - The gadget displays when the event is clicked. |
+ */ |
+ core.String display; |
+ |
+ /** The gadget's height in pixels. Optional. */ |
+ core.int height; |
+ |
+ /** The gadget's icon URL. */ |
+ core.String iconLink; |
+ |
+ /** The gadget's URL. */ |
+ core.String link; |
+ |
+ /** Preferences. */ |
+ core.Map<core.String, core.String> preferences; |
+ |
+ /** The gadget's title. */ |
+ core.String title; |
+ |
+ /** The gadget's type. */ |
+ core.String type; |
+ |
+ /** The gadget's width in pixels. Optional. */ |
+ core.int width; |
+ |
+ |
+ EventGadget(); |
+ |
+ EventGadget.fromJson(core.Map _json) { |
+ if (_json.containsKey("display")) { |
+ display = _json["display"]; |
+ } |
+ if (_json.containsKey("height")) { |
+ height = _json["height"]; |
+ } |
+ if (_json.containsKey("iconLink")) { |
+ iconLink = _json["iconLink"]; |
+ } |
+ if (_json.containsKey("link")) { |
+ link = _json["link"]; |
+ } |
+ if (_json.containsKey("preferences")) { |
+ preferences = _json["preferences"]; |
+ } |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
+ } |
+ if (_json.containsKey("type")) { |
+ type = _json["type"]; |
+ } |
+ if (_json.containsKey("width")) { |
+ width = _json["width"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (display != null) { |
+ _json["display"] = display; |
+ } |
+ if (height != null) { |
+ _json["height"] = height; |
+ } |
+ if (iconLink != null) { |
+ _json["iconLink"] = iconLink; |
+ } |
+ if (link != null) { |
+ _json["link"] = link; |
+ } |
+ if (preferences != null) { |
+ _json["preferences"] = preferences; |
+ } |
+ if (title != null) { |
+ _json["title"] = title; |
+ } |
+ if (type != null) { |
+ _json["type"] = type; |
+ } |
+ if (width != null) { |
+ _json["width"] = width; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * The organizer of the event. If the organizer is also an attendee, this is |
+ * indicated with a separate entry in attendees with the organizer field set to |
+ * True. To change the organizer, use the move operation. Read-only, except when |
+ * importing an event. |
+ */ |
+class EventOrganizer { |
+ /** The organizer's name, if available. */ |
+ core.String displayName; |
+ |
+ /** The organizer's email address, if available. */ |
+ core.String email; |
+ |
+ /** The organizer's Profile ID, if available. */ |
+ core.String id; |
+ |
+ /** |
+ * Whether the organizer corresponds to the calendar on which this copy of the |
+ * event appears. Read-only. The default is False. |
+ */ |
+ core.bool self; |
+ |
+ |
+ EventOrganizer(); |
+ |
+ EventOrganizer.fromJson(core.Map _json) { |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("email")) { |
+ email = _json["email"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("self")) { |
+ self = _json["self"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (email != null) { |
+ _json["email"] = email; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (self != null) { |
+ _json["self"] = self; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Information about the event's reminders for the authenticated user. */ |
+class EventReminders { |
+ /** |
+ * If the event doesn't use the default reminders, this lists the reminders |
+ * specific to the event, or, if not set, indicates that no reminders are set |
+ * for this event. |
+ */ |
+ core.List<EventReminder> overrides; |
+ |
+ /** Whether the default reminders of the calendar apply to the event. */ |
+ core.bool useDefault; |
+ |
+ |
+ EventReminders(); |
+ |
+ EventReminders.fromJson(core.Map _json) { |
+ if (_json.containsKey("overrides")) { |
+ overrides = _json["overrides"].map((value) => new EventReminder.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("useDefault")) { |
+ useDefault = _json["useDefault"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (overrides != null) { |
+ _json["overrides"] = overrides.map((value) => (value).toJson()).toList(); |
+ } |
+ if (useDefault != null) { |
+ _json["useDefault"] = useDefault; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** |
+ * Source of an event from which it was created; for example a web page, an |
+ * email message or any document identifiable by an URL using HTTP/HTTPS |
+ * protocol. Accessible only by the creator of the event. |
+ */ |
+class EventSource { |
+ /** |
+ * Title of the source; for example a title of a web page or an email subject. |
+ */ |
+ core.String title; |
+ |
+ /** |
+ * URL of the source pointing to a resource. URL's protocol must be HTTP or |
+ * HTTPS. |
+ */ |
+ core.String url; |
+ |
+ |
+ EventSource(); |
+ |
+ EventSource.fromJson(core.Map _json) { |
+ if (_json.containsKey("title")) { |
+ title = _json["title"]; |
+ } |
+ if (_json.containsKey("url")) { |
+ url = _json["url"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (title != null) { |
+ _json["title"] = title; |
+ } |
+ if (url != null) { |
+ _json["url"] = url; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Event { |
+ /** |
+ * Whether anyone can invite themselves to the event. Optional. The default is |
+ * False. |
+ */ |
+ core.bool anyoneCanAddSelf; |
+ |
+ /** The attendees of the event. */ |
+ core.List<EventAttendee> attendees; |
+ |
+ /** |
+ * Whether attendees may have been omitted from the event's representation. |
+ * When retrieving an event, this may be due to a restriction specified by the |
+ * maxAttendee query parameter. When updating an event, this can be used to |
+ * only update the participant's response. Optional. The default is False. |
+ */ |
+ core.bool attendeesOmitted; |
+ |
+ /** |
+ * The color of the event. This is an ID referring to an entry in the event |
+ * section of the colors definition (see the colors endpoint). Optional. |
+ */ |
+ core.String colorId; |
+ |
+ /** Creation time of the event (as a RFC 3339 timestamp). Read-only. */ |
+ core.DateTime created; |
+ |
+ /** The creator of the event. Read-only. */ |
+ EventCreator creator; |
+ |
+ /** Description of the event. Optional. */ |
+ core.String description; |
+ |
+ /** |
+ * The (exclusive) end time of the event. For a recurring event, this is the |
+ * end time of the first instance. |
+ */ |
+ EventDateTime end; |
+ |
+ /** |
+ * Whether the end time is actually unspecified. An end time is still provided |
+ * for compatibility reasons, even if this attribute is set to True. The |
+ * default is False. |
+ */ |
+ core.bool endTimeUnspecified; |
+ |
+ /** ETag of the resource. */ |
+ core.String etag; |
+ |
+ /** Extended properties of the event. */ |
+ EventExtendedProperties extendedProperties; |
+ |
+ /** A gadget that extends this event. */ |
+ EventGadget gadget; |
+ |
+ /** |
+ * Whether attendees other than the organizer can invite others to the event. |
+ * Optional. The default is True. |
+ */ |
+ core.bool guestsCanInviteOthers; |
+ |
+ /** |
+ * Whether attendees other than the organizer can modify the event. Optional. |
+ * The default is False. |
+ */ |
+ core.bool guestsCanModify; |
+ |
+ /** |
+ * Whether attendees other than the organizer can see who the event's |
+ * attendees are. Optional. The default is True. |
+ */ |
+ core.bool guestsCanSeeOtherGuests; |
+ |
+ /** |
+ * An absolute link to the Google+ hangout associated with this event. |
+ * Read-only. |
+ */ |
+ core.String hangoutLink; |
+ |
+ /** |
+ * An absolute link to this event in the Google Calendar Web UI. Read-only. |
+ */ |
+ core.String htmlLink; |
+ |
+ /** Event ID in the iCalendar format. */ |
+ core.String iCalUID; |
+ |
+ /** |
+ * Identifier of the event. When creating new single or recurring events, you |
+ * can specify their IDs. Provided IDs must follow these rules: |
+ * - characters allowed in the ID are those used in base32hex encoding, i.e. |
+ * lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 |
+ * - the length of the ID must be between 5 and 1024 characters |
+ * - the ID must be unique per calendar Due to the globally distributed |
+ * nature of the system, we cannot guarantee that ID collisions will be |
+ * detected at event creation time. To minimize the risk of collisions we |
+ * recommend using an established UUID algorithm such as one described in |
+ * RFC4122. |
+ */ |
+ core.String id; |
+ |
+ /** Type of the resource ("calendar#event"). */ |
+ core.String kind; |
+ |
+ /** Geographic location of the event as free-form text. Optional. */ |
+ core.String location; |
+ |
+ /** |
+ * Whether this is a locked event copy where no changes can be made to the |
+ * main event fields "summary", "description", "location", "start", "end" or |
+ * "recurrence". The default is False. Read-Only. |
+ */ |
+ core.bool locked; |
+ |
+ /** |
+ * The organizer of the event. If the organizer is also an attendee, this is |
+ * indicated with a separate entry in attendees with the organizer field set |
+ * to True. To change the organizer, use the move operation. Read-only, except |
+ * when importing an event. |
+ */ |
+ EventOrganizer organizer; |
+ |
+ /** |
+ * For an instance of a recurring event, this is the time at which this event |
+ * would start according to the recurrence data in the recurring event |
+ * identified by recurringEventId. Immutable. |
+ */ |
+ EventDateTime originalStartTime; |
+ |
+ /** |
+ * Whether this is a private event copy where changes are not shared with |
+ * other copies on other calendars. Optional. Immutable. The default is False. |
+ */ |
+ core.bool privateCopy; |
+ |
+ /** |
+ * List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This |
+ * field is omitted for single events or instances of recurring events. |
+ */ |
+ core.List<core.String> recurrence; |
+ |
+ /** |
+ * For an instance of a recurring event, this is the event ID of the recurring |
+ * event itself. Immutable. |
+ */ |
+ core.String recurringEventId; |
+ |
+ /** Information about the event's reminders for the authenticated user. */ |
+ EventReminders reminders; |
+ |
+ /** Sequence number as per iCalendar. */ |
+ core.int sequence; |
+ |
+ /** |
+ * Source of an event from which it was created; for example a web page, an |
+ * email message or any document identifiable by an URL using HTTP/HTTPS |
+ * protocol. Accessible only by the creator of the event. |
+ */ |
+ EventSource source; |
+ |
+ /** |
+ * The (inclusive) start time of the event. For a recurring event, this is the |
+ * start time of the first instance. |
+ */ |
+ EventDateTime start; |
+ |
+ /** |
+ * Status of the event. Optional. Possible values are: |
+ * - "confirmed" - The event is confirmed. This is the default status. |
+ * - "tentative" - The event is tentatively confirmed. |
+ * - "cancelled" - The event is cancelled. |
+ */ |
+ core.String status; |
+ |
+ /** Title of the event. */ |
+ core.String summary; |
+ |
+ /** |
+ * Whether the event blocks time on the calendar. Optional. Possible values |
+ * are: |
+ * - "opaque" - The event blocks time on the calendar. This is the default |
+ * value. |
+ * - "transparent" - The event does not block time on the calendar. |
+ */ |
+ core.String transparency; |
+ |
+ /** |
+ * Last modification time of the event (as a RFC 3339 timestamp). Read-only. |
+ */ |
+ core.DateTime updated; |
+ |
+ /** |
+ * Visibility of the event. Optional. Possible values are: |
+ * - "default" - Uses the default visibility for events on the calendar. This |
+ * is the default value. |
+ * - "public" - The event is public and event details are visible to all |
+ * readers of the calendar. |
+ * - "private" - The event is private and only event attendees may view event |
+ * details. |
+ * - "confidential" - The event is private. This value is provided for |
+ * compatibility reasons. |
+ */ |
+ core.String visibility; |
+ |
+ |
+ Event(); |
+ |
+ Event.fromJson(core.Map _json) { |
+ if (_json.containsKey("anyoneCanAddSelf")) { |
+ anyoneCanAddSelf = _json["anyoneCanAddSelf"]; |
+ } |
+ if (_json.containsKey("attendees")) { |
+ attendees = _json["attendees"].map((value) => new EventAttendee.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("attendeesOmitted")) { |
+ attendeesOmitted = _json["attendeesOmitted"]; |
+ } |
+ if (_json.containsKey("colorId")) { |
+ colorId = _json["colorId"]; |
+ } |
+ if (_json.containsKey("created")) { |
+ created = core.DateTime.parse(_json["created"]); |
+ } |
+ if (_json.containsKey("creator")) { |
+ creator = new EventCreator.fromJson(_json["creator"]); |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("end")) { |
+ end = new EventDateTime.fromJson(_json["end"]); |
+ } |
+ if (_json.containsKey("endTimeUnspecified")) { |
+ endTimeUnspecified = _json["endTimeUnspecified"]; |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("extendedProperties")) { |
+ extendedProperties = new EventExtendedProperties.fromJson(_json["extendedProperties"]); |
+ } |
+ if (_json.containsKey("gadget")) { |
+ gadget = new EventGadget.fromJson(_json["gadget"]); |
+ } |
+ if (_json.containsKey("guestsCanInviteOthers")) { |
+ guestsCanInviteOthers = _json["guestsCanInviteOthers"]; |
+ } |
+ if (_json.containsKey("guestsCanModify")) { |
+ guestsCanModify = _json["guestsCanModify"]; |
+ } |
+ if (_json.containsKey("guestsCanSeeOtherGuests")) { |
+ guestsCanSeeOtherGuests = _json["guestsCanSeeOtherGuests"]; |
+ } |
+ if (_json.containsKey("hangoutLink")) { |
+ hangoutLink = _json["hangoutLink"]; |
+ } |
+ if (_json.containsKey("htmlLink")) { |
+ htmlLink = _json["htmlLink"]; |
+ } |
+ if (_json.containsKey("iCalUID")) { |
+ iCalUID = _json["iCalUID"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("location")) { |
+ location = _json["location"]; |
+ } |
+ if (_json.containsKey("locked")) { |
+ locked = _json["locked"]; |
+ } |
+ if (_json.containsKey("organizer")) { |
+ organizer = new EventOrganizer.fromJson(_json["organizer"]); |
+ } |
+ if (_json.containsKey("originalStartTime")) { |
+ originalStartTime = new EventDateTime.fromJson(_json["originalStartTime"]); |
+ } |
+ if (_json.containsKey("privateCopy")) { |
+ privateCopy = _json["privateCopy"]; |
+ } |
+ if (_json.containsKey("recurrence")) { |
+ recurrence = _json["recurrence"]; |
+ } |
+ if (_json.containsKey("recurringEventId")) { |
+ recurringEventId = _json["recurringEventId"]; |
+ } |
+ if (_json.containsKey("reminders")) { |
+ reminders = new EventReminders.fromJson(_json["reminders"]); |
+ } |
+ if (_json.containsKey("sequence")) { |
+ sequence = _json["sequence"]; |
+ } |
+ if (_json.containsKey("source")) { |
+ source = new EventSource.fromJson(_json["source"]); |
+ } |
+ if (_json.containsKey("start")) { |
+ start = new EventDateTime.fromJson(_json["start"]); |
+ } |
+ if (_json.containsKey("status")) { |
+ status = _json["status"]; |
+ } |
+ if (_json.containsKey("summary")) { |
+ summary = _json["summary"]; |
+ } |
+ if (_json.containsKey("transparency")) { |
+ transparency = _json["transparency"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ if (_json.containsKey("visibility")) { |
+ visibility = _json["visibility"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (anyoneCanAddSelf != null) { |
+ _json["anyoneCanAddSelf"] = anyoneCanAddSelf; |
+ } |
+ if (attendees != null) { |
+ _json["attendees"] = attendees.map((value) => (value).toJson()).toList(); |
+ } |
+ if (attendeesOmitted != null) { |
+ _json["attendeesOmitted"] = attendeesOmitted; |
+ } |
+ if (colorId != null) { |
+ _json["colorId"] = colorId; |
+ } |
+ if (created != null) { |
+ _json["created"] = (created).toIso8601String(); |
+ } |
+ if (creator != null) { |
+ _json["creator"] = (creator).toJson(); |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (end != null) { |
+ _json["end"] = (end).toJson(); |
+ } |
+ if (endTimeUnspecified != null) { |
+ _json["endTimeUnspecified"] = endTimeUnspecified; |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (extendedProperties != null) { |
+ _json["extendedProperties"] = (extendedProperties).toJson(); |
+ } |
+ if (gadget != null) { |
+ _json["gadget"] = (gadget).toJson(); |
+ } |
+ if (guestsCanInviteOthers != null) { |
+ _json["guestsCanInviteOthers"] = guestsCanInviteOthers; |
+ } |
+ if (guestsCanModify != null) { |
+ _json["guestsCanModify"] = guestsCanModify; |
+ } |
+ if (guestsCanSeeOtherGuests != null) { |
+ _json["guestsCanSeeOtherGuests"] = guestsCanSeeOtherGuests; |
+ } |
+ if (hangoutLink != null) { |
+ _json["hangoutLink"] = hangoutLink; |
+ } |
+ if (htmlLink != null) { |
+ _json["htmlLink"] = htmlLink; |
+ } |
+ if (iCalUID != null) { |
+ _json["iCalUID"] = iCalUID; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (location != null) { |
+ _json["location"] = location; |
+ } |
+ if (locked != null) { |
+ _json["locked"] = locked; |
+ } |
+ if (organizer != null) { |
+ _json["organizer"] = (organizer).toJson(); |
+ } |
+ if (originalStartTime != null) { |
+ _json["originalStartTime"] = (originalStartTime).toJson(); |
+ } |
+ if (privateCopy != null) { |
+ _json["privateCopy"] = privateCopy; |
+ } |
+ if (recurrence != null) { |
+ _json["recurrence"] = recurrence; |
+ } |
+ if (recurringEventId != null) { |
+ _json["recurringEventId"] = recurringEventId; |
+ } |
+ if (reminders != null) { |
+ _json["reminders"] = (reminders).toJson(); |
+ } |
+ if (sequence != null) { |
+ _json["sequence"] = sequence; |
+ } |
+ if (source != null) { |
+ _json["source"] = (source).toJson(); |
+ } |
+ if (start != null) { |
+ _json["start"] = (start).toJson(); |
+ } |
+ if (status != null) { |
+ _json["status"] = status; |
+ } |
+ if (summary != null) { |
+ _json["summary"] = summary; |
+ } |
+ if (transparency != null) { |
+ _json["transparency"] = transparency; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ if (visibility != null) { |
+ _json["visibility"] = visibility; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class EventAttendee { |
+ /** Number of additional guests. Optional. The default is 0. */ |
+ core.int additionalGuests; |
+ |
+ /** The attendee's response comment. Optional. */ |
+ core.String comment; |
+ |
+ /** The attendee's name, if available. Optional. */ |
+ core.String displayName; |
+ |
+ /** |
+ * The attendee's email address, if available. This field must be present when |
+ * adding an attendee. |
+ */ |
+ core.String email; |
+ |
+ /** The attendee's Profile ID, if available. */ |
+ core.String id; |
+ |
+ /** Whether this is an optional attendee. Optional. The default is False. */ |
+ core.bool optional; |
+ |
+ /** |
+ * Whether the attendee is the organizer of the event. Read-only. The default |
+ * is False. |
+ */ |
+ core.bool organizer; |
+ |
+ /** Whether the attendee is a resource. Read-only. The default is False. */ |
+ core.bool resource; |
+ |
+ /** |
+ * The attendee's response status. Possible values are: |
+ * - "needsAction" - The attendee has not responded to the invitation. |
+ * - "declined" - The attendee has declined the invitation. |
+ * - "tentative" - The attendee has tentatively accepted the invitation. |
+ * - "accepted" - The attendee has accepted the invitation. |
+ */ |
+ core.String responseStatus; |
+ |
+ /** |
+ * Whether this entry represents the calendar on which this copy of the event |
+ * appears. Read-only. The default is False. |
+ */ |
+ core.bool self; |
+ |
+ |
+ EventAttendee(); |
+ |
+ EventAttendee.fromJson(core.Map _json) { |
+ if (_json.containsKey("additionalGuests")) { |
+ additionalGuests = _json["additionalGuests"]; |
+ } |
+ if (_json.containsKey("comment")) { |
+ comment = _json["comment"]; |
+ } |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("email")) { |
+ email = _json["email"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("optional")) { |
+ optional = _json["optional"]; |
+ } |
+ if (_json.containsKey("organizer")) { |
+ organizer = _json["organizer"]; |
+ } |
+ if (_json.containsKey("resource")) { |
+ resource = _json["resource"]; |
+ } |
+ if (_json.containsKey("responseStatus")) { |
+ responseStatus = _json["responseStatus"]; |
+ } |
+ if (_json.containsKey("self")) { |
+ self = _json["self"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (additionalGuests != null) { |
+ _json["additionalGuests"] = additionalGuests; |
+ } |
+ if (comment != null) { |
+ _json["comment"] = comment; |
+ } |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (email != null) { |
+ _json["email"] = email; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (optional != null) { |
+ _json["optional"] = optional; |
+ } |
+ if (organizer != null) { |
+ _json["organizer"] = organizer; |
+ } |
+ if (resource != null) { |
+ _json["resource"] = resource; |
+ } |
+ if (responseStatus != null) { |
+ _json["responseStatus"] = responseStatus; |
+ } |
+ if (self != null) { |
+ _json["self"] = self; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class EventDateTime { |
+ /** The date, in the format "yyyy-mm-dd", if this is an all-day event. */ |
+ core.DateTime date; |
+ |
+ /** |
+ * The time, as a combined date-time value (formatted according to RFC 3339). |
+ * A time zone offset is required unless a time zone is explicitly specified |
+ * in timeZone. |
+ */ |
+ core.DateTime dateTime; |
+ |
+ /** |
+ * The name of the time zone in which the time is specified (e.g. |
+ * "Europe/Zurich"). Optional. The default is the time zone of the calendar. |
+ */ |
+ core.String timeZone; |
+ |
+ |
+ EventDateTime(); |
+ |
+ EventDateTime.fromJson(core.Map _json) { |
+ if (_json.containsKey("date")) { |
+ date = core.DateTime.parse(_json["date"]); |
+ } |
+ if (_json.containsKey("dateTime")) { |
+ dateTime = core.DateTime.parse(_json["dateTime"]); |
+ } |
+ if (_json.containsKey("timeZone")) { |
+ timeZone = _json["timeZone"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (date != null) { |
+ _json["date"] = "${(date).year.toString().padLeft(4, '0')}-${(date).month.toString().padLeft(2, '0')}-${(date).day.toString().padLeft(2, '0')}"; |
+ } |
+ if (dateTime != null) { |
+ _json["dateTime"] = (dateTime).toIso8601String(); |
+ } |
+ if (timeZone != null) { |
+ _json["timeZone"] = timeZone; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class EventReminder { |
+ /** |
+ * The method used by this reminder. Possible values are: |
+ * - "email" - Reminders are sent via email. |
+ * - "sms" - Reminders are sent via SMS. |
+ * - "popup" - Reminders are sent via a UI popup. |
+ */ |
+ core.String method; |
+ |
+ /** |
+ * Number of minutes before the start of the event when the reminder should |
+ * trigger. |
+ */ |
+ core.int minutes; |
+ |
+ |
+ EventReminder(); |
+ |
+ EventReminder.fromJson(core.Map _json) { |
+ if (_json.containsKey("method")) { |
+ method = _json["method"]; |
+ } |
+ if (_json.containsKey("minutes")) { |
+ minutes = _json["minutes"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (method != null) { |
+ _json["method"] = method; |
+ } |
+ if (minutes != null) { |
+ _json["minutes"] = minutes; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Events { |
+ /** |
+ * The user's access role for this calendar. Read-only. Possible values are: |
+ * - "none" - The user has no access. |
+ * - "freeBusyReader" - The user has read access to free/busy information. |
+ * - "reader" - The user has read access to the calendar. Private events will |
+ * appear to users with reader access, but event details will be hidden. |
+ * - "writer" - The user has read and write access to the calendar. Private |
+ * events will appear to users with writer access, and event details will be |
+ * visible. |
+ * - "owner" - The user has ownership of the calendar. This role has all of |
+ * the permissions of the writer role with the additional ability to see and |
+ * manipulate ACLs. |
+ */ |
+ core.String accessRole; |
+ |
+ /** |
+ * The default reminders on the calendar for the authenticated user. These |
+ * reminders apply to all events on this calendar that do not explicitly |
+ * override them (i.e. do not have reminders.useDefault set to True). |
+ */ |
+ core.List<EventReminder> defaultReminders; |
+ |
+ /** Description of the calendar. Read-only. */ |
+ core.String description; |
+ |
+ /** ETag of the collection. */ |
+ core.String etag; |
+ |
+ /** List of events on the calendar. */ |
+ core.List<Event> items; |
+ |
+ /** Type of the collection ("calendar#events"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Token used to access the next page of this result. Omitted if no further |
+ * results are available, in which case nextSyncToken is provided. |
+ */ |
+ core.String nextPageToken; |
+ |
+ /** |
+ * Token used at a later point in time to retrieve only the entries that have |
+ * changed since this result was returned. Omitted if further results are |
+ * available, in which case nextPageToken is provided. |
+ */ |
+ core.String nextSyncToken; |
+ |
+ /** Title of the calendar. Read-only. */ |
+ core.String summary; |
+ |
+ /** The time zone of the calendar. Read-only. */ |
+ core.String timeZone; |
+ |
+ /** |
+ * Last modification time of the calendar (as a RFC 3339 timestamp). |
+ * Read-only. |
+ */ |
+ core.DateTime updated; |
+ |
+ |
+ Events(); |
+ |
+ Events.fromJson(core.Map _json) { |
+ if (_json.containsKey("accessRole")) { |
+ accessRole = _json["accessRole"]; |
+ } |
+ if (_json.containsKey("defaultReminders")) { |
+ defaultReminders = _json["defaultReminders"].map((value) => new EventReminder.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("description")) { |
+ description = _json["description"]; |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Event.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("nextSyncToken")) { |
+ nextSyncToken = _json["nextSyncToken"]; |
+ } |
+ if (_json.containsKey("summary")) { |
+ summary = _json["summary"]; |
+ } |
+ if (_json.containsKey("timeZone")) { |
+ timeZone = _json["timeZone"]; |
+ } |
+ if (_json.containsKey("updated")) { |
+ updated = core.DateTime.parse(_json["updated"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (accessRole != null) { |
+ _json["accessRole"] = accessRole; |
+ } |
+ if (defaultReminders != null) { |
+ _json["defaultReminders"] = defaultReminders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (description != null) { |
+ _json["description"] = description; |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (nextSyncToken != null) { |
+ _json["nextSyncToken"] = nextSyncToken; |
+ } |
+ if (summary != null) { |
+ _json["summary"] = summary; |
+ } |
+ if (timeZone != null) { |
+ _json["timeZone"] = timeZone; |
+ } |
+ if (updated != null) { |
+ _json["updated"] = (updated).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreeBusyCalendar { |
+ /** |
+ * List of time ranges during which this calendar should be regarded as busy. |
+ */ |
+ core.List<TimePeriod> busy; |
+ |
+ /** Optional error(s) (if computation for the calendar failed). */ |
+ core.List<Error> errors; |
+ |
+ |
+ FreeBusyCalendar(); |
+ |
+ FreeBusyCalendar.fromJson(core.Map _json) { |
+ if (_json.containsKey("busy")) { |
+ busy = _json["busy"].map((value) => new TimePeriod.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("errors")) { |
+ errors = _json["errors"].map((value) => new Error.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (busy != null) { |
+ _json["busy"] = busy.map((value) => (value).toJson()).toList(); |
+ } |
+ if (errors != null) { |
+ _json["errors"] = errors.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreeBusyGroup { |
+ /** List of calendars' identifiers within a group. */ |
+ core.List<core.String> calendars; |
+ |
+ /** Optional error(s) (if computation for the group failed). */ |
+ core.List<Error> errors; |
+ |
+ |
+ FreeBusyGroup(); |
+ |
+ FreeBusyGroup.fromJson(core.Map _json) { |
+ if (_json.containsKey("calendars")) { |
+ calendars = _json["calendars"]; |
+ } |
+ if (_json.containsKey("errors")) { |
+ errors = _json["errors"].map((value) => new Error.fromJson(value)).toList(); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (calendars != null) { |
+ _json["calendars"] = calendars; |
+ } |
+ if (errors != null) { |
+ _json["errors"] = errors.map((value) => (value).toJson()).toList(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreeBusyRequest { |
+ /** |
+ * Maximal number of calendars for which FreeBusy information is to be |
+ * provided. Optional. |
+ */ |
+ core.int calendarExpansionMax; |
+ |
+ /** |
+ * Maximal number of calendar identifiers to be provided for a single group. |
+ * Optional. An error will be returned for a group with more members than this |
+ * value. |
+ */ |
+ core.int groupExpansionMax; |
+ |
+ /** List of calendars and/or groups to query. */ |
+ core.List<FreeBusyRequestItem> items; |
+ |
+ /** The end of the interval for the query. */ |
+ core.DateTime timeMax; |
+ |
+ /** The start of the interval for the query. */ |
+ core.DateTime timeMin; |
+ |
+ /** Time zone used in the response. Optional. The default is UTC. */ |
+ core.String timeZone; |
+ |
+ |
+ FreeBusyRequest(); |
+ |
+ FreeBusyRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("calendarExpansionMax")) { |
+ calendarExpansionMax = _json["calendarExpansionMax"]; |
+ } |
+ if (_json.containsKey("groupExpansionMax")) { |
+ groupExpansionMax = _json["groupExpansionMax"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new FreeBusyRequestItem.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("timeMax")) { |
+ timeMax = core.DateTime.parse(_json["timeMax"]); |
+ } |
+ if (_json.containsKey("timeMin")) { |
+ timeMin = core.DateTime.parse(_json["timeMin"]); |
+ } |
+ if (_json.containsKey("timeZone")) { |
+ timeZone = _json["timeZone"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (calendarExpansionMax != null) { |
+ _json["calendarExpansionMax"] = calendarExpansionMax; |
+ } |
+ if (groupExpansionMax != null) { |
+ _json["groupExpansionMax"] = groupExpansionMax; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (timeMax != null) { |
+ _json["timeMax"] = (timeMax).toIso8601String(); |
+ } |
+ if (timeMin != null) { |
+ _json["timeMin"] = (timeMin).toIso8601String(); |
+ } |
+ if (timeZone != null) { |
+ _json["timeZone"] = timeZone; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreeBusyRequestItem { |
+ /** The identifier of a calendar or a group. */ |
+ core.String id; |
+ |
+ |
+ FreeBusyRequestItem(); |
+ |
+ FreeBusyRequestItem.fromJson(core.Map _json) { |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class FreeBusyResponse { |
+ /** List of free/busy information for calendars. */ |
+ core.Map<core.String, FreeBusyCalendar> calendars; |
+ |
+ /** Expansion of groups. */ |
+ core.Map<core.String, FreeBusyGroup> groups; |
+ |
+ /** Type of the resource ("calendar#freeBusy"). */ |
+ core.String kind; |
+ |
+ /** The end of the interval. */ |
+ core.DateTime timeMax; |
+ |
+ /** The start of the interval. */ |
+ core.DateTime timeMin; |
+ |
+ |
+ FreeBusyResponse(); |
+ |
+ FreeBusyResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("calendars")) { |
+ calendars = common_internal.mapMap(_json["calendars"], (item) => new FreeBusyCalendar.fromJson(item)); |
+ } |
+ if (_json.containsKey("groups")) { |
+ groups = common_internal.mapMap(_json["groups"], (item) => new FreeBusyGroup.fromJson(item)); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("timeMax")) { |
+ timeMax = core.DateTime.parse(_json["timeMax"]); |
+ } |
+ if (_json.containsKey("timeMin")) { |
+ timeMin = core.DateTime.parse(_json["timeMin"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (calendars != null) { |
+ _json["calendars"] = common_internal.mapMap(calendars, (item) => (item).toJson()); |
+ } |
+ if (groups != null) { |
+ _json["groups"] = common_internal.mapMap(groups, (item) => (item).toJson()); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (timeMax != null) { |
+ _json["timeMax"] = (timeMax).toIso8601String(); |
+ } |
+ if (timeMin != null) { |
+ _json["timeMin"] = (timeMin).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Setting { |
+ /** ETag of the resource. */ |
+ core.String etag; |
+ |
+ /** The id of the user setting. */ |
+ core.String id; |
+ |
+ /** Type of the resource ("calendar#setting"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Value of the user setting. The format of the value depends on the ID of the |
+ * setting. It must always be a UTF-8 string of length up to 1024 characters. |
+ */ |
+ core.String value; |
+ |
+ |
+ Setting(); |
+ |
+ Setting.fromJson(core.Map _json) { |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("id")) { |
+ id = _json["id"]; |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("value")) { |
+ value = _json["value"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (id != null) { |
+ _json["id"] = id; |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (value != null) { |
+ _json["value"] = value; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class Settings { |
+ /** Etag of the collection. */ |
+ core.String etag; |
+ |
+ /** List of user settings. */ |
+ core.List<Setting> items; |
+ |
+ /** Type of the collection ("calendar#settings"). */ |
+ core.String kind; |
+ |
+ /** |
+ * Token used to access the next page of this result. Omitted if no further |
+ * results are available, in which case nextSyncToken is provided. |
+ */ |
+ core.String nextPageToken; |
+ |
+ /** |
+ * Token used at a later point in time to retrieve only the entries that have |
+ * changed since this result was returned. Omitted if further results are |
+ * available, in which case nextPageToken is provided. |
+ */ |
+ core.String nextSyncToken; |
+ |
+ |
+ Settings(); |
+ |
+ Settings.fromJson(core.Map _json) { |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("items")) { |
+ items = _json["items"].map((value) => new Setting.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("kind")) { |
+ kind = _json["kind"]; |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ if (_json.containsKey("nextSyncToken")) { |
+ nextSyncToken = _json["nextSyncToken"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (items != null) { |
+ _json["items"] = items.map((value) => (value).toJson()).toList(); |
+ } |
+ if (kind != null) { |
+ _json["kind"] = kind; |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ if (nextSyncToken != null) { |
+ _json["nextSyncToken"] = nextSyncToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |
+/** Not documented yet. */ |
+class TimePeriod { |
+ /** The (exclusive) end of the time period. */ |
+ core.DateTime end; |
+ |
+ /** The (inclusive) start of the time period. */ |
+ core.DateTime start; |
+ |
+ |
+ TimePeriod(); |
+ |
+ TimePeriod.fromJson(core.Map _json) { |
+ if (_json.containsKey("end")) { |
+ end = core.DateTime.parse(_json["end"]); |
+ } |
+ if (_json.containsKey("start")) { |
+ start = core.DateTime.parse(_json["start"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (end != null) { |
+ _json["end"] = (end).toIso8601String(); |
+ } |
+ if (start != null) { |
+ _json["start"] = (start).toIso8601String(); |
+ } |
+ return _json; |
+ } |
+} |
+ |
+ |