gogol-apps-calendar (empty) → 0.0.1
raw patch · 45 files changed
+9750/−0 lines, 45 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/AppsCalendar.hs +584/−0
- gen/Network/Google/AppsCalendar/Types.hs +402/−0
- gen/Network/Google/AppsCalendar/Types/Product.hs +3278/−0
- gen/Network/Google/AppsCalendar/Types/Sum.hs +161/−0
- gen/Network/Google/Resource/Calendar/ACL/Delete.hs +97/−0
- gen/Network/Google/Resource/Calendar/ACL/Get.hs +96/−0
- gen/Network/Google/Resource/Calendar/ACL/Insert.hs +98/−0
- gen/Network/Google/Resource/Calendar/ACL/List.hs +146/−0
- gen/Network/Google/Resource/Calendar/ACL/Patch.hs +110/−0
- gen/Network/Google/Resource/Calendar/ACL/Update.hs +110/−0
- gen/Network/Google/Resource/Calendar/ACL/Watch.hs +161/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Delete.hs +89/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Get.hs +90/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Insert.hs +102/−0
- gen/Network/Google/Resource/Calendar/CalendarList/List.hs +167/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Patch.hs +120/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Update.hs +118/−0
- gen/Network/Google/Resource/Calendar/CalendarList/Watch.hs +181/−0
- gen/Network/Google/Resource/Calendar/Calendars/Clear.hs +87/−0
- gen/Network/Google/Resource/Calendar/Calendars/Delete.hs +87/−0
- gen/Network/Google/Resource/Calendar/Calendars/Get.hs +84/−0
- gen/Network/Google/Resource/Calendar/Calendars/Insert.hs +83/−0
- gen/Network/Google/Resource/Calendar/Calendars/Patch.hs +97/−0
- gen/Network/Google/Resource/Calendar/Calendars/Update.hs +98/−0
- gen/Network/Google/Resource/Calendar/Channels/Stop.hs +83/−0
- gen/Network/Google/Resource/Calendar/Colors/Get.hs +67/−0
- gen/Network/Google/Resource/Calendar/Events/Delete.hs +112/−0
- gen/Network/Google/Resource/Calendar/Events/Get.hs +145/−0
- gen/Network/Google/Resource/Calendar/Events/Import.hs +116/−0
- gen/Network/Google/Resource/Calendar/Events/Insert.hs +144/−0
- gen/Network/Google/Resource/Calendar/Events/Instances.hs +230/−0
- gen/Network/Google/Resource/Calendar/Events/List.hs +356/−0
- gen/Network/Google/Resource/Calendar/Events/Move.hs +127/−0
- gen/Network/Google/Resource/Calendar/Events/Patch.hs +173/−0
- gen/Network/Google/Resource/Calendar/Events/QuickAdd.hs +114/−0
- gen/Network/Google/Resource/Calendar/Events/Update.hs +173/−0
- gen/Network/Google/Resource/Calendar/Events/Watch.hs +372/−0
- gen/Network/Google/Resource/Calendar/FreeBusy/Query.hs +83/−0
- gen/Network/Google/Resource/Calendar/Settings/Get.hs +84/−0
- gen/Network/Google/Resource/Calendar/Settings/List.hs +116/−0
- gen/Network/Google/Resource/Calendar/Settings/Watch.hs +130/−0
- gogol-apps-calendar.cabal +82/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-apps-calendar++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Calendar.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-apps-calendar` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gen/Network/Google/AppsCalendar.hs view
@@ -0,0 +1,584 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.AppsCalendar+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lets you manipulate events and other calendar data.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference>+module Network.Google.AppsCalendar+ (+ -- * Service Configuration+ appsCalendarService++ -- * API Declaration+ , AppsCalendarAPI++ -- * Resources++ -- ** calendar.acl.delete+ , module Network.Google.Resource.Calendar.ACL.Delete++ -- ** calendar.acl.get+ , module Network.Google.Resource.Calendar.ACL.Get++ -- ** calendar.acl.insert+ , module Network.Google.Resource.Calendar.ACL.Insert++ -- ** calendar.acl.list+ , module Network.Google.Resource.Calendar.ACL.List++ -- ** calendar.acl.patch+ , module Network.Google.Resource.Calendar.ACL.Patch++ -- ** calendar.acl.update+ , module Network.Google.Resource.Calendar.ACL.Update++ -- ** calendar.acl.watch+ , module Network.Google.Resource.Calendar.ACL.Watch++ -- ** calendar.calendarList.delete+ , module Network.Google.Resource.Calendar.CalendarList.Delete++ -- ** calendar.calendarList.get+ , module Network.Google.Resource.Calendar.CalendarList.Get++ -- ** calendar.calendarList.insert+ , module Network.Google.Resource.Calendar.CalendarList.Insert++ -- ** calendar.calendarList.list+ , module Network.Google.Resource.Calendar.CalendarList.List++ -- ** calendar.calendarList.patch+ , module Network.Google.Resource.Calendar.CalendarList.Patch++ -- ** calendar.calendarList.update+ , module Network.Google.Resource.Calendar.CalendarList.Update++ -- ** calendar.calendarList.watch+ , module Network.Google.Resource.Calendar.CalendarList.Watch++ -- ** calendar.calendars.clear+ , module Network.Google.Resource.Calendar.Calendars.Clear++ -- ** calendar.calendars.delete+ , module Network.Google.Resource.Calendar.Calendars.Delete++ -- ** calendar.calendars.get+ , module Network.Google.Resource.Calendar.Calendars.Get++ -- ** calendar.calendars.insert+ , module Network.Google.Resource.Calendar.Calendars.Insert++ -- ** calendar.calendars.patch+ , module Network.Google.Resource.Calendar.Calendars.Patch++ -- ** calendar.calendars.update+ , module Network.Google.Resource.Calendar.Calendars.Update++ -- ** calendar.channels.stop+ , module Network.Google.Resource.Calendar.Channels.Stop++ -- ** calendar.colors.get+ , module Network.Google.Resource.Calendar.Colors.Get++ -- ** calendar.events.delete+ , module Network.Google.Resource.Calendar.Events.Delete++ -- ** calendar.events.get+ , module Network.Google.Resource.Calendar.Events.Get++ -- ** calendar.events.import+ , module Network.Google.Resource.Calendar.Events.Import++ -- ** calendar.events.insert+ , module Network.Google.Resource.Calendar.Events.Insert++ -- ** calendar.events.instances+ , module Network.Google.Resource.Calendar.Events.Instances++ -- ** calendar.events.list+ , module Network.Google.Resource.Calendar.Events.List++ -- ** calendar.events.move+ , module Network.Google.Resource.Calendar.Events.Move++ -- ** calendar.events.patch+ , module Network.Google.Resource.Calendar.Events.Patch++ -- ** calendar.events.quickAdd+ , module Network.Google.Resource.Calendar.Events.QuickAdd++ -- ** calendar.events.update+ , module Network.Google.Resource.Calendar.Events.Update++ -- ** calendar.events.watch+ , module Network.Google.Resource.Calendar.Events.Watch++ -- ** calendar.freebusy.query+ , module Network.Google.Resource.Calendar.FreeBusy.Query++ -- ** calendar.settings.get+ , module Network.Google.Resource.Calendar.Settings.Get++ -- ** calendar.settings.list+ , module Network.Google.Resource.Calendar.Settings.List++ -- ** calendar.settings.watch+ , module Network.Google.Resource.Calendar.Settings.Watch++ -- * Types++ -- ** CalendarListEntry+ , CalendarListEntry+ , calendarListEntry+ , cleSummary+ , cleEtag+ , cleLocation+ , cleKind+ , cleNotificationSettings+ , cleBackgRoundColor+ , cleForegRoundColor+ , cleDefaultReminders+ , cleSelected+ , clePrimary+ , cleHidden+ , cleId+ , cleDeleted+ , cleAccessRole+ , cleSummaryOverride+ , cleColorId+ , cleTimeZone+ , cleDescription++ -- ** Event+ , Event+ , event+ , eSummary+ , eOriginalStartTime+ , eCreator+ , eStatus+ , eGuestsCanModify+ , eEtag+ , eAttachments+ , eLocked+ , eLocation+ , eAttendees+ , eReminders+ , eKind+ , eCreated+ , eTransparency+ , eRecurringEventId+ , eStart+ , ePrivateCopy+ , eEndTimeUnspecified+ , eExtendedProperties+ , eVisibility+ , eGuestsCanInviteOthers+ , eRecurrence+ , eGadget+ , eSequence+ , eICalUId+ , eEnd+ , eAttendeesOmitted+ , eSource+ , eId+ , eHTMLLink+ , eUpdated+ , eColorId+ , eAnyoneCanAddSelf+ , eGuestsCanSeeOtherGuests+ , eHangoutLink+ , eDescription+ , eOrganizer++ -- ** CalendarListEntryNotificationSettings+ , CalendarListEntryNotificationSettings+ , calendarListEntryNotificationSettings+ , clensNotifications++ -- ** ACLRuleScope+ , ACLRuleScope+ , aclRuleScope+ , arsValue+ , arsType++ -- ** ColorsEvent+ , ColorsEvent+ , colorsEvent+ , ceAddtional++ -- ** Settings+ , Settings+ , settings+ , sEtag+ , sNextPageToken+ , sKind+ , sItems+ , sNextSyncToken++ -- ** FreeBusyRequestItem+ , FreeBusyRequestItem+ , freeBusyRequestItem+ , fbriId++ -- ** EventAttachment+ , EventAttachment+ , eventAttachment+ , eaFileURL+ , eaIconLink+ , eaMimeType+ , eaTitle+ , eaFileId++ -- ** TimePeriod+ , TimePeriod+ , timePeriod+ , tpStart+ , tpEnd++ -- ** EventCreator+ , EventCreator+ , eventCreator+ , ecEmail+ , ecSelf+ , ecDisplayName+ , ecId++ -- ** Error'+ , Error'+ , error'+ , eDomain+ , eReason++ -- ** ColorDefinition+ , ColorDefinition+ , colorDefinition+ , cdForegRound+ , cdBackgRound++ -- ** EventsListOrderBy+ , EventsListOrderBy (..)++ -- ** Channel+ , Channel+ , channel+ , cResourceURI+ , cResourceId+ , cKind+ , cExpiration+ , cToken+ , cAddress+ , cPayload+ , cParams+ , cId+ , cType++ -- ** FreeBusyCalendar+ , FreeBusyCalendar+ , freeBusyCalendar+ , fbcBusy+ , fbcErrors++ -- ** Setting+ , Setting+ , setting+ , setEtag+ , setKind+ , setValue+ , setId++ -- ** FreeBusyResponseGroups+ , FreeBusyResponseGroups+ , freeBusyResponseGroups+ , fbrgAddtional++ -- ** EventReminders+ , EventReminders+ , eventReminders+ , erOverrides+ , erUseDefault++ -- ** ColorsCalendar+ , ColorsCalendar+ , colorsCalendar+ , ccAddtional++ -- ** CalendarNotification+ , CalendarNotification+ , calendarNotification+ , cnMethod+ , cnType++ -- ** EventExtendedPropertiesPrivate+ , EventExtendedPropertiesPrivate+ , eventExtendedPropertiesPrivate+ , eeppAddtional++ -- ** ChannelParams+ , ChannelParams+ , channelParams+ , cpAddtional++ -- ** Events+ , Events+ , events+ , eveSummary+ , eveEtag+ , eveNextPageToken+ , eveKind+ , eveItems+ , eveDefaultReminders+ , eveUpdated+ , eveAccessRole+ , eveTimeZone+ , eveNextSyncToken+ , eveDescription++ -- ** EventAttendee+ , EventAttendee+ , eventAttendee+ , eaEmail+ , eaResponseStatus+ , eaSelf+ , eaResource+ , eaAdditionalGuests+ , eaDisplayName+ , eaId+ , eaComment+ , eaOptional+ , eaOrganizer++ -- ** Calendar+ , Calendar+ , calendar+ , calSummary+ , calEtag+ , calLocation+ , calKind+ , calId+ , calTimeZone+ , calDescription++ -- ** FreeBusyResponse+ , FreeBusyResponse+ , freeBusyResponse+ , fbrGroups+ , fbrTimeMin+ , fbrKind+ , fbrCalendars+ , fbrTimeMax++ -- ** EventReminder+ , EventReminder+ , eventReminder+ , erMethod+ , erMinutes++ -- ** EventExtendedProperties+ , EventExtendedProperties+ , eventExtendedProperties+ , eepPrivate+ , eepShared++ -- ** EventDateTime+ , EventDateTime+ , eventDateTime+ , edtDate+ , edtTimeZone+ , edtDateTime++ -- ** EventOrganizer+ , EventOrganizer+ , eventOrganizer+ , eoEmail+ , eoSelf+ , eoDisplayName+ , eoId++ -- ** CalendarList+ , CalendarList+ , calendarList+ , clEtag+ , clNextPageToken+ , clKind+ , clItems+ , clNextSyncToken++ -- ** CalendarListListMinAccessRole+ , CalendarListListMinAccessRole (..)++ -- ** EventGadget+ , EventGadget+ , eventGadget+ , egHeight+ , egDisplay+ , egPreferences+ , egLink+ , egIconLink+ , egWidth+ , egTitle+ , egType++ -- ** EventGadgetPreferences+ , EventGadgetPreferences+ , eventGadgetPreferences+ , egpAddtional++ -- ** FreeBusyRequest+ , FreeBusyRequest+ , freeBusyRequest+ , fCalendarExpansionMax+ , fTimeMin+ , fItems+ , fGroupExpansionMax+ , fTimeZone+ , fTimeMax++ -- ** ACLRule+ , ACLRule+ , aclRule+ , arEtag+ , arKind+ , arRole+ , arScope+ , arId++ -- ** EventsWatchOrderBy+ , EventsWatchOrderBy (..)++ -- ** EventExtendedPropertiesShared+ , EventExtendedPropertiesShared+ , eventExtendedPropertiesShared+ , eepsAddtional++ -- ** CalendarListWatchMinAccessRole+ , CalendarListWatchMinAccessRole (..)++ -- ** FreeBusyResponseCalendars+ , FreeBusyResponseCalendars+ , freeBusyResponseCalendars+ , fbrcAddtional++ -- ** ACL+ , ACL+ , acl+ , aEtag+ , aNextPageToken+ , aKind+ , aItems+ , aNextSyncToken++ -- ** Colors+ , Colors+ , colors+ , colEvent+ , colKind+ , colCalendar+ , colUpdated++ -- ** FreeBusyGroup+ , FreeBusyGroup+ , freeBusyGroup+ , fbgCalendars+ , fbgErrors++ -- ** EventSource+ , EventSource+ , eventSource+ , esURL+ , esTitle+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude+import Network.Google.Resource.Calendar.ACL.Delete+import Network.Google.Resource.Calendar.ACL.Get+import Network.Google.Resource.Calendar.ACL.Insert+import Network.Google.Resource.Calendar.ACL.List+import Network.Google.Resource.Calendar.ACL.Patch+import Network.Google.Resource.Calendar.ACL.Update+import Network.Google.Resource.Calendar.ACL.Watch+import Network.Google.Resource.Calendar.CalendarList.Delete+import Network.Google.Resource.Calendar.CalendarList.Get+import Network.Google.Resource.Calendar.CalendarList.Insert+import Network.Google.Resource.Calendar.CalendarList.List+import Network.Google.Resource.Calendar.CalendarList.Patch+import Network.Google.Resource.Calendar.CalendarList.Update+import Network.Google.Resource.Calendar.CalendarList.Watch+import Network.Google.Resource.Calendar.Calendars.Clear+import Network.Google.Resource.Calendar.Calendars.Delete+import Network.Google.Resource.Calendar.Calendars.Get+import Network.Google.Resource.Calendar.Calendars.Insert+import Network.Google.Resource.Calendar.Calendars.Patch+import Network.Google.Resource.Calendar.Calendars.Update+import Network.Google.Resource.Calendar.Channels.Stop+import Network.Google.Resource.Calendar.Colors.Get+import Network.Google.Resource.Calendar.Events.Delete+import Network.Google.Resource.Calendar.Events.Get+import Network.Google.Resource.Calendar.Events.Import+import Network.Google.Resource.Calendar.Events.Insert+import Network.Google.Resource.Calendar.Events.Instances+import Network.Google.Resource.Calendar.Events.List+import Network.Google.Resource.Calendar.Events.Move+import Network.Google.Resource.Calendar.Events.Patch+import Network.Google.Resource.Calendar.Events.QuickAdd+import Network.Google.Resource.Calendar.Events.Update+import Network.Google.Resource.Calendar.Events.Watch+import Network.Google.Resource.Calendar.FreeBusy.Query+import Network.Google.Resource.Calendar.Settings.Get+import Network.Google.Resource.Calendar.Settings.List+import Network.Google.Resource.Calendar.Settings.Watch++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Calendar API service.+type AppsCalendarAPI =+ SettingsListResource :<|> SettingsGetResource :<|>+ SettingsWatchResource+ :<|> ChannelsStopResource+ :<|> CalendarsInsertResource+ :<|> CalendarsPatchResource+ :<|> CalendarsGetResource+ :<|> CalendarsClearResource+ :<|> CalendarsDeleteResource+ :<|> CalendarsUpdateResource+ :<|> EventsQuickAddResource+ :<|> EventsInsertResource+ :<|> EventsListResource+ :<|> EventsPatchResource+ :<|> EventsGetResource+ :<|> EventsInstancesResource+ :<|> EventsImportResource+ :<|> EventsDeleteResource+ :<|> EventsUpdateResource+ :<|> EventsMoveResource+ :<|> EventsWatchResource+ :<|> CalendarListInsertResource+ :<|> CalendarListListResource+ :<|> CalendarListPatchResource+ :<|> CalendarListGetResource+ :<|> CalendarListDeleteResource+ :<|> CalendarListUpdateResource+ :<|> CalendarListWatchResource+ :<|> ACLInsertResource+ :<|> ACLListResource+ :<|> ACLPatchResource+ :<|> ACLGetResource+ :<|> ACLDeleteResource+ :<|> ACLUpdateResource+ :<|> ACLWatchResource+ :<|> ColorsGetResource+ :<|> FreeBusyQueryResource
+ gen/Network/Google/AppsCalendar/Types.hs view
@@ -0,0 +1,402 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.AppsCalendar.Types+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AppsCalendar.Types+ (+ -- * Service Configuration+ appsCalendarService++ -- * OAuth Scopes+ , calendarScope+ , calendarReadonlyScope++ -- * CalendarListEntry+ , CalendarListEntry+ , calendarListEntry+ , cleSummary+ , cleEtag+ , cleLocation+ , cleKind+ , cleNotificationSettings+ , cleBackgRoundColor+ , cleForegRoundColor+ , cleDefaultReminders+ , cleSelected+ , clePrimary+ , cleHidden+ , cleId+ , cleDeleted+ , cleAccessRole+ , cleSummaryOverride+ , cleColorId+ , cleTimeZone+ , cleDescription++ -- * Event+ , Event+ , event+ , eSummary+ , eOriginalStartTime+ , eCreator+ , eStatus+ , eGuestsCanModify+ , eEtag+ , eAttachments+ , eLocked+ , eLocation+ , eAttendees+ , eReminders+ , eKind+ , eCreated+ , eTransparency+ , eRecurringEventId+ , eStart+ , ePrivateCopy+ , eEndTimeUnspecified+ , eExtendedProperties+ , eVisibility+ , eGuestsCanInviteOthers+ , eRecurrence+ , eGadget+ , eSequence+ , eICalUId+ , eEnd+ , eAttendeesOmitted+ , eSource+ , eId+ , eHTMLLink+ , eUpdated+ , eColorId+ , eAnyoneCanAddSelf+ , eGuestsCanSeeOtherGuests+ , eHangoutLink+ , eDescription+ , eOrganizer++ -- * CalendarListEntryNotificationSettings+ , CalendarListEntryNotificationSettings+ , calendarListEntryNotificationSettings+ , clensNotifications++ -- * ACLRuleScope+ , ACLRuleScope+ , aclRuleScope+ , arsValue+ , arsType++ -- * ColorsEvent+ , ColorsEvent+ , colorsEvent+ , ceAddtional++ -- * Settings+ , Settings+ , settings+ , sEtag+ , sNextPageToken+ , sKind+ , sItems+ , sNextSyncToken++ -- * FreeBusyRequestItem+ , FreeBusyRequestItem+ , freeBusyRequestItem+ , fbriId++ -- * EventAttachment+ , EventAttachment+ , eventAttachment+ , eaFileURL+ , eaIconLink+ , eaMimeType+ , eaTitle+ , eaFileId++ -- * TimePeriod+ , TimePeriod+ , timePeriod+ , tpStart+ , tpEnd++ -- * EventCreator+ , EventCreator+ , eventCreator+ , ecEmail+ , ecSelf+ , ecDisplayName+ , ecId++ -- * Error'+ , Error'+ , error'+ , eDomain+ , eReason++ -- * ColorDefinition+ , ColorDefinition+ , colorDefinition+ , cdForegRound+ , cdBackgRound++ -- * EventsListOrderBy+ , EventsListOrderBy (..)++ -- * Channel+ , Channel+ , channel+ , cResourceURI+ , cResourceId+ , cKind+ , cExpiration+ , cToken+ , cAddress+ , cPayload+ , cParams+ , cId+ , cType++ -- * FreeBusyCalendar+ , FreeBusyCalendar+ , freeBusyCalendar+ , fbcBusy+ , fbcErrors++ -- * Setting+ , Setting+ , setting+ , setEtag+ , setKind+ , setValue+ , setId++ -- * FreeBusyResponseGroups+ , FreeBusyResponseGroups+ , freeBusyResponseGroups+ , fbrgAddtional++ -- * EventReminders+ , EventReminders+ , eventReminders+ , erOverrides+ , erUseDefault++ -- * ColorsCalendar+ , ColorsCalendar+ , colorsCalendar+ , ccAddtional++ -- * CalendarNotification+ , CalendarNotification+ , calendarNotification+ , cnMethod+ , cnType++ -- * EventExtendedPropertiesPrivate+ , EventExtendedPropertiesPrivate+ , eventExtendedPropertiesPrivate+ , eeppAddtional++ -- * ChannelParams+ , ChannelParams+ , channelParams+ , cpAddtional++ -- * Events+ , Events+ , events+ , eveSummary+ , eveEtag+ , eveNextPageToken+ , eveKind+ , eveItems+ , eveDefaultReminders+ , eveUpdated+ , eveAccessRole+ , eveTimeZone+ , eveNextSyncToken+ , eveDescription++ -- * EventAttendee+ , EventAttendee+ , eventAttendee+ , eaEmail+ , eaResponseStatus+ , eaSelf+ , eaResource+ , eaAdditionalGuests+ , eaDisplayName+ , eaId+ , eaComment+ , eaOptional+ , eaOrganizer++ -- * Calendar+ , Calendar+ , calendar+ , calSummary+ , calEtag+ , calLocation+ , calKind+ , calId+ , calTimeZone+ , calDescription++ -- * FreeBusyResponse+ , FreeBusyResponse+ , freeBusyResponse+ , fbrGroups+ , fbrTimeMin+ , fbrKind+ , fbrCalendars+ , fbrTimeMax++ -- * EventReminder+ , EventReminder+ , eventReminder+ , erMethod+ , erMinutes++ -- * EventExtendedProperties+ , EventExtendedProperties+ , eventExtendedProperties+ , eepPrivate+ , eepShared++ -- * EventDateTime+ , EventDateTime+ , eventDateTime+ , edtDate+ , edtTimeZone+ , edtDateTime++ -- * EventOrganizer+ , EventOrganizer+ , eventOrganizer+ , eoEmail+ , eoSelf+ , eoDisplayName+ , eoId++ -- * CalendarList+ , CalendarList+ , calendarList+ , clEtag+ , clNextPageToken+ , clKind+ , clItems+ , clNextSyncToken++ -- * CalendarListListMinAccessRole+ , CalendarListListMinAccessRole (..)++ -- * EventGadget+ , EventGadget+ , eventGadget+ , egHeight+ , egDisplay+ , egPreferences+ , egLink+ , egIconLink+ , egWidth+ , egTitle+ , egType++ -- * EventGadgetPreferences+ , EventGadgetPreferences+ , eventGadgetPreferences+ , egpAddtional++ -- * FreeBusyRequest+ , FreeBusyRequest+ , freeBusyRequest+ , fCalendarExpansionMax+ , fTimeMin+ , fItems+ , fGroupExpansionMax+ , fTimeZone+ , fTimeMax++ -- * ACLRule+ , ACLRule+ , aclRule+ , arEtag+ , arKind+ , arRole+ , arScope+ , arId++ -- * EventsWatchOrderBy+ , EventsWatchOrderBy (..)++ -- * EventExtendedPropertiesShared+ , EventExtendedPropertiesShared+ , eventExtendedPropertiesShared+ , eepsAddtional++ -- * CalendarListWatchMinAccessRole+ , CalendarListWatchMinAccessRole (..)++ -- * FreeBusyResponseCalendars+ , FreeBusyResponseCalendars+ , freeBusyResponseCalendars+ , fbrcAddtional++ -- * ACL+ , ACL+ , acl+ , aEtag+ , aNextPageToken+ , aKind+ , aItems+ , aNextSyncToken++ -- * Colors+ , Colors+ , colors+ , colEvent+ , colKind+ , colCalendar+ , colUpdated++ -- * FreeBusyGroup+ , FreeBusyGroup+ , freeBusyGroup+ , fbgCalendars+ , fbgErrors++ -- * EventSource+ , EventSource+ , eventSource+ , esURL+ , esTitle+ ) where++import Network.Google.AppsCalendar.Types.Product+import Network.Google.AppsCalendar.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v3' of the Calendar API. This contains the host and root path used as a starting point for constructing service requests.+appsCalendarService :: Service+appsCalendarService+ = defaultService (ServiceId "calendar:v3")+ "www.googleapis.com"++-- | Manage your calendars+calendarScope :: OAuthScope+calendarScope = "https://www.googleapis.com/auth/calendar";++-- | View your calendars+calendarReadonlyScope :: OAuthScope+calendarReadonlyScope = "https://www.googleapis.com/auth/calendar.readonly";
+ gen/Network/Google/AppsCalendar/Types/Product.hs view
@@ -0,0 +1,3278 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.AppsCalendar.Types.Product+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AppsCalendar.Types.Product where++import Network.Google.AppsCalendar.Types.Sum+import Network.Google.Prelude++--+-- /See:/ 'calendarListEntry' smart constructor.+data CalendarListEntry = CalendarListEntry+ { _cleSummary :: !(Maybe Text)+ , _cleEtag :: !(Maybe Text)+ , _cleLocation :: !(Maybe Text)+ , _cleKind :: !Text+ , _cleNotificationSettings :: !(Maybe CalendarListEntryNotificationSettings)+ , _cleBackgRoundColor :: !(Maybe Text)+ , _cleForegRoundColor :: !(Maybe Text)+ , _cleDefaultReminders :: !(Maybe [EventReminder])+ , _cleSelected :: !Bool+ , _clePrimary :: !Bool+ , _cleHidden :: !Bool+ , _cleId :: !(Maybe Text)+ , _cleDeleted :: !Bool+ , _cleAccessRole :: !(Maybe Text)+ , _cleSummaryOverride :: !(Maybe Text)+ , _cleColorId :: !(Maybe Text)+ , _cleTimeZone :: !(Maybe Text)+ , _cleDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cleSummary'+--+-- * 'cleEtag'+--+-- * 'cleLocation'+--+-- * 'cleKind'+--+-- * 'cleNotificationSettings'+--+-- * 'cleBackgRoundColor'+--+-- * 'cleForegRoundColor'+--+-- * 'cleDefaultReminders'+--+-- * 'cleSelected'+--+-- * 'clePrimary'+--+-- * 'cleHidden'+--+-- * 'cleId'+--+-- * 'cleDeleted'+--+-- * 'cleAccessRole'+--+-- * 'cleSummaryOverride'+--+-- * 'cleColorId'+--+-- * 'cleTimeZone'+--+-- * 'cleDescription'+calendarListEntry+ :: CalendarListEntry+calendarListEntry =+ CalendarListEntry+ { _cleSummary = Nothing+ , _cleEtag = Nothing+ , _cleLocation = Nothing+ , _cleKind = "calendar#calendarListEntry"+ , _cleNotificationSettings = Nothing+ , _cleBackgRoundColor = Nothing+ , _cleForegRoundColor = Nothing+ , _cleDefaultReminders = Nothing+ , _cleSelected = False+ , _clePrimary = False+ , _cleHidden = False+ , _cleId = Nothing+ , _cleDeleted = False+ , _cleAccessRole = Nothing+ , _cleSummaryOverride = Nothing+ , _cleColorId = Nothing+ , _cleTimeZone = Nothing+ , _cleDescription = Nothing+ }++-- | Title of the calendar. Read-only.+cleSummary :: Lens' CalendarListEntry (Maybe Text)+cleSummary+ = lens _cleSummary (\ s a -> s{_cleSummary = a})++-- | ETag of the resource.+cleEtag :: Lens' CalendarListEntry (Maybe Text)+cleEtag = lens _cleEtag (\ s a -> s{_cleEtag = a})++-- | Geographic location of the calendar as free-form text. Optional.+-- Read-only.+cleLocation :: Lens' CalendarListEntry (Maybe Text)+cleLocation+ = lens _cleLocation (\ s a -> s{_cleLocation = a})++-- | Type of the resource (\"calendar#calendarListEntry\").+cleKind :: Lens' CalendarListEntry Text+cleKind = lens _cleKind (\ s a -> s{_cleKind = a})++-- | The notifications that the authenticated user is receiving for this+-- calendar.+cleNotificationSettings :: Lens' CalendarListEntry (Maybe CalendarListEntryNotificationSettings)+cleNotificationSettings+ = lens _cleNotificationSettings+ (\ s a -> s{_cleNotificationSettings = a})++-- | The main color of the calendar in the hexadecimal format \"#0088aa\".+-- This property supersedes the index-based colorId property. To set or+-- change this property, you need to specify colorRgbFormat=true in the+-- parameters of the insert, update and patch methods. Optional.+cleBackgRoundColor :: Lens' CalendarListEntry (Maybe Text)+cleBackgRoundColor+ = lens _cleBackgRoundColor+ (\ s a -> s{_cleBackgRoundColor = a})++-- | The foreground color of the calendar in the hexadecimal format+-- \"#ffffff\". This property supersedes the index-based colorId property.+-- To set or change this property, you need to specify colorRgbFormat=true+-- in the parameters of the insert, update and patch methods. Optional.+cleForegRoundColor :: Lens' CalendarListEntry (Maybe Text)+cleForegRoundColor+ = lens _cleForegRoundColor+ (\ s a -> s{_cleForegRoundColor = a})++-- | The default reminders that the authenticated user has for this calendar.+cleDefaultReminders :: Lens' CalendarListEntry [EventReminder]+cleDefaultReminders+ = lens _cleDefaultReminders+ (\ s a -> s{_cleDefaultReminders = a})+ . _Default+ . _Coerce++-- | Whether the calendar content shows up in the calendar UI. Optional. The+-- default is False.+cleSelected :: Lens' CalendarListEntry Bool+cleSelected+ = lens _cleSelected (\ s a -> s{_cleSelected = a})++-- | Whether the calendar is the primary calendar of the authenticated user.+-- Read-only. Optional. The default is False.+clePrimary :: Lens' CalendarListEntry Bool+clePrimary+ = lens _clePrimary (\ s a -> s{_clePrimary = a})++-- | Whether the calendar has been hidden from the list. Optional. The+-- default is False.+cleHidden :: Lens' CalendarListEntry Bool+cleHidden+ = lens _cleHidden (\ s a -> s{_cleHidden = a})++-- | Identifier of the calendar.+cleId :: Lens' CalendarListEntry (Maybe Text)+cleId = lens _cleId (\ s a -> s{_cleId = a})++-- | Whether this calendar list entry has been deleted from the calendar+-- list. Read-only. Optional. The default is False.+cleDeleted :: Lens' CalendarListEntry Bool+cleDeleted+ = lens _cleDeleted (\ s a -> s{_cleDeleted = a})++-- | 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.+cleAccessRole :: Lens' CalendarListEntry (Maybe Text)+cleAccessRole+ = lens _cleAccessRole+ (\ s a -> s{_cleAccessRole = a})++-- | The summary that the authenticated user has set for this calendar.+-- Optional.+cleSummaryOverride :: Lens' CalendarListEntry (Maybe Text)+cleSummaryOverride+ = lens _cleSummaryOverride+ (\ s a -> s{_cleSummaryOverride = a})++-- | 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).+-- This property is superseded by the backgroundColor and foregroundColor+-- properties and can be ignored when using these properties. Optional.+cleColorId :: Lens' CalendarListEntry (Maybe Text)+cleColorId+ = lens _cleColorId (\ s a -> s{_cleColorId = a})++-- | The time zone of the calendar. Optional. Read-only.+cleTimeZone :: Lens' CalendarListEntry (Maybe Text)+cleTimeZone+ = lens _cleTimeZone (\ s a -> s{_cleTimeZone = a})++-- | Description of the calendar. Optional. Read-only.+cleDescription :: Lens' CalendarListEntry (Maybe Text)+cleDescription+ = lens _cleDescription+ (\ s a -> s{_cleDescription = a})++instance FromJSON CalendarListEntry where+ parseJSON+ = withObject "CalendarListEntry"+ (\ o ->+ CalendarListEntry <$>+ (o .:? "summary") <*> (o .:? "etag") <*>+ (o .:? "location")+ <*> (o .:? "kind" .!= "calendar#calendarListEntry")+ <*> (o .:? "notificationSettings")+ <*> (o .:? "backgroundColor")+ <*> (o .:? "foregroundColor")+ <*> (o .:? "defaultReminders" .!= mempty)+ <*> (o .:? "selected" .!= False)+ <*> (o .:? "primary" .!= False)+ <*> (o .:? "hidden" .!= False)+ <*> (o .:? "id")+ <*> (o .:? "deleted" .!= False)+ <*> (o .:? "accessRole")+ <*> (o .:? "summaryOverride")+ <*> (o .:? "colorId")+ <*> (o .:? "timeZone")+ <*> (o .:? "description"))++instance ToJSON CalendarListEntry where+ toJSON CalendarListEntry{..}+ = object+ (catMaybes+ [("summary" .=) <$> _cleSummary,+ ("etag" .=) <$> _cleEtag,+ ("location" .=) <$> _cleLocation,+ Just ("kind" .= _cleKind),+ ("notificationSettings" .=) <$>+ _cleNotificationSettings,+ ("backgroundColor" .=) <$> _cleBackgRoundColor,+ ("foregroundColor" .=) <$> _cleForegRoundColor,+ ("defaultReminders" .=) <$> _cleDefaultReminders,+ Just ("selected" .= _cleSelected),+ Just ("primary" .= _clePrimary),+ Just ("hidden" .= _cleHidden), ("id" .=) <$> _cleId,+ Just ("deleted" .= _cleDeleted),+ ("accessRole" .=) <$> _cleAccessRole,+ ("summaryOverride" .=) <$> _cleSummaryOverride,+ ("colorId" .=) <$> _cleColorId,+ ("timeZone" .=) <$> _cleTimeZone,+ ("description" .=) <$> _cleDescription])++--+-- /See:/ 'event' smart constructor.+data Event = Event+ { _eSummary :: !(Maybe Text)+ , _eOriginalStartTime :: !(Maybe EventDateTime)+ , _eCreator :: !(Maybe EventCreator)+ , _eStatus :: !(Maybe Text)+ , _eGuestsCanModify :: !Bool+ , _eEtag :: !(Maybe Text)+ , _eAttachments :: !(Maybe [EventAttachment])+ , _eLocked :: !Bool+ , _eLocation :: !(Maybe Text)+ , _eAttendees :: !(Maybe [EventAttendee])+ , _eReminders :: !(Maybe EventReminders)+ , _eKind :: !Text+ , _eCreated :: !(Maybe DateTime')+ , _eTransparency :: !Text+ , _eRecurringEventId :: !(Maybe Text)+ , _eStart :: !(Maybe EventDateTime)+ , _ePrivateCopy :: !Bool+ , _eEndTimeUnspecified :: !Bool+ , _eExtendedProperties :: !(Maybe EventExtendedProperties)+ , _eVisibility :: !Text+ , _eGuestsCanInviteOthers :: !Bool+ , _eRecurrence :: !(Maybe [Text])+ , _eGadget :: !(Maybe EventGadget)+ , _eSequence :: !(Maybe (Textual Int32))+ , _eICalUId :: !(Maybe Text)+ , _eEnd :: !(Maybe EventDateTime)+ , _eAttendeesOmitted :: !Bool+ , _eSource :: !(Maybe EventSource)+ , _eId :: !(Maybe Text)+ , _eHTMLLink :: !(Maybe Text)+ , _eUpdated :: !(Maybe DateTime')+ , _eColorId :: !(Maybe Text)+ , _eAnyoneCanAddSelf :: !Bool+ , _eGuestsCanSeeOtherGuests :: !Bool+ , _eHangoutLink :: !(Maybe Text)+ , _eDescription :: !(Maybe Text)+ , _eOrganizer :: !(Maybe EventOrganizer)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Event' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eSummary'+--+-- * 'eOriginalStartTime'+--+-- * 'eCreator'+--+-- * 'eStatus'+--+-- * 'eGuestsCanModify'+--+-- * 'eEtag'+--+-- * 'eAttachments'+--+-- * 'eLocked'+--+-- * 'eLocation'+--+-- * 'eAttendees'+--+-- * 'eReminders'+--+-- * 'eKind'+--+-- * 'eCreated'+--+-- * 'eTransparency'+--+-- * 'eRecurringEventId'+--+-- * 'eStart'+--+-- * 'ePrivateCopy'+--+-- * 'eEndTimeUnspecified'+--+-- * 'eExtendedProperties'+--+-- * 'eVisibility'+--+-- * 'eGuestsCanInviteOthers'+--+-- * 'eRecurrence'+--+-- * 'eGadget'+--+-- * 'eSequence'+--+-- * 'eICalUId'+--+-- * 'eEnd'+--+-- * 'eAttendeesOmitted'+--+-- * 'eSource'+--+-- * 'eId'+--+-- * 'eHTMLLink'+--+-- * 'eUpdated'+--+-- * 'eColorId'+--+-- * 'eAnyoneCanAddSelf'+--+-- * 'eGuestsCanSeeOtherGuests'+--+-- * 'eHangoutLink'+--+-- * 'eDescription'+--+-- * 'eOrganizer'+event+ :: Event+event =+ Event+ { _eSummary = Nothing+ , _eOriginalStartTime = Nothing+ , _eCreator = Nothing+ , _eStatus = Nothing+ , _eGuestsCanModify = False+ , _eEtag = Nothing+ , _eAttachments = Nothing+ , _eLocked = False+ , _eLocation = Nothing+ , _eAttendees = Nothing+ , _eReminders = Nothing+ , _eKind = "calendar#event"+ , _eCreated = Nothing+ , _eTransparency = "opaque"+ , _eRecurringEventId = Nothing+ , _eStart = Nothing+ , _ePrivateCopy = False+ , _eEndTimeUnspecified = False+ , _eExtendedProperties = Nothing+ , _eVisibility = "default"+ , _eGuestsCanInviteOthers = True+ , _eRecurrence = Nothing+ , _eGadget = Nothing+ , _eSequence = Nothing+ , _eICalUId = Nothing+ , _eEnd = Nothing+ , _eAttendeesOmitted = False+ , _eSource = Nothing+ , _eId = Nothing+ , _eHTMLLink = Nothing+ , _eUpdated = Nothing+ , _eColorId = Nothing+ , _eAnyoneCanAddSelf = False+ , _eGuestsCanSeeOtherGuests = True+ , _eHangoutLink = Nothing+ , _eDescription = Nothing+ , _eOrganizer = Nothing+ }++-- | Title of the event.+eSummary :: Lens' Event (Maybe Text)+eSummary = lens _eSummary (\ s a -> s{_eSummary = a})++-- | 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.+eOriginalStartTime :: Lens' Event (Maybe EventDateTime)+eOriginalStartTime+ = lens _eOriginalStartTime+ (\ s a -> s{_eOriginalStartTime = a})++-- | The creator of the event. Read-only.+eCreator :: Lens' Event (Maybe EventCreator)+eCreator = lens _eCreator (\ s a -> s{_eCreator = a})++-- | 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.+eStatus :: Lens' Event (Maybe Text)+eStatus = lens _eStatus (\ s a -> s{_eStatus = a})++-- | Whether attendees other than the organizer can modify the event.+-- Optional. The default is False.+eGuestsCanModify :: Lens' Event Bool+eGuestsCanModify+ = lens _eGuestsCanModify+ (\ s a -> s{_eGuestsCanModify = a})++-- | ETag of the resource.+eEtag :: Lens' Event (Maybe Text)+eEtag = lens _eEtag (\ s a -> s{_eEtag = a})++-- | File attachments for the event. Currently only Google Drive attachments+-- are supported. In order to modify attachments the supportsAttachments+-- request parameter should be set to true. There can be at most 25+-- attachments per event,+eAttachments :: Lens' Event [EventAttachment]+eAttachments+ = lens _eAttachments (\ s a -> s{_eAttachments = a})+ . _Default+ . _Coerce++-- | 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.+eLocked :: Lens' Event Bool+eLocked = lens _eLocked (\ s a -> s{_eLocked = a})++-- | Geographic location of the event as free-form text. Optional.+eLocation :: Lens' Event (Maybe Text)+eLocation+ = lens _eLocation (\ s a -> s{_eLocation = a})++-- | The attendees of the event. See the Events with attendees guide for more+-- information on scheduling events with other calendar users.+eAttendees :: Lens' Event [EventAttendee]+eAttendees+ = lens _eAttendees (\ s a -> s{_eAttendees = a}) .+ _Default+ . _Coerce++-- | Information about the event\'s reminders for the authenticated user.+eReminders :: Lens' Event (Maybe EventReminders)+eReminders+ = lens _eReminders (\ s a -> s{_eReminders = a})++-- | Type of the resource (\"calendar#event\").+eKind :: Lens' Event Text+eKind = lens _eKind (\ s a -> s{_eKind = a})++-- | Creation time of the event (as a RFC3339 timestamp). Read-only.+eCreated :: Lens' Event (Maybe UTCTime)+eCreated+ = lens _eCreated (\ s a -> s{_eCreated = a}) .+ mapping _DateTime++-- | 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.+eTransparency :: Lens' Event Text+eTransparency+ = lens _eTransparency+ (\ s a -> s{_eTransparency = a})++-- | For an instance of a recurring event, this is the id of the recurring+-- event to which this instance belongs. Immutable.+eRecurringEventId :: Lens' Event (Maybe Text)+eRecurringEventId+ = lens _eRecurringEventId+ (\ s a -> s{_eRecurringEventId = a})++-- | The (inclusive) start time of the event. For a recurring event, this is+-- the start time of the first instance.+eStart :: Lens' Event (Maybe EventDateTime)+eStart = lens _eStart (\ s a -> s{_eStart = a})++-- | Whether this is a private event copy where changes are not shared with+-- other copies on other calendars. Optional. Immutable. The default is+-- False.+ePrivateCopy :: Lens' Event Bool+ePrivateCopy+ = lens _ePrivateCopy (\ s a -> s{_ePrivateCopy = a})++-- | 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.+eEndTimeUnspecified :: Lens' Event Bool+eEndTimeUnspecified+ = lens _eEndTimeUnspecified+ (\ s a -> s{_eEndTimeUnspecified = a})++-- | Extended properties of the event.+eExtendedProperties :: Lens' Event (Maybe EventExtendedProperties)+eExtendedProperties+ = lens _eExtendedProperties+ (\ s a -> s{_eExtendedProperties = a})++-- | 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.+eVisibility :: Lens' Event Text+eVisibility+ = lens _eVisibility (\ s a -> s{_eVisibility = a})++-- | Whether attendees other than the organizer can invite others to the+-- event. Optional. The default is True.+eGuestsCanInviteOthers :: Lens' Event Bool+eGuestsCanInviteOthers+ = lens _eGuestsCanInviteOthers+ (\ s a -> s{_eGuestsCanInviteOthers = a})++-- | List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as+-- specified in RFC5545. Note that DTSTART and DTEND lines are not allowed+-- in this field; event start and end times are specified in the start and+-- end fields. This field is omitted for single events or instances of+-- recurring events.+eRecurrence :: Lens' Event [Text]+eRecurrence+ = lens _eRecurrence (\ s a -> s{_eRecurrence = a}) .+ _Default+ . _Coerce++-- | A gadget that extends this event.+eGadget :: Lens' Event (Maybe EventGadget)+eGadget = lens _eGadget (\ s a -> s{_eGadget = a})++-- | Sequence number as per iCalendar.+eSequence :: Lens' Event (Maybe Int32)+eSequence+ = lens _eSequence (\ s a -> s{_eSequence = a}) .+ mapping _Coerce++-- | Event unique identifier as defined in RFC5545. It is used to uniquely+-- identify events accross calendaring systems and must be supplied when+-- importing events via the import method. Note that the icalUID and the id+-- are not identical and only one of them should be supplied at event+-- creation time. One difference in their semantics is that in recurring+-- events, all occurrences of one event have different ids while they all+-- share the same icalUIDs.+eICalUId :: Lens' Event (Maybe Text)+eICalUId = lens _eICalUId (\ s a -> s{_eICalUId = a})++-- | The (exclusive) end time of the event. For a recurring event, this is+-- the end time of the first instance.+eEnd :: Lens' Event (Maybe EventDateTime)+eEnd = lens _eEnd (\ s a -> s{_eEnd = a})++-- | 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.+eAttendeesOmitted :: Lens' Event Bool+eAttendeesOmitted+ = lens _eAttendeesOmitted+ (\ s a -> s{_eAttendeesOmitted = a})++-- | Source from which the event was created. For example, a web page, an+-- email message or any document identifiable by an URL with HTTP or HTTPS+-- scheme. Can only be seen or modified by the creator of the event.+eSource :: Lens' Event (Maybe EventSource)+eSource = lens _eSource (\ s a -> s{_eSource = a})++-- | Opaque 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. If+-- you do not specify an ID, it will be automatically generated by the+-- server. Note that the icalUID and the id are not identical and only one+-- of them should be supplied at event creation time. One difference in+-- their semantics is that in recurring events, all occurrences of one+-- event have different ids while they all share the same icalUIDs.+eId :: Lens' Event (Maybe Text)+eId = lens _eId (\ s a -> s{_eId = a})++-- | An absolute link to this event in the Google Calendar Web UI. Read-only.+eHTMLLink :: Lens' Event (Maybe Text)+eHTMLLink+ = lens _eHTMLLink (\ s a -> s{_eHTMLLink = a})++-- | Last modification time of the event (as a RFC3339 timestamp). Read-only.+eUpdated :: Lens' Event (Maybe UTCTime)+eUpdated+ = lens _eUpdated (\ s a -> s{_eUpdated = a}) .+ mapping _DateTime++-- | 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.+eColorId :: Lens' Event (Maybe Text)+eColorId = lens _eColorId (\ s a -> s{_eColorId = a})++-- | Whether anyone can invite themselves to the event. Optional. The default+-- is False.+eAnyoneCanAddSelf :: Lens' Event Bool+eAnyoneCanAddSelf+ = lens _eAnyoneCanAddSelf+ (\ s a -> s{_eAnyoneCanAddSelf = a})++-- | Whether attendees other than the organizer can see who the event\'s+-- attendees are. Optional. The default is True.+eGuestsCanSeeOtherGuests :: Lens' Event Bool+eGuestsCanSeeOtherGuests+ = lens _eGuestsCanSeeOtherGuests+ (\ s a -> s{_eGuestsCanSeeOtherGuests = a})++-- | An absolute link to the Google+ hangout associated with this event.+-- Read-only.+eHangoutLink :: Lens' Event (Maybe Text)+eHangoutLink+ = lens _eHangoutLink (\ s a -> s{_eHangoutLink = a})++-- | Description of the event. Optional.+eDescription :: Lens' Event (Maybe Text)+eDescription+ = lens _eDescription (\ s a -> s{_eDescription = a})++-- | 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.+eOrganizer :: Lens' Event (Maybe EventOrganizer)+eOrganizer+ = lens _eOrganizer (\ s a -> s{_eOrganizer = a})++instance FromJSON Event where+ parseJSON+ = withObject "Event"+ (\ o ->+ Event <$>+ (o .:? "summary") <*> (o .:? "originalStartTime") <*>+ (o .:? "creator")+ <*> (o .:? "status")+ <*> (o .:? "guestsCanModify" .!= False)+ <*> (o .:? "etag")+ <*> (o .:? "attachments" .!= mempty)+ <*> (o .:? "locked" .!= False)+ <*> (o .:? "location")+ <*> (o .:? "attendees" .!= mempty)+ <*> (o .:? "reminders")+ <*> (o .:? "kind" .!= "calendar#event")+ <*> (o .:? "created")+ <*> (o .:? "transparency" .!= "opaque")+ <*> (o .:? "recurringEventId")+ <*> (o .:? "start")+ <*> (o .:? "privateCopy" .!= False)+ <*> (o .:? "endTimeUnspecified" .!= False)+ <*> (o .:? "extendedProperties")+ <*> (o .:? "visibility" .!= "default")+ <*> (o .:? "guestsCanInviteOthers" .!= True)+ <*> (o .:? "recurrence" .!= mempty)+ <*> (o .:? "gadget")+ <*> (o .:? "sequence")+ <*> (o .:? "iCalUID")+ <*> (o .:? "end")+ <*> (o .:? "attendeesOmitted" .!= False)+ <*> (o .:? "source")+ <*> (o .:? "id")+ <*> (o .:? "htmlLink")+ <*> (o .:? "updated")+ <*> (o .:? "colorId")+ <*> (o .:? "anyoneCanAddSelf" .!= False)+ <*> (o .:? "guestsCanSeeOtherGuests" .!= True)+ <*> (o .:? "hangoutLink")+ <*> (o .:? "description")+ <*> (o .:? "organizer"))++instance ToJSON Event where+ toJSON Event{..}+ = object+ (catMaybes+ [("summary" .=) <$> _eSummary,+ ("originalStartTime" .=) <$> _eOriginalStartTime,+ ("creator" .=) <$> _eCreator,+ ("status" .=) <$> _eStatus,+ Just ("guestsCanModify" .= _eGuestsCanModify),+ ("etag" .=) <$> _eEtag,+ ("attachments" .=) <$> _eAttachments,+ Just ("locked" .= _eLocked),+ ("location" .=) <$> _eLocation,+ ("attendees" .=) <$> _eAttendees,+ ("reminders" .=) <$> _eReminders,+ Just ("kind" .= _eKind),+ ("created" .=) <$> _eCreated,+ Just ("transparency" .= _eTransparency),+ ("recurringEventId" .=) <$> _eRecurringEventId,+ ("start" .=) <$> _eStart,+ Just ("privateCopy" .= _ePrivateCopy),+ Just ("endTimeUnspecified" .= _eEndTimeUnspecified),+ ("extendedProperties" .=) <$> _eExtendedProperties,+ Just ("visibility" .= _eVisibility),+ Just+ ("guestsCanInviteOthers" .= _eGuestsCanInviteOthers),+ ("recurrence" .=) <$> _eRecurrence,+ ("gadget" .=) <$> _eGadget,+ ("sequence" .=) <$> _eSequence,+ ("iCalUID" .=) <$> _eICalUId, ("end" .=) <$> _eEnd,+ Just ("attendeesOmitted" .= _eAttendeesOmitted),+ ("source" .=) <$> _eSource, ("id" .=) <$> _eId,+ ("htmlLink" .=) <$> _eHTMLLink,+ ("updated" .=) <$> _eUpdated,+ ("colorId" .=) <$> _eColorId,+ Just ("anyoneCanAddSelf" .= _eAnyoneCanAddSelf),+ Just+ ("guestsCanSeeOtherGuests" .=+ _eGuestsCanSeeOtherGuests),+ ("hangoutLink" .=) <$> _eHangoutLink,+ ("description" .=) <$> _eDescription,+ ("organizer" .=) <$> _eOrganizer])++-- | The notifications that the authenticated user is receiving for this+-- calendar.+--+-- /See:/ 'calendarListEntryNotificationSettings' smart constructor.+newtype CalendarListEntryNotificationSettings = CalendarListEntryNotificationSettings+ { _clensNotifications :: Maybe [CalendarNotification]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListEntryNotificationSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clensNotifications'+calendarListEntryNotificationSettings+ :: CalendarListEntryNotificationSettings+calendarListEntryNotificationSettings =+ CalendarListEntryNotificationSettings+ { _clensNotifications = Nothing+ }++-- | The list of notifications set for this calendar.+clensNotifications :: Lens' CalendarListEntryNotificationSettings [CalendarNotification]+clensNotifications+ = lens _clensNotifications+ (\ s a -> s{_clensNotifications = a})+ . _Default+ . _Coerce++instance FromJSON+ CalendarListEntryNotificationSettings where+ parseJSON+ = withObject "CalendarListEntryNotificationSettings"+ (\ o ->+ CalendarListEntryNotificationSettings <$>+ (o .:? "notifications" .!= mempty))++instance ToJSON CalendarListEntryNotificationSettings+ where+ toJSON CalendarListEntryNotificationSettings{..}+ = object+ (catMaybes+ [("notifications" .=) <$> _clensNotifications])++-- | The scope of the rule.+--+-- /See:/ 'aclRuleScope' smart constructor.+data ACLRuleScope = ACLRuleScope+ { _arsValue :: !(Maybe Text)+ , _arsType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLRuleScope' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arsValue'+--+-- * 'arsType'+aclRuleScope+ :: ACLRuleScope+aclRuleScope =+ ACLRuleScope+ { _arsValue = Nothing+ , _arsType = Nothing+ }++-- | The email address of a user or group, or the name of a domain, depending+-- on the scope type. Omitted for type \"default\".+arsValue :: Lens' ACLRuleScope (Maybe Text)+arsValue = lens _arsValue (\ s a -> s{_arsValue = a})++-- | 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.+arsType :: Lens' ACLRuleScope (Maybe Text)+arsType = lens _arsType (\ s a -> s{_arsType = a})++instance FromJSON ACLRuleScope where+ parseJSON+ = withObject "ACLRuleScope"+ (\ o ->+ ACLRuleScope <$> (o .:? "value") <*> (o .:? "type"))++instance ToJSON ACLRuleScope where+ toJSON ACLRuleScope{..}+ = object+ (catMaybes+ [("value" .=) <$> _arsValue,+ ("type" .=) <$> _arsType])++-- | A global 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.+--+-- /See:/ 'colorsEvent' smart constructor.+newtype ColorsEvent = ColorsEvent+ { _ceAddtional :: HashMap Text ColorDefinition+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColorsEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ceAddtional'+colorsEvent+ :: HashMap Text ColorDefinition -- ^ 'ceAddtional'+ -> ColorsEvent+colorsEvent pCeAddtional_ =+ ColorsEvent+ { _ceAddtional = _Coerce # pCeAddtional_+ }++-- | An event color definition.+ceAddtional :: Lens' ColorsEvent (HashMap Text ColorDefinition)+ceAddtional+ = lens _ceAddtional (\ s a -> s{_ceAddtional = a}) .+ _Coerce++instance FromJSON ColorsEvent where+ parseJSON+ = withObject "ColorsEvent"+ (\ o -> ColorsEvent <$> (parseJSONObject o))++instance ToJSON ColorsEvent where+ toJSON = toJSON . _ceAddtional++--+-- /See:/ 'settings' smart constructor.+data Settings = Settings+ { _sEtag :: !(Maybe Text)+ , _sNextPageToken :: !(Maybe Text)+ , _sKind :: !Text+ , _sItems :: !(Maybe [Setting])+ , _sNextSyncToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Settings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sEtag'+--+-- * 'sNextPageToken'+--+-- * 'sKind'+--+-- * 'sItems'+--+-- * 'sNextSyncToken'+settings+ :: Settings+settings =+ Settings+ { _sEtag = Nothing+ , _sNextPageToken = Nothing+ , _sKind = "calendar#settings"+ , _sItems = Nothing+ , _sNextSyncToken = Nothing+ }++-- | Etag of the collection.+sEtag :: Lens' Settings (Maybe Text)+sEtag = lens _sEtag (\ s a -> s{_sEtag = a})++-- | Token used to access the next page of this result. Omitted if no further+-- results are available, in which case nextSyncToken is provided.+sNextPageToken :: Lens' Settings (Maybe Text)+sNextPageToken+ = lens _sNextPageToken+ (\ s a -> s{_sNextPageToken = a})++-- | Type of the collection (\"calendar#settings\").+sKind :: Lens' Settings Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++-- | List of user settings.+sItems :: Lens' Settings [Setting]+sItems+ = lens _sItems (\ s a -> s{_sItems = a}) . _Default .+ _Coerce++-- | 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.+sNextSyncToken :: Lens' Settings (Maybe Text)+sNextSyncToken+ = lens _sNextSyncToken+ (\ s a -> s{_sNextSyncToken = a})++instance FromJSON Settings where+ parseJSON+ = withObject "Settings"+ (\ o ->+ Settings <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "calendar#settings")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "nextSyncToken"))++instance ToJSON Settings where+ toJSON Settings{..}+ = object+ (catMaybes+ [("etag" .=) <$> _sEtag,+ ("nextPageToken" .=) <$> _sNextPageToken,+ Just ("kind" .= _sKind), ("items" .=) <$> _sItems,+ ("nextSyncToken" .=) <$> _sNextSyncToken])++--+-- /See:/ 'freeBusyRequestItem' smart constructor.+newtype FreeBusyRequestItem = FreeBusyRequestItem+ { _fbriId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyRequestItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbriId'+freeBusyRequestItem+ :: FreeBusyRequestItem+freeBusyRequestItem =+ FreeBusyRequestItem+ { _fbriId = Nothing+ }++-- | The identifier of a calendar or a group.+fbriId :: Lens' FreeBusyRequestItem (Maybe Text)+fbriId = lens _fbriId (\ s a -> s{_fbriId = a})++instance FromJSON FreeBusyRequestItem where+ parseJSON+ = withObject "FreeBusyRequestItem"+ (\ o -> FreeBusyRequestItem <$> (o .:? "id"))++instance ToJSON FreeBusyRequestItem where+ toJSON FreeBusyRequestItem{..}+ = object (catMaybes [("id" .=) <$> _fbriId])++--+-- /See:/ 'eventAttachment' smart constructor.+data EventAttachment = EventAttachment+ { _eaFileURL :: !(Maybe Text)+ , _eaIconLink :: !(Maybe Text)+ , _eaMimeType :: !(Maybe Text)+ , _eaTitle :: !(Maybe Text)+ , _eaFileId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventAttachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eaFileURL'+--+-- * 'eaIconLink'+--+-- * 'eaMimeType'+--+-- * 'eaTitle'+--+-- * 'eaFileId'+eventAttachment+ :: EventAttachment+eventAttachment =+ EventAttachment+ { _eaFileURL = Nothing+ , _eaIconLink = Nothing+ , _eaMimeType = Nothing+ , _eaTitle = Nothing+ , _eaFileId = Nothing+ }++-- | URL link to the attachment. For adding Google Drive file attachments use+-- the same format as in alternateLink property of the Files resource in+-- the Drive API.+eaFileURL :: Lens' EventAttachment (Maybe Text)+eaFileURL+ = lens _eaFileURL (\ s a -> s{_eaFileURL = a})++-- | URL link to the attachment\'s icon. Read-only.+eaIconLink :: Lens' EventAttachment (Maybe Text)+eaIconLink+ = lens _eaIconLink (\ s a -> s{_eaIconLink = a})++-- | Internet media type (MIME type) of the attachment.+eaMimeType :: Lens' EventAttachment (Maybe Text)+eaMimeType+ = lens _eaMimeType (\ s a -> s{_eaMimeType = a})++-- | Attachment title.+eaTitle :: Lens' EventAttachment (Maybe Text)+eaTitle = lens _eaTitle (\ s a -> s{_eaTitle = a})++-- | ID of the attached file. Read-only. For Google Drive files, this is the+-- ID of the corresponding Files resource entry in the Drive API.+eaFileId :: Lens' EventAttachment (Maybe Text)+eaFileId = lens _eaFileId (\ s a -> s{_eaFileId = a})++instance FromJSON EventAttachment where+ parseJSON+ = withObject "EventAttachment"+ (\ o ->+ EventAttachment <$>+ (o .:? "fileUrl") <*> (o .:? "iconLink") <*>+ (o .:? "mimeType")+ <*> (o .:? "title")+ <*> (o .:? "fileId"))++instance ToJSON EventAttachment where+ toJSON EventAttachment{..}+ = object+ (catMaybes+ [("fileUrl" .=) <$> _eaFileURL,+ ("iconLink" .=) <$> _eaIconLink,+ ("mimeType" .=) <$> _eaMimeType,+ ("title" .=) <$> _eaTitle,+ ("fileId" .=) <$> _eaFileId])++--+-- /See:/ 'timePeriod' smart constructor.+data TimePeriod = TimePeriod+ { _tpStart :: !(Maybe DateTime')+ , _tpEnd :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimePeriod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpStart'+--+-- * 'tpEnd'+timePeriod+ :: TimePeriod+timePeriod =+ TimePeriod+ { _tpStart = Nothing+ , _tpEnd = Nothing+ }++-- | The (inclusive) start of the time period.+tpStart :: Lens' TimePeriod (Maybe UTCTime)+tpStart+ = lens _tpStart (\ s a -> s{_tpStart = a}) .+ mapping _DateTime++-- | The (exclusive) end of the time period.+tpEnd :: Lens' TimePeriod (Maybe UTCTime)+tpEnd+ = lens _tpEnd (\ s a -> s{_tpEnd = a}) .+ mapping _DateTime++instance FromJSON TimePeriod where+ parseJSON+ = withObject "TimePeriod"+ (\ o ->+ TimePeriod <$> (o .:? "start") <*> (o .:? "end"))++instance ToJSON TimePeriod where+ toJSON TimePeriod{..}+ = object+ (catMaybes+ [("start" .=) <$> _tpStart, ("end" .=) <$> _tpEnd])++-- | The creator of the event. Read-only.+--+-- /See:/ 'eventCreator' smart constructor.+data EventCreator = EventCreator+ { _ecEmail :: !(Maybe Text)+ , _ecSelf :: !Bool+ , _ecDisplayName :: !(Maybe Text)+ , _ecId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventCreator' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecEmail'+--+-- * 'ecSelf'+--+-- * 'ecDisplayName'+--+-- * 'ecId'+eventCreator+ :: EventCreator+eventCreator =+ EventCreator+ { _ecEmail = Nothing+ , _ecSelf = False+ , _ecDisplayName = Nothing+ , _ecId = Nothing+ }++-- | The creator\'s email address, if available.+ecEmail :: Lens' EventCreator (Maybe Text)+ecEmail = lens _ecEmail (\ s a -> s{_ecEmail = a})++-- | Whether the creator corresponds to the calendar on which this copy of+-- the event appears. Read-only. The default is False.+ecSelf :: Lens' EventCreator Bool+ecSelf = lens _ecSelf (\ s a -> s{_ecSelf = a})++-- | The creator\'s name, if available.+ecDisplayName :: Lens' EventCreator (Maybe Text)+ecDisplayName+ = lens _ecDisplayName+ (\ s a -> s{_ecDisplayName = a})++-- | The creator\'s Profile ID, if available. It corresponds to theid field+-- in the People collection of the Google+ API+ecId :: Lens' EventCreator (Maybe Text)+ecId = lens _ecId (\ s a -> s{_ecId = a})++instance FromJSON EventCreator where+ parseJSON+ = withObject "EventCreator"+ (\ o ->+ EventCreator <$>+ (o .:? "email") <*> (o .:? "self" .!= False) <*>+ (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON EventCreator where+ toJSON EventCreator{..}+ = object+ (catMaybes+ [("email" .=) <$> _ecEmail, Just ("self" .= _ecSelf),+ ("displayName" .=) <$> _ecDisplayName,+ ("id" .=) <$> _ecId])++--+-- /See:/ 'error'' smart constructor.+data Error' = Error'+ { _eDomain :: !(Maybe Text)+ , _eReason :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Error' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eDomain'+--+-- * 'eReason'+error'+ :: Error'+error' =+ Error'+ { _eDomain = Nothing+ , _eReason = Nothing+ }++-- | Domain, or broad category, of the error.+eDomain :: Lens' Error' (Maybe Text)+eDomain = lens _eDomain (\ s a -> s{_eDomain = a})++-- | 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.+eReason :: Lens' Error' (Maybe Text)+eReason = lens _eReason (\ s a -> s{_eReason = a})++instance FromJSON Error' where+ parseJSON+ = withObject "Error"+ (\ o ->+ Error' <$> (o .:? "domain") <*> (o .:? "reason"))++instance ToJSON Error' where+ toJSON Error'{..}+ = object+ (catMaybes+ [("domain" .=) <$> _eDomain,+ ("reason" .=) <$> _eReason])++--+-- /See:/ 'colorDefinition' smart constructor.+data ColorDefinition = ColorDefinition+ { _cdForegRound :: !(Maybe Text)+ , _cdBackgRound :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColorDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdForegRound'+--+-- * 'cdBackgRound'+colorDefinition+ :: ColorDefinition+colorDefinition =+ ColorDefinition+ { _cdForegRound = Nothing+ , _cdBackgRound = Nothing+ }++-- | The foreground color that can be used to write on top of a background+-- with \'background\' color.+cdForegRound :: Lens' ColorDefinition (Maybe Text)+cdForegRound+ = lens _cdForegRound (\ s a -> s{_cdForegRound = a})++-- | The background color associated with this color definition.+cdBackgRound :: Lens' ColorDefinition (Maybe Text)+cdBackgRound+ = lens _cdBackgRound (\ s a -> s{_cdBackgRound = a})++instance FromJSON ColorDefinition where+ parseJSON+ = withObject "ColorDefinition"+ (\ o ->+ ColorDefinition <$>+ (o .:? "foreground") <*> (o .:? "background"))++instance ToJSON ColorDefinition where+ toJSON ColorDefinition{..}+ = object+ (catMaybes+ [("foreground" .=) <$> _cdForegRound,+ ("background" .=) <$> _cdBackgRound])++--+-- /See:/ 'channel' smart constructor.+data Channel = Channel+ { _cResourceURI :: !(Maybe Text)+ , _cResourceId :: !(Maybe Text)+ , _cKind :: !Text+ , _cExpiration :: !(Maybe (Textual Int64))+ , _cToken :: !(Maybe Text)+ , _cAddress :: !(Maybe Text)+ , _cPayload :: !(Maybe Bool)+ , _cParams :: !(Maybe ChannelParams)+ , _cId :: !(Maybe Text)+ , _cType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResourceURI'+--+-- * 'cResourceId'+--+-- * 'cKind'+--+-- * 'cExpiration'+--+-- * 'cToken'+--+-- * 'cAddress'+--+-- * 'cPayload'+--+-- * 'cParams'+--+-- * 'cId'+--+-- * 'cType'+channel+ :: Channel+channel =+ Channel+ { _cResourceURI = Nothing+ , _cResourceId = Nothing+ , _cKind = "api#channel"+ , _cExpiration = Nothing+ , _cToken = Nothing+ , _cAddress = Nothing+ , _cPayload = Nothing+ , _cParams = Nothing+ , _cId = Nothing+ , _cType = Nothing+ }++-- | A version-specific identifier for the watched resource.+cResourceURI :: Lens' Channel (Maybe Text)+cResourceURI+ = lens _cResourceURI (\ s a -> s{_cResourceURI = a})++-- | An opaque ID that identifies the resource being watched on this channel.+-- Stable across different API versions.+cResourceId :: Lens' Channel (Maybe Text)+cResourceId+ = lens _cResourceId (\ s a -> s{_cResourceId = a})++-- | Identifies this as a notification channel used to watch for changes to a+-- resource. Value: the fixed string \"api#channel\".+cKind :: Lens' Channel Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | Date and time of notification channel expiration, expressed as a Unix+-- timestamp, in milliseconds. Optional.+cExpiration :: Lens' Channel (Maybe Int64)+cExpiration+ = lens _cExpiration (\ s a -> s{_cExpiration = a}) .+ mapping _Coerce++-- | An arbitrary string delivered to the target address with each+-- notification delivered over this channel. Optional.+cToken :: Lens' Channel (Maybe Text)+cToken = lens _cToken (\ s a -> s{_cToken = a})++-- | The address where notifications are delivered for this channel.+cAddress :: Lens' Channel (Maybe Text)+cAddress = lens _cAddress (\ s a -> s{_cAddress = a})++-- | A Boolean value to indicate whether payload is wanted. Optional.+cPayload :: Lens' Channel (Maybe Bool)+cPayload = lens _cPayload (\ s a -> s{_cPayload = a})++-- | Additional parameters controlling delivery channel behavior. Optional.+cParams :: Lens' Channel (Maybe ChannelParams)+cParams = lens _cParams (\ s a -> s{_cParams = a})++-- | A UUID or similar unique string that identifies this channel.+cId :: Lens' Channel (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | The type of delivery mechanism used for this channel.+cType :: Lens' Channel (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++instance FromJSON Channel where+ parseJSON+ = withObject "Channel"+ (\ o ->+ Channel <$>+ (o .:? "resourceUri") <*> (o .:? "resourceId") <*>+ (o .:? "kind" .!= "api#channel")+ <*> (o .:? "expiration")+ <*> (o .:? "token")+ <*> (o .:? "address")+ <*> (o .:? "payload")+ <*> (o .:? "params")+ <*> (o .:? "id")+ <*> (o .:? "type"))++instance ToJSON Channel where+ toJSON Channel{..}+ = object+ (catMaybes+ [("resourceUri" .=) <$> _cResourceURI,+ ("resourceId" .=) <$> _cResourceId,+ Just ("kind" .= _cKind),+ ("expiration" .=) <$> _cExpiration,+ ("token" .=) <$> _cToken,+ ("address" .=) <$> _cAddress,+ ("payload" .=) <$> _cPayload,+ ("params" .=) <$> _cParams, ("id" .=) <$> _cId,+ ("type" .=) <$> _cType])++--+-- /See:/ 'freeBusyCalendar' smart constructor.+data FreeBusyCalendar = FreeBusyCalendar+ { _fbcBusy :: !(Maybe [TimePeriod])+ , _fbcErrors :: !(Maybe [Error'])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyCalendar' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbcBusy'+--+-- * 'fbcErrors'+freeBusyCalendar+ :: FreeBusyCalendar+freeBusyCalendar =+ FreeBusyCalendar+ { _fbcBusy = Nothing+ , _fbcErrors = Nothing+ }++-- | List of time ranges during which this calendar should be regarded as+-- busy.+fbcBusy :: Lens' FreeBusyCalendar [TimePeriod]+fbcBusy+ = lens _fbcBusy (\ s a -> s{_fbcBusy = a}) . _Default+ . _Coerce++-- | Optional error(s) (if computation for the calendar failed).+fbcErrors :: Lens' FreeBusyCalendar [Error']+fbcErrors+ = lens _fbcErrors (\ s a -> s{_fbcErrors = a}) .+ _Default+ . _Coerce++instance FromJSON FreeBusyCalendar where+ parseJSON+ = withObject "FreeBusyCalendar"+ (\ o ->+ FreeBusyCalendar <$>+ (o .:? "busy" .!= mempty) <*>+ (o .:? "errors" .!= mempty))++instance ToJSON FreeBusyCalendar where+ toJSON FreeBusyCalendar{..}+ = object+ (catMaybes+ [("busy" .=) <$> _fbcBusy,+ ("errors" .=) <$> _fbcErrors])++--+-- /See:/ 'setting' smart constructor.+data Setting = Setting+ { _setEtag :: !(Maybe Text)+ , _setKind :: !Text+ , _setValue :: !(Maybe Text)+ , _setId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Setting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'setEtag'+--+-- * 'setKind'+--+-- * 'setValue'+--+-- * 'setId'+setting+ :: Setting+setting =+ Setting+ { _setEtag = Nothing+ , _setKind = "calendar#setting"+ , _setValue = Nothing+ , _setId = Nothing+ }++-- | ETag of the resource.+setEtag :: Lens' Setting (Maybe Text)+setEtag = lens _setEtag (\ s a -> s{_setEtag = a})++-- | Type of the resource (\"calendar#setting\").+setKind :: Lens' Setting Text+setKind = lens _setKind (\ s a -> s{_setKind = a})++-- | 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.+setValue :: Lens' Setting (Maybe Text)+setValue = lens _setValue (\ s a -> s{_setValue = a})++-- | The id of the user setting.+setId :: Lens' Setting (Maybe Text)+setId = lens _setId (\ s a -> s{_setId = a})++instance FromJSON Setting where+ parseJSON+ = withObject "Setting"+ (\ o ->+ Setting <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "calendar#setting")+ <*> (o .:? "value")+ <*> (o .:? "id"))++instance ToJSON Setting where+ toJSON Setting{..}+ = object+ (catMaybes+ [("etag" .=) <$> _setEtag, Just ("kind" .= _setKind),+ ("value" .=) <$> _setValue, ("id" .=) <$> _setId])++-- | Expansion of groups.+--+-- /See:/ 'freeBusyResponseGroups' smart constructor.+newtype FreeBusyResponseGroups = FreeBusyResponseGroups+ { _fbrgAddtional :: HashMap Text FreeBusyGroup+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyResponseGroups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbrgAddtional'+freeBusyResponseGroups+ :: HashMap Text FreeBusyGroup -- ^ 'fbrgAddtional'+ -> FreeBusyResponseGroups+freeBusyResponseGroups pFbrgAddtional_ =+ FreeBusyResponseGroups+ { _fbrgAddtional = _Coerce # pFbrgAddtional_+ }++-- | List of calendars that are members of this group.+fbrgAddtional :: Lens' FreeBusyResponseGroups (HashMap Text FreeBusyGroup)+fbrgAddtional+ = lens _fbrgAddtional+ (\ s a -> s{_fbrgAddtional = a})+ . _Coerce++instance FromJSON FreeBusyResponseGroups where+ parseJSON+ = withObject "FreeBusyResponseGroups"+ (\ o ->+ FreeBusyResponseGroups <$> (parseJSONObject o))++instance ToJSON FreeBusyResponseGroups where+ toJSON = toJSON . _fbrgAddtional++-- | Information about the event\'s reminders for the authenticated user.+--+-- /See:/ 'eventReminders' smart constructor.+data EventReminders = EventReminders+ { _erOverrides :: !(Maybe [EventReminder])+ , _erUseDefault :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventReminders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'erOverrides'+--+-- * 'erUseDefault'+eventReminders+ :: EventReminders+eventReminders =+ EventReminders+ { _erOverrides = Nothing+ , _erUseDefault = Nothing+ }++-- | 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. The maximum number of override+-- reminders is 5.+erOverrides :: Lens' EventReminders [EventReminder]+erOverrides+ = lens _erOverrides (\ s a -> s{_erOverrides = a}) .+ _Default+ . _Coerce++-- | Whether the default reminders of the calendar apply to the event.+erUseDefault :: Lens' EventReminders (Maybe Bool)+erUseDefault+ = lens _erUseDefault (\ s a -> s{_erUseDefault = a})++instance FromJSON EventReminders where+ parseJSON+ = withObject "EventReminders"+ (\ o ->+ EventReminders <$>+ (o .:? "overrides" .!= mempty) <*>+ (o .:? "useDefault"))++instance ToJSON EventReminders where+ toJSON EventReminders{..}+ = object+ (catMaybes+ [("overrides" .=) <$> _erOverrides,+ ("useDefault" .=) <$> _erUseDefault])++-- | A global 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.+--+-- /See:/ 'colorsCalendar' smart constructor.+newtype ColorsCalendar = ColorsCalendar+ { _ccAddtional :: HashMap Text ColorDefinition+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColorsCalendar' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccAddtional'+colorsCalendar+ :: HashMap Text ColorDefinition -- ^ 'ccAddtional'+ -> ColorsCalendar+colorsCalendar pCcAddtional_ =+ ColorsCalendar+ { _ccAddtional = _Coerce # pCcAddtional_+ }++-- | A calendar color defintion.+ccAddtional :: Lens' ColorsCalendar (HashMap Text ColorDefinition)+ccAddtional+ = lens _ccAddtional (\ s a -> s{_ccAddtional = a}) .+ _Coerce++instance FromJSON ColorsCalendar where+ parseJSON+ = withObject "ColorsCalendar"+ (\ o -> ColorsCalendar <$> (parseJSONObject o))++instance ToJSON ColorsCalendar where+ toJSON = toJSON . _ccAddtional++--+-- /See:/ 'calendarNotification' smart constructor.+data CalendarNotification = CalendarNotification+ { _cnMethod :: !(Maybe Text)+ , _cnType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarNotification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnMethod'+--+-- * 'cnType'+calendarNotification+ :: CalendarNotification+calendarNotification =+ CalendarNotification+ { _cnMethod = Nothing+ , _cnType = Nothing+ }++-- | 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.+-- SMS reminders are only available for Google Apps for Work, Education,+-- and Government customers.+cnMethod :: Lens' CalendarNotification (Maybe Text)+cnMethod = lens _cnMethod (\ s a -> s{_cnMethod = a})++-- | 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).+cnType :: Lens' CalendarNotification (Maybe Text)+cnType = lens _cnType (\ s a -> s{_cnType = a})++instance FromJSON CalendarNotification where+ parseJSON+ = withObject "CalendarNotification"+ (\ o ->+ CalendarNotification <$>+ (o .:? "method") <*> (o .:? "type"))++instance ToJSON CalendarNotification where+ toJSON CalendarNotification{..}+ = object+ (catMaybes+ [("method" .=) <$> _cnMethod,+ ("type" .=) <$> _cnType])++-- | Properties that are private to the copy of the event that appears on+-- this calendar.+--+-- /See:/ 'eventExtendedPropertiesPrivate' smart constructor.+newtype EventExtendedPropertiesPrivate = EventExtendedPropertiesPrivate+ { _eeppAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventExtendedPropertiesPrivate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eeppAddtional'+eventExtendedPropertiesPrivate+ :: HashMap Text Text -- ^ 'eeppAddtional'+ -> EventExtendedPropertiesPrivate+eventExtendedPropertiesPrivate pEeppAddtional_ =+ EventExtendedPropertiesPrivate+ { _eeppAddtional = _Coerce # pEeppAddtional_+ }++-- | The name of the private property and the corresponding value.+eeppAddtional :: Lens' EventExtendedPropertiesPrivate (HashMap Text Text)+eeppAddtional+ = lens _eeppAddtional+ (\ s a -> s{_eeppAddtional = a})+ . _Coerce++instance FromJSON EventExtendedPropertiesPrivate+ where+ parseJSON+ = withObject "EventExtendedPropertiesPrivate"+ (\ o ->+ EventExtendedPropertiesPrivate <$>+ (parseJSONObject o))++instance ToJSON EventExtendedPropertiesPrivate where+ toJSON = toJSON . _eeppAddtional++-- | Additional parameters controlling delivery channel behavior. Optional.+--+-- /See:/ 'channelParams' smart constructor.+newtype ChannelParams = ChannelParams+ { _cpAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChannelParams' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpAddtional'+channelParams+ :: HashMap Text Text -- ^ 'cpAddtional'+ -> ChannelParams+channelParams pCpAddtional_ =+ ChannelParams+ { _cpAddtional = _Coerce # pCpAddtional_+ }++-- | Declares a new parameter by name.+cpAddtional :: Lens' ChannelParams (HashMap Text Text)+cpAddtional+ = lens _cpAddtional (\ s a -> s{_cpAddtional = a}) .+ _Coerce++instance FromJSON ChannelParams where+ parseJSON+ = withObject "ChannelParams"+ (\ o -> ChannelParams <$> (parseJSONObject o))++instance ToJSON ChannelParams where+ toJSON = toJSON . _cpAddtional++--+-- /See:/ 'events' smart constructor.+data Events = Events+ { _eveSummary :: !(Maybe Text)+ , _eveEtag :: !(Maybe Text)+ , _eveNextPageToken :: !(Maybe Text)+ , _eveKind :: !Text+ , _eveItems :: !(Maybe [Event])+ , _eveDefaultReminders :: !(Maybe [EventReminder])+ , _eveUpdated :: !(Maybe DateTime')+ , _eveAccessRole :: !(Maybe Text)+ , _eveTimeZone :: !(Maybe Text)+ , _eveNextSyncToken :: !(Maybe Text)+ , _eveDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Events' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eveSummary'+--+-- * 'eveEtag'+--+-- * 'eveNextPageToken'+--+-- * 'eveKind'+--+-- * 'eveItems'+--+-- * 'eveDefaultReminders'+--+-- * 'eveUpdated'+--+-- * 'eveAccessRole'+--+-- * 'eveTimeZone'+--+-- * 'eveNextSyncToken'+--+-- * 'eveDescription'+events+ :: Events+events =+ Events+ { _eveSummary = Nothing+ , _eveEtag = Nothing+ , _eveNextPageToken = Nothing+ , _eveKind = "calendar#events"+ , _eveItems = Nothing+ , _eveDefaultReminders = Nothing+ , _eveUpdated = Nothing+ , _eveAccessRole = Nothing+ , _eveTimeZone = Nothing+ , _eveNextSyncToken = Nothing+ , _eveDescription = Nothing+ }++-- | Title of the calendar. Read-only.+eveSummary :: Lens' Events (Maybe Text)+eveSummary+ = lens _eveSummary (\ s a -> s{_eveSummary = a})++-- | ETag of the collection.+eveEtag :: Lens' Events (Maybe Text)+eveEtag = lens _eveEtag (\ s a -> s{_eveEtag = a})++-- | Token used to access the next page of this result. Omitted if no further+-- results are available, in which case nextSyncToken is provided.+eveNextPageToken :: Lens' Events (Maybe Text)+eveNextPageToken+ = lens _eveNextPageToken+ (\ s a -> s{_eveNextPageToken = a})++-- | Type of the collection (\"calendar#events\").+eveKind :: Lens' Events Text+eveKind = lens _eveKind (\ s a -> s{_eveKind = a})++-- | List of events on the calendar.+eveItems :: Lens' Events [Event]+eveItems+ = lens _eveItems (\ s a -> s{_eveItems = a}) .+ _Default+ . _Coerce++-- | 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).+eveDefaultReminders :: Lens' Events [EventReminder]+eveDefaultReminders+ = lens _eveDefaultReminders+ (\ s a -> s{_eveDefaultReminders = a})+ . _Default+ . _Coerce++-- | Last modification time of the calendar (as a RFC3339 timestamp).+-- Read-only.+eveUpdated :: Lens' Events (Maybe UTCTime)+eveUpdated+ = lens _eveUpdated (\ s a -> s{_eveUpdated = a}) .+ mapping _DateTime++-- | 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.+eveAccessRole :: Lens' Events (Maybe Text)+eveAccessRole+ = lens _eveAccessRole+ (\ s a -> s{_eveAccessRole = a})++-- | The time zone of the calendar. Read-only.+eveTimeZone :: Lens' Events (Maybe Text)+eveTimeZone+ = lens _eveTimeZone (\ s a -> s{_eveTimeZone = a})++-- | 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.+eveNextSyncToken :: Lens' Events (Maybe Text)+eveNextSyncToken+ = lens _eveNextSyncToken+ (\ s a -> s{_eveNextSyncToken = a})++-- | Description of the calendar. Read-only.+eveDescription :: Lens' Events (Maybe Text)+eveDescription+ = lens _eveDescription+ (\ s a -> s{_eveDescription = a})++instance FromJSON Events where+ parseJSON+ = withObject "Events"+ (\ o ->+ Events <$>+ (o .:? "summary") <*> (o .:? "etag") <*>+ (o .:? "nextPageToken")+ <*> (o .:? "kind" .!= "calendar#events")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "defaultReminders" .!= mempty)+ <*> (o .:? "updated")+ <*> (o .:? "accessRole")+ <*> (o .:? "timeZone")+ <*> (o .:? "nextSyncToken")+ <*> (o .:? "description"))++instance ToJSON Events where+ toJSON Events{..}+ = object+ (catMaybes+ [("summary" .=) <$> _eveSummary,+ ("etag" .=) <$> _eveEtag,+ ("nextPageToken" .=) <$> _eveNextPageToken,+ Just ("kind" .= _eveKind),+ ("items" .=) <$> _eveItems,+ ("defaultReminders" .=) <$> _eveDefaultReminders,+ ("updated" .=) <$> _eveUpdated,+ ("accessRole" .=) <$> _eveAccessRole,+ ("timeZone" .=) <$> _eveTimeZone,+ ("nextSyncToken" .=) <$> _eveNextSyncToken,+ ("description" .=) <$> _eveDescription])++--+-- /See:/ 'eventAttendee' smart constructor.+data EventAttendee = EventAttendee+ { _eaEmail :: !(Maybe Text)+ , _eaResponseStatus :: !(Maybe Text)+ , _eaSelf :: !Bool+ , _eaResource :: !Bool+ , _eaAdditionalGuests :: !(Textual Int32)+ , _eaDisplayName :: !(Maybe Text)+ , _eaId :: !(Maybe Text)+ , _eaComment :: !(Maybe Text)+ , _eaOptional :: !Bool+ , _eaOrganizer :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventAttendee' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eaEmail'+--+-- * 'eaResponseStatus'+--+-- * 'eaSelf'+--+-- * 'eaResource'+--+-- * 'eaAdditionalGuests'+--+-- * 'eaDisplayName'+--+-- * 'eaId'+--+-- * 'eaComment'+--+-- * 'eaOptional'+--+-- * 'eaOrganizer'+eventAttendee+ :: EventAttendee+eventAttendee =+ EventAttendee+ { _eaEmail = Nothing+ , _eaResponseStatus = Nothing+ , _eaSelf = False+ , _eaResource = False+ , _eaAdditionalGuests = 0+ , _eaDisplayName = Nothing+ , _eaId = Nothing+ , _eaComment = Nothing+ , _eaOptional = False+ , _eaOrganizer = Nothing+ }++-- | The attendee\'s email address, if available. This field must be present+-- when adding an attendee. It must be a valid email address as per+-- RFC5322.+eaEmail :: Lens' EventAttendee (Maybe Text)+eaEmail = lens _eaEmail (\ s a -> s{_eaEmail = a})++-- | 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.+eaResponseStatus :: Lens' EventAttendee (Maybe Text)+eaResponseStatus+ = lens _eaResponseStatus+ (\ s a -> s{_eaResponseStatus = a})++-- | Whether this entry represents the calendar on which this copy of the+-- event appears. Read-only. The default is False.+eaSelf :: Lens' EventAttendee Bool+eaSelf = lens _eaSelf (\ s a -> s{_eaSelf = a})++-- | Whether the attendee is a resource. Read-only. The default is False.+eaResource :: Lens' EventAttendee Bool+eaResource+ = lens _eaResource (\ s a -> s{_eaResource = a})++-- | Number of additional guests. Optional. The default is 0.+eaAdditionalGuests :: Lens' EventAttendee Int32+eaAdditionalGuests+ = lens _eaAdditionalGuests+ (\ s a -> s{_eaAdditionalGuests = a})+ . _Coerce++-- | The attendee\'s name, if available. Optional.+eaDisplayName :: Lens' EventAttendee (Maybe Text)+eaDisplayName+ = lens _eaDisplayName+ (\ s a -> s{_eaDisplayName = a})++-- | The attendee\'s Profile ID, if available. It corresponds to theid field+-- in the People collection of the Google+ API+eaId :: Lens' EventAttendee (Maybe Text)+eaId = lens _eaId (\ s a -> s{_eaId = a})++-- | The attendee\'s response comment. Optional.+eaComment :: Lens' EventAttendee (Maybe Text)+eaComment+ = lens _eaComment (\ s a -> s{_eaComment = a})++-- | Whether this is an optional attendee. Optional. The default is False.+eaOptional :: Lens' EventAttendee Bool+eaOptional+ = lens _eaOptional (\ s a -> s{_eaOptional = a})++-- | Whether the attendee is the organizer of the event. Read-only. The+-- default is False.+eaOrganizer :: Lens' EventAttendee (Maybe Bool)+eaOrganizer+ = lens _eaOrganizer (\ s a -> s{_eaOrganizer = a})++instance FromJSON EventAttendee where+ parseJSON+ = withObject "EventAttendee"+ (\ o ->+ EventAttendee <$>+ (o .:? "email") <*> (o .:? "responseStatus") <*>+ (o .:? "self" .!= False)+ <*> (o .:? "resource" .!= False)+ <*> (o .:? "additionalGuests" .!= 0)+ <*> (o .:? "displayName")+ <*> (o .:? "id")+ <*> (o .:? "comment")+ <*> (o .:? "optional" .!= False)+ <*> (o .:? "organizer"))++instance ToJSON EventAttendee where+ toJSON EventAttendee{..}+ = object+ (catMaybes+ [("email" .=) <$> _eaEmail,+ ("responseStatus" .=) <$> _eaResponseStatus,+ Just ("self" .= _eaSelf),+ Just ("resource" .= _eaResource),+ Just ("additionalGuests" .= _eaAdditionalGuests),+ ("displayName" .=) <$> _eaDisplayName,+ ("id" .=) <$> _eaId, ("comment" .=) <$> _eaComment,+ Just ("optional" .= _eaOptional),+ ("organizer" .=) <$> _eaOrganizer])++--+-- /See:/ 'calendar' smart constructor.+data Calendar = Calendar+ { _calSummary :: !(Maybe Text)+ , _calEtag :: !(Maybe Text)+ , _calLocation :: !(Maybe Text)+ , _calKind :: !Text+ , _calId :: !(Maybe Text)+ , _calTimeZone :: !(Maybe Text)+ , _calDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Calendar' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'calSummary'+--+-- * 'calEtag'+--+-- * 'calLocation'+--+-- * 'calKind'+--+-- * 'calId'+--+-- * 'calTimeZone'+--+-- * 'calDescription'+calendar+ :: Calendar+calendar =+ Calendar+ { _calSummary = Nothing+ , _calEtag = Nothing+ , _calLocation = Nothing+ , _calKind = "calendar#calendar"+ , _calId = Nothing+ , _calTimeZone = Nothing+ , _calDescription = Nothing+ }++-- | Title of the calendar.+calSummary :: Lens' Calendar (Maybe Text)+calSummary+ = lens _calSummary (\ s a -> s{_calSummary = a})++-- | ETag of the resource.+calEtag :: Lens' Calendar (Maybe Text)+calEtag = lens _calEtag (\ s a -> s{_calEtag = a})++-- | Geographic location of the calendar as free-form text. Optional.+calLocation :: Lens' Calendar (Maybe Text)+calLocation+ = lens _calLocation (\ s a -> s{_calLocation = a})++-- | Type of the resource (\"calendar#calendar\").+calKind :: Lens' Calendar Text+calKind = lens _calKind (\ s a -> s{_calKind = a})++-- | Identifier of the calendar. To retrieve IDs call the calendarList.list()+-- method.+calId :: Lens' Calendar (Maybe Text)+calId = lens _calId (\ s a -> s{_calId = a})++-- | The time zone of the calendar. (Formatted as an IANA Time Zone Database+-- name, e.g. \"Europe\/Zurich\".) Optional.+calTimeZone :: Lens' Calendar (Maybe Text)+calTimeZone+ = lens _calTimeZone (\ s a -> s{_calTimeZone = a})++-- | Description of the calendar. Optional.+calDescription :: Lens' Calendar (Maybe Text)+calDescription+ = lens _calDescription+ (\ s a -> s{_calDescription = a})++instance FromJSON Calendar where+ parseJSON+ = withObject "Calendar"+ (\ o ->+ Calendar <$>+ (o .:? "summary") <*> (o .:? "etag") <*>+ (o .:? "location")+ <*> (o .:? "kind" .!= "calendar#calendar")+ <*> (o .:? "id")+ <*> (o .:? "timeZone")+ <*> (o .:? "description"))++instance ToJSON Calendar where+ toJSON Calendar{..}+ = object+ (catMaybes+ [("summary" .=) <$> _calSummary,+ ("etag" .=) <$> _calEtag,+ ("location" .=) <$> _calLocation,+ Just ("kind" .= _calKind), ("id" .=) <$> _calId,+ ("timeZone" .=) <$> _calTimeZone,+ ("description" .=) <$> _calDescription])++--+-- /See:/ 'freeBusyResponse' smart constructor.+data FreeBusyResponse = FreeBusyResponse+ { _fbrGroups :: !(Maybe FreeBusyResponseGroups)+ , _fbrTimeMin :: !(Maybe DateTime')+ , _fbrKind :: !Text+ , _fbrCalendars :: !(Maybe FreeBusyResponseCalendars)+ , _fbrTimeMax :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbrGroups'+--+-- * 'fbrTimeMin'+--+-- * 'fbrKind'+--+-- * 'fbrCalendars'+--+-- * 'fbrTimeMax'+freeBusyResponse+ :: FreeBusyResponse+freeBusyResponse =+ FreeBusyResponse+ { _fbrGroups = Nothing+ , _fbrTimeMin = Nothing+ , _fbrKind = "calendar#freeBusy"+ , _fbrCalendars = Nothing+ , _fbrTimeMax = Nothing+ }++-- | Expansion of groups.+fbrGroups :: Lens' FreeBusyResponse (Maybe FreeBusyResponseGroups)+fbrGroups+ = lens _fbrGroups (\ s a -> s{_fbrGroups = a})++-- | The start of the interval.+fbrTimeMin :: Lens' FreeBusyResponse (Maybe UTCTime)+fbrTimeMin+ = lens _fbrTimeMin (\ s a -> s{_fbrTimeMin = a}) .+ mapping _DateTime++-- | Type of the resource (\"calendar#freeBusy\").+fbrKind :: Lens' FreeBusyResponse Text+fbrKind = lens _fbrKind (\ s a -> s{_fbrKind = a})++-- | List of free\/busy information for calendars.+fbrCalendars :: Lens' FreeBusyResponse (Maybe FreeBusyResponseCalendars)+fbrCalendars+ = lens _fbrCalendars (\ s a -> s{_fbrCalendars = a})++-- | The end of the interval.+fbrTimeMax :: Lens' FreeBusyResponse (Maybe UTCTime)+fbrTimeMax+ = lens _fbrTimeMax (\ s a -> s{_fbrTimeMax = a}) .+ mapping _DateTime++instance FromJSON FreeBusyResponse where+ parseJSON+ = withObject "FreeBusyResponse"+ (\ o ->+ FreeBusyResponse <$>+ (o .:? "groups") <*> (o .:? "timeMin") <*>+ (o .:? "kind" .!= "calendar#freeBusy")+ <*> (o .:? "calendars")+ <*> (o .:? "timeMax"))++instance ToJSON FreeBusyResponse where+ toJSON FreeBusyResponse{..}+ = object+ (catMaybes+ [("groups" .=) <$> _fbrGroups,+ ("timeMin" .=) <$> _fbrTimeMin,+ Just ("kind" .= _fbrKind),+ ("calendars" .=) <$> _fbrCalendars,+ ("timeMax" .=) <$> _fbrTimeMax])++--+-- /See:/ 'eventReminder' smart constructor.+data EventReminder = EventReminder+ { _erMethod :: !(Maybe Text)+ , _erMinutes :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventReminder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'erMethod'+--+-- * 'erMinutes'+eventReminder+ :: EventReminder+eventReminder =+ EventReminder+ { _erMethod = Nothing+ , _erMinutes = Nothing+ }++-- | The method used by this reminder. Possible values are: - \"email\" -+-- Reminders are sent via email. - \"sms\" - Reminders are sent via SMS.+-- These are only available for Google Apps for Work, Education, and+-- Government customers. Requests to set SMS reminders for other account+-- types are ignored. - \"popup\" - Reminders are sent via a UI popup.+erMethod :: Lens' EventReminder (Maybe Text)+erMethod = lens _erMethod (\ s a -> s{_erMethod = a})++-- | Number of minutes before the start of the event when the reminder should+-- trigger. Valid values are between 0 and 40320 (4 weeks in minutes).+erMinutes :: Lens' EventReminder (Maybe Int32)+erMinutes+ = lens _erMinutes (\ s a -> s{_erMinutes = a}) .+ mapping _Coerce++instance FromJSON EventReminder where+ parseJSON+ = withObject "EventReminder"+ (\ o ->+ EventReminder <$>+ (o .:? "method") <*> (o .:? "minutes"))++instance ToJSON EventReminder where+ toJSON EventReminder{..}+ = object+ (catMaybes+ [("method" .=) <$> _erMethod,+ ("minutes" .=) <$> _erMinutes])++-- | Extended properties of the event.+--+-- /See:/ 'eventExtendedProperties' smart constructor.+data EventExtendedProperties = EventExtendedProperties+ { _eepPrivate :: !(Maybe EventExtendedPropertiesPrivate)+ , _eepShared :: !(Maybe EventExtendedPropertiesShared)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventExtendedProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eepPrivate'+--+-- * 'eepShared'+eventExtendedProperties+ :: EventExtendedProperties+eventExtendedProperties =+ EventExtendedProperties+ { _eepPrivate = Nothing+ , _eepShared = Nothing+ }++-- | Properties that are private to the copy of the event that appears on+-- this calendar.+eepPrivate :: Lens' EventExtendedProperties (Maybe EventExtendedPropertiesPrivate)+eepPrivate+ = lens _eepPrivate (\ s a -> s{_eepPrivate = a})++-- | Properties that are shared between copies of the event on other+-- attendees\' calendars.+eepShared :: Lens' EventExtendedProperties (Maybe EventExtendedPropertiesShared)+eepShared+ = lens _eepShared (\ s a -> s{_eepShared = a})++instance FromJSON EventExtendedProperties where+ parseJSON+ = withObject "EventExtendedProperties"+ (\ o ->+ EventExtendedProperties <$>+ (o .:? "private") <*> (o .:? "shared"))++instance ToJSON EventExtendedProperties where+ toJSON EventExtendedProperties{..}+ = object+ (catMaybes+ [("private" .=) <$> _eepPrivate,+ ("shared" .=) <$> _eepShared])++--+-- /See:/ 'eventDateTime' smart constructor.+data EventDateTime = EventDateTime+ { _edtDate :: !(Maybe Date')+ , _edtTimeZone :: !(Maybe Text)+ , _edtDateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventDateTime' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edtDate'+--+-- * 'edtTimeZone'+--+-- * 'edtDateTime'+eventDateTime+ :: EventDateTime+eventDateTime =+ EventDateTime+ { _edtDate = Nothing+ , _edtTimeZone = Nothing+ , _edtDateTime = Nothing+ }++-- | The date, in the format \"yyyy-mm-dd\", if this is an all-day event.+edtDate :: Lens' EventDateTime (Maybe Day)+edtDate+ = lens _edtDate (\ s a -> s{_edtDate = a}) .+ mapping _Date++-- | The time zone in which the time is specified. (Formatted as an IANA Time+-- Zone Database name, e.g. \"Europe\/Zurich\".) For recurring events this+-- field is required and specifies the time zone in which the recurrence is+-- expanded. For single events this field is optional and indicates a+-- custom time zone for the event start\/end.+edtTimeZone :: Lens' EventDateTime (Maybe Text)+edtTimeZone+ = lens _edtTimeZone (\ s a -> s{_edtTimeZone = a})++-- | The time, as a combined date-time value (formatted according to+-- RFC3339). A time zone offset is required unless a time zone is+-- explicitly specified in timeZone.+edtDateTime :: Lens' EventDateTime (Maybe UTCTime)+edtDateTime+ = lens _edtDateTime (\ s a -> s{_edtDateTime = a}) .+ mapping _DateTime++instance FromJSON EventDateTime where+ parseJSON+ = withObject "EventDateTime"+ (\ o ->+ EventDateTime <$>+ (o .:? "date") <*> (o .:? "timeZone") <*>+ (o .:? "dateTime"))++instance ToJSON EventDateTime where+ toJSON EventDateTime{..}+ = object+ (catMaybes+ [("date" .=) <$> _edtDate,+ ("timeZone" .=) <$> _edtTimeZone,+ ("dateTime" .=) <$> _edtDateTime])++-- | 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.+--+-- /See:/ 'eventOrganizer' smart constructor.+data EventOrganizer = EventOrganizer+ { _eoEmail :: !(Maybe Text)+ , _eoSelf :: !Bool+ , _eoDisplayName :: !(Maybe Text)+ , _eoId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventOrganizer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eoEmail'+--+-- * 'eoSelf'+--+-- * 'eoDisplayName'+--+-- * 'eoId'+eventOrganizer+ :: EventOrganizer+eventOrganizer =+ EventOrganizer+ { _eoEmail = Nothing+ , _eoSelf = False+ , _eoDisplayName = Nothing+ , _eoId = Nothing+ }++-- | The organizer\'s email address, if available. It must be a valid email+-- address as per RFC5322.+eoEmail :: Lens' EventOrganizer (Maybe Text)+eoEmail = lens _eoEmail (\ s a -> s{_eoEmail = a})++-- | Whether the organizer corresponds to the calendar on which this copy of+-- the event appears. Read-only. The default is False.+eoSelf :: Lens' EventOrganizer Bool+eoSelf = lens _eoSelf (\ s a -> s{_eoSelf = a})++-- | The organizer\'s name, if available.+eoDisplayName :: Lens' EventOrganizer (Maybe Text)+eoDisplayName+ = lens _eoDisplayName+ (\ s a -> s{_eoDisplayName = a})++-- | The organizer\'s Profile ID, if available. It corresponds to theid field+-- in the People collection of the Google+ API+eoId :: Lens' EventOrganizer (Maybe Text)+eoId = lens _eoId (\ s a -> s{_eoId = a})++instance FromJSON EventOrganizer where+ parseJSON+ = withObject "EventOrganizer"+ (\ o ->+ EventOrganizer <$>+ (o .:? "email") <*> (o .:? "self" .!= False) <*>+ (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON EventOrganizer where+ toJSON EventOrganizer{..}+ = object+ (catMaybes+ [("email" .=) <$> _eoEmail, Just ("self" .= _eoSelf),+ ("displayName" .=) <$> _eoDisplayName,+ ("id" .=) <$> _eoId])++--+-- /See:/ 'calendarList' smart constructor.+data CalendarList = CalendarList+ { _clEtag :: !(Maybe Text)+ , _clNextPageToken :: !(Maybe Text)+ , _clKind :: !Text+ , _clItems :: !(Maybe [CalendarListEntry])+ , _clNextSyncToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clEtag'+--+-- * 'clNextPageToken'+--+-- * 'clKind'+--+-- * 'clItems'+--+-- * 'clNextSyncToken'+calendarList+ :: CalendarList+calendarList =+ CalendarList+ { _clEtag = Nothing+ , _clNextPageToken = Nothing+ , _clKind = "calendar#calendarList"+ , _clItems = Nothing+ , _clNextSyncToken = Nothing+ }++-- | ETag of the collection.+clEtag :: Lens' CalendarList (Maybe Text)+clEtag = lens _clEtag (\ s a -> s{_clEtag = a})++-- | Token used to access the next page of this result. Omitted if no further+-- results are available, in which case nextSyncToken is provided.+clNextPageToken :: Lens' CalendarList (Maybe Text)+clNextPageToken+ = lens _clNextPageToken+ (\ s a -> s{_clNextPageToken = a})++-- | Type of the collection (\"calendar#calendarList\").+clKind :: Lens' CalendarList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++-- | Calendars that are present on the user\'s calendar list.+clItems :: Lens' CalendarList [CalendarListEntry]+clItems+ = lens _clItems (\ s a -> s{_clItems = a}) . _Default+ . _Coerce++-- | 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.+clNextSyncToken :: Lens' CalendarList (Maybe Text)+clNextSyncToken+ = lens _clNextSyncToken+ (\ s a -> s{_clNextSyncToken = a})++instance FromJSON CalendarList where+ parseJSON+ = withObject "CalendarList"+ (\ o ->+ CalendarList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "calendar#calendarList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "nextSyncToken"))++instance ToJSON CalendarList where+ toJSON CalendarList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _clEtag,+ ("nextPageToken" .=) <$> _clNextPageToken,+ Just ("kind" .= _clKind), ("items" .=) <$> _clItems,+ ("nextSyncToken" .=) <$> _clNextSyncToken])++-- | A gadget that extends this event.+--+-- /See:/ 'eventGadget' smart constructor.+data EventGadget = EventGadget+ { _egHeight :: !(Maybe (Textual Int32))+ , _egDisplay :: !(Maybe Text)+ , _egPreferences :: !(Maybe EventGadgetPreferences)+ , _egLink :: !(Maybe Text)+ , _egIconLink :: !(Maybe Text)+ , _egWidth :: !(Maybe (Textual Int32))+ , _egTitle :: !(Maybe Text)+ , _egType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventGadget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egHeight'+--+-- * 'egDisplay'+--+-- * 'egPreferences'+--+-- * 'egLink'+--+-- * 'egIconLink'+--+-- * 'egWidth'+--+-- * 'egTitle'+--+-- * 'egType'+eventGadget+ :: EventGadget+eventGadget =+ EventGadget+ { _egHeight = Nothing+ , _egDisplay = Nothing+ , _egPreferences = Nothing+ , _egLink = Nothing+ , _egIconLink = Nothing+ , _egWidth = Nothing+ , _egTitle = Nothing+ , _egType = Nothing+ }++-- | The gadget\'s height in pixels. The height must be an integer greater+-- than 0. Optional.+egHeight :: Lens' EventGadget (Maybe Int32)+egHeight+ = lens _egHeight (\ s a -> s{_egHeight = a}) .+ mapping _Coerce++-- | 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.+egDisplay :: Lens' EventGadget (Maybe Text)+egDisplay+ = lens _egDisplay (\ s a -> s{_egDisplay = a})++-- | Preferences.+egPreferences :: Lens' EventGadget (Maybe EventGadgetPreferences)+egPreferences+ = lens _egPreferences+ (\ s a -> s{_egPreferences = a})++-- | The gadget\'s URL. The URL scheme must be HTTPS.+egLink :: Lens' EventGadget (Maybe Text)+egLink = lens _egLink (\ s a -> s{_egLink = a})++-- | The gadget\'s icon URL. The URL scheme must be HTTPS.+egIconLink :: Lens' EventGadget (Maybe Text)+egIconLink+ = lens _egIconLink (\ s a -> s{_egIconLink = a})++-- | The gadget\'s width in pixels. The width must be an integer greater than+-- 0. Optional.+egWidth :: Lens' EventGadget (Maybe Int32)+egWidth+ = lens _egWidth (\ s a -> s{_egWidth = a}) .+ mapping _Coerce++-- | The gadget\'s title.+egTitle :: Lens' EventGadget (Maybe Text)+egTitle = lens _egTitle (\ s a -> s{_egTitle = a})++-- | The gadget\'s type.+egType :: Lens' EventGadget (Maybe Text)+egType = lens _egType (\ s a -> s{_egType = a})++instance FromJSON EventGadget where+ parseJSON+ = withObject "EventGadget"+ (\ o ->+ EventGadget <$>+ (o .:? "height") <*> (o .:? "display") <*>+ (o .:? "preferences")+ <*> (o .:? "link")+ <*> (o .:? "iconLink")+ <*> (o .:? "width")+ <*> (o .:? "title")+ <*> (o .:? "type"))++instance ToJSON EventGadget where+ toJSON EventGadget{..}+ = object+ (catMaybes+ [("height" .=) <$> _egHeight,+ ("display" .=) <$> _egDisplay,+ ("preferences" .=) <$> _egPreferences,+ ("link" .=) <$> _egLink,+ ("iconLink" .=) <$> _egIconLink,+ ("width" .=) <$> _egWidth, ("title" .=) <$> _egTitle,+ ("type" .=) <$> _egType])++-- | Preferences.+--+-- /See:/ 'eventGadgetPreferences' smart constructor.+newtype EventGadgetPreferences = EventGadgetPreferences+ { _egpAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventGadgetPreferences' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egpAddtional'+eventGadgetPreferences+ :: HashMap Text Text -- ^ 'egpAddtional'+ -> EventGadgetPreferences+eventGadgetPreferences pEgpAddtional_ =+ EventGadgetPreferences+ { _egpAddtional = _Coerce # pEgpAddtional_+ }++-- | The preference name and corresponding value.+egpAddtional :: Lens' EventGadgetPreferences (HashMap Text Text)+egpAddtional+ = lens _egpAddtional (\ s a -> s{_egpAddtional = a})+ . _Coerce++instance FromJSON EventGadgetPreferences where+ parseJSON+ = withObject "EventGadgetPreferences"+ (\ o ->+ EventGadgetPreferences <$> (parseJSONObject o))++instance ToJSON EventGadgetPreferences where+ toJSON = toJSON . _egpAddtional++--+-- /See:/ 'freeBusyRequest' smart constructor.+data FreeBusyRequest = FreeBusyRequest+ { _fCalendarExpansionMax :: !(Maybe (Textual Int32))+ , _fTimeMin :: !(Maybe DateTime')+ , _fItems :: !(Maybe [FreeBusyRequestItem])+ , _fGroupExpansionMax :: !(Maybe (Textual Int32))+ , _fTimeZone :: !Text+ , _fTimeMax :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fCalendarExpansionMax'+--+-- * 'fTimeMin'+--+-- * 'fItems'+--+-- * 'fGroupExpansionMax'+--+-- * 'fTimeZone'+--+-- * 'fTimeMax'+freeBusyRequest+ :: FreeBusyRequest+freeBusyRequest =+ FreeBusyRequest+ { _fCalendarExpansionMax = Nothing+ , _fTimeMin = Nothing+ , _fItems = Nothing+ , _fGroupExpansionMax = Nothing+ , _fTimeZone = "UTC"+ , _fTimeMax = Nothing+ }++-- | Maximal number of calendars for which FreeBusy information is to be+-- provided. Optional.+fCalendarExpansionMax :: Lens' FreeBusyRequest (Maybe Int32)+fCalendarExpansionMax+ = lens _fCalendarExpansionMax+ (\ s a -> s{_fCalendarExpansionMax = a})+ . mapping _Coerce++-- | The start of the interval for the query.+fTimeMin :: Lens' FreeBusyRequest (Maybe UTCTime)+fTimeMin+ = lens _fTimeMin (\ s a -> s{_fTimeMin = a}) .+ mapping _DateTime++-- | List of calendars and\/or groups to query.+fItems :: Lens' FreeBusyRequest [FreeBusyRequestItem]+fItems+ = lens _fItems (\ s a -> s{_fItems = a}) . _Default .+ _Coerce++-- | 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.+fGroupExpansionMax :: Lens' FreeBusyRequest (Maybe Int32)+fGroupExpansionMax+ = lens _fGroupExpansionMax+ (\ s a -> s{_fGroupExpansionMax = a})+ . mapping _Coerce++-- | Time zone used in the response. Optional. The default is UTC.+fTimeZone :: Lens' FreeBusyRequest Text+fTimeZone+ = lens _fTimeZone (\ s a -> s{_fTimeZone = a})++-- | The end of the interval for the query.+fTimeMax :: Lens' FreeBusyRequest (Maybe UTCTime)+fTimeMax+ = lens _fTimeMax (\ s a -> s{_fTimeMax = a}) .+ mapping _DateTime++instance FromJSON FreeBusyRequest where+ parseJSON+ = withObject "FreeBusyRequest"+ (\ o ->+ FreeBusyRequest <$>+ (o .:? "calendarExpansionMax") <*> (o .:? "timeMin")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "groupExpansionMax")+ <*> (o .:? "timeZone" .!= "UTC")+ <*> (o .:? "timeMax"))++instance ToJSON FreeBusyRequest where+ toJSON FreeBusyRequest{..}+ = object+ (catMaybes+ [("calendarExpansionMax" .=) <$>+ _fCalendarExpansionMax,+ ("timeMin" .=) <$> _fTimeMin,+ ("items" .=) <$> _fItems,+ ("groupExpansionMax" .=) <$> _fGroupExpansionMax,+ Just ("timeZone" .= _fTimeZone),+ ("timeMax" .=) <$> _fTimeMax])++--+-- /See:/ 'aclRule' smart constructor.+data ACLRule = ACLRule+ { _arEtag :: !(Maybe Text)+ , _arKind :: !Text+ , _arRole :: !(Maybe Text)+ , _arScope :: !(Maybe ACLRuleScope)+ , _arId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arEtag'+--+-- * 'arKind'+--+-- * 'arRole'+--+-- * 'arScope'+--+-- * 'arId'+aclRule+ :: ACLRule+aclRule =+ ACLRule+ { _arEtag = Nothing+ , _arKind = "calendar#aclRule"+ , _arRole = Nothing+ , _arScope = Nothing+ , _arId = Nothing+ }++-- | ETag of the resource.+arEtag :: Lens' ACLRule (Maybe Text)+arEtag = lens _arEtag (\ s a -> s{_arEtag = a})++-- | Type of the resource (\"calendar#aclRule\").+arKind :: Lens' ACLRule Text+arKind = lens _arKind (\ s a -> s{_arKind = a})++-- | 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.+arRole :: Lens' ACLRule (Maybe Text)+arRole = lens _arRole (\ s a -> s{_arRole = a})++-- | The scope of the rule.+arScope :: Lens' ACLRule (Maybe ACLRuleScope)+arScope = lens _arScope (\ s a -> s{_arScope = a})++-- | Identifier of the ACL rule.+arId :: Lens' ACLRule (Maybe Text)+arId = lens _arId (\ s a -> s{_arId = a})++instance FromJSON ACLRule where+ parseJSON+ = withObject "ACLRule"+ (\ o ->+ ACLRule <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "calendar#aclRule")+ <*> (o .:? "role")+ <*> (o .:? "scope")+ <*> (o .:? "id"))++instance ToJSON ACLRule where+ toJSON ACLRule{..}+ = object+ (catMaybes+ [("etag" .=) <$> _arEtag, Just ("kind" .= _arKind),+ ("role" .=) <$> _arRole, ("scope" .=) <$> _arScope,+ ("id" .=) <$> _arId])++-- | Properties that are shared between copies of the event on other+-- attendees\' calendars.+--+-- /See:/ 'eventExtendedPropertiesShared' smart constructor.+newtype EventExtendedPropertiesShared = EventExtendedPropertiesShared+ { _eepsAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventExtendedPropertiesShared' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eepsAddtional'+eventExtendedPropertiesShared+ :: HashMap Text Text -- ^ 'eepsAddtional'+ -> EventExtendedPropertiesShared+eventExtendedPropertiesShared pEepsAddtional_ =+ EventExtendedPropertiesShared+ { _eepsAddtional = _Coerce # pEepsAddtional_+ }++-- | The name of the shared property and the corresponding value.+eepsAddtional :: Lens' EventExtendedPropertiesShared (HashMap Text Text)+eepsAddtional+ = lens _eepsAddtional+ (\ s a -> s{_eepsAddtional = a})+ . _Coerce++instance FromJSON EventExtendedPropertiesShared where+ parseJSON+ = withObject "EventExtendedPropertiesShared"+ (\ o ->+ EventExtendedPropertiesShared <$>+ (parseJSONObject o))++instance ToJSON EventExtendedPropertiesShared where+ toJSON = toJSON . _eepsAddtional++-- | List of free\/busy information for calendars.+--+-- /See:/ 'freeBusyResponseCalendars' smart constructor.+newtype FreeBusyResponseCalendars = FreeBusyResponseCalendars+ { _fbrcAddtional :: HashMap Text FreeBusyCalendar+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyResponseCalendars' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbrcAddtional'+freeBusyResponseCalendars+ :: HashMap Text FreeBusyCalendar -- ^ 'fbrcAddtional'+ -> FreeBusyResponseCalendars+freeBusyResponseCalendars pFbrcAddtional_ =+ FreeBusyResponseCalendars+ { _fbrcAddtional = _Coerce # pFbrcAddtional_+ }++-- | Free\/busy expansions for a single calendar.+fbrcAddtional :: Lens' FreeBusyResponseCalendars (HashMap Text FreeBusyCalendar)+fbrcAddtional+ = lens _fbrcAddtional+ (\ s a -> s{_fbrcAddtional = a})+ . _Coerce++instance FromJSON FreeBusyResponseCalendars where+ parseJSON+ = withObject "FreeBusyResponseCalendars"+ (\ o ->+ FreeBusyResponseCalendars <$> (parseJSONObject o))++instance ToJSON FreeBusyResponseCalendars where+ toJSON = toJSON . _fbrcAddtional++--+-- /See:/ 'acl' smart constructor.+data ACL = ACL+ { _aEtag :: !(Maybe Text)+ , _aNextPageToken :: !(Maybe Text)+ , _aKind :: !Text+ , _aItems :: !(Maybe [ACLRule])+ , _aNextSyncToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aEtag'+--+-- * 'aNextPageToken'+--+-- * 'aKind'+--+-- * 'aItems'+--+-- * 'aNextSyncToken'+acl+ :: ACL+acl =+ ACL+ { _aEtag = Nothing+ , _aNextPageToken = Nothing+ , _aKind = "calendar#acl"+ , _aItems = Nothing+ , _aNextSyncToken = Nothing+ }++-- | ETag of the collection.+aEtag :: Lens' ACL (Maybe Text)+aEtag = lens _aEtag (\ s a -> s{_aEtag = a})++-- | Token used to access the next page of this result. Omitted if no further+-- results are available, in which case nextSyncToken is provided.+aNextPageToken :: Lens' ACL (Maybe Text)+aNextPageToken+ = lens _aNextPageToken+ (\ s a -> s{_aNextPageToken = a})++-- | Type of the collection (\"calendar#acl\").+aKind :: Lens' ACL Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | List of rules on the access control list.+aItems :: Lens' ACL [ACLRule]+aItems+ = lens _aItems (\ s a -> s{_aItems = a}) . _Default .+ _Coerce++-- | 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.+aNextSyncToken :: Lens' ACL (Maybe Text)+aNextSyncToken+ = lens _aNextSyncToken+ (\ s a -> s{_aNextSyncToken = a})++instance FromJSON ACL where+ parseJSON+ = withObject "ACL"+ (\ o ->+ ACL <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "calendar#acl")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "nextSyncToken"))++instance ToJSON ACL where+ toJSON ACL{..}+ = object+ (catMaybes+ [("etag" .=) <$> _aEtag,+ ("nextPageToken" .=) <$> _aNextPageToken,+ Just ("kind" .= _aKind), ("items" .=) <$> _aItems,+ ("nextSyncToken" .=) <$> _aNextSyncToken])++--+-- /See:/ 'colors' smart constructor.+data Colors = Colors+ { _colEvent :: !(Maybe ColorsEvent)+ , _colKind :: !Text+ , _colCalendar :: !(Maybe ColorsCalendar)+ , _colUpdated :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Colors' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'colEvent'+--+-- * 'colKind'+--+-- * 'colCalendar'+--+-- * 'colUpdated'+colors+ :: Colors+colors =+ Colors+ { _colEvent = Nothing+ , _colKind = "calendar#colors"+ , _colCalendar = Nothing+ , _colUpdated = Nothing+ }++-- | A global 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.+colEvent :: Lens' Colors (Maybe ColorsEvent)+colEvent = lens _colEvent (\ s a -> s{_colEvent = a})++-- | Type of the resource (\"calendar#colors\").+colKind :: Lens' Colors Text+colKind = lens _colKind (\ s a -> s{_colKind = a})++-- | A global 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.+colCalendar :: Lens' Colors (Maybe ColorsCalendar)+colCalendar+ = lens _colCalendar (\ s a -> s{_colCalendar = a})++-- | Last modification time of the color palette (as a RFC3339 timestamp).+-- Read-only.+colUpdated :: Lens' Colors (Maybe UTCTime)+colUpdated+ = lens _colUpdated (\ s a -> s{_colUpdated = a}) .+ mapping _DateTime++instance FromJSON Colors where+ parseJSON+ = withObject "Colors"+ (\ o ->+ Colors <$>+ (o .:? "event") <*>+ (o .:? "kind" .!= "calendar#colors")+ <*> (o .:? "calendar")+ <*> (o .:? "updated"))++instance ToJSON Colors where+ toJSON Colors{..}+ = object+ (catMaybes+ [("event" .=) <$> _colEvent,+ Just ("kind" .= _colKind),+ ("calendar" .=) <$> _colCalendar,+ ("updated" .=) <$> _colUpdated])++--+-- /See:/ 'freeBusyGroup' smart constructor.+data FreeBusyGroup = FreeBusyGroup+ { _fbgCalendars :: !(Maybe [Text])+ , _fbgErrors :: !(Maybe [Error'])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbgCalendars'+--+-- * 'fbgErrors'+freeBusyGroup+ :: FreeBusyGroup+freeBusyGroup =+ FreeBusyGroup+ { _fbgCalendars = Nothing+ , _fbgErrors = Nothing+ }++-- | List of calendars\' identifiers within a group.+fbgCalendars :: Lens' FreeBusyGroup [Text]+fbgCalendars+ = lens _fbgCalendars (\ s a -> s{_fbgCalendars = a})+ . _Default+ . _Coerce++-- | Optional error(s) (if computation for the group failed).+fbgErrors :: Lens' FreeBusyGroup [Error']+fbgErrors+ = lens _fbgErrors (\ s a -> s{_fbgErrors = a}) .+ _Default+ . _Coerce++instance FromJSON FreeBusyGroup where+ parseJSON+ = withObject "FreeBusyGroup"+ (\ o ->+ FreeBusyGroup <$>+ (o .:? "calendars" .!= mempty) <*>+ (o .:? "errors" .!= mempty))++instance ToJSON FreeBusyGroup where+ toJSON FreeBusyGroup{..}+ = object+ (catMaybes+ [("calendars" .=) <$> _fbgCalendars,+ ("errors" .=) <$> _fbgErrors])++-- | Source from which the event was created. For example, a web page, an+-- email message or any document identifiable by an URL with HTTP or HTTPS+-- scheme. Can only be seen or modified by the creator of the event.+--+-- /See:/ 'eventSource' smart constructor.+data EventSource = EventSource+ { _esURL :: !(Maybe Text)+ , _esTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esURL'+--+-- * 'esTitle'+eventSource+ :: EventSource+eventSource =+ EventSource+ { _esURL = Nothing+ , _esTitle = Nothing+ }++-- | URL of the source pointing to a resource. The URL scheme must be HTTP or+-- HTTPS.+esURL :: Lens' EventSource (Maybe Text)+esURL = lens _esURL (\ s a -> s{_esURL = a})++-- | Title of the source; for example a title of a web page or an email+-- subject.+esTitle :: Lens' EventSource (Maybe Text)+esTitle = lens _esTitle (\ s a -> s{_esTitle = a})++instance FromJSON EventSource where+ parseJSON+ = withObject "EventSource"+ (\ o ->+ EventSource <$> (o .:? "url") <*> (o .:? "title"))++instance ToJSON EventSource where+ toJSON EventSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _esURL, ("title" .=) <$> _esTitle])
+ gen/Network/Google/AppsCalendar/Types/Sum.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.AppsCalendar.Types.Sum+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.AppsCalendar.Types.Sum where++import Network.Google.Prelude++-- | The order of the events returned in the result. Optional. The default is+-- an unspecified, stable order.+data EventsListOrderBy+ = StartTime+ -- ^ @startTime@+ -- Order by the start date\/time (ascending). This is only available when+ -- querying single events (i.e. the parameter singleEvents is True)+ | Updated+ -- ^ @updated@+ -- Order by last modification time (ascending).+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsListOrderBy++instance FromText EventsListOrderBy where+ fromText = \case+ "startTime" -> Just StartTime+ "updated" -> Just Updated+ _ -> Nothing++instance ToText EventsListOrderBy where+ toText = \case+ StartTime -> "startTime"+ Updated -> "updated"++instance FromJSON EventsListOrderBy where+ parseJSON = parseJSONText "EventsListOrderBy"++instance ToJSON EventsListOrderBy where+ toJSON = toJSONText++-- | The minimum access role for the user in the returned entries. Optional.+-- The default is no restriction.+data CalendarListListMinAccessRole+ = FreeBusyReader+ -- ^ @freeBusyReader@+ -- The user can read free\/busy information.+ | Owner+ -- ^ @owner@+ -- The user can read and modify events and access control lists.+ | Reader+ -- ^ @reader@+ -- The user can read events that are not private.+ | Writer+ -- ^ @writer@+ -- The user can read and modify events.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CalendarListListMinAccessRole++instance FromText CalendarListListMinAccessRole where+ fromText = \case+ "freeBusyReader" -> Just FreeBusyReader+ "owner" -> Just Owner+ "reader" -> Just Reader+ "writer" -> Just Writer+ _ -> Nothing++instance ToText CalendarListListMinAccessRole where+ toText = \case+ FreeBusyReader -> "freeBusyReader"+ Owner -> "owner"+ Reader -> "reader"+ Writer -> "writer"++instance FromJSON CalendarListListMinAccessRole where+ parseJSON = parseJSONText "CalendarListListMinAccessRole"++instance ToJSON CalendarListListMinAccessRole where+ toJSON = toJSONText++-- | The order of the events returned in the result. Optional. The default is+-- an unspecified, stable order.+data EventsWatchOrderBy+ = EWOBStartTime+ -- ^ @startTime@+ -- Order by the start date\/time (ascending). This is only available when+ -- querying single events (i.e. the parameter singleEvents is True)+ | EWOBUpdated+ -- ^ @updated@+ -- Order by last modification time (ascending).+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable EventsWatchOrderBy++instance FromText EventsWatchOrderBy where+ fromText = \case+ "startTime" -> Just EWOBStartTime+ "updated" -> Just EWOBUpdated+ _ -> Nothing++instance ToText EventsWatchOrderBy where+ toText = \case+ EWOBStartTime -> "startTime"+ EWOBUpdated -> "updated"++instance FromJSON EventsWatchOrderBy where+ parseJSON = parseJSONText "EventsWatchOrderBy"++instance ToJSON EventsWatchOrderBy where+ toJSON = toJSONText++-- | The minimum access role for the user in the returned entries. Optional.+-- The default is no restriction.+data CalendarListWatchMinAccessRole+ = CLWMARFreeBusyReader+ -- ^ @freeBusyReader@+ -- The user can read free\/busy information.+ | CLWMAROwner+ -- ^ @owner@+ -- The user can read and modify events and access control lists.+ | CLWMARReader+ -- ^ @reader@+ -- The user can read events that are not private.+ | CLWMARWriter+ -- ^ @writer@+ -- The user can read and modify events.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CalendarListWatchMinAccessRole++instance FromText CalendarListWatchMinAccessRole where+ fromText = \case+ "freeBusyReader" -> Just CLWMARFreeBusyReader+ "owner" -> Just CLWMAROwner+ "reader" -> Just CLWMARReader+ "writer" -> Just CLWMARWriter+ _ -> Nothing++instance ToText CalendarListWatchMinAccessRole where+ toText = \case+ CLWMARFreeBusyReader -> "freeBusyReader"+ CLWMAROwner -> "owner"+ CLWMARReader -> "reader"+ CLWMARWriter -> "writer"++instance FromJSON CalendarListWatchMinAccessRole where+ parseJSON = parseJSONText "CalendarListWatchMinAccessRole"++instance ToJSON CalendarListWatchMinAccessRole where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Calendar/ACL/Delete.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an access control rule.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.delete@.+module Network.Google.Resource.Calendar.ACL.Delete+ (+ -- * REST Resource+ ACLDeleteResource++ -- * Creating a Request+ , aclDelete+ , ACLDelete++ -- * Request Lenses+ , adCalendarId+ , adRuleId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.delete@ method which the+-- 'ACLDelete' request conforms to.+type ACLDeleteResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ Capture "ruleId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an access control rule.+--+-- /See:/ 'aclDelete' smart constructor.+data ACLDelete = ACLDelete+ { _adCalendarId :: !Text+ , _adRuleId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adCalendarId'+--+-- * 'adRuleId'+aclDelete+ :: Text -- ^ 'adCalendarId'+ -> Text -- ^ 'adRuleId'+ -> ACLDelete+aclDelete pAdCalendarId_ pAdRuleId_ =+ ACLDelete+ { _adCalendarId = pAdCalendarId_+ , _adRuleId = pAdRuleId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+adCalendarId :: Lens' ACLDelete Text+adCalendarId+ = lens _adCalendarId (\ s a -> s{_adCalendarId = a})++-- | ACL rule identifier.+adRuleId :: Lens' ACLDelete Text+adRuleId = lens _adRuleId (\ s a -> s{_adRuleId = a})++instance GoogleRequest ACLDelete where+ type Rs ACLDelete = ()+ requestClient ACLDelete{..}+ = go _adCalendarId _adRuleId (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLDeleteResource)+ mempty
+ gen/Network/Google/Resource/Calendar/ACL/Get.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an access control rule.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.get@.+module Network.Google.Resource.Calendar.ACL.Get+ (+ -- * REST Resource+ ACLGetResource++ -- * Creating a Request+ , aclGet+ , ACLGet++ -- * Request Lenses+ , agCalendarId+ , agRuleId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.get@ method which the+-- 'ACLGet' request conforms to.+type ACLGetResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ Capture "ruleId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] ACLRule++-- | Returns an access control rule.+--+-- /See:/ 'aclGet' smart constructor.+data ACLGet = ACLGet+ { _agCalendarId :: !Text+ , _agRuleId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agCalendarId'+--+-- * 'agRuleId'+aclGet+ :: Text -- ^ 'agCalendarId'+ -> Text -- ^ 'agRuleId'+ -> ACLGet+aclGet pAgCalendarId_ pAgRuleId_ =+ ACLGet+ { _agCalendarId = pAgCalendarId_+ , _agRuleId = pAgRuleId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+agCalendarId :: Lens' ACLGet Text+agCalendarId+ = lens _agCalendarId (\ s a -> s{_agCalendarId = a})++-- | ACL rule identifier.+agRuleId :: Lens' ACLGet Text+agRuleId = lens _agRuleId (\ s a -> s{_agRuleId = a})++instance GoogleRequest ACLGet where+ type Rs ACLGet = ACLRule+ requestClient ACLGet{..}+ = go _agCalendarId _agRuleId (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLGetResource) mempty
+ gen/Network/Google/Resource/Calendar/ACL/Insert.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Insert+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an access control rule.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.insert@.+module Network.Google.Resource.Calendar.ACL.Insert+ (+ -- * REST Resource+ ACLInsertResource++ -- * Creating a Request+ , aclInsert+ , ACLInsert++ -- * Request Lenses+ , aiCalendarId+ , aiPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.insert@ method which the+-- 'ACLInsert' request conforms to.+type ACLInsertResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ACLRule :> Post '[JSON] ACLRule++-- | Creates an access control rule.+--+-- /See:/ 'aclInsert' smart constructor.+data ACLInsert = ACLInsert+ { _aiCalendarId :: !Text+ , _aiPayload :: !ACLRule+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiCalendarId'+--+-- * 'aiPayload'+aclInsert+ :: Text -- ^ 'aiCalendarId'+ -> ACLRule -- ^ 'aiPayload'+ -> ACLInsert+aclInsert pAiCalendarId_ pAiPayload_ =+ ACLInsert+ { _aiCalendarId = pAiCalendarId_+ , _aiPayload = pAiPayload_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+aiCalendarId :: Lens' ACLInsert Text+aiCalendarId+ = lens _aiCalendarId (\ s a -> s{_aiCalendarId = a})++-- | Multipart request metadata.+aiPayload :: Lens' ACLInsert ACLRule+aiPayload+ = lens _aiPayload (\ s a -> s{_aiPayload = a})++instance GoogleRequest ACLInsert where+ type Rs ACLInsert = ACLRule+ requestClient ACLInsert{..}+ = go _aiCalendarId (Just AltJSON) _aiPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLInsertResource)+ mempty
+ gen/Network/Google/Resource/Calendar/ACL/List.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the rules in the access control list for the calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.list@.+module Network.Google.Resource.Calendar.ACL.List+ (+ -- * REST Resource+ ACLListResource++ -- * Creating a Request+ , aclList+ , ACLList++ -- * Request Lenses+ , alSyncToken+ , alCalendarId+ , alShowDeleted+ , alPageToken+ , alMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.list@ method which the+-- 'ACLList' request conforms to.+type ACLListResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ QueryParam "syncToken" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ACL++-- | Returns the rules in the access control list for the calendar.+--+-- /See:/ 'aclList' smart constructor.+data ACLList = ACLList+ { _alSyncToken :: !(Maybe Text)+ , _alCalendarId :: !Text+ , _alShowDeleted :: !(Maybe Bool)+ , _alPageToken :: !(Maybe Text)+ , _alMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alSyncToken'+--+-- * 'alCalendarId'+--+-- * 'alShowDeleted'+--+-- * 'alPageToken'+--+-- * 'alMaxResults'+aclList+ :: Text -- ^ 'alCalendarId'+ -> ACLList+aclList pAlCalendarId_ =+ ACLList+ { _alSyncToken = Nothing+ , _alCalendarId = pAlCalendarId_+ , _alShowDeleted = Nothing+ , _alPageToken = Nothing+ , _alMaxResults = Nothing+ }++-- | 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.+alSyncToken :: Lens' ACLList (Maybe Text)+alSyncToken+ = lens _alSyncToken (\ s a -> s{_alSyncToken = a})++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+alCalendarId :: Lens' ACLList Text+alCalendarId+ = lens _alCalendarId (\ s a -> s{_alCalendarId = a})++-- | 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.+alShowDeleted :: Lens' ACLList (Maybe Bool)+alShowDeleted+ = lens _alShowDeleted+ (\ s a -> s{_alShowDeleted = a})++-- | Token specifying which result page to return. Optional.+alPageToken :: Lens' ACLList (Maybe Text)+alPageToken+ = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | 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.+alMaxResults :: Lens' ACLList (Maybe Int32)+alMaxResults+ = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+ . mapping _Coerce++instance GoogleRequest ACLList where+ type Rs ACLList = ACL+ requestClient ACLList{..}+ = go _alCalendarId _alSyncToken _alShowDeleted+ _alPageToken+ _alMaxResults+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLListResource) mempty
+ gen/Network/Google/Resource/Calendar/ACL/Patch.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an access control rule. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.patch@.+module Network.Google.Resource.Calendar.ACL.Patch+ (+ -- * REST Resource+ ACLPatchResource++ -- * Creating a Request+ , aclPatch+ , ACLPatch++ -- * Request Lenses+ , apCalendarId+ , apRuleId+ , apPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.patch@ method which the+-- 'ACLPatch' request conforms to.+type ACLPatchResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ Capture "ruleId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ACLRule :> Patch '[JSON] ACLRule++-- | Updates an access control rule. This method supports patch semantics.+--+-- /See:/ 'aclPatch' smart constructor.+data ACLPatch = ACLPatch+ { _apCalendarId :: !Text+ , _apRuleId :: !Text+ , _apPayload :: !ACLRule+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apCalendarId'+--+-- * 'apRuleId'+--+-- * 'apPayload'+aclPatch+ :: Text -- ^ 'apCalendarId'+ -> Text -- ^ 'apRuleId'+ -> ACLRule -- ^ 'apPayload'+ -> ACLPatch+aclPatch pApCalendarId_ pApRuleId_ pApPayload_ =+ ACLPatch+ { _apCalendarId = pApCalendarId_+ , _apRuleId = pApRuleId_+ , _apPayload = pApPayload_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+apCalendarId :: Lens' ACLPatch Text+apCalendarId+ = lens _apCalendarId (\ s a -> s{_apCalendarId = a})++-- | ACL rule identifier.+apRuleId :: Lens' ACLPatch Text+apRuleId = lens _apRuleId (\ s a -> s{_apRuleId = a})++-- | Multipart request metadata.+apPayload :: Lens' ACLPatch ACLRule+apPayload+ = lens _apPayload (\ s a -> s{_apPayload = a})++instance GoogleRequest ACLPatch where+ type Rs ACLPatch = ACLRule+ requestClient ACLPatch{..}+ = go _apCalendarId _apRuleId (Just AltJSON)+ _apPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLPatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/ACL/Update.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an access control rule.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.update@.+module Network.Google.Resource.Calendar.ACL.Update+ (+ -- * REST Resource+ ACLUpdateResource++ -- * Creating a Request+ , aclUpdate+ , ACLUpdate++ -- * Request Lenses+ , auCalendarId+ , auRuleId+ , auPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.update@ method which the+-- 'ACLUpdate' request conforms to.+type ACLUpdateResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ Capture "ruleId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ACLRule :> Put '[JSON] ACLRule++-- | Updates an access control rule.+--+-- /See:/ 'aclUpdate' smart constructor.+data ACLUpdate = ACLUpdate+ { _auCalendarId :: !Text+ , _auRuleId :: !Text+ , _auPayload :: !ACLRule+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auCalendarId'+--+-- * 'auRuleId'+--+-- * 'auPayload'+aclUpdate+ :: Text -- ^ 'auCalendarId'+ -> Text -- ^ 'auRuleId'+ -> ACLRule -- ^ 'auPayload'+ -> ACLUpdate+aclUpdate pAuCalendarId_ pAuRuleId_ pAuPayload_ =+ ACLUpdate+ { _auCalendarId = pAuCalendarId_+ , _auRuleId = pAuRuleId_+ , _auPayload = pAuPayload_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+auCalendarId :: Lens' ACLUpdate Text+auCalendarId+ = lens _auCalendarId (\ s a -> s{_auCalendarId = a})++-- | ACL rule identifier.+auRuleId :: Lens' ACLUpdate Text+auRuleId = lens _auRuleId (\ s a -> s{_auRuleId = a})++-- | Multipart request metadata.+auPayload :: Lens' ACLUpdate ACLRule+auPayload+ = lens _auPayload (\ s a -> s{_auPayload = a})++instance GoogleRequest ACLUpdate where+ type Rs ACLUpdate = ACLRule+ requestClient ACLUpdate{..}+ = go _auCalendarId _auRuleId (Just AltJSON)+ _auPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLUpdateResource)+ mempty
+ gen/Network/Google/Resource/Calendar/ACL/Watch.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.ACL.Watch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Watch for changes to ACL resources.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.acl.watch@.+module Network.Google.Resource.Calendar.ACL.Watch+ (+ -- * REST Resource+ ACLWatchResource++ -- * Creating a Request+ , aclWatch+ , ACLWatch++ -- * Request Lenses+ , awSyncToken+ , awCalendarId+ , awShowDeleted+ , awPayload+ , awPageToken+ , awMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.acl.watch@ method which the+-- 'ACLWatch' request conforms to.+type ACLWatchResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "acl" :>+ "watch" :>+ QueryParam "syncToken" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel++-- | Watch for changes to ACL resources.+--+-- /See:/ 'aclWatch' smart constructor.+data ACLWatch = ACLWatch+ { _awSyncToken :: !(Maybe Text)+ , _awCalendarId :: !Text+ , _awShowDeleted :: !(Maybe Bool)+ , _awPayload :: !Channel+ , _awPageToken :: !(Maybe Text)+ , _awMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ACLWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awSyncToken'+--+-- * 'awCalendarId'+--+-- * 'awShowDeleted'+--+-- * 'awPayload'+--+-- * 'awPageToken'+--+-- * 'awMaxResults'+aclWatch+ :: Text -- ^ 'awCalendarId'+ -> Channel -- ^ 'awPayload'+ -> ACLWatch+aclWatch pAwCalendarId_ pAwPayload_ =+ ACLWatch+ { _awSyncToken = Nothing+ , _awCalendarId = pAwCalendarId_+ , _awShowDeleted = Nothing+ , _awPayload = pAwPayload_+ , _awPageToken = Nothing+ , _awMaxResults = Nothing+ }++-- | 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.+awSyncToken :: Lens' ACLWatch (Maybe Text)+awSyncToken+ = lens _awSyncToken (\ s a -> s{_awSyncToken = a})++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+awCalendarId :: Lens' ACLWatch Text+awCalendarId+ = lens _awCalendarId (\ s a -> s{_awCalendarId = a})++-- | 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.+awShowDeleted :: Lens' ACLWatch (Maybe Bool)+awShowDeleted+ = lens _awShowDeleted+ (\ s a -> s{_awShowDeleted = a})++-- | Multipart request metadata.+awPayload :: Lens' ACLWatch Channel+awPayload+ = lens _awPayload (\ s a -> s{_awPayload = a})++-- | Token specifying which result page to return. Optional.+awPageToken :: Lens' ACLWatch (Maybe Text)+awPageToken+ = lens _awPageToken (\ s a -> s{_awPageToken = a})++-- | 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.+awMaxResults :: Lens' ACLWatch (Maybe Int32)+awMaxResults+ = lens _awMaxResults (\ s a -> s{_awMaxResults = a})+ . mapping _Coerce++instance GoogleRequest ACLWatch where+ type Rs ACLWatch = Channel+ requestClient ACLWatch{..}+ = go _awCalendarId _awSyncToken _awShowDeleted+ _awPageToken+ _awMaxResults+ (Just AltJSON)+ _awPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ACLWatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Delete.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an entry on the user\'s calendar list.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.delete@.+module Network.Google.Resource.Calendar.CalendarList.Delete+ (+ -- * REST Resource+ CalendarListDeleteResource++ -- * Creating a Request+ , calendarListDelete+ , CalendarListDelete++ -- * Request Lenses+ , cldCalendarId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.delete@ method which the+-- 'CalendarListDelete' request conforms to.+type CalendarListDeleteResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an entry on the user\'s calendar list.+--+-- /See:/ 'calendarListDelete' smart constructor.+newtype CalendarListDelete = CalendarListDelete+ { _cldCalendarId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldCalendarId'+calendarListDelete+ :: Text -- ^ 'cldCalendarId'+ -> CalendarListDelete+calendarListDelete pCldCalendarId_ =+ CalendarListDelete+ { _cldCalendarId = pCldCalendarId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cldCalendarId :: Lens' CalendarListDelete Text+cldCalendarId+ = lens _cldCalendarId+ (\ s a -> s{_cldCalendarId = a})++instance GoogleRequest CalendarListDelete where+ type Rs CalendarListDelete = ()+ requestClient CalendarListDelete{..}+ = go _cldCalendarId (Just AltJSON)+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListDeleteResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Get.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an entry on the user\'s calendar list.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.get@.+module Network.Google.Resource.Calendar.CalendarList.Get+ (+ -- * REST Resource+ CalendarListGetResource++ -- * Creating a Request+ , calendarListGet+ , CalendarListGet++ -- * Request Lenses+ , clgCalendarId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.get@ method which the+-- 'CalendarListGet' request conforms to.+type CalendarListGetResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] CalendarListEntry++-- | Returns an entry on the user\'s calendar list.+--+-- /See:/ 'calendarListGet' smart constructor.+newtype CalendarListGet = CalendarListGet+ { _clgCalendarId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clgCalendarId'+calendarListGet+ :: Text -- ^ 'clgCalendarId'+ -> CalendarListGet+calendarListGet pClgCalendarId_ =+ CalendarListGet+ { _clgCalendarId = pClgCalendarId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+clgCalendarId :: Lens' CalendarListGet Text+clgCalendarId+ = lens _clgCalendarId+ (\ s a -> s{_clgCalendarId = a})++instance GoogleRequest CalendarListGet where+ type Rs CalendarListGet = CalendarListEntry+ requestClient CalendarListGet{..}+ = go _clgCalendarId (Just AltJSON)+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListGetResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Insert.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Insert+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an entry to the user\'s calendar list.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.insert@.+module Network.Google.Resource.Calendar.CalendarList.Insert+ (+ -- * REST Resource+ CalendarListInsertResource++ -- * Creating a Request+ , calendarListInsert+ , CalendarListInsert++ -- * Request Lenses+ , cliPayload+ , cliColorRgbFormat+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.insert@ method which the+-- 'CalendarListInsert' request conforms to.+type CalendarListInsertResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ QueryParam "colorRgbFormat" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CalendarListEntry :>+ Post '[JSON] CalendarListEntry++-- | Adds an entry to the user\'s calendar list.+--+-- /See:/ 'calendarListInsert' smart constructor.+data CalendarListInsert = CalendarListInsert+ { _cliPayload :: !CalendarListEntry+ , _cliColorRgbFormat :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cliPayload'+--+-- * 'cliColorRgbFormat'+calendarListInsert+ :: CalendarListEntry -- ^ 'cliPayload'+ -> CalendarListInsert+calendarListInsert pCliPayload_ =+ CalendarListInsert+ { _cliPayload = pCliPayload_+ , _cliColorRgbFormat = Nothing+ }++-- | Multipart request metadata.+cliPayload :: Lens' CalendarListInsert CalendarListEntry+cliPayload+ = lens _cliPayload (\ s a -> s{_cliPayload = a})++-- | 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.+cliColorRgbFormat :: Lens' CalendarListInsert (Maybe Bool)+cliColorRgbFormat+ = lens _cliColorRgbFormat+ (\ s a -> s{_cliColorRgbFormat = a})++instance GoogleRequest CalendarListInsert where+ type Rs CalendarListInsert = CalendarListEntry+ requestClient CalendarListInsert{..}+ = go _cliColorRgbFormat (Just AltJSON) _cliPayload+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListInsertResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/List.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns entries on the user\'s calendar list.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.list@.+module Network.Google.Resource.Calendar.CalendarList.List+ (+ -- * REST Resource+ CalendarListListResource++ -- * Creating a Request+ , calendarListList+ , CalendarListList++ -- * Request Lenses+ , cllSyncToken+ , cllMinAccessRole+ , cllShowDeleted+ , cllShowHidden+ , cllPageToken+ , cllMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.list@ method which the+-- 'CalendarListList' request conforms to.+type CalendarListListResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ QueryParam "syncToken" Text :>+ QueryParam "minAccessRole"+ CalendarListListMinAccessRole+ :>+ QueryParam "showDeleted" Bool :>+ QueryParam "showHidden" Bool :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] CalendarList++-- | Returns entries on the user\'s calendar list.+--+-- /See:/ 'calendarListList' smart constructor.+data CalendarListList = CalendarListList+ { _cllSyncToken :: !(Maybe Text)+ , _cllMinAccessRole :: !(Maybe CalendarListListMinAccessRole)+ , _cllShowDeleted :: !(Maybe Bool)+ , _cllShowHidden :: !(Maybe Bool)+ , _cllPageToken :: !(Maybe Text)+ , _cllMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllSyncToken'+--+-- * 'cllMinAccessRole'+--+-- * 'cllShowDeleted'+--+-- * 'cllShowHidden'+--+-- * 'cllPageToken'+--+-- * 'cllMaxResults'+calendarListList+ :: CalendarListList+calendarListList =+ CalendarListList+ { _cllSyncToken = Nothing+ , _cllMinAccessRole = Nothing+ , _cllShowDeleted = Nothing+ , _cllShowHidden = Nothing+ , _cllPageToken = Nothing+ , _cllMaxResults = Nothing+ }++-- | 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.+cllSyncToken :: Lens' CalendarListList (Maybe Text)+cllSyncToken+ = lens _cllSyncToken (\ s a -> s{_cllSyncToken = a})++-- | The minimum access role for the user in the returned entries. Optional.+-- The default is no restriction.+cllMinAccessRole :: Lens' CalendarListList (Maybe CalendarListListMinAccessRole)+cllMinAccessRole+ = lens _cllMinAccessRole+ (\ s a -> s{_cllMinAccessRole = a})++-- | Whether to include deleted calendar list entries in the result.+-- Optional. The default is False.+cllShowDeleted :: Lens' CalendarListList (Maybe Bool)+cllShowDeleted+ = lens _cllShowDeleted+ (\ s a -> s{_cllShowDeleted = a})++-- | Whether to show hidden entries. Optional. The default is False.+cllShowHidden :: Lens' CalendarListList (Maybe Bool)+cllShowHidden+ = lens _cllShowHidden+ (\ s a -> s{_cllShowHidden = a})++-- | Token specifying which result page to return. Optional.+cllPageToken :: Lens' CalendarListList (Maybe Text)+cllPageToken+ = lens _cllPageToken (\ s a -> s{_cllPageToken = a})++-- | 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.+cllMaxResults :: Lens' CalendarListList (Maybe Int32)+cllMaxResults+ = lens _cllMaxResults+ (\ s a -> s{_cllMaxResults = a})+ . mapping _Coerce++instance GoogleRequest CalendarListList where+ type Rs CalendarListList = CalendarList+ requestClient CalendarListList{..}+ = go _cllSyncToken _cllMinAccessRole _cllShowDeleted+ _cllShowHidden+ _cllPageToken+ _cllMaxResults+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListListResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Patch.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an entry on the user\'s calendar list. This method supports+-- patch semantics.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.patch@.+module Network.Google.Resource.Calendar.CalendarList.Patch+ (+ -- * REST Resource+ CalendarListPatchResource++ -- * Creating a Request+ , calendarListPatch+ , CalendarListPatch++ -- * Request Lenses+ , clpCalendarId+ , clpPayload+ , clpColorRgbFormat+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.patch@ method which the+-- 'CalendarListPatch' request conforms to.+type CalendarListPatchResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ Capture "calendarId" Text :>+ QueryParam "colorRgbFormat" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CalendarListEntry :>+ Patch '[JSON] CalendarListEntry++-- | Updates an entry on the user\'s calendar list. This method supports+-- patch semantics.+--+-- /See:/ 'calendarListPatch' smart constructor.+data CalendarListPatch = CalendarListPatch+ { _clpCalendarId :: !Text+ , _clpPayload :: !CalendarListEntry+ , _clpColorRgbFormat :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clpCalendarId'+--+-- * 'clpPayload'+--+-- * 'clpColorRgbFormat'+calendarListPatch+ :: Text -- ^ 'clpCalendarId'+ -> CalendarListEntry -- ^ 'clpPayload'+ -> CalendarListPatch+calendarListPatch pClpCalendarId_ pClpPayload_ =+ CalendarListPatch+ { _clpCalendarId = pClpCalendarId_+ , _clpPayload = pClpPayload_+ , _clpColorRgbFormat = Nothing+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+clpCalendarId :: Lens' CalendarListPatch Text+clpCalendarId+ = lens _clpCalendarId+ (\ s a -> s{_clpCalendarId = a})++-- | Multipart request metadata.+clpPayload :: Lens' CalendarListPatch CalendarListEntry+clpPayload+ = lens _clpPayload (\ s a -> s{_clpPayload = a})++-- | 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.+clpColorRgbFormat :: Lens' CalendarListPatch (Maybe Bool)+clpColorRgbFormat+ = lens _clpColorRgbFormat+ (\ s a -> s{_clpColorRgbFormat = a})++instance GoogleRequest CalendarListPatch where+ type Rs CalendarListPatch = CalendarListEntry+ requestClient CalendarListPatch{..}+ = go _clpCalendarId _clpColorRgbFormat (Just AltJSON)+ _clpPayload+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListPatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Update.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an entry on the user\'s calendar list.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.update@.+module Network.Google.Resource.Calendar.CalendarList.Update+ (+ -- * REST Resource+ CalendarListUpdateResource++ -- * Creating a Request+ , calendarListUpdate+ , CalendarListUpdate++ -- * Request Lenses+ , cluCalendarId+ , cluPayload+ , cluColorRgbFormat+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.update@ method which the+-- 'CalendarListUpdate' request conforms to.+type CalendarListUpdateResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ Capture "calendarId" Text :>+ QueryParam "colorRgbFormat" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CalendarListEntry :>+ Put '[JSON] CalendarListEntry++-- | Updates an entry on the user\'s calendar list.+--+-- /See:/ 'calendarListUpdate' smart constructor.+data CalendarListUpdate = CalendarListUpdate+ { _cluCalendarId :: !Text+ , _cluPayload :: !CalendarListEntry+ , _cluColorRgbFormat :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cluCalendarId'+--+-- * 'cluPayload'+--+-- * 'cluColorRgbFormat'+calendarListUpdate+ :: Text -- ^ 'cluCalendarId'+ -> CalendarListEntry -- ^ 'cluPayload'+ -> CalendarListUpdate+calendarListUpdate pCluCalendarId_ pCluPayload_ =+ CalendarListUpdate+ { _cluCalendarId = pCluCalendarId_+ , _cluPayload = pCluPayload_+ , _cluColorRgbFormat = Nothing+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cluCalendarId :: Lens' CalendarListUpdate Text+cluCalendarId+ = lens _cluCalendarId+ (\ s a -> s{_cluCalendarId = a})++-- | Multipart request metadata.+cluPayload :: Lens' CalendarListUpdate CalendarListEntry+cluPayload+ = lens _cluPayload (\ s a -> s{_cluPayload = a})++-- | 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.+cluColorRgbFormat :: Lens' CalendarListUpdate (Maybe Bool)+cluColorRgbFormat+ = lens _cluColorRgbFormat+ (\ s a -> s{_cluColorRgbFormat = a})++instance GoogleRequest CalendarListUpdate where+ type Rs CalendarListUpdate = CalendarListEntry+ requestClient CalendarListUpdate{..}+ = go _cluCalendarId _cluColorRgbFormat (Just AltJSON)+ _cluPayload+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListUpdateResource)+ mempty
+ gen/Network/Google/Resource/Calendar/CalendarList/Watch.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.CalendarList.Watch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Watch for changes to CalendarList resources.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendarList.watch@.+module Network.Google.Resource.Calendar.CalendarList.Watch+ (+ -- * REST Resource+ CalendarListWatchResource++ -- * Creating a Request+ , calendarListWatch+ , CalendarListWatch++ -- * Request Lenses+ , clwSyncToken+ , clwMinAccessRole+ , clwShowDeleted+ , clwPayload+ , clwShowHidden+ , clwPageToken+ , clwMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendarList.watch@ method which the+-- 'CalendarListWatch' request conforms to.+type CalendarListWatchResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "calendarList" :>+ "watch" :>+ QueryParam "syncToken" Text :>+ QueryParam "minAccessRole"+ CalendarListWatchMinAccessRole+ :>+ QueryParam "showDeleted" Bool :>+ QueryParam "showHidden" Bool :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel++-- | Watch for changes to CalendarList resources.+--+-- /See:/ 'calendarListWatch' smart constructor.+data CalendarListWatch = CalendarListWatch+ { _clwSyncToken :: !(Maybe Text)+ , _clwMinAccessRole :: !(Maybe CalendarListWatchMinAccessRole)+ , _clwShowDeleted :: !(Maybe Bool)+ , _clwPayload :: !Channel+ , _clwShowHidden :: !(Maybe Bool)+ , _clwPageToken :: !(Maybe Text)+ , _clwMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarListWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clwSyncToken'+--+-- * 'clwMinAccessRole'+--+-- * 'clwShowDeleted'+--+-- * 'clwPayload'+--+-- * 'clwShowHidden'+--+-- * 'clwPageToken'+--+-- * 'clwMaxResults'+calendarListWatch+ :: Channel -- ^ 'clwPayload'+ -> CalendarListWatch+calendarListWatch pClwPayload_ =+ CalendarListWatch+ { _clwSyncToken = Nothing+ , _clwMinAccessRole = Nothing+ , _clwShowDeleted = Nothing+ , _clwPayload = pClwPayload_+ , _clwShowHidden = Nothing+ , _clwPageToken = Nothing+ , _clwMaxResults = Nothing+ }++-- | 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.+clwSyncToken :: Lens' CalendarListWatch (Maybe Text)+clwSyncToken+ = lens _clwSyncToken (\ s a -> s{_clwSyncToken = a})++-- | The minimum access role for the user in the returned entries. Optional.+-- The default is no restriction.+clwMinAccessRole :: Lens' CalendarListWatch (Maybe CalendarListWatchMinAccessRole)+clwMinAccessRole+ = lens _clwMinAccessRole+ (\ s a -> s{_clwMinAccessRole = a})++-- | Whether to include deleted calendar list entries in the result.+-- Optional. The default is False.+clwShowDeleted :: Lens' CalendarListWatch (Maybe Bool)+clwShowDeleted+ = lens _clwShowDeleted+ (\ s a -> s{_clwShowDeleted = a})++-- | Multipart request metadata.+clwPayload :: Lens' CalendarListWatch Channel+clwPayload+ = lens _clwPayload (\ s a -> s{_clwPayload = a})++-- | Whether to show hidden entries. Optional. The default is False.+clwShowHidden :: Lens' CalendarListWatch (Maybe Bool)+clwShowHidden+ = lens _clwShowHidden+ (\ s a -> s{_clwShowHidden = a})++-- | Token specifying which result page to return. Optional.+clwPageToken :: Lens' CalendarListWatch (Maybe Text)+clwPageToken+ = lens _clwPageToken (\ s a -> s{_clwPageToken = a})++-- | 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.+clwMaxResults :: Lens' CalendarListWatch (Maybe Int32)+clwMaxResults+ = lens _clwMaxResults+ (\ s a -> s{_clwMaxResults = a})+ . mapping _Coerce++instance GoogleRequest CalendarListWatch where+ type Rs CalendarListWatch = Channel+ requestClient CalendarListWatch{..}+ = go _clwSyncToken _clwMinAccessRole _clwShowDeleted+ _clwShowHidden+ _clwPageToken+ _clwMaxResults+ (Just AltJSON)+ _clwPayload+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarListWatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Clear.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Clear+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Clears a primary calendar. This operation deletes all events associated+-- with the primary calendar of an account.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.clear@.+module Network.Google.Resource.Calendar.Calendars.Clear+ (+ -- * REST Resource+ CalendarsClearResource++ -- * Creating a Request+ , calendarsClear+ , CalendarsClear++ -- * Request Lenses+ , ccCalendarId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.clear@ method which the+-- 'CalendarsClear' request conforms to.+type CalendarsClearResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "clear" :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Clears a primary calendar. This operation deletes all events associated+-- with the primary calendar of an account.+--+-- /See:/ 'calendarsClear' smart constructor.+newtype CalendarsClear = CalendarsClear+ { _ccCalendarId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsClear' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccCalendarId'+calendarsClear+ :: Text -- ^ 'ccCalendarId'+ -> CalendarsClear+calendarsClear pCcCalendarId_ =+ CalendarsClear+ { _ccCalendarId = pCcCalendarId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+ccCalendarId :: Lens' CalendarsClear Text+ccCalendarId+ = lens _ccCalendarId (\ s a -> s{_ccCalendarId = a})++instance GoogleRequest CalendarsClear where+ type Rs CalendarsClear = ()+ requestClient CalendarsClear{..}+ = go _ccCalendarId (Just AltJSON) appsCalendarService+ where go+ = buildClient (Proxy :: Proxy CalendarsClearResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Delete.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a secondary calendar. Use calendars.clear for clearing all+-- events on primary calendars.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.delete@.+module Network.Google.Resource.Calendar.Calendars.Delete+ (+ -- * REST Resource+ CalendarsDeleteResource++ -- * Creating a Request+ , calendarsDelete+ , CalendarsDelete++ -- * Request Lenses+ , cdCalendarId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.delete@ method which the+-- 'CalendarsDelete' request conforms to.+type CalendarsDeleteResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a secondary calendar. Use calendars.clear for clearing all+-- events on primary calendars.+--+-- /See:/ 'calendarsDelete' smart constructor.+newtype CalendarsDelete = CalendarsDelete+ { _cdCalendarId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdCalendarId'+calendarsDelete+ :: Text -- ^ 'cdCalendarId'+ -> CalendarsDelete+calendarsDelete pCdCalendarId_ =+ CalendarsDelete+ { _cdCalendarId = pCdCalendarId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cdCalendarId :: Lens' CalendarsDelete Text+cdCalendarId+ = lens _cdCalendarId (\ s a -> s{_cdCalendarId = a})++instance GoogleRequest CalendarsDelete where+ type Rs CalendarsDelete = ()+ requestClient CalendarsDelete{..}+ = go _cdCalendarId (Just AltJSON) appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Get.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns metadata for a calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.get@.+module Network.Google.Resource.Calendar.Calendars.Get+ (+ -- * REST Resource+ CalendarsGetResource++ -- * Creating a Request+ , calendarsGet+ , CalendarsGet++ -- * Request Lenses+ , cgCalendarId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.get@ method which the+-- 'CalendarsGet' request conforms to.+type CalendarsGetResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Calendar++-- | Returns metadata for a calendar.+--+-- /See:/ 'calendarsGet' smart constructor.+newtype CalendarsGet = CalendarsGet+ { _cgCalendarId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgCalendarId'+calendarsGet+ :: Text -- ^ 'cgCalendarId'+ -> CalendarsGet+calendarsGet pCgCalendarId_ =+ CalendarsGet+ { _cgCalendarId = pCgCalendarId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cgCalendarId :: Lens' CalendarsGet Text+cgCalendarId+ = lens _cgCalendarId (\ s a -> s{_cgCalendarId = a})++instance GoogleRequest CalendarsGet where+ type Rs CalendarsGet = Calendar+ requestClient CalendarsGet{..}+ = go _cgCalendarId (Just AltJSON) appsCalendarService+ where go+ = buildClient (Proxy :: Proxy CalendarsGetResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Insert.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Insert+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a secondary calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.insert@.+module Network.Google.Resource.Calendar.Calendars.Insert+ (+ -- * REST Resource+ CalendarsInsertResource++ -- * Creating a Request+ , calendarsInsert+ , CalendarsInsert++ -- * Request Lenses+ , ciPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.insert@ method which the+-- 'CalendarsInsert' request conforms to.+type CalendarsInsertResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Calendar :> Post '[JSON] Calendar++-- | Creates a secondary calendar.+--+-- /See:/ 'calendarsInsert' smart constructor.+newtype CalendarsInsert = CalendarsInsert+ { _ciPayload :: Calendar+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciPayload'+calendarsInsert+ :: Calendar -- ^ 'ciPayload'+ -> CalendarsInsert+calendarsInsert pCiPayload_ =+ CalendarsInsert+ { _ciPayload = pCiPayload_+ }++-- | Multipart request metadata.+ciPayload :: Lens' CalendarsInsert Calendar+ciPayload+ = lens _ciPayload (\ s a -> s{_ciPayload = a})++instance GoogleRequest CalendarsInsert where+ type Rs CalendarsInsert = Calendar+ requestClient CalendarsInsert{..}+ = go (Just AltJSON) _ciPayload appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarsInsertResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Patch.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates metadata for a calendar. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.patch@.+module Network.Google.Resource.Calendar.Calendars.Patch+ (+ -- * REST Resource+ CalendarsPatchResource++ -- * Creating a Request+ , calendarsPatch+ , CalendarsPatch++ -- * Request Lenses+ , cpCalendarId+ , cpPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.patch@ method which the+-- 'CalendarsPatch' request conforms to.+type CalendarsPatchResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Calendar :> Patch '[JSON] Calendar++-- | Updates metadata for a calendar. This method supports patch semantics.+--+-- /See:/ 'calendarsPatch' smart constructor.+data CalendarsPatch = CalendarsPatch+ { _cpCalendarId :: !Text+ , _cpPayload :: !Calendar+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpCalendarId'+--+-- * 'cpPayload'+calendarsPatch+ :: Text -- ^ 'cpCalendarId'+ -> Calendar -- ^ 'cpPayload'+ -> CalendarsPatch+calendarsPatch pCpCalendarId_ pCpPayload_ =+ CalendarsPatch+ { _cpCalendarId = pCpCalendarId_+ , _cpPayload = pCpPayload_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cpCalendarId :: Lens' CalendarsPatch Text+cpCalendarId+ = lens _cpCalendarId (\ s a -> s{_cpCalendarId = a})++-- | Multipart request metadata.+cpPayload :: Lens' CalendarsPatch Calendar+cpPayload+ = lens _cpPayload (\ s a -> s{_cpPayload = a})++instance GoogleRequest CalendarsPatch where+ type Rs CalendarsPatch = Calendar+ requestClient CalendarsPatch{..}+ = go _cpCalendarId (Just AltJSON) _cpPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy CalendarsPatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Calendars/Update.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Calendars.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates metadata for a calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.calendars.update@.+module Network.Google.Resource.Calendar.Calendars.Update+ (+ -- * REST Resource+ CalendarsUpdateResource++ -- * Creating a Request+ , calendarsUpdate+ , CalendarsUpdate++ -- * Request Lenses+ , cuCalendarId+ , cuPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.calendars.update@ method which the+-- 'CalendarsUpdate' request conforms to.+type CalendarsUpdateResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Calendar :> Put '[JSON] Calendar++-- | Updates metadata for a calendar.+--+-- /See:/ 'calendarsUpdate' smart constructor.+data CalendarsUpdate = CalendarsUpdate+ { _cuCalendarId :: !Text+ , _cuPayload :: !Calendar+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CalendarsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuCalendarId'+--+-- * 'cuPayload'+calendarsUpdate+ :: Text -- ^ 'cuCalendarId'+ -> Calendar -- ^ 'cuPayload'+ -> CalendarsUpdate+calendarsUpdate pCuCalendarId_ pCuPayload_ =+ CalendarsUpdate+ { _cuCalendarId = pCuCalendarId_+ , _cuPayload = pCuPayload_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+cuCalendarId :: Lens' CalendarsUpdate Text+cuCalendarId+ = lens _cuCalendarId (\ s a -> s{_cuCalendarId = a})++-- | Multipart request metadata.+cuPayload :: Lens' CalendarsUpdate Calendar+cuPayload+ = lens _cuPayload (\ s a -> s{_cuPayload = a})++instance GoogleRequest CalendarsUpdate where+ type Rs CalendarsUpdate = Calendar+ requestClient CalendarsUpdate{..}+ = go _cuCalendarId (Just AltJSON) _cuPayload+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy CalendarsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Channels/Stop.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Channels.Stop+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stop watching resources through this channel+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.channels.stop@.+module Network.Google.Resource.Calendar.Channels.Stop+ (+ -- * REST Resource+ ChannelsStopResource++ -- * Creating a Request+ , channelsStop+ , ChannelsStop++ -- * Request Lenses+ , csPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.channels.stop@ method which the+-- 'ChannelsStop' request conforms to.+type ChannelsStopResource =+ "calendar" :>+ "v3" :>+ "channels" :>+ "stop" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] ()++-- | Stop watching resources through this channel+--+-- /See:/ 'channelsStop' smart constructor.+newtype ChannelsStop = ChannelsStop+ { _csPayload :: Channel+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChannelsStop' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csPayload'+channelsStop+ :: Channel -- ^ 'csPayload'+ -> ChannelsStop+channelsStop pCsPayload_ =+ ChannelsStop+ { _csPayload = pCsPayload_+ }++-- | Multipart request metadata.+csPayload :: Lens' ChannelsStop Channel+csPayload+ = lens _csPayload (\ s a -> s{_csPayload = a})++instance GoogleRequest ChannelsStop where+ type Rs ChannelsStop = ()+ requestClient ChannelsStop{..}+ = go (Just AltJSON) _csPayload appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ChannelsStopResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Colors/Get.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Colors.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the color definitions for calendars and events.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.colors.get@.+module Network.Google.Resource.Calendar.Colors.Get+ (+ -- * REST Resource+ ColorsGetResource++ -- * Creating a Request+ , colorsGet+ , ColorsGet++ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.colors.get@ method which the+-- 'ColorsGet' request conforms to.+type ColorsGetResource =+ "calendar" :>+ "v3" :>+ "colors" :>+ QueryParam "alt" AltJSON :> Get '[JSON] Colors++-- | Returns the color definitions for calendars and events.+--+-- /See:/ 'colorsGet' smart constructor.+data ColorsGet =+ ColorsGet+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ColorsGet' with the minimum fields required to make a request.+--+colorsGet+ :: ColorsGet+colorsGet = ColorsGet++instance GoogleRequest ColorsGet where+ type Rs ColorsGet = Colors+ requestClient ColorsGet{}+ = go (Just AltJSON) appsCalendarService+ where go+ = buildClient (Proxy :: Proxy ColorsGetResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Delete.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an event.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.delete@.+module Network.Google.Resource.Calendar.Events.Delete+ (+ -- * REST Resource+ EventsDeleteResource++ -- * Creating a Request+ , eventsDelete+ , EventsDelete++ -- * Request Lenses+ , edCalendarId+ , edSendNotifications+ , edEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.delete@ method which the+-- 'EventsDelete' request conforms to.+type EventsDeleteResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an event.+--+-- /See:/ 'eventsDelete' smart constructor.+data EventsDelete = EventsDelete+ { _edCalendarId :: !Text+ , _edSendNotifications :: !(Maybe Bool)+ , _edEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edCalendarId'+--+-- * 'edSendNotifications'+--+-- * 'edEventId'+eventsDelete+ :: Text -- ^ 'edCalendarId'+ -> Text -- ^ 'edEventId'+ -> EventsDelete+eventsDelete pEdCalendarId_ pEdEventId_ =+ EventsDelete+ { _edCalendarId = pEdCalendarId_+ , _edSendNotifications = Nothing+ , _edEventId = pEdEventId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+edCalendarId :: Lens' EventsDelete Text+edCalendarId+ = lens _edCalendarId (\ s a -> s{_edCalendarId = a})++-- | Whether to send notifications about the deletion of the event. Optional.+-- The default is False.+edSendNotifications :: Lens' EventsDelete (Maybe Bool)+edSendNotifications+ = lens _edSendNotifications+ (\ s a -> s{_edSendNotifications = a})++-- | Event identifier.+edEventId :: Lens' EventsDelete Text+edEventId+ = lens _edEventId (\ s a -> s{_edEventId = a})++instance GoogleRequest EventsDelete where+ type Rs EventsDelete = ()+ requestClient EventsDelete{..}+ = go _edCalendarId _edEventId _edSendNotifications+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Get.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an event.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.get@.+module Network.Google.Resource.Calendar.Events.Get+ (+ -- * REST Resource+ EventsGetResource++ -- * Creating a Request+ , eventsGet+ , EventsGet++ -- * Request Lenses+ , egCalendarId+ , egMaxAttendees+ , egTimeZone+ , egAlwaysIncludeEmail+ , egEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.get@ method which the+-- 'EventsGet' request conforms to.+type EventsGetResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "timeZone" Text :>+ QueryParam "alwaysIncludeEmail" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Event++-- | Returns an event.+--+-- /See:/ 'eventsGet' smart constructor.+data EventsGet = EventsGet+ { _egCalendarId :: !Text+ , _egMaxAttendees :: !(Maybe (Textual Int32))+ , _egTimeZone :: !(Maybe Text)+ , _egAlwaysIncludeEmail :: !(Maybe Bool)+ , _egEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'egCalendarId'+--+-- * 'egMaxAttendees'+--+-- * 'egTimeZone'+--+-- * 'egAlwaysIncludeEmail'+--+-- * 'egEventId'+eventsGet+ :: Text -- ^ 'egCalendarId'+ -> Text -- ^ 'egEventId'+ -> EventsGet+eventsGet pEgCalendarId_ pEgEventId_ =+ EventsGet+ { _egCalendarId = pEgCalendarId_+ , _egMaxAttendees = Nothing+ , _egTimeZone = Nothing+ , _egAlwaysIncludeEmail = Nothing+ , _egEventId = pEgEventId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+egCalendarId :: Lens' EventsGet Text+egCalendarId+ = lens _egCalendarId (\ s a -> s{_egCalendarId = a})++-- | 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.+egMaxAttendees :: Lens' EventsGet (Maybe Int32)+egMaxAttendees+ = lens _egMaxAttendees+ (\ s a -> s{_egMaxAttendees = a})+ . mapping _Coerce++-- | Time zone used in the response. Optional. The default is the time zone+-- of the calendar.+egTimeZone :: Lens' EventsGet (Maybe Text)+egTimeZone+ = lens _egTimeZone (\ s a -> s{_egTimeZone = a})++-- | 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.+egAlwaysIncludeEmail :: Lens' EventsGet (Maybe Bool)+egAlwaysIncludeEmail+ = lens _egAlwaysIncludeEmail+ (\ s a -> s{_egAlwaysIncludeEmail = a})++-- | Event identifier.+egEventId :: Lens' EventsGet Text+egEventId+ = lens _egEventId (\ s a -> s{_egEventId = a})++instance GoogleRequest EventsGet where+ type Rs EventsGet = Event+ requestClient EventsGet{..}+ = go _egCalendarId _egEventId _egMaxAttendees+ _egTimeZone+ _egAlwaysIncludeEmail+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsGetResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Import.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Import+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports an event. This operation is used to add a private copy of an+-- existing event to a calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.import@.+module Network.Google.Resource.Calendar.Events.Import+ (+ -- * REST Resource+ EventsImportResource++ -- * Creating a Request+ , eventsImport+ , EventsImport++ -- * Request Lenses+ , eiCalendarId+ , eiPayload+ , eiSupportsAttachments+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.import@ method which the+-- 'EventsImport' request conforms to.+type EventsImportResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ "import" :>+ QueryParam "supportsAttachments" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Event :> Post '[JSON] Event++-- | Imports an event. This operation is used to add a private copy of an+-- existing event to a calendar.+--+-- /See:/ 'eventsImport' smart constructor.+data EventsImport = EventsImport+ { _eiCalendarId :: !Text+ , _eiPayload :: !Event+ , _eiSupportsAttachments :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsImport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiCalendarId'+--+-- * 'eiPayload'+--+-- * 'eiSupportsAttachments'+eventsImport+ :: Text -- ^ 'eiCalendarId'+ -> Event -- ^ 'eiPayload'+ -> EventsImport+eventsImport pEiCalendarId_ pEiPayload_ =+ EventsImport+ { _eiCalendarId = pEiCalendarId_+ , _eiPayload = pEiPayload_+ , _eiSupportsAttachments = Nothing+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+eiCalendarId :: Lens' EventsImport Text+eiCalendarId+ = lens _eiCalendarId (\ s a -> s{_eiCalendarId = a})++-- | Multipart request metadata.+eiPayload :: Lens' EventsImport Event+eiPayload+ = lens _eiPayload (\ s a -> s{_eiPayload = a})++-- | Whether API client performing operation supports event attachments.+-- Optional. The default is False.+eiSupportsAttachments :: Lens' EventsImport (Maybe Bool)+eiSupportsAttachments+ = lens _eiSupportsAttachments+ (\ s a -> s{_eiSupportsAttachments = a})++instance GoogleRequest EventsImport where+ type Rs EventsImport = Event+ requestClient EventsImport{..}+ = go _eiCalendarId _eiSupportsAttachments+ (Just AltJSON)+ _eiPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsImportResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Insert.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Insert+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an event.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.insert@.+module Network.Google.Resource.Calendar.Events.Insert+ (+ -- * REST Resource+ EventsInsertResource++ -- * Creating a Request+ , eventsInsert+ , EventsInsert++ -- * Request Lenses+ , eveCalendarId+ , evePayload+ , eveMaxAttendees+ , eveSendNotifications+ , eveSupportsAttachments+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.insert@ method which the+-- 'EventsInsert' request conforms to.+type EventsInsertResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "supportsAttachments" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Event :> Post '[JSON] Event++-- | Creates an event.+--+-- /See:/ 'eventsInsert' smart constructor.+data EventsInsert = EventsInsert+ { _eveCalendarId :: !Text+ , _evePayload :: !Event+ , _eveMaxAttendees :: !(Maybe (Textual Int32))+ , _eveSendNotifications :: !(Maybe Bool)+ , _eveSupportsAttachments :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eveCalendarId'+--+-- * 'evePayload'+--+-- * 'eveMaxAttendees'+--+-- * 'eveSendNotifications'+--+-- * 'eveSupportsAttachments'+eventsInsert+ :: Text -- ^ 'eveCalendarId'+ -> Event -- ^ 'evePayload'+ -> EventsInsert+eventsInsert pEveCalendarId_ pEvePayload_ =+ EventsInsert+ { _eveCalendarId = pEveCalendarId_+ , _evePayload = pEvePayload_+ , _eveMaxAttendees = Nothing+ , _eveSendNotifications = Nothing+ , _eveSupportsAttachments = Nothing+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+eveCalendarId :: Lens' EventsInsert Text+eveCalendarId+ = lens _eveCalendarId+ (\ s a -> s{_eveCalendarId = a})++-- | Multipart request metadata.+evePayload :: Lens' EventsInsert Event+evePayload+ = lens _evePayload (\ s a -> s{_evePayload = a})++-- | 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.+eveMaxAttendees :: Lens' EventsInsert (Maybe Int32)+eveMaxAttendees+ = lens _eveMaxAttendees+ (\ s a -> s{_eveMaxAttendees = a})+ . mapping _Coerce++-- | Whether to send notifications about the creation of the new event.+-- Optional. The default is False.+eveSendNotifications :: Lens' EventsInsert (Maybe Bool)+eveSendNotifications+ = lens _eveSendNotifications+ (\ s a -> s{_eveSendNotifications = a})++-- | Whether API client performing operation supports event attachments.+-- Optional. The default is False.+eveSupportsAttachments :: Lens' EventsInsert (Maybe Bool)+eveSupportsAttachments+ = lens _eveSupportsAttachments+ (\ s a -> s{_eveSupportsAttachments = a})++instance GoogleRequest EventsInsert where+ type Rs EventsInsert = Event+ requestClient EventsInsert{..}+ = go _eveCalendarId _eveMaxAttendees+ _eveSendNotifications+ _eveSupportsAttachments+ (Just AltJSON)+ _evePayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsInsertResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Instances.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Instances+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns instances of the specified recurring event.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.instances@.+module Network.Google.Resource.Calendar.Events.Instances+ (+ -- * REST Resource+ EventsInstancesResource++ -- * Creating a Request+ , eventsInstances+ , EventsInstances++ -- * Request Lenses+ , eCalendarId+ , eTimeMin+ , eShowDeleted+ , eOriginalStart+ , eMaxAttendees+ , ePageToken+ , eTimeZone+ , eMaxResults+ , eAlwaysIncludeEmail+ , eTimeMax+ , eEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.instances@ method which the+-- 'EventsInstances' request conforms to.+type EventsInstancesResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ "instances" :>+ QueryParam "timeMin" DateTime' :>+ QueryParam "showDeleted" Bool :>+ QueryParam "originalStart" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "pageToken" Text :>+ QueryParam "timeZone" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alwaysIncludeEmail" Bool :>+ QueryParam "timeMax" DateTime' :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Events++-- | Returns instances of the specified recurring event.+--+-- /See:/ 'eventsInstances' smart constructor.+data EventsInstances = EventsInstances+ { _eCalendarId :: !Text+ , _eTimeMin :: !(Maybe DateTime')+ , _eShowDeleted :: !(Maybe Bool)+ , _eOriginalStart :: !(Maybe Text)+ , _eMaxAttendees :: !(Maybe (Textual Int32))+ , _ePageToken :: !(Maybe Text)+ , _eTimeZone :: !(Maybe Text)+ , _eMaxResults :: !(Maybe (Textual Int32))+ , _eAlwaysIncludeEmail :: !(Maybe Bool)+ , _eTimeMax :: !(Maybe DateTime')+ , _eEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eCalendarId'+--+-- * 'eTimeMin'+--+-- * 'eShowDeleted'+--+-- * 'eOriginalStart'+--+-- * 'eMaxAttendees'+--+-- * 'ePageToken'+--+-- * 'eTimeZone'+--+-- * 'eMaxResults'+--+-- * 'eAlwaysIncludeEmail'+--+-- * 'eTimeMax'+--+-- * 'eEventId'+eventsInstances+ :: Text -- ^ 'eCalendarId'+ -> Text -- ^ 'eEventId'+ -> EventsInstances+eventsInstances pECalendarId_ pEEventId_ =+ EventsInstances+ { _eCalendarId = pECalendarId_+ , _eTimeMin = Nothing+ , _eShowDeleted = Nothing+ , _eOriginalStart = Nothing+ , _eMaxAttendees = Nothing+ , _ePageToken = Nothing+ , _eTimeZone = Nothing+ , _eMaxResults = Nothing+ , _eAlwaysIncludeEmail = Nothing+ , _eTimeMax = Nothing+ , _eEventId = pEEventId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+eCalendarId :: Lens' EventsInstances Text+eCalendarId+ = lens _eCalendarId (\ s a -> s{_eCalendarId = a})++-- | Lower bound (inclusive) for an event\'s end time to filter by. Optional.+-- The default is not to filter by end time. Must be an RFC3339 timestamp+-- with mandatory time zone offset.+eTimeMin :: Lens' EventsInstances (Maybe UTCTime)+eTimeMin+ = lens _eTimeMin (\ s a -> s{_eTimeMin = a}) .+ mapping _DateTime++-- | 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.+eShowDeleted :: Lens' EventsInstances (Maybe Bool)+eShowDeleted+ = lens _eShowDeleted (\ s a -> s{_eShowDeleted = a})++-- | The original start time of the instance in the result. Optional.+eOriginalStart :: Lens' EventsInstances (Maybe Text)+eOriginalStart+ = lens _eOriginalStart+ (\ s a -> s{_eOriginalStart = a})++-- | 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.+eMaxAttendees :: Lens' EventsInstances (Maybe Int32)+eMaxAttendees+ = lens _eMaxAttendees+ (\ s a -> s{_eMaxAttendees = a})+ . mapping _Coerce++-- | Token specifying which result page to return. Optional.+ePageToken :: Lens' EventsInstances (Maybe Text)+ePageToken+ = lens _ePageToken (\ s a -> s{_ePageToken = a})++-- | Time zone used in the response. Optional. The default is the time zone+-- of the calendar.+eTimeZone :: Lens' EventsInstances (Maybe Text)+eTimeZone+ = lens _eTimeZone (\ s a -> s{_eTimeZone = a})++-- | 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.+eMaxResults :: Lens' EventsInstances (Maybe Int32)+eMaxResults+ = lens _eMaxResults (\ s a -> s{_eMaxResults = a}) .+ mapping _Coerce++-- | 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.+eAlwaysIncludeEmail :: Lens' EventsInstances (Maybe Bool)+eAlwaysIncludeEmail+ = lens _eAlwaysIncludeEmail+ (\ s a -> s{_eAlwaysIncludeEmail = a})++-- | Upper bound (exclusive) for an event\'s start time to filter by.+-- Optional. The default is not to filter by start time. Must be an RFC3339+-- timestamp with mandatory time zone offset.+eTimeMax :: Lens' EventsInstances (Maybe UTCTime)+eTimeMax+ = lens _eTimeMax (\ s a -> s{_eTimeMax = a}) .+ mapping _DateTime++-- | Recurring event identifier.+eEventId :: Lens' EventsInstances Text+eEventId = lens _eEventId (\ s a -> s{_eEventId = a})++instance GoogleRequest EventsInstances where+ type Rs EventsInstances = Events+ requestClient EventsInstances{..}+ = go _eCalendarId _eEventId _eTimeMin _eShowDeleted+ _eOriginalStart+ _eMaxAttendees+ _ePageToken+ _eTimeZone+ _eMaxResults+ _eAlwaysIncludeEmail+ _eTimeMax+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient+ (Proxy :: Proxy EventsInstancesResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/List.hs view
@@ -0,0 +1,356 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns events on the specified calendar.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.list@.+module Network.Google.Resource.Calendar.Events.List+ (+ -- * REST Resource+ EventsListResource++ -- * Creating a Request+ , eventsList+ , EventsList++ -- * Request Lenses+ , elSyncToken+ , elCalendarId+ , elTimeMin+ , elOrderBy+ , elSingleEvents+ , elPrivateExtendedProperty+ , elShowDeleted+ , elQ+ , elSharedExtendedProperty+ , elMaxAttendees+ , elICalUId+ , elUpdatedMin+ , elPageToken+ , elTimeZone+ , elShowHiddenInvitations+ , elMaxResults+ , elAlwaysIncludeEmail+ , elTimeMax+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.list@ method which the+-- 'EventsList' request conforms to.+type EventsListResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ QueryParam "syncToken" Text :>+ QueryParam "timeMin" DateTime' :>+ QueryParam "orderBy" EventsListOrderBy :>+ QueryParam "singleEvents" Bool :>+ QueryParams "privateExtendedProperty" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "q" Text :>+ QueryParams "sharedExtendedProperty" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "iCalUID" Text :>+ QueryParam "updatedMin" DateTime' :>+ QueryParam "pageToken" Text :>+ QueryParam "timeZone" Text :>+ QueryParam "showHiddenInvitations" Bool+ :>+ QueryParam "maxResults"+ (Textual Int32)+ :>+ QueryParam "alwaysIncludeEmail"+ Bool+ :>+ QueryParam "timeMax" DateTime' :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Events++-- | Returns events on the specified calendar.+--+-- /See:/ 'eventsList' smart constructor.+data EventsList = EventsList+ { _elSyncToken :: !(Maybe Text)+ , _elCalendarId :: !Text+ , _elTimeMin :: !(Maybe DateTime')+ , _elOrderBy :: !(Maybe EventsListOrderBy)+ , _elSingleEvents :: !(Maybe Bool)+ , _elPrivateExtendedProperty :: !(Maybe [Text])+ , _elShowDeleted :: !(Maybe Bool)+ , _elQ :: !(Maybe Text)+ , _elSharedExtendedProperty :: !(Maybe [Text])+ , _elMaxAttendees :: !(Maybe (Textual Int32))+ , _elICalUId :: !(Maybe Text)+ , _elUpdatedMin :: !(Maybe DateTime')+ , _elPageToken :: !(Maybe Text)+ , _elTimeZone :: !(Maybe Text)+ , _elShowHiddenInvitations :: !(Maybe Bool)+ , _elMaxResults :: !(Maybe (Textual Int32))+ , _elAlwaysIncludeEmail :: !(Maybe Bool)+ , _elTimeMax :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elSyncToken'+--+-- * 'elCalendarId'+--+-- * 'elTimeMin'+--+-- * 'elOrderBy'+--+-- * 'elSingleEvents'+--+-- * 'elPrivateExtendedProperty'+--+-- * 'elShowDeleted'+--+-- * 'elQ'+--+-- * 'elSharedExtendedProperty'+--+-- * 'elMaxAttendees'+--+-- * 'elICalUId'+--+-- * 'elUpdatedMin'+--+-- * 'elPageToken'+--+-- * 'elTimeZone'+--+-- * 'elShowHiddenInvitations'+--+-- * 'elMaxResults'+--+-- * 'elAlwaysIncludeEmail'+--+-- * 'elTimeMax'+eventsList+ :: Text -- ^ 'elCalendarId'+ -> EventsList+eventsList pElCalendarId_ =+ EventsList+ { _elSyncToken = Nothing+ , _elCalendarId = pElCalendarId_+ , _elTimeMin = Nothing+ , _elOrderBy = Nothing+ , _elSingleEvents = Nothing+ , _elPrivateExtendedProperty = Nothing+ , _elShowDeleted = Nothing+ , _elQ = Nothing+ , _elSharedExtendedProperty = Nothing+ , _elMaxAttendees = Nothing+ , _elICalUId = Nothing+ , _elUpdatedMin = Nothing+ , _elPageToken = Nothing+ , _elTimeZone = Nothing+ , _elShowHiddenInvitations = Nothing+ , _elMaxResults = Nothing+ , _elAlwaysIncludeEmail = Nothing+ , _elTimeMax = Nothing+ }++-- | 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.+elSyncToken :: Lens' EventsList (Maybe Text)+elSyncToken+ = lens _elSyncToken (\ s a -> s{_elSyncToken = a})++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+elCalendarId :: Lens' EventsList Text+elCalendarId+ = lens _elCalendarId (\ s a -> s{_elCalendarId = a})++-- | Lower bound (inclusive) for an event\'s end time to filter by. Optional.+-- The default is not to filter by end time. Must be an RFC3339 timestamp+-- with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00,+-- 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.+elTimeMin :: Lens' EventsList (Maybe UTCTime)+elTimeMin+ = lens _elTimeMin (\ s a -> s{_elTimeMin = a}) .+ mapping _DateTime++-- | The order of the events returned in the result. Optional. The default is+-- an unspecified, stable order.+elOrderBy :: Lens' EventsList (Maybe EventsListOrderBy)+elOrderBy+ = lens _elOrderBy (\ s a -> s{_elOrderBy = a})++-- | 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.+elSingleEvents :: Lens' EventsList (Maybe Bool)+elSingleEvents+ = lens _elSingleEvents+ (\ s a -> s{_elSingleEvents = a})++-- | 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.+elPrivateExtendedProperty :: Lens' EventsList [Text]+elPrivateExtendedProperty+ = lens _elPrivateExtendedProperty+ (\ s a -> s{_elPrivateExtendedProperty = a})+ . _Default+ . _Coerce++-- | 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.+elShowDeleted :: Lens' EventsList (Maybe Bool)+elShowDeleted+ = lens _elShowDeleted+ (\ s a -> s{_elShowDeleted = a})++-- | Free text search terms to find events that match these terms in any+-- field, except for extended properties. Optional.+elQ :: Lens' EventsList (Maybe Text)+elQ = lens _elQ (\ s a -> s{_elQ = a})++-- | 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.+elSharedExtendedProperty :: Lens' EventsList [Text]+elSharedExtendedProperty+ = lens _elSharedExtendedProperty+ (\ s a -> s{_elSharedExtendedProperty = a})+ . _Default+ . _Coerce++-- | 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.+elMaxAttendees :: Lens' EventsList (Maybe Int32)+elMaxAttendees+ = lens _elMaxAttendees+ (\ s a -> s{_elMaxAttendees = a})+ . mapping _Coerce++-- | Specifies event ID in the iCalendar format to be included in the+-- response. Optional.+elICalUId :: Lens' EventsList (Maybe Text)+elICalUId+ = lens _elICalUId (\ s a -> s{_elICalUId = a})++-- | Lower bound for an event\'s last modification time (as a RFC3339+-- 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.+elUpdatedMin :: Lens' EventsList (Maybe UTCTime)+elUpdatedMin+ = lens _elUpdatedMin (\ s a -> s{_elUpdatedMin = a})+ . mapping _DateTime++-- | Token specifying which result page to return. Optional.+elPageToken :: Lens' EventsList (Maybe Text)+elPageToken+ = lens _elPageToken (\ s a -> s{_elPageToken = a})++-- | Time zone used in the response. Optional. The default is the time zone+-- of the calendar.+elTimeZone :: Lens' EventsList (Maybe Text)+elTimeZone+ = lens _elTimeZone (\ s a -> s{_elTimeZone = a})++-- | Whether to include hidden invitations in the result. Optional. The+-- default is False.+elShowHiddenInvitations :: Lens' EventsList (Maybe Bool)+elShowHiddenInvitations+ = lens _elShowHiddenInvitations+ (\ s a -> s{_elShowHiddenInvitations = a})++-- | 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.+elMaxResults :: Lens' EventsList (Maybe Int32)+elMaxResults+ = lens _elMaxResults (\ s a -> s{_elMaxResults = a})+ . mapping _Coerce++-- | 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.+elAlwaysIncludeEmail :: Lens' EventsList (Maybe Bool)+elAlwaysIncludeEmail+ = lens _elAlwaysIncludeEmail+ (\ s a -> s{_elAlwaysIncludeEmail = a})++-- | Upper bound (exclusive) for an event\'s start time to filter by.+-- Optional. The default is not to filter by start time. Must be an RFC3339+-- timestamp with mandatory time zone offset, e.g.,+-- 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be+-- provided but will be ignored.+elTimeMax :: Lens' EventsList (Maybe UTCTime)+elTimeMax+ = lens _elTimeMax (\ s a -> s{_elTimeMax = a}) .+ mapping _DateTime++instance GoogleRequest EventsList where+ type Rs EventsList = Events+ requestClient EventsList{..}+ = go _elCalendarId _elSyncToken _elTimeMin _elOrderBy+ _elSingleEvents+ (_elPrivateExtendedProperty ^. _Default)+ _elShowDeleted+ _elQ+ (_elSharedExtendedProperty ^. _Default)+ _elMaxAttendees+ _elICalUId+ _elUpdatedMin+ _elPageToken+ _elTimeZone+ _elShowHiddenInvitations+ _elMaxResults+ _elAlwaysIncludeEmail+ _elTimeMax+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsListResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Move.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Move+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Moves an event to another calendar, i.e. changes an event\'s organizer.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.move@.+module Network.Google.Resource.Calendar.Events.Move+ (+ -- * REST Resource+ EventsMoveResource++ -- * Creating a Request+ , eventsMove+ , EventsMove++ -- * Request Lenses+ , emDestination+ , emCalendarId+ , emSendNotifications+ , emEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.move@ method which the+-- 'EventsMove' request conforms to.+type EventsMoveResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ "move" :>+ QueryParam "destination" Text :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "alt" AltJSON :> Post '[JSON] Event++-- | Moves an event to another calendar, i.e. changes an event\'s organizer.+--+-- /See:/ 'eventsMove' smart constructor.+data EventsMove = EventsMove+ { _emDestination :: !Text+ , _emCalendarId :: !Text+ , _emSendNotifications :: !(Maybe Bool)+ , _emEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsMove' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'emDestination'+--+-- * 'emCalendarId'+--+-- * 'emSendNotifications'+--+-- * 'emEventId'+eventsMove+ :: Text -- ^ 'emDestination'+ -> Text -- ^ 'emCalendarId'+ -> Text -- ^ 'emEventId'+ -> EventsMove+eventsMove pEmDestination_ pEmCalendarId_ pEmEventId_ =+ EventsMove+ { _emDestination = pEmDestination_+ , _emCalendarId = pEmCalendarId_+ , _emSendNotifications = Nothing+ , _emEventId = pEmEventId_+ }++-- | Calendar identifier of the target calendar where the event is to be+-- moved to.+emDestination :: Lens' EventsMove Text+emDestination+ = lens _emDestination+ (\ s a -> s{_emDestination = a})++-- | Calendar identifier of the source calendar where the event currently is+-- on.+emCalendarId :: Lens' EventsMove Text+emCalendarId+ = lens _emCalendarId (\ s a -> s{_emCalendarId = a})++-- | Whether to send notifications about the change of the event\'s+-- organizer. Optional. The default is False.+emSendNotifications :: Lens' EventsMove (Maybe Bool)+emSendNotifications+ = lens _emSendNotifications+ (\ s a -> s{_emSendNotifications = a})++-- | Event identifier.+emEventId :: Lens' EventsMove Text+emEventId+ = lens _emEventId (\ s a -> s{_emEventId = a})++instance GoogleRequest EventsMove where+ type Rs EventsMove = Event+ requestClient EventsMove{..}+ = go _emCalendarId _emEventId (Just _emDestination)+ _emSendNotifications+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsMoveResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Patch.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an event. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.patch@.+module Network.Google.Resource.Calendar.Events.Patch+ (+ -- * REST Resource+ EventsPatchResource++ -- * Creating a Request+ , eventsPatch+ , EventsPatch++ -- * Request Lenses+ , epCalendarId+ , epPayload+ , epMaxAttendees+ , epSendNotifications+ , epSupportsAttachments+ , epAlwaysIncludeEmail+ , epEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.patch@ method which the+-- 'EventsPatch' request conforms to.+type EventsPatchResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "supportsAttachments" Bool :>+ QueryParam "alwaysIncludeEmail" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Event :> Patch '[JSON] Event++-- | Updates an event. This method supports patch semantics.+--+-- /See:/ 'eventsPatch' smart constructor.+data EventsPatch = EventsPatch+ { _epCalendarId :: !Text+ , _epPayload :: !Event+ , _epMaxAttendees :: !(Maybe (Textual Int32))+ , _epSendNotifications :: !(Maybe Bool)+ , _epSupportsAttachments :: !(Maybe Bool)+ , _epAlwaysIncludeEmail :: !(Maybe Bool)+ , _epEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epCalendarId'+--+-- * 'epPayload'+--+-- * 'epMaxAttendees'+--+-- * 'epSendNotifications'+--+-- * 'epSupportsAttachments'+--+-- * 'epAlwaysIncludeEmail'+--+-- * 'epEventId'+eventsPatch+ :: Text -- ^ 'epCalendarId'+ -> Event -- ^ 'epPayload'+ -> Text -- ^ 'epEventId'+ -> EventsPatch+eventsPatch pEpCalendarId_ pEpPayload_ pEpEventId_ =+ EventsPatch+ { _epCalendarId = pEpCalendarId_+ , _epPayload = pEpPayload_+ , _epMaxAttendees = Nothing+ , _epSendNotifications = Nothing+ , _epSupportsAttachments = Nothing+ , _epAlwaysIncludeEmail = Nothing+ , _epEventId = pEpEventId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+epCalendarId :: Lens' EventsPatch Text+epCalendarId+ = lens _epCalendarId (\ s a -> s{_epCalendarId = a})++-- | Multipart request metadata.+epPayload :: Lens' EventsPatch Event+epPayload+ = lens _epPayload (\ s a -> s{_epPayload = a})++-- | 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.+epMaxAttendees :: Lens' EventsPatch (Maybe Int32)+epMaxAttendees+ = lens _epMaxAttendees+ (\ s a -> s{_epMaxAttendees = a})+ . mapping _Coerce++-- | Whether to send notifications about the event update (e.g. attendee\'s+-- responses, title changes, etc.). Optional. The default is False.+epSendNotifications :: Lens' EventsPatch (Maybe Bool)+epSendNotifications+ = lens _epSendNotifications+ (\ s a -> s{_epSendNotifications = a})++-- | Whether API client performing operation supports event attachments.+-- Optional. The default is False.+epSupportsAttachments :: Lens' EventsPatch (Maybe Bool)+epSupportsAttachments+ = lens _epSupportsAttachments+ (\ s a -> s{_epSupportsAttachments = a})++-- | 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.+epAlwaysIncludeEmail :: Lens' EventsPatch (Maybe Bool)+epAlwaysIncludeEmail+ = lens _epAlwaysIncludeEmail+ (\ s a -> s{_epAlwaysIncludeEmail = a})++-- | Event identifier.+epEventId :: Lens' EventsPatch Text+epEventId+ = lens _epEventId (\ s a -> s{_epEventId = a})++instance GoogleRequest EventsPatch where+ type Rs EventsPatch = Event+ requestClient EventsPatch{..}+ = go _epCalendarId _epEventId _epMaxAttendees+ _epSendNotifications+ _epSupportsAttachments+ _epAlwaysIncludeEmail+ (Just AltJSON)+ _epPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsPatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/QuickAdd.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.QuickAdd+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an event based on a simple text string.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.quickAdd@.+module Network.Google.Resource.Calendar.Events.QuickAdd+ (+ -- * REST Resource+ EventsQuickAddResource++ -- * Creating a Request+ , eventsQuickAdd+ , EventsQuickAdd++ -- * Request Lenses+ , eqaCalendarId+ , eqaText+ , eqaSendNotifications+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.quickAdd@ method which the+-- 'EventsQuickAdd' request conforms to.+type EventsQuickAddResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ "quickAdd" :>+ QueryParam "text" Text :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "alt" AltJSON :> Post '[JSON] Event++-- | Creates an event based on a simple text string.+--+-- /See:/ 'eventsQuickAdd' smart constructor.+data EventsQuickAdd = EventsQuickAdd+ { _eqaCalendarId :: !Text+ , _eqaText :: !Text+ , _eqaSendNotifications :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsQuickAdd' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eqaCalendarId'+--+-- * 'eqaText'+--+-- * 'eqaSendNotifications'+eventsQuickAdd+ :: Text -- ^ 'eqaCalendarId'+ -> Text -- ^ 'eqaText'+ -> EventsQuickAdd+eventsQuickAdd pEqaCalendarId_ pEqaText_ =+ EventsQuickAdd+ { _eqaCalendarId = pEqaCalendarId_+ , _eqaText = pEqaText_+ , _eqaSendNotifications = Nothing+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+eqaCalendarId :: Lens' EventsQuickAdd Text+eqaCalendarId+ = lens _eqaCalendarId+ (\ s a -> s{_eqaCalendarId = a})++-- | The text describing the event to be created.+eqaText :: Lens' EventsQuickAdd Text+eqaText = lens _eqaText (\ s a -> s{_eqaText = a})++-- | Whether to send notifications about the creation of the event. Optional.+-- The default is False.+eqaSendNotifications :: Lens' EventsQuickAdd (Maybe Bool)+eqaSendNotifications+ = lens _eqaSendNotifications+ (\ s a -> s{_eqaSendNotifications = a})++instance GoogleRequest EventsQuickAdd where+ type Rs EventsQuickAdd = Event+ requestClient EventsQuickAdd{..}+ = go _eqaCalendarId (Just _eqaText)+ _eqaSendNotifications+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsQuickAddResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Update.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an event.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.update@.+module Network.Google.Resource.Calendar.Events.Update+ (+ -- * REST Resource+ EventsUpdateResource++ -- * Creating a Request+ , eventsUpdate+ , EventsUpdate++ -- * Request Lenses+ , euCalendarId+ , euPayload+ , euMaxAttendees+ , euSendNotifications+ , euSupportsAttachments+ , euAlwaysIncludeEmail+ , euEventId+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.update@ method which the+-- 'EventsUpdate' request conforms to.+type EventsUpdateResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ Capture "eventId" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "sendNotifications" Bool :>+ QueryParam "supportsAttachments" Bool :>+ QueryParam "alwaysIncludeEmail" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Event :> Put '[JSON] Event++-- | Updates an event.+--+-- /See:/ 'eventsUpdate' smart constructor.+data EventsUpdate = EventsUpdate+ { _euCalendarId :: !Text+ , _euPayload :: !Event+ , _euMaxAttendees :: !(Maybe (Textual Int32))+ , _euSendNotifications :: !(Maybe Bool)+ , _euSupportsAttachments :: !(Maybe Bool)+ , _euAlwaysIncludeEmail :: !(Maybe Bool)+ , _euEventId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'euCalendarId'+--+-- * 'euPayload'+--+-- * 'euMaxAttendees'+--+-- * 'euSendNotifications'+--+-- * 'euSupportsAttachments'+--+-- * 'euAlwaysIncludeEmail'+--+-- * 'euEventId'+eventsUpdate+ :: Text -- ^ 'euCalendarId'+ -> Event -- ^ 'euPayload'+ -> Text -- ^ 'euEventId'+ -> EventsUpdate+eventsUpdate pEuCalendarId_ pEuPayload_ pEuEventId_ =+ EventsUpdate+ { _euCalendarId = pEuCalendarId_+ , _euPayload = pEuPayload_+ , _euMaxAttendees = Nothing+ , _euSendNotifications = Nothing+ , _euSupportsAttachments = Nothing+ , _euAlwaysIncludeEmail = Nothing+ , _euEventId = pEuEventId_+ }++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+euCalendarId :: Lens' EventsUpdate Text+euCalendarId+ = lens _euCalendarId (\ s a -> s{_euCalendarId = a})++-- | Multipart request metadata.+euPayload :: Lens' EventsUpdate Event+euPayload+ = lens _euPayload (\ s a -> s{_euPayload = a})++-- | 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.+euMaxAttendees :: Lens' EventsUpdate (Maybe Int32)+euMaxAttendees+ = lens _euMaxAttendees+ (\ s a -> s{_euMaxAttendees = a})+ . mapping _Coerce++-- | Whether to send notifications about the event update (e.g. attendee\'s+-- responses, title changes, etc.). Optional. The default is False.+euSendNotifications :: Lens' EventsUpdate (Maybe Bool)+euSendNotifications+ = lens _euSendNotifications+ (\ s a -> s{_euSendNotifications = a})++-- | Whether API client performing operation supports event attachments.+-- Optional. The default is False.+euSupportsAttachments :: Lens' EventsUpdate (Maybe Bool)+euSupportsAttachments+ = lens _euSupportsAttachments+ (\ s a -> s{_euSupportsAttachments = a})++-- | 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.+euAlwaysIncludeEmail :: Lens' EventsUpdate (Maybe Bool)+euAlwaysIncludeEmail+ = lens _euAlwaysIncludeEmail+ (\ s a -> s{_euAlwaysIncludeEmail = a})++-- | Event identifier.+euEventId :: Lens' EventsUpdate Text+euEventId+ = lens _euEventId (\ s a -> s{_euEventId = a})++instance GoogleRequest EventsUpdate where+ type Rs EventsUpdate = Event+ requestClient EventsUpdate{..}+ = go _euCalendarId _euEventId _euMaxAttendees+ _euSendNotifications+ _euSupportsAttachments+ _euAlwaysIncludeEmail+ (Just AltJSON)+ _euPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Events/Watch.hs view
@@ -0,0 +1,372 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Events.Watch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Watch for changes to Events resources.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.events.watch@.+module Network.Google.Resource.Calendar.Events.Watch+ (+ -- * REST Resource+ EventsWatchResource++ -- * Creating a Request+ , eventsWatch+ , EventsWatch++ -- * Request Lenses+ , ewSyncToken+ , ewCalendarId+ , ewTimeMin+ , ewOrderBy+ , ewSingleEvents+ , ewPrivateExtendedProperty+ , ewShowDeleted+ , ewPayload+ , ewQ+ , ewSharedExtendedProperty+ , ewMaxAttendees+ , ewICalUId+ , ewUpdatedMin+ , ewPageToken+ , ewTimeZone+ , ewShowHiddenInvitations+ , ewMaxResults+ , ewAlwaysIncludeEmail+ , ewTimeMax+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.events.watch@ method which the+-- 'EventsWatch' request conforms to.+type EventsWatchResource =+ "calendar" :>+ "v3" :>+ "calendars" :>+ Capture "calendarId" Text :>+ "events" :>+ "watch" :>+ QueryParam "syncToken" Text :>+ QueryParam "timeMin" DateTime' :>+ QueryParam "orderBy" EventsWatchOrderBy :>+ QueryParam "singleEvents" Bool :>+ QueryParams "privateExtendedProperty" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "q" Text :>+ QueryParams "sharedExtendedProperty" Text :>+ QueryParam "maxAttendees" (Textual Int32) :>+ QueryParam "iCalUID" Text :>+ QueryParam "updatedMin" DateTime' :>+ QueryParam "pageToken" Text :>+ QueryParam "timeZone" Text :>+ QueryParam "showHiddenInvitations"+ Bool+ :>+ QueryParam "maxResults"+ (Textual Int32)+ :>+ QueryParam "alwaysIncludeEmail"+ Bool+ :>+ QueryParam "timeMax" DateTime'+ :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :>+ Post '[JSON] Channel++-- | Watch for changes to Events resources.+--+-- /See:/ 'eventsWatch' smart constructor.+data EventsWatch = EventsWatch+ { _ewSyncToken :: !(Maybe Text)+ , _ewCalendarId :: !Text+ , _ewTimeMin :: !(Maybe DateTime')+ , _ewOrderBy :: !(Maybe EventsWatchOrderBy)+ , _ewSingleEvents :: !(Maybe Bool)+ , _ewPrivateExtendedProperty :: !(Maybe [Text])+ , _ewShowDeleted :: !(Maybe Bool)+ , _ewPayload :: !Channel+ , _ewQ :: !(Maybe Text)+ , _ewSharedExtendedProperty :: !(Maybe [Text])+ , _ewMaxAttendees :: !(Maybe (Textual Int32))+ , _ewICalUId :: !(Maybe Text)+ , _ewUpdatedMin :: !(Maybe DateTime')+ , _ewPageToken :: !(Maybe Text)+ , _ewTimeZone :: !(Maybe Text)+ , _ewShowHiddenInvitations :: !(Maybe Bool)+ , _ewMaxResults :: !(Maybe (Textual Int32))+ , _ewAlwaysIncludeEmail :: !(Maybe Bool)+ , _ewTimeMax :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventsWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ewSyncToken'+--+-- * 'ewCalendarId'+--+-- * 'ewTimeMin'+--+-- * 'ewOrderBy'+--+-- * 'ewSingleEvents'+--+-- * 'ewPrivateExtendedProperty'+--+-- * 'ewShowDeleted'+--+-- * 'ewPayload'+--+-- * 'ewQ'+--+-- * 'ewSharedExtendedProperty'+--+-- * 'ewMaxAttendees'+--+-- * 'ewICalUId'+--+-- * 'ewUpdatedMin'+--+-- * 'ewPageToken'+--+-- * 'ewTimeZone'+--+-- * 'ewShowHiddenInvitations'+--+-- * 'ewMaxResults'+--+-- * 'ewAlwaysIncludeEmail'+--+-- * 'ewTimeMax'+eventsWatch+ :: Text -- ^ 'ewCalendarId'+ -> Channel -- ^ 'ewPayload'+ -> EventsWatch+eventsWatch pEwCalendarId_ pEwPayload_ =+ EventsWatch+ { _ewSyncToken = Nothing+ , _ewCalendarId = pEwCalendarId_+ , _ewTimeMin = Nothing+ , _ewOrderBy = Nothing+ , _ewSingleEvents = Nothing+ , _ewPrivateExtendedProperty = Nothing+ , _ewShowDeleted = Nothing+ , _ewPayload = pEwPayload_+ , _ewQ = Nothing+ , _ewSharedExtendedProperty = Nothing+ , _ewMaxAttendees = Nothing+ , _ewICalUId = Nothing+ , _ewUpdatedMin = Nothing+ , _ewPageToken = Nothing+ , _ewTimeZone = Nothing+ , _ewShowHiddenInvitations = Nothing+ , _ewMaxResults = Nothing+ , _ewAlwaysIncludeEmail = Nothing+ , _ewTimeMax = Nothing+ }++-- | 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.+ewSyncToken :: Lens' EventsWatch (Maybe Text)+ewSyncToken+ = lens _ewSyncToken (\ s a -> s{_ewSyncToken = a})++-- | Calendar identifier. To retrieve calendar IDs call the calendarList.list+-- method. If you want to access the primary calendar of the currently+-- logged in user, use the \"primary\" keyword.+ewCalendarId :: Lens' EventsWatch Text+ewCalendarId+ = lens _ewCalendarId (\ s a -> s{_ewCalendarId = a})++-- | Lower bound (inclusive) for an event\'s end time to filter by. Optional.+-- The default is not to filter by end time. Must be an RFC3339 timestamp+-- with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00,+-- 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.+ewTimeMin :: Lens' EventsWatch (Maybe UTCTime)+ewTimeMin+ = lens _ewTimeMin (\ s a -> s{_ewTimeMin = a}) .+ mapping _DateTime++-- | The order of the events returned in the result. Optional. The default is+-- an unspecified, stable order.+ewOrderBy :: Lens' EventsWatch (Maybe EventsWatchOrderBy)+ewOrderBy+ = lens _ewOrderBy (\ s a -> s{_ewOrderBy = a})++-- | 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.+ewSingleEvents :: Lens' EventsWatch (Maybe Bool)+ewSingleEvents+ = lens _ewSingleEvents+ (\ s a -> s{_ewSingleEvents = a})++-- | 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.+ewPrivateExtendedProperty :: Lens' EventsWatch [Text]+ewPrivateExtendedProperty+ = lens _ewPrivateExtendedProperty+ (\ s a -> s{_ewPrivateExtendedProperty = a})+ . _Default+ . _Coerce++-- | 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.+ewShowDeleted :: Lens' EventsWatch (Maybe Bool)+ewShowDeleted+ = lens _ewShowDeleted+ (\ s a -> s{_ewShowDeleted = a})++-- | Multipart request metadata.+ewPayload :: Lens' EventsWatch Channel+ewPayload+ = lens _ewPayload (\ s a -> s{_ewPayload = a})++-- | Free text search terms to find events that match these terms in any+-- field, except for extended properties. Optional.+ewQ :: Lens' EventsWatch (Maybe Text)+ewQ = lens _ewQ (\ s a -> s{_ewQ = a})++-- | 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.+ewSharedExtendedProperty :: Lens' EventsWatch [Text]+ewSharedExtendedProperty+ = lens _ewSharedExtendedProperty+ (\ s a -> s{_ewSharedExtendedProperty = a})+ . _Default+ . _Coerce++-- | 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.+ewMaxAttendees :: Lens' EventsWatch (Maybe Int32)+ewMaxAttendees+ = lens _ewMaxAttendees+ (\ s a -> s{_ewMaxAttendees = a})+ . mapping _Coerce++-- | Specifies event ID in the iCalendar format to be included in the+-- response. Optional.+ewICalUId :: Lens' EventsWatch (Maybe Text)+ewICalUId+ = lens _ewICalUId (\ s a -> s{_ewICalUId = a})++-- | Lower bound for an event\'s last modification time (as a RFC3339+-- 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.+ewUpdatedMin :: Lens' EventsWatch (Maybe UTCTime)+ewUpdatedMin+ = lens _ewUpdatedMin (\ s a -> s{_ewUpdatedMin = a})+ . mapping _DateTime++-- | Token specifying which result page to return. Optional.+ewPageToken :: Lens' EventsWatch (Maybe Text)+ewPageToken+ = lens _ewPageToken (\ s a -> s{_ewPageToken = a})++-- | Time zone used in the response. Optional. The default is the time zone+-- of the calendar.+ewTimeZone :: Lens' EventsWatch (Maybe Text)+ewTimeZone+ = lens _ewTimeZone (\ s a -> s{_ewTimeZone = a})++-- | Whether to include hidden invitations in the result. Optional. The+-- default is False.+ewShowHiddenInvitations :: Lens' EventsWatch (Maybe Bool)+ewShowHiddenInvitations+ = lens _ewShowHiddenInvitations+ (\ s a -> s{_ewShowHiddenInvitations = a})++-- | 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.+ewMaxResults :: Lens' EventsWatch (Maybe Int32)+ewMaxResults+ = lens _ewMaxResults (\ s a -> s{_ewMaxResults = a})+ . mapping _Coerce++-- | 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.+ewAlwaysIncludeEmail :: Lens' EventsWatch (Maybe Bool)+ewAlwaysIncludeEmail+ = lens _ewAlwaysIncludeEmail+ (\ s a -> s{_ewAlwaysIncludeEmail = a})++-- | Upper bound (exclusive) for an event\'s start time to filter by.+-- Optional. The default is not to filter by start time. Must be an RFC3339+-- timestamp with mandatory time zone offset, e.g.,+-- 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be+-- provided but will be ignored.+ewTimeMax :: Lens' EventsWatch (Maybe UTCTime)+ewTimeMax+ = lens _ewTimeMax (\ s a -> s{_ewTimeMax = a}) .+ mapping _DateTime++instance GoogleRequest EventsWatch where+ type Rs EventsWatch = Channel+ requestClient EventsWatch{..}+ = go _ewCalendarId _ewSyncToken _ewTimeMin _ewOrderBy+ _ewSingleEvents+ (_ewPrivateExtendedProperty ^. _Default)+ _ewShowDeleted+ _ewQ+ (_ewSharedExtendedProperty ^. _Default)+ _ewMaxAttendees+ _ewICalUId+ _ewUpdatedMin+ _ewPageToken+ _ewTimeZone+ _ewShowHiddenInvitations+ _ewMaxResults+ _ewAlwaysIncludeEmail+ _ewTimeMax+ (Just AltJSON)+ _ewPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy EventsWatchResource)+ mempty
+ gen/Network/Google/Resource/Calendar/FreeBusy/Query.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.FreeBusy.Query+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns free\/busy information for a set of calendars.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.freebusy.query@.+module Network.Google.Resource.Calendar.FreeBusy.Query+ (+ -- * REST Resource+ FreeBusyQueryResource++ -- * Creating a Request+ , freeBusyQuery+ , FreeBusyQuery++ -- * Request Lenses+ , fbqPayload+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.freebusy.query@ method which the+-- 'FreeBusyQuery' request conforms to.+type FreeBusyQueryResource =+ "calendar" :>+ "v3" :>+ "freeBusy" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] FreeBusyRequest :>+ Post '[JSON] FreeBusyResponse++-- | Returns free\/busy information for a set of calendars.+--+-- /See:/ 'freeBusyQuery' smart constructor.+newtype FreeBusyQuery = FreeBusyQuery+ { _fbqPayload :: FreeBusyRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreeBusyQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbqPayload'+freeBusyQuery+ :: FreeBusyRequest -- ^ 'fbqPayload'+ -> FreeBusyQuery+freeBusyQuery pFbqPayload_ =+ FreeBusyQuery+ { _fbqPayload = pFbqPayload_+ }++-- | Multipart request metadata.+fbqPayload :: Lens' FreeBusyQuery FreeBusyRequest+fbqPayload+ = lens _fbqPayload (\ s a -> s{_fbqPayload = a})++instance GoogleRequest FreeBusyQuery where+ type Rs FreeBusyQuery = FreeBusyResponse+ requestClient FreeBusyQuery{..}+ = go (Just AltJSON) _fbqPayload appsCalendarService+ where go+ = buildClient (Proxy :: Proxy FreeBusyQueryResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Settings/Get.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Settings.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a single user setting.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.settings.get@.+module Network.Google.Resource.Calendar.Settings.Get+ (+ -- * REST Resource+ SettingsGetResource++ -- * Creating a Request+ , settingsGet+ , SettingsGet++ -- * Request Lenses+ , sgSetting+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.settings.get@ method which the+-- 'SettingsGet' request conforms to.+type SettingsGetResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "settings" :>+ Capture "setting" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Setting++-- | Returns a single user setting.+--+-- /See:/ 'settingsGet' smart constructor.+newtype SettingsGet = SettingsGet+ { _sgSetting :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgSetting'+settingsGet+ :: Text -- ^ 'sgSetting'+ -> SettingsGet+settingsGet pSgSetting_ =+ SettingsGet+ { _sgSetting = pSgSetting_+ }++-- | The id of the user setting.+sgSetting :: Lens' SettingsGet Text+sgSetting+ = lens _sgSetting (\ s a -> s{_sgSetting = a})++instance GoogleRequest SettingsGet where+ type Rs SettingsGet = Setting+ requestClient SettingsGet{..}+ = go _sgSetting (Just AltJSON) appsCalendarService+ where go+ = buildClient (Proxy :: Proxy SettingsGetResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Settings/List.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Settings.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns all user settings for the authenticated user.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.settings.list@.+module Network.Google.Resource.Calendar.Settings.List+ (+ -- * REST Resource+ SettingsListResource++ -- * Creating a Request+ , settingsList+ , SettingsList++ -- * Request Lenses+ , slSyncToken+ , slPageToken+ , slMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.settings.list@ method which the+-- 'SettingsList' request conforms to.+type SettingsListResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "settings" :>+ QueryParam "syncToken" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Settings++-- | Returns all user settings for the authenticated user.+--+-- /See:/ 'settingsList' smart constructor.+data SettingsList = SettingsList+ { _slSyncToken :: !(Maybe Text)+ , _slPageToken :: !(Maybe Text)+ , _slMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slSyncToken'+--+-- * 'slPageToken'+--+-- * 'slMaxResults'+settingsList+ :: SettingsList+settingsList =+ SettingsList+ { _slSyncToken = Nothing+ , _slPageToken = Nothing+ , _slMaxResults = Nothing+ }++-- | 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.+slSyncToken :: Lens' SettingsList (Maybe Text)+slSyncToken+ = lens _slSyncToken (\ s a -> s{_slSyncToken = a})++-- | Token specifying which result page to return. Optional.+slPageToken :: Lens' SettingsList (Maybe Text)+slPageToken+ = lens _slPageToken (\ s a -> s{_slPageToken = a})++-- | 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.+slMaxResults :: Lens' SettingsList (Maybe Int32)+slMaxResults+ = lens _slMaxResults (\ s a -> s{_slMaxResults = a})+ . mapping _Coerce++instance GoogleRequest SettingsList where+ type Rs SettingsList = Settings+ requestClient SettingsList{..}+ = go _slSyncToken _slPageToken _slMaxResults+ (Just AltJSON)+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy SettingsListResource)+ mempty
+ gen/Network/Google/Resource/Calendar/Settings/Watch.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Calendar.Settings.Watch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Watch for changes to Settings resources.+--+-- /See:/ <https://developers.google.com/google-apps/calendar/firstapp Calendar API Reference> for @calendar.settings.watch@.+module Network.Google.Resource.Calendar.Settings.Watch+ (+ -- * REST Resource+ SettingsWatchResource++ -- * Creating a Request+ , settingsWatch+ , SettingsWatch++ -- * Request Lenses+ , swSyncToken+ , swPayload+ , swPageToken+ , swMaxResults+ ) where++import Network.Google.AppsCalendar.Types+import Network.Google.Prelude++-- | A resource alias for @calendar.settings.watch@ method which the+-- 'SettingsWatch' request conforms to.+type SettingsWatchResource =+ "calendar" :>+ "v3" :>+ "users" :>+ "me" :>+ "settings" :>+ "watch" :>+ QueryParam "syncToken" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel++-- | Watch for changes to Settings resources.+--+-- /See:/ 'settingsWatch' smart constructor.+data SettingsWatch = SettingsWatch+ { _swSyncToken :: !(Maybe Text)+ , _swPayload :: !Channel+ , _swPageToken :: !(Maybe Text)+ , _swMaxResults :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'swSyncToken'+--+-- * 'swPayload'+--+-- * 'swPageToken'+--+-- * 'swMaxResults'+settingsWatch+ :: Channel -- ^ 'swPayload'+ -> SettingsWatch+settingsWatch pSwPayload_ =+ SettingsWatch+ { _swSyncToken = Nothing+ , _swPayload = pSwPayload_+ , _swPageToken = Nothing+ , _swMaxResults = Nothing+ }++-- | 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.+swSyncToken :: Lens' SettingsWatch (Maybe Text)+swSyncToken+ = lens _swSyncToken (\ s a -> s{_swSyncToken = a})++-- | Multipart request metadata.+swPayload :: Lens' SettingsWatch Channel+swPayload+ = lens _swPayload (\ s a -> s{_swPayload = a})++-- | Token specifying which result page to return. Optional.+swPageToken :: Lens' SettingsWatch (Maybe Text)+swPageToken+ = lens _swPageToken (\ s a -> s{_swPageToken = a})++-- | 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.+swMaxResults :: Lens' SettingsWatch (Maybe Int32)+swMaxResults+ = lens _swMaxResults (\ s a -> s{_swMaxResults = a})+ . mapping _Coerce++instance GoogleRequest SettingsWatch where+ type Rs SettingsWatch = Channel+ requestClient SettingsWatch{..}+ = go _swSyncToken _swPageToken _swMaxResults+ (Just AltJSON)+ _swPayload+ appsCalendarService+ where go+ = buildClient (Proxy :: Proxy SettingsWatchResource)+ mempty
+ gogol-apps-calendar.cabal view
@@ -0,0 +1,82 @@+name: gogol-apps-calendar+version: 0.0.1+synopsis: Google Calendar SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md++description:+ Lets you manipulate events and other calendar data.+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v3@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.AppsCalendar+ , Network.Google.AppsCalendar.Types+ , Network.Google.Resource.Calendar.ACL.Delete+ , Network.Google.Resource.Calendar.ACL.Get+ , Network.Google.Resource.Calendar.ACL.Insert+ , Network.Google.Resource.Calendar.ACL.List+ , Network.Google.Resource.Calendar.ACL.Patch+ , Network.Google.Resource.Calendar.ACL.Update+ , Network.Google.Resource.Calendar.ACL.Watch+ , Network.Google.Resource.Calendar.CalendarList.Delete+ , Network.Google.Resource.Calendar.CalendarList.Get+ , Network.Google.Resource.Calendar.CalendarList.Insert+ , Network.Google.Resource.Calendar.CalendarList.List+ , Network.Google.Resource.Calendar.CalendarList.Patch+ , Network.Google.Resource.Calendar.CalendarList.Update+ , Network.Google.Resource.Calendar.CalendarList.Watch+ , Network.Google.Resource.Calendar.Calendars.Clear+ , Network.Google.Resource.Calendar.Calendars.Delete+ , Network.Google.Resource.Calendar.Calendars.Get+ , Network.Google.Resource.Calendar.Calendars.Insert+ , Network.Google.Resource.Calendar.Calendars.Patch+ , Network.Google.Resource.Calendar.Calendars.Update+ , Network.Google.Resource.Calendar.Channels.Stop+ , Network.Google.Resource.Calendar.Colors.Get+ , Network.Google.Resource.Calendar.Events.Delete+ , Network.Google.Resource.Calendar.Events.Get+ , Network.Google.Resource.Calendar.Events.Import+ , Network.Google.Resource.Calendar.Events.Insert+ , Network.Google.Resource.Calendar.Events.Instances+ , Network.Google.Resource.Calendar.Events.List+ , Network.Google.Resource.Calendar.Events.Move+ , Network.Google.Resource.Calendar.Events.Patch+ , Network.Google.Resource.Calendar.Events.QuickAdd+ , Network.Google.Resource.Calendar.Events.Update+ , Network.Google.Resource.Calendar.Events.Watch+ , Network.Google.Resource.Calendar.FreeBusy.Query+ , Network.Google.Resource.Calendar.Settings.Get+ , Network.Google.Resource.Calendar.Settings.List+ , Network.Google.Resource.Calendar.Settings.Watch++ other-modules:+ Network.Google.AppsCalendar.Types.Product+ , Network.Google.AppsCalendar.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5