gogol-drive (empty) → 0.0.1
raw patch · 68 files changed
+14158/−0 lines, 68 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/Drive.hs +855/−0
- gen/Network/Google/Drive/Types.hs +594/−0
- gen/Network/Google/Drive/Types/Product.hs +4831/−0
- gen/Network/Google/Drive/Types/Sum.hs +305/−0
- gen/Network/Google/Resource/Drive/About/Get.hs +117/−0
- gen/Network/Google/Resource/Drive/Apps/Get.hs +80/−0
- gen/Network/Google/Resource/Drive/Apps/List.hs +117/−0
- gen/Network/Google/Resource/Drive/Changes/Get.hs +82/−0
- gen/Network/Google/Resource/Drive/Changes/List.hs +149/−0
- gen/Network/Google/Resource/Drive/Changes/Watch.hs +163/−0
- gen/Network/Google/Resource/Drive/Channels/Stop.hs +83/−0
- gen/Network/Google/Resource/Drive/Children/Delete.hs +96/−0
- gen/Network/Google/Resource/Drive/Children/Get.hs +97/−0
- gen/Network/Google/Resource/Drive/Children/Insert.hs +97/−0
- gen/Network/Google/Resource/Drive/Children/List.hs +136/−0
- gen/Network/Google/Resource/Drive/Comments/Delete.hs +95/−0
- gen/Network/Google/Resource/Drive/Comments/Get.hs +109/−0
- gen/Network/Google/Resource/Drive/Comments/Insert.hs +96/−0
- gen/Network/Google/Resource/Drive/Comments/List.hs +140/−0
- gen/Network/Google/Resource/Drive/Comments/Patch.hs +107/−0
- gen/Network/Google/Resource/Drive/Comments/Update.hs +107/−0
- gen/Network/Google/Resource/Drive/Files/Copy.hs +183/−0
- gen/Network/Google/Resource/Drive/Files/Delete.hs +83/−0
- gen/Network/Google/Resource/Drive/Files/EmptyTrash.hs +69/−0
- gen/Network/Google/Resource/Drive/Files/GenerateIds.hs +98/−0
- gen/Network/Google/Resource/Drive/Files/Get.hs +159/−0
- gen/Network/Google/Resource/Drive/Files/Insert.hs +221/−0
- gen/Network/Google/Resource/Drive/Files/List.hs +158/−0
- gen/Network/Google/Resource/Drive/Files/Patch.hs +271/−0
- gen/Network/Google/Resource/Drive/Files/Touch.hs +82/−0
- gen/Network/Google/Resource/Drive/Files/Trash.hs +85/−0
- gen/Network/Google/Resource/Drive/Files/Untrash.hs +82/−0
- gen/Network/Google/Resource/Drive/Files/Update.hs +320/−0
- gen/Network/Google/Resource/Drive/Files/Watch.hs +175/−0
- gen/Network/Google/Resource/Drive/Parents/Delete.hs +96/−0
- gen/Network/Google/Resource/Drive/Parents/Get.hs +97/−0
- gen/Network/Google/Resource/Drive/Parents/Insert.hs +97/−0
- gen/Network/Google/Resource/Drive/Parents/List.hs +83/−0
- gen/Network/Google/Resource/Drive/Permissions/Delete.hs +97/−0
- gen/Network/Google/Resource/Drive/Permissions/Get.hs +97/−0
- gen/Network/Google/Resource/Drive/Permissions/GetIdForEmail.hs +83/−0
- gen/Network/Google/Resource/Drive/Permissions/Insert.hs +125/−0
- gen/Network/Google/Resource/Drive/Permissions/List.hs +84/−0
- gen/Network/Google/Resource/Drive/Permissions/Patch.hs +127/−0
- gen/Network/Google/Resource/Drive/Permissions/Update.hs +126/−0
- gen/Network/Google/Resource/Drive/Properties/Delete.hs +109/−0
- gen/Network/Google/Resource/Drive/Properties/Get.hs +108/−0
- gen/Network/Google/Resource/Drive/Properties/Insert.hs +95/−0
- gen/Network/Google/Resource/Drive/Properties/List.hs +83/−0
- gen/Network/Google/Resource/Drive/Properties/Patch.hs +122/−0
- gen/Network/Google/Resource/Drive/Properties/Update.hs +122/−0
- gen/Network/Google/Resource/Drive/Realtime/Get.hs +119/−0
- gen/Network/Google/Resource/Drive/Realtime/Update.hs +125/−0
- gen/Network/Google/Resource/Drive/Replies/Delete.hs +108/−0
- gen/Network/Google/Resource/Drive/Replies/Get.hs +122/−0
- gen/Network/Google/Resource/Drive/Replies/Insert.hs +109/−0
- gen/Network/Google/Resource/Drive/Replies/List.hs +139/−0
- gen/Network/Google/Resource/Drive/Replies/Patch.hs +122/−0
- gen/Network/Google/Resource/Drive/Replies/Update.hs +122/−0
- gen/Network/Google/Resource/Drive/Revisions/Delete.hs +96/−0
- gen/Network/Google/Resource/Drive/Revisions/Get.hs +97/−0
- gen/Network/Google/Resource/Drive/Revisions/List.hs +83/−0
- gen/Network/Google/Resource/Drive/Revisions/Patch.hs +110/−0
- gen/Network/Google/Resource/Drive/Revisions/Update.hs +111/−0
- gogol-drive.cabal +105/−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-drive++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Drive.+++## 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-drive` 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/Drive.hs view
@@ -0,0 +1,855 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Drive+-- 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)+--+-- The API to interact with Drive.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference>+module Network.Google.Drive+ (+ -- * Service Configuration+ driveService++ -- * API Declaration+ , DriveAPI++ -- * Resources++ -- ** drive.about.get+ , module Network.Google.Resource.Drive.About.Get++ -- ** drive.apps.get+ , module Network.Google.Resource.Drive.Apps.Get++ -- ** drive.apps.list+ , module Network.Google.Resource.Drive.Apps.List++ -- ** drive.changes.get+ , module Network.Google.Resource.Drive.Changes.Get++ -- ** drive.changes.list+ , module Network.Google.Resource.Drive.Changes.List++ -- ** drive.changes.watch+ , module Network.Google.Resource.Drive.Changes.Watch++ -- ** drive.channels.stop+ , module Network.Google.Resource.Drive.Channels.Stop++ -- ** drive.children.delete+ , module Network.Google.Resource.Drive.Children.Delete++ -- ** drive.children.get+ , module Network.Google.Resource.Drive.Children.Get++ -- ** drive.children.insert+ , module Network.Google.Resource.Drive.Children.Insert++ -- ** drive.children.list+ , module Network.Google.Resource.Drive.Children.List++ -- ** drive.comments.delete+ , module Network.Google.Resource.Drive.Comments.Delete++ -- ** drive.comments.get+ , module Network.Google.Resource.Drive.Comments.Get++ -- ** drive.comments.insert+ , module Network.Google.Resource.Drive.Comments.Insert++ -- ** drive.comments.list+ , module Network.Google.Resource.Drive.Comments.List++ -- ** drive.comments.patch+ , module Network.Google.Resource.Drive.Comments.Patch++ -- ** drive.comments.update+ , module Network.Google.Resource.Drive.Comments.Update++ -- ** drive.files.copy+ , module Network.Google.Resource.Drive.Files.Copy++ -- ** drive.files.delete+ , module Network.Google.Resource.Drive.Files.Delete++ -- ** drive.files.emptyTrash+ , module Network.Google.Resource.Drive.Files.EmptyTrash++ -- ** drive.files.generateIds+ , module Network.Google.Resource.Drive.Files.GenerateIds++ -- ** drive.files.get+ , module Network.Google.Resource.Drive.Files.Get++ -- ** drive.files.insert+ , module Network.Google.Resource.Drive.Files.Insert++ -- ** drive.files.list+ , module Network.Google.Resource.Drive.Files.List++ -- ** drive.files.patch+ , module Network.Google.Resource.Drive.Files.Patch++ -- ** drive.files.touch+ , module Network.Google.Resource.Drive.Files.Touch++ -- ** drive.files.trash+ , module Network.Google.Resource.Drive.Files.Trash++ -- ** drive.files.untrash+ , module Network.Google.Resource.Drive.Files.Untrash++ -- ** drive.files.update+ , module Network.Google.Resource.Drive.Files.Update++ -- ** drive.files.watch+ , module Network.Google.Resource.Drive.Files.Watch++ -- ** drive.parents.delete+ , module Network.Google.Resource.Drive.Parents.Delete++ -- ** drive.parents.get+ , module Network.Google.Resource.Drive.Parents.Get++ -- ** drive.parents.insert+ , module Network.Google.Resource.Drive.Parents.Insert++ -- ** drive.parents.list+ , module Network.Google.Resource.Drive.Parents.List++ -- ** drive.permissions.delete+ , module Network.Google.Resource.Drive.Permissions.Delete++ -- ** drive.permissions.get+ , module Network.Google.Resource.Drive.Permissions.Get++ -- ** drive.permissions.getIdForEmail+ , module Network.Google.Resource.Drive.Permissions.GetIdForEmail++ -- ** drive.permissions.insert+ , module Network.Google.Resource.Drive.Permissions.Insert++ -- ** drive.permissions.list+ , module Network.Google.Resource.Drive.Permissions.List++ -- ** drive.permissions.patch+ , module Network.Google.Resource.Drive.Permissions.Patch++ -- ** drive.permissions.update+ , module Network.Google.Resource.Drive.Permissions.Update++ -- ** drive.properties.delete+ , module Network.Google.Resource.Drive.Properties.Delete++ -- ** drive.properties.get+ , module Network.Google.Resource.Drive.Properties.Get++ -- ** drive.properties.insert+ , module Network.Google.Resource.Drive.Properties.Insert++ -- ** drive.properties.list+ , module Network.Google.Resource.Drive.Properties.List++ -- ** drive.properties.patch+ , module Network.Google.Resource.Drive.Properties.Patch++ -- ** drive.properties.update+ , module Network.Google.Resource.Drive.Properties.Update++ -- ** drive.realtime.get+ , module Network.Google.Resource.Drive.Realtime.Get++ -- ** drive.realtime.update+ , module Network.Google.Resource.Drive.Realtime.Update++ -- ** drive.replies.delete+ , module Network.Google.Resource.Drive.Replies.Delete++ -- ** drive.replies.get+ , module Network.Google.Resource.Drive.Replies.Get++ -- ** drive.replies.insert+ , module Network.Google.Resource.Drive.Replies.Insert++ -- ** drive.replies.list+ , module Network.Google.Resource.Drive.Replies.List++ -- ** drive.replies.patch+ , module Network.Google.Resource.Drive.Replies.Patch++ -- ** drive.replies.update+ , module Network.Google.Resource.Drive.Replies.Update++ -- ** drive.revisions.delete+ , module Network.Google.Resource.Drive.Revisions.Delete++ -- ** drive.revisions.get+ , module Network.Google.Resource.Drive.Revisions.Get++ -- ** drive.revisions.list+ , module Network.Google.Resource.Drive.Revisions.List++ -- ** drive.revisions.patch+ , module Network.Google.Resource.Drive.Revisions.Patch++ -- ** drive.revisions.update+ , module Network.Google.Resource.Drive.Revisions.Update++ -- * Types++ -- ** CommentContext+ , CommentContext+ , commentContext+ , ccValue+ , ccType++ -- ** AppIconsItem+ , AppIconsItem+ , appIconsItem+ , aiiSize+ , aiiCategory+ , aiiIconURL++ -- ** FilesInsertVisibility+ , FilesInsertVisibility (..)++ -- ** FileList+ , FileList+ , fileList+ , flEtag+ , flNextPageToken+ , flNextLink+ , flKind+ , flItems+ , flSelfLink++ -- ** ParentReference+ , ParentReference+ , parentReference+ , prParentLink+ , prIsRoot+ , prKind+ , prSelfLink+ , prId++ -- ** Property+ , Property+ , property+ , pEtag+ , pKind+ , pValue+ , pVisibility+ , pSelfLink+ , pKey++ -- ** FilesListCorpus+ , FilesListCorpus (..)++ -- ** FileThumbnail+ , FileThumbnail+ , fileThumbnail+ , ftImage+ , ftMimeType++ -- ** FilesListProjection+ , FilesListProjection (..)++ -- ** UserPicture+ , UserPicture+ , userPicture+ , upURL++ -- ** FilesUpdateModifiedDateBehavior+ , FilesUpdateModifiedDateBehavior (..)++ -- ** PropertyList+ , PropertyList+ , propertyList+ , plEtag+ , plKind+ , plItems+ , plSelfLink++ -- ** ChildList+ , ChildList+ , childList+ , clEtag+ , clNextPageToken+ , clNextLink+ , clKind+ , clItems+ , clSelfLink++ -- ** AppList+ , AppList+ , appList+ , alDefaultAppIds+ , alEtag+ , alKind+ , alItems+ , alSelfLink++ -- ** FileOpenWithLinks+ , FileOpenWithLinks+ , fileOpenWithLinks+ , fowlAddtional++ -- ** AboutAdditionalRoleInfoItemRoleSetsItem+ , AboutAdditionalRoleInfoItemRoleSetsItem+ , aboutAdditionalRoleInfoItemRoleSetsItem+ , aariirsiPrimaryRole+ , aariirsiAdditionalRoles++ -- ** Channel+ , Channel+ , channel+ , cResourceURI+ , cResourceId+ , cKind+ , cExpiration+ , cToken+ , cAddress+ , cPayload+ , cParams+ , cId+ , cType++ -- ** CommentReplyList+ , CommentReplyList+ , commentReplyList+ , crlNextPageToken+ , crlNextLink+ , crlKind+ , crlItems+ , crlSelfLink++ -- ** FileVideoMediaMetadata+ , FileVideoMediaMetadata+ , fileVideoMediaMetadata+ , fvmmHeight+ , fvmmWidth+ , fvmmDurationMillis++ -- ** Change+ , Change+ , change+ , chaKind+ , chaSelfLink+ , chaModificationDate+ , chaId+ , chaDeleted+ , chaFileId+ , chaFile++ -- ** App+ , App+ , app+ , aLongDescription+ , aOpenURLTemplate+ , aAuthorized+ , aObjectType+ , aSecondaryMimeTypes+ , aCreateInFolderTemplate+ , aKind+ , aIcons+ , aProductURL+ , aUseByDefault+ , aShortDescription+ , aName+ , aCreateURL+ , aId+ , aPrimaryFileExtensions+ , aInstalled+ , aSupportsCreate+ , aPrimaryMimeTypes+ , aHasDriveWideScope+ , aProductId+ , aSecondaryFileExtensions+ , aSupportsMultiOpen+ , aSupportsImport+ , aSupportsOfflineCreate++ -- ** ChildReference+ , ChildReference+ , childReference+ , crChildLink+ , crKind+ , crSelfLink+ , crId++ -- ** FilesWatchProjection+ , FilesWatchProjection (..)++ -- ** AboutMaxUploadSizesItem+ , AboutMaxUploadSizesItem+ , aboutMaxUploadSizesItem+ , amusiSize+ , amusiType++ -- ** CommentReply+ , CommentReply+ , commentReply+ , comHTMLContent+ , comKind+ , comContent+ , comCreatedDate+ , comReplyId+ , comAuthor+ , comModifiedDate+ , comDeleted+ , comVerb++ -- ** AboutQuotaBytesByServiceItem+ , AboutQuotaBytesByServiceItem+ , aboutQuotaBytesByServiceItem+ , aqbbsiBytesUsed+ , aqbbsiServiceName++ -- ** User+ , User+ , user+ , uIsAuthenticatedUser+ , uKind+ , uPicture+ , uEmailAddress+ , uDisplayName+ , uPermissionId++ -- ** AboutExportFormatsItem+ , AboutExportFormatsItem+ , aboutExportFormatsItem+ , aefiTargets+ , aefiSource++ -- ** ChangeList+ , ChangeList+ , changeList+ , cllEtag+ , cllNextPageToken+ , cllNextLink+ , cllKind+ , cllItems+ , cllSelfLink+ , cllLargestChangeId++ -- ** RevisionExportLinks+ , RevisionExportLinks+ , revisionExportLinks+ , relAddtional++ -- ** FileIndexableText+ , FileIndexableText+ , fileIndexableText+ , fitText++ -- ** AboutFeaturesItem+ , AboutFeaturesItem+ , aboutFeaturesItem+ , afiFeatureRate+ , afiFeatureName++ -- ** ChannelParams+ , ChannelParams+ , channelParams+ , cpAddtional++ -- ** FilesPatchModifiedDateBehavior+ , FilesPatchModifiedDateBehavior (..)++ -- ** About+ , About+ , about+ , aboExportFormats+ , aboRemainingChangeIds+ , aboLanguageCode+ , aboEtag+ , aboImportFormats+ , aboKind+ , aboDomainSharingPolicy+ , aboQuotaBytesUsedInTrash+ , aboQuotaType+ , aboMaxUploadSizes+ , aboUser+ , aboSelfLink+ , aboName+ , aboFeatures+ , aboIsCurrentAppInstalled+ , aboQuotaBytesTotal+ , aboRootFolderId+ , aboQuotaBytesUsed+ , aboAdditionalRoleInfo+ , aboFolderColorPalette+ , aboPermissionId+ , aboQuotaBytesUsedAggregate+ , aboQuotaBytesByService+ , aboLargestChangeId++ -- ** FileImageMediaMetadataLocation+ , FileImageMediaMetadataLocation+ , fileImageMediaMetadataLocation+ , fimmlLatitude+ , fimmlAltitude+ , fimmlLongitude++ -- ** AboutImportFormatsItem+ , AboutImportFormatsItem+ , aboutImportFormatsItem+ , aifiTargets+ , aifiSource++ -- ** FileImageMediaMetadata+ , FileImageMediaMetadata+ , fileImageMediaMetadata+ , fimmRotation+ , fimmHeight+ , fimmSubjectDistance+ , fimmMaxApertureValue+ , fimmIsoSpeed+ , fimmLocation+ , fimmAperture+ , fimmFocalLength+ , fimmCameraMake+ , fimmWidth+ , fimmExposureTime+ , fimmCameraModel+ , fimmWhiteBalance+ , fimmDate+ , fimmLens+ , fimmFlashUsed+ , fimmExposureBias+ , fimmMeteringMode+ , fimmExposureMode+ , fimmSensor+ , fimmColorSpace++ -- ** FileLabels+ , FileLabels+ , fileLabels+ , flViewed+ , flTrashed+ , flStarred+ , flHidden+ , flRestricted++ -- ** Comment+ , Comment+ , comment+ , ccStatus+ , ccHTMLContent+ , ccContext+ , ccKind+ , ccFileTitle+ , ccAnchor+ , ccContent+ , ccReplies+ , ccCreatedDate+ , ccSelfLink+ , ccAuthor+ , ccModifiedDate+ , ccDeleted+ , ccFileId+ , ccCommentId++ -- ** Revision+ , Revision+ , revision+ , rEtag+ , rOriginalFilename+ , rKind+ , rPublishedLink+ , rPinned+ , rPublished+ , rLastModifyingUser+ , rFileSize+ , rPublishAuto+ , rMD5Checksum+ , rMimeType+ , rSelfLink+ , rLastModifyingUserName+ , rDownloadURL+ , rExportLinks+ , rPublishedOutsideDomain+ , rId+ , rModifiedDate++ -- ** AboutAdditionalRoleInfoItem+ , AboutAdditionalRoleInfoItem+ , aboutAdditionalRoleInfoItem+ , aariiRoleSets+ , aariiType++ -- ** Permission+ , Permission+ , permission+ , perPhotoLink+ , perEtag+ , perWithLink+ , perKind+ , perDomain+ , perValue+ , perAdditionalRoles+ , perRole+ , perSelfLink+ , perName+ , perAuthKey+ , perEmailAddress+ , perId+ , perType++ -- ** File+ , File+ , file+ , fOwnedByMe+ , fThumbnailLink+ , fFullFileExtension+ , fThumbnail+ , fMarkedViewedByMeDate+ , fEtag+ , fFileExtension+ , fCanComment+ , fOwners+ , fOwnerNames+ , fOpenWithLinks+ , fWebViewLink+ , fOriginalFilename+ , fKind+ , fLastModifyingUser+ , fIconLink+ , fEmbedLink+ , fFileSize+ , fAppDataContents+ , fImageMediaMetadata+ , fExplicitlyTrashed+ , fEditable+ , fModifiedByMeDate+ , fLastViewedByMeDate+ , fShared+ , fMD5Checksum+ , fFolderColorRgb+ , fMimeType+ , fCreatedDate+ , fSelfLink+ , fLastModifyingUserName+ , fShareable+ , fDownloadURL+ , fExportLinks+ , fCopyable+ , fParents+ , fSharedWithMeDate+ , fSpaces+ , fVersion+ , fUserPermission+ , fWritersCanShare+ , fDefaultOpenWithLink+ , fId+ , fLabels+ , fModifiedDate+ , fPermissions+ , fQuotaBytesUsed+ , fTitle+ , fAlternateLink+ , fVideoMediaMetadata+ , fHeadRevisionId+ , fDescription+ , fSharingUser+ , fWebContentLink+ , fProperties+ , fIndexableText++ -- ** PermissionId+ , PermissionId+ , permissionId+ , piKind+ , piId++ -- ** FilesCopyVisibility+ , FilesCopyVisibility (..)++ -- ** FilesGetProjection+ , FilesGetProjection (..)++ -- ** ParentList+ , ParentList+ , parentList+ , parEtag+ , parKind+ , parItems+ , parSelfLink++ -- ** GeneratedIds+ , GeneratedIds+ , generatedIds+ , giSpace+ , giKind+ , giIds++ -- ** FileExportLinks+ , FileExportLinks+ , fileExportLinks+ , felAddtional++ -- ** CommentList+ , CommentList+ , commentList+ , comoNextPageToken+ , comoNextLink+ , comoKind+ , comoItems+ , comoSelfLink++ -- ** RevisionList+ , RevisionList+ , revisionList+ , rlEtag+ , rlKind+ , rlItems+ , rlSelfLink++ -- ** PermissionList+ , PermissionList+ , permissionList+ , pllEtag+ , pllKind+ , pllItems+ , pllSelfLink+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude+import Network.Google.Resource.Drive.About.Get+import Network.Google.Resource.Drive.Apps.Get+import Network.Google.Resource.Drive.Apps.List+import Network.Google.Resource.Drive.Changes.Get+import Network.Google.Resource.Drive.Changes.List+import Network.Google.Resource.Drive.Changes.Watch+import Network.Google.Resource.Drive.Channels.Stop+import Network.Google.Resource.Drive.Children.Delete+import Network.Google.Resource.Drive.Children.Get+import Network.Google.Resource.Drive.Children.Insert+import Network.Google.Resource.Drive.Children.List+import Network.Google.Resource.Drive.Comments.Delete+import Network.Google.Resource.Drive.Comments.Get+import Network.Google.Resource.Drive.Comments.Insert+import Network.Google.Resource.Drive.Comments.List+import Network.Google.Resource.Drive.Comments.Patch+import Network.Google.Resource.Drive.Comments.Update+import Network.Google.Resource.Drive.Files.Copy+import Network.Google.Resource.Drive.Files.Delete+import Network.Google.Resource.Drive.Files.EmptyTrash+import Network.Google.Resource.Drive.Files.GenerateIds+import Network.Google.Resource.Drive.Files.Get+import Network.Google.Resource.Drive.Files.Insert+import Network.Google.Resource.Drive.Files.List+import Network.Google.Resource.Drive.Files.Patch+import Network.Google.Resource.Drive.Files.Touch+import Network.Google.Resource.Drive.Files.Trash+import Network.Google.Resource.Drive.Files.Untrash+import Network.Google.Resource.Drive.Files.Update+import Network.Google.Resource.Drive.Files.Watch+import Network.Google.Resource.Drive.Parents.Delete+import Network.Google.Resource.Drive.Parents.Get+import Network.Google.Resource.Drive.Parents.Insert+import Network.Google.Resource.Drive.Parents.List+import Network.Google.Resource.Drive.Permissions.Delete+import Network.Google.Resource.Drive.Permissions.Get+import Network.Google.Resource.Drive.Permissions.GetIdForEmail+import Network.Google.Resource.Drive.Permissions.Insert+import Network.Google.Resource.Drive.Permissions.List+import Network.Google.Resource.Drive.Permissions.Patch+import Network.Google.Resource.Drive.Permissions.Update+import Network.Google.Resource.Drive.Properties.Delete+import Network.Google.Resource.Drive.Properties.Get+import Network.Google.Resource.Drive.Properties.Insert+import Network.Google.Resource.Drive.Properties.List+import Network.Google.Resource.Drive.Properties.Patch+import Network.Google.Resource.Drive.Properties.Update+import Network.Google.Resource.Drive.Realtime.Get+import Network.Google.Resource.Drive.Realtime.Update+import Network.Google.Resource.Drive.Replies.Delete+import Network.Google.Resource.Drive.Replies.Get+import Network.Google.Resource.Drive.Replies.Insert+import Network.Google.Resource.Drive.Replies.List+import Network.Google.Resource.Drive.Replies.Patch+import Network.Google.Resource.Drive.Replies.Update+import Network.Google.Resource.Drive.Revisions.Delete+import Network.Google.Resource.Drive.Revisions.Get+import Network.Google.Resource.Drive.Revisions.List+import Network.Google.Resource.Drive.Revisions.Patch+import Network.Google.Resource.Drive.Revisions.Update++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Drive API service.+type DriveAPI =+ AppsListResource :<|> AppsGetResource :<|>+ ChangesListResource+ :<|> ChangesGetResource+ :<|> ChangesWatchResource+ :<|> ChannelsStopResource+ :<|> ChildrenInsertResource+ :<|> ChildrenListResource+ :<|> ChildrenGetResource+ :<|> ChildrenDeleteResource+ :<|> RepliesInsertResource+ :<|> RepliesListResource+ :<|> RepliesPatchResource+ :<|> RepliesGetResource+ :<|> RepliesDeleteResource+ :<|> RepliesUpdateResource+ :<|> ParentsInsertResource+ :<|> ParentsListResource+ :<|> ParentsGetResource+ :<|> ParentsDeleteResource+ :<|> RealtimeGetResource+ :<|> RealtimeUpdateResource+ :<|> AboutGetResource+ :<|> FilesInsertResource+ :<|> FilesListResource+ :<|> FilesCopyResource+ :<|> FilesPatchResource+ :<|> FilesGetResource+ :<|> FilesEmptyTrashResource+ :<|> FilesTrashResource+ :<|> FilesUntrashResource+ :<|> FilesTouchResource+ :<|> FilesGenerateIdsResource+ :<|> FilesDeleteResource+ :<|> FilesUpdateResource+ :<|> FilesWatchResource+ :<|> PermissionsGetIdForEmailResource+ :<|> PermissionsInsertResource+ :<|> PermissionsListResource+ :<|> PermissionsPatchResource+ :<|> PermissionsGetResource+ :<|> PermissionsDeleteResource+ :<|> PermissionsUpdateResource+ :<|> CommentsInsertResource+ :<|> CommentsListResource+ :<|> CommentsPatchResource+ :<|> CommentsGetResource+ :<|> CommentsDeleteResource+ :<|> CommentsUpdateResource+ :<|> RevisionsListResource+ :<|> RevisionsPatchResource+ :<|> RevisionsGetResource+ :<|> RevisionsDeleteResource+ :<|> RevisionsUpdateResource+ :<|> PropertiesInsertResource+ :<|> PropertiesListResource+ :<|> PropertiesPatchResource+ :<|> PropertiesGetResource+ :<|> PropertiesDeleteResource+ :<|> PropertiesUpdateResource
+ gen/Network/Google/Drive/Types.hs view
@@ -0,0 +1,594 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Drive.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.Drive.Types+ (+ -- * Service Configuration+ driveService++ -- * OAuth Scopes+ , driveMetadataReadonlyScope+ , driveAppsReadonlyScope+ , drivePhotosReadonlyScope+ , driveAppdataScope+ , driveReadonlyScope+ , driveScope+ , driveFileScope+ , driveMetadataScope+ , driveScriptsScope++ -- * CommentContext+ , CommentContext+ , commentContext+ , ccValue+ , ccType++ -- * AppIconsItem+ , AppIconsItem+ , appIconsItem+ , aiiSize+ , aiiCategory+ , aiiIconURL++ -- * FilesInsertVisibility+ , FilesInsertVisibility (..)++ -- * FileList+ , FileList+ , fileList+ , flEtag+ , flNextPageToken+ , flNextLink+ , flKind+ , flItems+ , flSelfLink++ -- * ParentReference+ , ParentReference+ , parentReference+ , prParentLink+ , prIsRoot+ , prKind+ , prSelfLink+ , prId++ -- * Property+ , Property+ , property+ , pEtag+ , pKind+ , pValue+ , pVisibility+ , pSelfLink+ , pKey++ -- * FilesListCorpus+ , FilesListCorpus (..)++ -- * FileThumbnail+ , FileThumbnail+ , fileThumbnail+ , ftImage+ , ftMimeType++ -- * FilesListProjection+ , FilesListProjection (..)++ -- * UserPicture+ , UserPicture+ , userPicture+ , upURL++ -- * FilesUpdateModifiedDateBehavior+ , FilesUpdateModifiedDateBehavior (..)++ -- * PropertyList+ , PropertyList+ , propertyList+ , plEtag+ , plKind+ , plItems+ , plSelfLink++ -- * ChildList+ , ChildList+ , childList+ , clEtag+ , clNextPageToken+ , clNextLink+ , clKind+ , clItems+ , clSelfLink++ -- * AppList+ , AppList+ , appList+ , alDefaultAppIds+ , alEtag+ , alKind+ , alItems+ , alSelfLink++ -- * FileOpenWithLinks+ , FileOpenWithLinks+ , fileOpenWithLinks+ , fowlAddtional++ -- * AboutAdditionalRoleInfoItemRoleSetsItem+ , AboutAdditionalRoleInfoItemRoleSetsItem+ , aboutAdditionalRoleInfoItemRoleSetsItem+ , aariirsiPrimaryRole+ , aariirsiAdditionalRoles++ -- * Channel+ , Channel+ , channel+ , cResourceURI+ , cResourceId+ , cKind+ , cExpiration+ , cToken+ , cAddress+ , cPayload+ , cParams+ , cId+ , cType++ -- * CommentReplyList+ , CommentReplyList+ , commentReplyList+ , crlNextPageToken+ , crlNextLink+ , crlKind+ , crlItems+ , crlSelfLink++ -- * FileVideoMediaMetadata+ , FileVideoMediaMetadata+ , fileVideoMediaMetadata+ , fvmmHeight+ , fvmmWidth+ , fvmmDurationMillis++ -- * Change+ , Change+ , change+ , chaKind+ , chaSelfLink+ , chaModificationDate+ , chaId+ , chaDeleted+ , chaFileId+ , chaFile++ -- * App+ , App+ , app+ , aLongDescription+ , aOpenURLTemplate+ , aAuthorized+ , aObjectType+ , aSecondaryMimeTypes+ , aCreateInFolderTemplate+ , aKind+ , aIcons+ , aProductURL+ , aUseByDefault+ , aShortDescription+ , aName+ , aCreateURL+ , aId+ , aPrimaryFileExtensions+ , aInstalled+ , aSupportsCreate+ , aPrimaryMimeTypes+ , aHasDriveWideScope+ , aProductId+ , aSecondaryFileExtensions+ , aSupportsMultiOpen+ , aSupportsImport+ , aSupportsOfflineCreate++ -- * ChildReference+ , ChildReference+ , childReference+ , crChildLink+ , crKind+ , crSelfLink+ , crId++ -- * FilesWatchProjection+ , FilesWatchProjection (..)++ -- * AboutMaxUploadSizesItem+ , AboutMaxUploadSizesItem+ , aboutMaxUploadSizesItem+ , amusiSize+ , amusiType++ -- * CommentReply+ , CommentReply+ , commentReply+ , comHTMLContent+ , comKind+ , comContent+ , comCreatedDate+ , comReplyId+ , comAuthor+ , comModifiedDate+ , comDeleted+ , comVerb++ -- * AboutQuotaBytesByServiceItem+ , AboutQuotaBytesByServiceItem+ , aboutQuotaBytesByServiceItem+ , aqbbsiBytesUsed+ , aqbbsiServiceName++ -- * User+ , User+ , user+ , uIsAuthenticatedUser+ , uKind+ , uPicture+ , uEmailAddress+ , uDisplayName+ , uPermissionId++ -- * AboutExportFormatsItem+ , AboutExportFormatsItem+ , aboutExportFormatsItem+ , aefiTargets+ , aefiSource++ -- * ChangeList+ , ChangeList+ , changeList+ , cllEtag+ , cllNextPageToken+ , cllNextLink+ , cllKind+ , cllItems+ , cllSelfLink+ , cllLargestChangeId++ -- * RevisionExportLinks+ , RevisionExportLinks+ , revisionExportLinks+ , relAddtional++ -- * FileIndexableText+ , FileIndexableText+ , fileIndexableText+ , fitText++ -- * AboutFeaturesItem+ , AboutFeaturesItem+ , aboutFeaturesItem+ , afiFeatureRate+ , afiFeatureName++ -- * ChannelParams+ , ChannelParams+ , channelParams+ , cpAddtional++ -- * FilesPatchModifiedDateBehavior+ , FilesPatchModifiedDateBehavior (..)++ -- * About+ , About+ , about+ , aboExportFormats+ , aboRemainingChangeIds+ , aboLanguageCode+ , aboEtag+ , aboImportFormats+ , aboKind+ , aboDomainSharingPolicy+ , aboQuotaBytesUsedInTrash+ , aboQuotaType+ , aboMaxUploadSizes+ , aboUser+ , aboSelfLink+ , aboName+ , aboFeatures+ , aboIsCurrentAppInstalled+ , aboQuotaBytesTotal+ , aboRootFolderId+ , aboQuotaBytesUsed+ , aboAdditionalRoleInfo+ , aboFolderColorPalette+ , aboPermissionId+ , aboQuotaBytesUsedAggregate+ , aboQuotaBytesByService+ , aboLargestChangeId++ -- * FileImageMediaMetadataLocation+ , FileImageMediaMetadataLocation+ , fileImageMediaMetadataLocation+ , fimmlLatitude+ , fimmlAltitude+ , fimmlLongitude++ -- * AboutImportFormatsItem+ , AboutImportFormatsItem+ , aboutImportFormatsItem+ , aifiTargets+ , aifiSource++ -- * FileImageMediaMetadata+ , FileImageMediaMetadata+ , fileImageMediaMetadata+ , fimmRotation+ , fimmHeight+ , fimmSubjectDistance+ , fimmMaxApertureValue+ , fimmIsoSpeed+ , fimmLocation+ , fimmAperture+ , fimmFocalLength+ , fimmCameraMake+ , fimmWidth+ , fimmExposureTime+ , fimmCameraModel+ , fimmWhiteBalance+ , fimmDate+ , fimmLens+ , fimmFlashUsed+ , fimmExposureBias+ , fimmMeteringMode+ , fimmExposureMode+ , fimmSensor+ , fimmColorSpace++ -- * FileLabels+ , FileLabels+ , fileLabels+ , flViewed+ , flTrashed+ , flStarred+ , flHidden+ , flRestricted++ -- * Comment+ , Comment+ , comment+ , ccStatus+ , ccHTMLContent+ , ccContext+ , ccKind+ , ccFileTitle+ , ccAnchor+ , ccContent+ , ccReplies+ , ccCreatedDate+ , ccSelfLink+ , ccAuthor+ , ccModifiedDate+ , ccDeleted+ , ccFileId+ , ccCommentId++ -- * Revision+ , Revision+ , revision+ , rEtag+ , rOriginalFilename+ , rKind+ , rPublishedLink+ , rPinned+ , rPublished+ , rLastModifyingUser+ , rFileSize+ , rPublishAuto+ , rMD5Checksum+ , rMimeType+ , rSelfLink+ , rLastModifyingUserName+ , rDownloadURL+ , rExportLinks+ , rPublishedOutsideDomain+ , rId+ , rModifiedDate++ -- * AboutAdditionalRoleInfoItem+ , AboutAdditionalRoleInfoItem+ , aboutAdditionalRoleInfoItem+ , aariiRoleSets+ , aariiType++ -- * Permission+ , Permission+ , permission+ , perPhotoLink+ , perEtag+ , perWithLink+ , perKind+ , perDomain+ , perValue+ , perAdditionalRoles+ , perRole+ , perSelfLink+ , perName+ , perAuthKey+ , perEmailAddress+ , perId+ , perType++ -- * File+ , File+ , file+ , fOwnedByMe+ , fThumbnailLink+ , fFullFileExtension+ , fThumbnail+ , fMarkedViewedByMeDate+ , fEtag+ , fFileExtension+ , fCanComment+ , fOwners+ , fOwnerNames+ , fOpenWithLinks+ , fWebViewLink+ , fOriginalFilename+ , fKind+ , fLastModifyingUser+ , fIconLink+ , fEmbedLink+ , fFileSize+ , fAppDataContents+ , fImageMediaMetadata+ , fExplicitlyTrashed+ , fEditable+ , fModifiedByMeDate+ , fLastViewedByMeDate+ , fShared+ , fMD5Checksum+ , fFolderColorRgb+ , fMimeType+ , fCreatedDate+ , fSelfLink+ , fLastModifyingUserName+ , fShareable+ , fDownloadURL+ , fExportLinks+ , fCopyable+ , fParents+ , fSharedWithMeDate+ , fSpaces+ , fVersion+ , fUserPermission+ , fWritersCanShare+ , fDefaultOpenWithLink+ , fId+ , fLabels+ , fModifiedDate+ , fPermissions+ , fQuotaBytesUsed+ , fTitle+ , fAlternateLink+ , fVideoMediaMetadata+ , fHeadRevisionId+ , fDescription+ , fSharingUser+ , fWebContentLink+ , fProperties+ , fIndexableText++ -- * PermissionId+ , PermissionId+ , permissionId+ , piKind+ , piId++ -- * FilesCopyVisibility+ , FilesCopyVisibility (..)++ -- * FilesGetProjection+ , FilesGetProjection (..)++ -- * ParentList+ , ParentList+ , parentList+ , parEtag+ , parKind+ , parItems+ , parSelfLink++ -- * GeneratedIds+ , GeneratedIds+ , generatedIds+ , giSpace+ , giKind+ , giIds++ -- * FileExportLinks+ , FileExportLinks+ , fileExportLinks+ , felAddtional++ -- * CommentList+ , CommentList+ , commentList+ , comoNextPageToken+ , comoNextLink+ , comoKind+ , comoItems+ , comoSelfLink++ -- * RevisionList+ , RevisionList+ , revisionList+ , rlEtag+ , rlKind+ , rlItems+ , rlSelfLink++ -- * PermissionList+ , PermissionList+ , permissionList+ , pllEtag+ , pllKind+ , pllItems+ , pllSelfLink+ ) where++import Network.Google.Drive.Types.Product+import Network.Google.Drive.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v2' of the Drive API. This contains the host and root path used as a starting point for constructing service requests.+driveService :: Service+driveService+ = defaultService (ServiceId "drive:v2")+ "www.googleapis.com"++-- | View metadata for files in your Google Drive+driveMetadataReadonlyScope :: OAuthScope+driveMetadataReadonlyScope = "https://www.googleapis.com/auth/drive.metadata.readonly";++-- | View your Google Drive apps+driveAppsReadonlyScope :: OAuthScope+driveAppsReadonlyScope = "https://www.googleapis.com/auth/drive.apps.readonly";++-- | View the photos, videos and albums in your Google Photos+drivePhotosReadonlyScope :: OAuthScope+drivePhotosReadonlyScope = "https://www.googleapis.com/auth/drive.photos.readonly";++-- | View and manage its own configuration data in your Google Drive+driveAppdataScope :: OAuthScope+driveAppdataScope = "https://www.googleapis.com/auth/drive.appdata";++-- | View the files in your Google Drive+driveReadonlyScope :: OAuthScope+driveReadonlyScope = "https://www.googleapis.com/auth/drive.readonly";++-- | View and manage the files in your Google Drive+driveScope :: OAuthScope+driveScope = "https://www.googleapis.com/auth/drive";++-- | View and manage Google Drive files and folders that you have opened or+-- created with this app+driveFileScope :: OAuthScope+driveFileScope = "https://www.googleapis.com/auth/drive.file";++-- | View and manage metadata of files in your Google Drive+driveMetadataScope :: OAuthScope+driveMetadataScope = "https://www.googleapis.com/auth/drive.metadata";++-- | Modify your Google Apps Script scripts\' behavior+driveScriptsScope :: OAuthScope+driveScriptsScope = "https://www.googleapis.com/auth/drive.scripts";
+ gen/Network/Google/Drive/Types/Product.hs view
@@ -0,0 +1,4831 @@+{-# 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.Drive.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.Drive.Types.Product where++import Network.Google.Drive.Types.Sum+import Network.Google.Prelude++-- | The context of the file which is being commented on.+--+-- /See:/ 'commentContext' smart constructor.+data CommentContext = CommentContext+ { _ccValue :: !(Maybe Text)+ , _ccType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccValue'+--+-- * 'ccType'+commentContext+ :: CommentContext+commentContext =+ CommentContext+ { _ccValue = Nothing+ , _ccType = Nothing+ }++-- | Data representation of the segment of the file being commented on. In+-- the case of a text file for example, this would be the actual text that+-- the comment is about.+ccValue :: Lens' CommentContext (Maybe Text)+ccValue = lens _ccValue (\ s a -> s{_ccValue = a})++-- | The MIME type of the context snippet.+ccType :: Lens' CommentContext (Maybe Text)+ccType = lens _ccType (\ s a -> s{_ccType = a})++instance FromJSON CommentContext where+ parseJSON+ = withObject "CommentContext"+ (\ o ->+ CommentContext <$>+ (o .:? "value") <*> (o .:? "type"))++instance ToJSON CommentContext where+ toJSON CommentContext{..}+ = object+ (catMaybes+ [("value" .=) <$> _ccValue, ("type" .=) <$> _ccType])++--+-- /See:/ 'appIconsItem' smart constructor.+data AppIconsItem = AppIconsItem+ { _aiiSize :: !(Maybe (Textual Int32))+ , _aiiCategory :: !(Maybe Text)+ , _aiiIconURL :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppIconsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiiSize'+--+-- * 'aiiCategory'+--+-- * 'aiiIconURL'+appIconsItem+ :: AppIconsItem+appIconsItem =+ AppIconsItem+ { _aiiSize = Nothing+ , _aiiCategory = Nothing+ , _aiiIconURL = Nothing+ }++-- | Size of the icon. Represented as the maximum of the width and height.+aiiSize :: Lens' AppIconsItem (Maybe Int32)+aiiSize+ = lens _aiiSize (\ s a -> s{_aiiSize = a}) .+ mapping _Coerce++-- | Category of the icon. Allowed values are: - application - icon for the+-- application - document - icon for a file associated with the app -+-- documentShared - icon for a shared file associated with the app+aiiCategory :: Lens' AppIconsItem (Maybe Text)+aiiCategory+ = lens _aiiCategory (\ s a -> s{_aiiCategory = a})++-- | URL for the icon.+aiiIconURL :: Lens' AppIconsItem (Maybe Text)+aiiIconURL+ = lens _aiiIconURL (\ s a -> s{_aiiIconURL = a})++instance FromJSON AppIconsItem where+ parseJSON+ = withObject "AppIconsItem"+ (\ o ->+ AppIconsItem <$>+ (o .:? "size") <*> (o .:? "category") <*>+ (o .:? "iconUrl"))++instance ToJSON AppIconsItem where+ toJSON AppIconsItem{..}+ = object+ (catMaybes+ [("size" .=) <$> _aiiSize,+ ("category" .=) <$> _aiiCategory,+ ("iconUrl" .=) <$> _aiiIconURL])++-- | A list of files.+--+-- /See:/ 'fileList' smart constructor.+data FileList = FileList+ { _flEtag :: !(Maybe Text)+ , _flNextPageToken :: !(Maybe Text)+ , _flNextLink :: !(Maybe Text)+ , _flKind :: !Text+ , _flItems :: !(Maybe [File])+ , _flSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flEtag'+--+-- * 'flNextPageToken'+--+-- * 'flNextLink'+--+-- * 'flKind'+--+-- * 'flItems'+--+-- * 'flSelfLink'+fileList+ :: FileList+fileList =+ FileList+ { _flEtag = Nothing+ , _flNextPageToken = Nothing+ , _flNextLink = Nothing+ , _flKind = "drive#fileList"+ , _flItems = Nothing+ , _flSelfLink = Nothing+ }++-- | The ETag of the list.+flEtag :: Lens' FileList (Maybe Text)+flEtag = lens _flEtag (\ s a -> s{_flEtag = a})++-- | The page token for the next page of files.+flNextPageToken :: Lens' FileList (Maybe Text)+flNextPageToken+ = lens _flNextPageToken+ (\ s a -> s{_flNextPageToken = a})++-- | A link to the next page of files.+flNextLink :: Lens' FileList (Maybe Text)+flNextLink+ = lens _flNextLink (\ s a -> s{_flNextLink = a})++-- | This is always drive#fileList.+flKind :: Lens' FileList Text+flKind = lens _flKind (\ s a -> s{_flKind = a})++-- | The actual list of files.+flItems :: Lens' FileList [File]+flItems+ = lens _flItems (\ s a -> s{_flItems = a}) . _Default+ . _Coerce++-- | A link back to this list.+flSelfLink :: Lens' FileList (Maybe Text)+flSelfLink+ = lens _flSelfLink (\ s a -> s{_flSelfLink = a})++instance FromJSON FileList where+ parseJSON+ = withObject "FileList"+ (\ o ->+ FileList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "nextLink")+ <*> (o .:? "kind" .!= "drive#fileList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON FileList where+ toJSON FileList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _flEtag,+ ("nextPageToken" .=) <$> _flNextPageToken,+ ("nextLink" .=) <$> _flNextLink,+ Just ("kind" .= _flKind), ("items" .=) <$> _flItems,+ ("selfLink" .=) <$> _flSelfLink])++-- | A reference to a file\'s parent.+--+-- /See:/ 'parentReference' smart constructor.+data ParentReference = ParentReference+ { _prParentLink :: !(Maybe Text)+ , _prIsRoot :: !(Maybe Bool)+ , _prKind :: !Text+ , _prSelfLink :: !(Maybe Text)+ , _prId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prParentLink'+--+-- * 'prIsRoot'+--+-- * 'prKind'+--+-- * 'prSelfLink'+--+-- * 'prId'+parentReference+ :: ParentReference+parentReference =+ ParentReference+ { _prParentLink = Nothing+ , _prIsRoot = Nothing+ , _prKind = "drive#parentReference"+ , _prSelfLink = Nothing+ , _prId = Nothing+ }++-- | A link to the parent.+prParentLink :: Lens' ParentReference (Maybe Text)+prParentLink+ = lens _prParentLink (\ s a -> s{_prParentLink = a})++-- | Whether or not the parent is the root folder.+prIsRoot :: Lens' ParentReference (Maybe Bool)+prIsRoot = lens _prIsRoot (\ s a -> s{_prIsRoot = a})++-- | This is always drive#parentReference.+prKind :: Lens' ParentReference Text+prKind = lens _prKind (\ s a -> s{_prKind = a})++-- | A link back to this reference.+prSelfLink :: Lens' ParentReference (Maybe Text)+prSelfLink+ = lens _prSelfLink (\ s a -> s{_prSelfLink = a})++-- | The ID of the parent.+prId :: Lens' ParentReference (Maybe Text)+prId = lens _prId (\ s a -> s{_prId = a})++instance FromJSON ParentReference where+ parseJSON+ = withObject "ParentReference"+ (\ o ->+ ParentReference <$>+ (o .:? "parentLink") <*> (o .:? "isRoot") <*>+ (o .:? "kind" .!= "drive#parentReference")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ParentReference where+ toJSON ParentReference{..}+ = object+ (catMaybes+ [("parentLink" .=) <$> _prParentLink,+ ("isRoot" .=) <$> _prIsRoot,+ Just ("kind" .= _prKind),+ ("selfLink" .=) <$> _prSelfLink,+ ("id" .=) <$> _prId])++-- | A key-value pair attached to a file that is either public or private to+-- an application. The following limits apply to file properties: - Maximum+-- of 100 properties total per file - Maximum of 30 private properties per+-- app - Maximum of 30 public properties - Maximum of 124 bytes size limit+-- on (key + value) string in UTF-8 encoding for a single property.+--+-- /See:/ 'property' smart constructor.+data Property = Property+ { _pEtag :: !(Maybe Text)+ , _pKind :: !Text+ , _pValue :: !(Maybe Text)+ , _pVisibility :: !(Maybe Text)+ , _pSelfLink :: !(Maybe Text)+ , _pKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Property' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pEtag'+--+-- * 'pKind'+--+-- * 'pValue'+--+-- * 'pVisibility'+--+-- * 'pSelfLink'+--+-- * 'pKey'+property+ :: Property+property =+ Property+ { _pEtag = Nothing+ , _pKind = "drive#property"+ , _pValue = Nothing+ , _pVisibility = Nothing+ , _pSelfLink = Nothing+ , _pKey = Nothing+ }++-- | ETag of the property.+pEtag :: Lens' Property (Maybe Text)+pEtag = lens _pEtag (\ s a -> s{_pEtag = a})++-- | This is always drive#property.+pKind :: Lens' Property Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The value of this property.+pValue :: Lens' Property (Maybe Text)+pValue = lens _pValue (\ s a -> s{_pValue = a})++-- | The visibility of this property.+pVisibility :: Lens' Property (Maybe Text)+pVisibility+ = lens _pVisibility (\ s a -> s{_pVisibility = a})++-- | The link back to this property.+pSelfLink :: Lens' Property (Maybe Text)+pSelfLink+ = lens _pSelfLink (\ s a -> s{_pSelfLink = a})++-- | The key of this property.+pKey :: Lens' Property (Maybe Text)+pKey = lens _pKey (\ s a -> s{_pKey = a})++instance FromJSON Property where+ parseJSON+ = withObject "Property"+ (\ o ->+ Property <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "drive#property")+ <*> (o .:? "value")+ <*> (o .:? "visibility")+ <*> (o .:? "selfLink")+ <*> (o .:? "key"))++instance ToJSON Property where+ toJSON Property{..}+ = object+ (catMaybes+ [("etag" .=) <$> _pEtag, Just ("kind" .= _pKind),+ ("value" .=) <$> _pValue,+ ("visibility" .=) <$> _pVisibility,+ ("selfLink" .=) <$> _pSelfLink,+ ("key" .=) <$> _pKey])++-- | Thumbnail for the file. Only accepted on upload and for files that are+-- not already thumbnailed by Google.+--+-- /See:/ 'fileThumbnail' smart constructor.+data FileThumbnail = FileThumbnail+ { _ftImage :: !(Maybe (Textual Word8))+ , _ftMimeType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileThumbnail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ftImage'+--+-- * 'ftMimeType'+fileThumbnail+ :: FileThumbnail+fileThumbnail =+ FileThumbnail+ { _ftImage = Nothing+ , _ftMimeType = Nothing+ }++-- | The URL-safe Base64 encoded bytes of the thumbnail image. It should+-- conform to RFC 4648 section 5.+ftImage :: Lens' FileThumbnail (Maybe Word8)+ftImage+ = lens _ftImage (\ s a -> s{_ftImage = a}) .+ mapping _Coerce++-- | The MIME type of the thumbnail.+ftMimeType :: Lens' FileThumbnail (Maybe Text)+ftMimeType+ = lens _ftMimeType (\ s a -> s{_ftMimeType = a})++instance FromJSON FileThumbnail where+ parseJSON+ = withObject "FileThumbnail"+ (\ o ->+ FileThumbnail <$>+ (o .:? "image") <*> (o .:? "mimeType"))++instance ToJSON FileThumbnail where+ toJSON FileThumbnail{..}+ = object+ (catMaybes+ [("image" .=) <$> _ftImage,+ ("mimeType" .=) <$> _ftMimeType])++-- | The user\'s profile picture.+--+-- /See:/ 'userPicture' smart constructor.+newtype UserPicture = UserPicture+ { _upURL :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserPicture' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upURL'+userPicture+ :: UserPicture+userPicture =+ UserPicture+ { _upURL = Nothing+ }++-- | A URL that points to a profile picture of this user.+upURL :: Lens' UserPicture (Maybe Text)+upURL = lens _upURL (\ s a -> s{_upURL = a})++instance FromJSON UserPicture where+ parseJSON+ = withObject "UserPicture"+ (\ o -> UserPicture <$> (o .:? "url"))++instance ToJSON UserPicture where+ toJSON UserPicture{..}+ = object (catMaybes [("url" .=) <$> _upURL])++-- | A collection of properties, key-value pairs that are either public or+-- private to an application.+--+-- /See:/ 'propertyList' smart constructor.+data PropertyList = PropertyList+ { _plEtag :: !(Maybe Text)+ , _plKind :: !Text+ , _plItems :: !(Maybe [Property])+ , _plSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plEtag'+--+-- * 'plKind'+--+-- * 'plItems'+--+-- * 'plSelfLink'+propertyList+ :: PropertyList+propertyList =+ PropertyList+ { _plEtag = Nothing+ , _plKind = "drive#propertyList"+ , _plItems = Nothing+ , _plSelfLink = Nothing+ }++-- | The ETag of the list.+plEtag :: Lens' PropertyList (Maybe Text)+plEtag = lens _plEtag (\ s a -> s{_plEtag = a})++-- | This is always drive#propertyList.+plKind :: Lens' PropertyList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | The list of properties.+plItems :: Lens' PropertyList [Property]+plItems+ = lens _plItems (\ s a -> s{_plItems = a}) . _Default+ . _Coerce++-- | The link back to this list.+plSelfLink :: Lens' PropertyList (Maybe Text)+plSelfLink+ = lens _plSelfLink (\ s a -> s{_plSelfLink = a})++instance FromJSON PropertyList where+ parseJSON+ = withObject "PropertyList"+ (\ o ->+ PropertyList <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "drive#propertyList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON PropertyList where+ toJSON PropertyList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _plEtag, Just ("kind" .= _plKind),+ ("items" .=) <$> _plItems,+ ("selfLink" .=) <$> _plSelfLink])++-- | A list of children of a file.+--+-- /See:/ 'childList' smart constructor.+data ChildList = ChildList+ { _clEtag :: !(Maybe Text)+ , _clNextPageToken :: !(Maybe Text)+ , _clNextLink :: !(Maybe Text)+ , _clKind :: !Text+ , _clItems :: !(Maybe [ChildReference])+ , _clSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clEtag'+--+-- * 'clNextPageToken'+--+-- * 'clNextLink'+--+-- * 'clKind'+--+-- * 'clItems'+--+-- * 'clSelfLink'+childList+ :: ChildList+childList =+ ChildList+ { _clEtag = Nothing+ , _clNextPageToken = Nothing+ , _clNextLink = Nothing+ , _clKind = "drive#childList"+ , _clItems = Nothing+ , _clSelfLink = Nothing+ }++-- | The ETag of the list.+clEtag :: Lens' ChildList (Maybe Text)+clEtag = lens _clEtag (\ s a -> s{_clEtag = a})++-- | The page token for the next page of children.+clNextPageToken :: Lens' ChildList (Maybe Text)+clNextPageToken+ = lens _clNextPageToken+ (\ s a -> s{_clNextPageToken = a})++-- | A link to the next page of children.+clNextLink :: Lens' ChildList (Maybe Text)+clNextLink+ = lens _clNextLink (\ s a -> s{_clNextLink = a})++-- | This is always drive#childList.+clKind :: Lens' ChildList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++-- | The actual list of children.+clItems :: Lens' ChildList [ChildReference]+clItems+ = lens _clItems (\ s a -> s{_clItems = a}) . _Default+ . _Coerce++-- | A link back to this list.+clSelfLink :: Lens' ChildList (Maybe Text)+clSelfLink+ = lens _clSelfLink (\ s a -> s{_clSelfLink = a})++instance FromJSON ChildList where+ parseJSON+ = withObject "ChildList"+ (\ o ->+ ChildList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "nextLink")+ <*> (o .:? "kind" .!= "drive#childList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON ChildList where+ toJSON ChildList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _clEtag,+ ("nextPageToken" .=) <$> _clNextPageToken,+ ("nextLink" .=) <$> _clNextLink,+ Just ("kind" .= _clKind), ("items" .=) <$> _clItems,+ ("selfLink" .=) <$> _clSelfLink])++-- | A list of third-party applications which the user has installed or given+-- access to Google Drive.+--+-- /See:/ 'appList' smart constructor.+data AppList = AppList+ { _alDefaultAppIds :: !(Maybe [Text])+ , _alEtag :: !(Maybe Text)+ , _alKind :: !Text+ , _alItems :: !(Maybe [App])+ , _alSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alDefaultAppIds'+--+-- * 'alEtag'+--+-- * 'alKind'+--+-- * 'alItems'+--+-- * 'alSelfLink'+appList+ :: AppList+appList =+ AppList+ { _alDefaultAppIds = Nothing+ , _alEtag = Nothing+ , _alKind = "drive#appList"+ , _alItems = Nothing+ , _alSelfLink = Nothing+ }++-- | List of app IDs that the user has specified to use by default. The list+-- is in reverse-priority order (lowest to highest).+alDefaultAppIds :: Lens' AppList [Text]+alDefaultAppIds+ = lens _alDefaultAppIds+ (\ s a -> s{_alDefaultAppIds = a})+ . _Default+ . _Coerce++-- | The ETag of the list.+alEtag :: Lens' AppList (Maybe Text)+alEtag = lens _alEtag (\ s a -> s{_alEtag = a})++-- | This is always drive#appList.+alKind :: Lens' AppList Text+alKind = lens _alKind (\ s a -> s{_alKind = a})++-- | The actual list of apps.+alItems :: Lens' AppList [App]+alItems+ = lens _alItems (\ s a -> s{_alItems = a}) . _Default+ . _Coerce++-- | A link back to this list.+alSelfLink :: Lens' AppList (Maybe Text)+alSelfLink+ = lens _alSelfLink (\ s a -> s{_alSelfLink = a})++instance FromJSON AppList where+ parseJSON+ = withObject "AppList"+ (\ o ->+ AppList <$>+ (o .:? "defaultAppIds" .!= mempty) <*> (o .:? "etag")+ <*> (o .:? "kind" .!= "drive#appList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON AppList where+ toJSON AppList{..}+ = object+ (catMaybes+ [("defaultAppIds" .=) <$> _alDefaultAppIds,+ ("etag" .=) <$> _alEtag, Just ("kind" .= _alKind),+ ("items" .=) <$> _alItems,+ ("selfLink" .=) <$> _alSelfLink])++-- | A map of the id of each of the user\'s apps to a link to open this file+-- with that app. Only populated when the drive.apps.readonly scope is+-- used.+--+-- /See:/ 'fileOpenWithLinks' smart constructor.+newtype FileOpenWithLinks = FileOpenWithLinks+ { _fowlAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileOpenWithLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fowlAddtional'+fileOpenWithLinks+ :: HashMap Text Text -- ^ 'fowlAddtional'+ -> FileOpenWithLinks+fileOpenWithLinks pFowlAddtional_ =+ FileOpenWithLinks+ { _fowlAddtional = _Coerce # pFowlAddtional_+ }++fowlAddtional :: Lens' FileOpenWithLinks (HashMap Text Text)+fowlAddtional+ = lens _fowlAddtional+ (\ s a -> s{_fowlAddtional = a})+ . _Coerce++instance FromJSON FileOpenWithLinks where+ parseJSON+ = withObject "FileOpenWithLinks"+ (\ o -> FileOpenWithLinks <$> (parseJSONObject o))++instance ToJSON FileOpenWithLinks where+ toJSON = toJSON . _fowlAddtional++--+-- /See:/ 'aboutAdditionalRoleInfoItemRoleSetsItem' smart constructor.+data AboutAdditionalRoleInfoItemRoleSetsItem = AboutAdditionalRoleInfoItemRoleSetsItem+ { _aariirsiPrimaryRole :: !(Maybe Text)+ , _aariirsiAdditionalRoles :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutAdditionalRoleInfoItemRoleSetsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aariirsiPrimaryRole'+--+-- * 'aariirsiAdditionalRoles'+aboutAdditionalRoleInfoItemRoleSetsItem+ :: AboutAdditionalRoleInfoItemRoleSetsItem+aboutAdditionalRoleInfoItemRoleSetsItem =+ AboutAdditionalRoleInfoItemRoleSetsItem+ { _aariirsiPrimaryRole = Nothing+ , _aariirsiAdditionalRoles = Nothing+ }++-- | A primary permission role.+aariirsiPrimaryRole :: Lens' AboutAdditionalRoleInfoItemRoleSetsItem (Maybe Text)+aariirsiPrimaryRole+ = lens _aariirsiPrimaryRole+ (\ s a -> s{_aariirsiPrimaryRole = a})++-- | The supported additional roles with the primary role.+aariirsiAdditionalRoles :: Lens' AboutAdditionalRoleInfoItemRoleSetsItem [Text]+aariirsiAdditionalRoles+ = lens _aariirsiAdditionalRoles+ (\ s a -> s{_aariirsiAdditionalRoles = a})+ . _Default+ . _Coerce++instance FromJSON+ AboutAdditionalRoleInfoItemRoleSetsItem where+ parseJSON+ = withObject+ "AboutAdditionalRoleInfoItemRoleSetsItem"+ (\ o ->+ AboutAdditionalRoleInfoItemRoleSetsItem <$>+ (o .:? "primaryRole") <*>+ (o .:? "additionalRoles" .!= mempty))++instance ToJSON+ AboutAdditionalRoleInfoItemRoleSetsItem where+ toJSON AboutAdditionalRoleInfoItemRoleSetsItem{..}+ = object+ (catMaybes+ [("primaryRole" .=) <$> _aariirsiPrimaryRole,+ ("additionalRoles" .=) <$> _aariirsiAdditionalRoles])++-- | An notification channel used to watch for resource changes.+--+-- /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])++-- | A JSON representation of a list of replies to a comment on a file in+-- Google Drive.+--+-- /See:/ 'commentReplyList' smart constructor.+data CommentReplyList = CommentReplyList+ { _crlNextPageToken :: !(Maybe Text)+ , _crlNextLink :: !(Maybe Text)+ , _crlKind :: !Text+ , _crlItems :: !(Maybe [CommentReply])+ , _crlSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentReplyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crlNextPageToken'+--+-- * 'crlNextLink'+--+-- * 'crlKind'+--+-- * 'crlItems'+--+-- * 'crlSelfLink'+commentReplyList+ :: CommentReplyList+commentReplyList =+ CommentReplyList+ { _crlNextPageToken = Nothing+ , _crlNextLink = Nothing+ , _crlKind = "drive#commentReplyList"+ , _crlItems = Nothing+ , _crlSelfLink = Nothing+ }++-- | The token to use to request the next page of results.+crlNextPageToken :: Lens' CommentReplyList (Maybe Text)+crlNextPageToken+ = lens _crlNextPageToken+ (\ s a -> s{_crlNextPageToken = a})++-- | A link to the next page of replies.+crlNextLink :: Lens' CommentReplyList (Maybe Text)+crlNextLink+ = lens _crlNextLink (\ s a -> s{_crlNextLink = a})++-- | This is always drive#commentReplyList.+crlKind :: Lens' CommentReplyList Text+crlKind = lens _crlKind (\ s a -> s{_crlKind = a})++-- | List of reply.+crlItems :: Lens' CommentReplyList [CommentReply]+crlItems+ = lens _crlItems (\ s a -> s{_crlItems = a}) .+ _Default+ . _Coerce++-- | A link back to this list.+crlSelfLink :: Lens' CommentReplyList (Maybe Text)+crlSelfLink+ = lens _crlSelfLink (\ s a -> s{_crlSelfLink = a})++instance FromJSON CommentReplyList where+ parseJSON+ = withObject "CommentReplyList"+ (\ o ->+ CommentReplyList <$>+ (o .:? "nextPageToken") <*> (o .:? "nextLink") <*>+ (o .:? "kind" .!= "drive#commentReplyList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON CommentReplyList where+ toJSON CommentReplyList{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _crlNextPageToken,+ ("nextLink" .=) <$> _crlNextLink,+ Just ("kind" .= _crlKind),+ ("items" .=) <$> _crlItems,+ ("selfLink" .=) <$> _crlSelfLink])++-- | Metadata about video media. This will only be present for video types.+--+-- /See:/ 'fileVideoMediaMetadata' smart constructor.+data FileVideoMediaMetadata = FileVideoMediaMetadata+ { _fvmmHeight :: !(Maybe (Textual Int32))+ , _fvmmWidth :: !(Maybe (Textual Int32))+ , _fvmmDurationMillis :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileVideoMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvmmHeight'+--+-- * 'fvmmWidth'+--+-- * 'fvmmDurationMillis'+fileVideoMediaMetadata+ :: FileVideoMediaMetadata+fileVideoMediaMetadata =+ FileVideoMediaMetadata+ { _fvmmHeight = Nothing+ , _fvmmWidth = Nothing+ , _fvmmDurationMillis = Nothing+ }++-- | The height of the video in pixels.+fvmmHeight :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmHeight+ = lens _fvmmHeight (\ s a -> s{_fvmmHeight = a}) .+ mapping _Coerce++-- | The width of the video in pixels.+fvmmWidth :: Lens' FileVideoMediaMetadata (Maybe Int32)+fvmmWidth+ = lens _fvmmWidth (\ s a -> s{_fvmmWidth = a}) .+ mapping _Coerce++-- | The duration of the video in milliseconds.+fvmmDurationMillis :: Lens' FileVideoMediaMetadata (Maybe Int64)+fvmmDurationMillis+ = lens _fvmmDurationMillis+ (\ s a -> s{_fvmmDurationMillis = a})+ . mapping _Coerce++instance FromJSON FileVideoMediaMetadata where+ parseJSON+ = withObject "FileVideoMediaMetadata"+ (\ o ->+ FileVideoMediaMetadata <$>+ (o .:? "height") <*> (o .:? "width") <*>+ (o .:? "durationMillis"))++instance ToJSON FileVideoMediaMetadata where+ toJSON FileVideoMediaMetadata{..}+ = object+ (catMaybes+ [("height" .=) <$> _fvmmHeight,+ ("width" .=) <$> _fvmmWidth,+ ("durationMillis" .=) <$> _fvmmDurationMillis])++-- | Representation of a change to a file.+--+-- /See:/ 'change' smart constructor.+data Change = Change+ { _chaKind :: !Text+ , _chaSelfLink :: !(Maybe Text)+ , _chaModificationDate :: !(Maybe DateTime')+ , _chaId :: !(Maybe (Textual Int64))+ , _chaDeleted :: !(Maybe Bool)+ , _chaFileId :: !(Maybe Text)+ , _chaFile :: !(Maybe File)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Change' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chaKind'+--+-- * 'chaSelfLink'+--+-- * 'chaModificationDate'+--+-- * 'chaId'+--+-- * 'chaDeleted'+--+-- * 'chaFileId'+--+-- * 'chaFile'+change+ :: Change+change =+ Change+ { _chaKind = "drive#change"+ , _chaSelfLink = Nothing+ , _chaModificationDate = Nothing+ , _chaId = Nothing+ , _chaDeleted = Nothing+ , _chaFileId = Nothing+ , _chaFile = Nothing+ }++-- | This is always drive#change.+chaKind :: Lens' Change Text+chaKind = lens _chaKind (\ s a -> s{_chaKind = a})++-- | A link back to this change.+chaSelfLink :: Lens' Change (Maybe Text)+chaSelfLink+ = lens _chaSelfLink (\ s a -> s{_chaSelfLink = a})++-- | The time of this modification.+chaModificationDate :: Lens' Change (Maybe UTCTime)+chaModificationDate+ = lens _chaModificationDate+ (\ s a -> s{_chaModificationDate = a})+ . mapping _DateTime++-- | The ID of the change.+chaId :: Lens' Change (Maybe Int64)+chaId+ = lens _chaId (\ s a -> s{_chaId = a}) .+ mapping _Coerce++-- | Whether the file has been deleted.+chaDeleted :: Lens' Change (Maybe Bool)+chaDeleted+ = lens _chaDeleted (\ s a -> s{_chaDeleted = a})++-- | The ID of the file associated with this change.+chaFileId :: Lens' Change (Maybe Text)+chaFileId+ = lens _chaFileId (\ s a -> s{_chaFileId = a})++-- | The updated state of the file. Present if the file has not been deleted.+chaFile :: Lens' Change (Maybe File)+chaFile = lens _chaFile (\ s a -> s{_chaFile = a})++instance FromJSON Change where+ parseJSON+ = withObject "Change"+ (\ o ->+ Change <$>+ (o .:? "kind" .!= "drive#change") <*>+ (o .:? "selfLink")+ <*> (o .:? "modificationDate")+ <*> (o .:? "id")+ <*> (o .:? "deleted")+ <*> (o .:? "fileId")+ <*> (o .:? "file"))++instance ToJSON Change where+ toJSON Change{..}+ = object+ (catMaybes+ [Just ("kind" .= _chaKind),+ ("selfLink" .=) <$> _chaSelfLink,+ ("modificationDate" .=) <$> _chaModificationDate,+ ("id" .=) <$> _chaId, ("deleted" .=) <$> _chaDeleted,+ ("fileId" .=) <$> _chaFileId,+ ("file" .=) <$> _chaFile])++-- | The apps resource provides a list of the apps that a user has installed,+-- with information about each app\'s supported MIME types, file+-- extensions, and other details.+--+-- /See:/ 'app' smart constructor.+data App = App+ { _aLongDescription :: !(Maybe Text)+ , _aOpenURLTemplate :: !(Maybe Text)+ , _aAuthorized :: !(Maybe Bool)+ , _aObjectType :: !(Maybe Text)+ , _aSecondaryMimeTypes :: !(Maybe [Text])+ , _aCreateInFolderTemplate :: !(Maybe Text)+ , _aKind :: !Text+ , _aIcons :: !(Maybe [AppIconsItem])+ , _aProductURL :: !(Maybe Text)+ , _aUseByDefault :: !(Maybe Bool)+ , _aShortDescription :: !(Maybe Text)+ , _aName :: !(Maybe Text)+ , _aCreateURL :: !(Maybe Text)+ , _aId :: !(Maybe Text)+ , _aPrimaryFileExtensions :: !(Maybe [Text])+ , _aInstalled :: !(Maybe Bool)+ , _aSupportsCreate :: !(Maybe Bool)+ , _aPrimaryMimeTypes :: !(Maybe [Text])+ , _aHasDriveWideScope :: !(Maybe Bool)+ , _aProductId :: !(Maybe Text)+ , _aSecondaryFileExtensions :: !(Maybe [Text])+ , _aSupportsMultiOpen :: !(Maybe Bool)+ , _aSupportsImport :: !(Maybe Bool)+ , _aSupportsOfflineCreate :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'App' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aLongDescription'+--+-- * 'aOpenURLTemplate'+--+-- * 'aAuthorized'+--+-- * 'aObjectType'+--+-- * 'aSecondaryMimeTypes'+--+-- * 'aCreateInFolderTemplate'+--+-- * 'aKind'+--+-- * 'aIcons'+--+-- * 'aProductURL'+--+-- * 'aUseByDefault'+--+-- * 'aShortDescription'+--+-- * 'aName'+--+-- * 'aCreateURL'+--+-- * 'aId'+--+-- * 'aPrimaryFileExtensions'+--+-- * 'aInstalled'+--+-- * 'aSupportsCreate'+--+-- * 'aPrimaryMimeTypes'+--+-- * 'aHasDriveWideScope'+--+-- * 'aProductId'+--+-- * 'aSecondaryFileExtensions'+--+-- * 'aSupportsMultiOpen'+--+-- * 'aSupportsImport'+--+-- * 'aSupportsOfflineCreate'+app+ :: App+app =+ App+ { _aLongDescription = Nothing+ , _aOpenURLTemplate = Nothing+ , _aAuthorized = Nothing+ , _aObjectType = Nothing+ , _aSecondaryMimeTypes = Nothing+ , _aCreateInFolderTemplate = Nothing+ , _aKind = "drive#app"+ , _aIcons = Nothing+ , _aProductURL = Nothing+ , _aUseByDefault = Nothing+ , _aShortDescription = Nothing+ , _aName = Nothing+ , _aCreateURL = Nothing+ , _aId = Nothing+ , _aPrimaryFileExtensions = Nothing+ , _aInstalled = Nothing+ , _aSupportsCreate = Nothing+ , _aPrimaryMimeTypes = Nothing+ , _aHasDriveWideScope = Nothing+ , _aProductId = Nothing+ , _aSecondaryFileExtensions = Nothing+ , _aSupportsMultiOpen = Nothing+ , _aSupportsImport = Nothing+ , _aSupportsOfflineCreate = Nothing+ }++-- | A long description of the app.+aLongDescription :: Lens' App (Maybe Text)+aLongDescription+ = lens _aLongDescription+ (\ s a -> s{_aLongDescription = a})++-- | The template url for opening files with this app. The template will+-- contain {ids} and\/or {exportIds} to be replaced by the actual file ids.+-- See Open Files for the full documentation.+aOpenURLTemplate :: Lens' App (Maybe Text)+aOpenURLTemplate+ = lens _aOpenURLTemplate+ (\ s a -> s{_aOpenURLTemplate = a})++-- | Whether the app is authorized to access data on the user\'s Drive.+aAuthorized :: Lens' App (Maybe Bool)+aAuthorized+ = lens _aAuthorized (\ s a -> s{_aAuthorized = a})++-- | The type of object this app creates (e.g. Chart). If empty, the app name+-- should be used instead.+aObjectType :: Lens' App (Maybe Text)+aObjectType+ = lens _aObjectType (\ s a -> s{_aObjectType = a})++-- | The list of secondary mime types.+aSecondaryMimeTypes :: Lens' App [Text]+aSecondaryMimeTypes+ = lens _aSecondaryMimeTypes+ (\ s a -> s{_aSecondaryMimeTypes = a})+ . _Default+ . _Coerce++-- | The template url to create a new file with this app in a given folder.+-- The template will contain {folderId} to be replaced by the folder to+-- create the new file in.+aCreateInFolderTemplate :: Lens' App (Maybe Text)+aCreateInFolderTemplate+ = lens _aCreateInFolderTemplate+ (\ s a -> s{_aCreateInFolderTemplate = a})++-- | This is always drive#app.+aKind :: Lens' App Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | The various icons for the app.+aIcons :: Lens' App [AppIconsItem]+aIcons+ = lens _aIcons (\ s a -> s{_aIcons = a}) . _Default .+ _Coerce++-- | A link to the product listing for this app.+aProductURL :: Lens' App (Maybe Text)+aProductURL+ = lens _aProductURL (\ s a -> s{_aProductURL = a})++-- | Whether the app is selected as the default handler for the types it+-- supports.+aUseByDefault :: Lens' App (Maybe Bool)+aUseByDefault+ = lens _aUseByDefault+ (\ s a -> s{_aUseByDefault = a})++-- | A short description of the app.+aShortDescription :: Lens' App (Maybe Text)+aShortDescription+ = lens _aShortDescription+ (\ s a -> s{_aShortDescription = a})++-- | The name of the app.+aName :: Lens' App (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | The url to create a new file with this app.+aCreateURL :: Lens' App (Maybe Text)+aCreateURL+ = lens _aCreateURL (\ s a -> s{_aCreateURL = a})++-- | The ID of the app.+aId :: Lens' App (Maybe Text)+aId = lens _aId (\ s a -> s{_aId = a})++-- | The list of primary file extensions.+aPrimaryFileExtensions :: Lens' App [Text]+aPrimaryFileExtensions+ = lens _aPrimaryFileExtensions+ (\ s a -> s{_aPrimaryFileExtensions = a})+ . _Default+ . _Coerce++-- | Whether the app is installed.+aInstalled :: Lens' App (Maybe Bool)+aInstalled+ = lens _aInstalled (\ s a -> s{_aInstalled = a})++-- | Whether this app supports creating new objects.+aSupportsCreate :: Lens' App (Maybe Bool)+aSupportsCreate+ = lens _aSupportsCreate+ (\ s a -> s{_aSupportsCreate = a})++-- | The list of primary mime types.+aPrimaryMimeTypes :: Lens' App [Text]+aPrimaryMimeTypes+ = lens _aPrimaryMimeTypes+ (\ s a -> s{_aPrimaryMimeTypes = a})+ . _Default+ . _Coerce++-- | Whether the app has drive-wide scope. An app with drive-wide scope can+-- access all files in the user\'s drive.+aHasDriveWideScope :: Lens' App (Maybe Bool)+aHasDriveWideScope+ = lens _aHasDriveWideScope+ (\ s a -> s{_aHasDriveWideScope = a})++-- | The ID of the product listing for this app.+aProductId :: Lens' App (Maybe Text)+aProductId+ = lens _aProductId (\ s a -> s{_aProductId = a})++-- | The list of secondary file extensions.+aSecondaryFileExtensions :: Lens' App [Text]+aSecondaryFileExtensions+ = lens _aSecondaryFileExtensions+ (\ s a -> s{_aSecondaryFileExtensions = a})+ . _Default+ . _Coerce++-- | Whether this app supports opening more than one file.+aSupportsMultiOpen :: Lens' App (Maybe Bool)+aSupportsMultiOpen+ = lens _aSupportsMultiOpen+ (\ s a -> s{_aSupportsMultiOpen = a})++-- | Whether this app supports importing Google Docs.+aSupportsImport :: Lens' App (Maybe Bool)+aSupportsImport+ = lens _aSupportsImport+ (\ s a -> s{_aSupportsImport = a})++-- | Whether this app supports creating new files when offline.+aSupportsOfflineCreate :: Lens' App (Maybe Bool)+aSupportsOfflineCreate+ = lens _aSupportsOfflineCreate+ (\ s a -> s{_aSupportsOfflineCreate = a})++instance FromJSON App where+ parseJSON+ = withObject "App"+ (\ o ->+ App <$>+ (o .:? "longDescription") <*>+ (o .:? "openUrlTemplate")+ <*> (o .:? "authorized")+ <*> (o .:? "objectType")+ <*> (o .:? "secondaryMimeTypes" .!= mempty)+ <*> (o .:? "createInFolderTemplate")+ <*> (o .:? "kind" .!= "drive#app")+ <*> (o .:? "icons" .!= mempty)+ <*> (o .:? "productUrl")+ <*> (o .:? "useByDefault")+ <*> (o .:? "shortDescription")+ <*> (o .:? "name")+ <*> (o .:? "createUrl")+ <*> (o .:? "id")+ <*> (o .:? "primaryFileExtensions" .!= mempty)+ <*> (o .:? "installed")+ <*> (o .:? "supportsCreate")+ <*> (o .:? "primaryMimeTypes" .!= mempty)+ <*> (o .:? "hasDriveWideScope")+ <*> (o .:? "productId")+ <*> (o .:? "secondaryFileExtensions" .!= mempty)+ <*> (o .:? "supportsMultiOpen")+ <*> (o .:? "supportsImport")+ <*> (o .:? "supportsOfflineCreate"))++instance ToJSON App where+ toJSON App{..}+ = object+ (catMaybes+ [("longDescription" .=) <$> _aLongDescription,+ ("openUrlTemplate" .=) <$> _aOpenURLTemplate,+ ("authorized" .=) <$> _aAuthorized,+ ("objectType" .=) <$> _aObjectType,+ ("secondaryMimeTypes" .=) <$> _aSecondaryMimeTypes,+ ("createInFolderTemplate" .=) <$>+ _aCreateInFolderTemplate,+ Just ("kind" .= _aKind), ("icons" .=) <$> _aIcons,+ ("productUrl" .=) <$> _aProductURL,+ ("useByDefault" .=) <$> _aUseByDefault,+ ("shortDescription" .=) <$> _aShortDescription,+ ("name" .=) <$> _aName,+ ("createUrl" .=) <$> _aCreateURL, ("id" .=) <$> _aId,+ ("primaryFileExtensions" .=) <$>+ _aPrimaryFileExtensions,+ ("installed" .=) <$> _aInstalled,+ ("supportsCreate" .=) <$> _aSupportsCreate,+ ("primaryMimeTypes" .=) <$> _aPrimaryMimeTypes,+ ("hasDriveWideScope" .=) <$> _aHasDriveWideScope,+ ("productId" .=) <$> _aProductId,+ ("secondaryFileExtensions" .=) <$>+ _aSecondaryFileExtensions,+ ("supportsMultiOpen" .=) <$> _aSupportsMultiOpen,+ ("supportsImport" .=) <$> _aSupportsImport,+ ("supportsOfflineCreate" .=) <$>+ _aSupportsOfflineCreate])++-- | A reference to a folder\'s child.+--+-- /See:/ 'childReference' smart constructor.+data ChildReference = ChildReference+ { _crChildLink :: !(Maybe Text)+ , _crKind :: !Text+ , _crSelfLink :: !(Maybe Text)+ , _crId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crChildLink'+--+-- * 'crKind'+--+-- * 'crSelfLink'+--+-- * 'crId'+childReference+ :: ChildReference+childReference =+ ChildReference+ { _crChildLink = Nothing+ , _crKind = "drive#childReference"+ , _crSelfLink = Nothing+ , _crId = Nothing+ }++-- | A link to the child.+crChildLink :: Lens' ChildReference (Maybe Text)+crChildLink+ = lens _crChildLink (\ s a -> s{_crChildLink = a})++-- | This is always drive#childReference.+crKind :: Lens' ChildReference Text+crKind = lens _crKind (\ s a -> s{_crKind = a})++-- | A link back to this reference.+crSelfLink :: Lens' ChildReference (Maybe Text)+crSelfLink+ = lens _crSelfLink (\ s a -> s{_crSelfLink = a})++-- | The ID of the child.+crId :: Lens' ChildReference (Maybe Text)+crId = lens _crId (\ s a -> s{_crId = a})++instance FromJSON ChildReference where+ parseJSON+ = withObject "ChildReference"+ (\ o ->+ ChildReference <$>+ (o .:? "childLink") <*>+ (o .:? "kind" .!= "drive#childReference")+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON ChildReference where+ toJSON ChildReference{..}+ = object+ (catMaybes+ [("childLink" .=) <$> _crChildLink,+ Just ("kind" .= _crKind),+ ("selfLink" .=) <$> _crSelfLink,+ ("id" .=) <$> _crId])++--+-- /See:/ 'aboutMaxUploadSizesItem' smart constructor.+data AboutMaxUploadSizesItem = AboutMaxUploadSizesItem+ { _amusiSize :: !(Maybe (Textual Int64))+ , _amusiType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutMaxUploadSizesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amusiSize'+--+-- * 'amusiType'+aboutMaxUploadSizesItem+ :: AboutMaxUploadSizesItem+aboutMaxUploadSizesItem =+ AboutMaxUploadSizesItem+ { _amusiSize = Nothing+ , _amusiType = Nothing+ }++-- | The max upload size for this type.+amusiSize :: Lens' AboutMaxUploadSizesItem (Maybe Int64)+amusiSize+ = lens _amusiSize (\ s a -> s{_amusiSize = a}) .+ mapping _Coerce++-- | The file type.+amusiType :: Lens' AboutMaxUploadSizesItem (Maybe Text)+amusiType+ = lens _amusiType (\ s a -> s{_amusiType = a})++instance FromJSON AboutMaxUploadSizesItem where+ parseJSON+ = withObject "AboutMaxUploadSizesItem"+ (\ o ->+ AboutMaxUploadSizesItem <$>+ (o .:? "size") <*> (o .:? "type"))++instance ToJSON AboutMaxUploadSizesItem where+ toJSON AboutMaxUploadSizesItem{..}+ = object+ (catMaybes+ [("size" .=) <$> _amusiSize,+ ("type" .=) <$> _amusiType])++-- | A JSON representation of a reply to a comment on a file in Google Drive.+--+-- /See:/ 'commentReply' smart constructor.+data CommentReply = CommentReply+ { _comHTMLContent :: !(Maybe Text)+ , _comKind :: !Text+ , _comContent :: !(Maybe Text)+ , _comCreatedDate :: !(Maybe DateTime')+ , _comReplyId :: !(Maybe Text)+ , _comAuthor :: !(Maybe User)+ , _comModifiedDate :: !(Maybe DateTime')+ , _comDeleted :: !(Maybe Bool)+ , _comVerb :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentReply' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comHTMLContent'+--+-- * 'comKind'+--+-- * 'comContent'+--+-- * 'comCreatedDate'+--+-- * 'comReplyId'+--+-- * 'comAuthor'+--+-- * 'comModifiedDate'+--+-- * 'comDeleted'+--+-- * 'comVerb'+commentReply+ :: CommentReply+commentReply =+ CommentReply+ { _comHTMLContent = Nothing+ , _comKind = "drive#commentReply"+ , _comContent = Nothing+ , _comCreatedDate = Nothing+ , _comReplyId = Nothing+ , _comAuthor = Nothing+ , _comModifiedDate = Nothing+ , _comDeleted = Nothing+ , _comVerb = Nothing+ }++-- | HTML formatted content for this reply.+comHTMLContent :: Lens' CommentReply (Maybe Text)+comHTMLContent+ = lens _comHTMLContent+ (\ s a -> s{_comHTMLContent = a})++-- | This is always drive#commentReply.+comKind :: Lens' CommentReply Text+comKind = lens _comKind (\ s a -> s{_comKind = a})++-- | The plain text content used to create this reply. This is not HTML safe+-- and should only be used as a starting point to make edits to a reply\'s+-- content. This field is required on inserts if no verb is specified+-- (resolve\/reopen).+comContent :: Lens' CommentReply (Maybe Text)+comContent+ = lens _comContent (\ s a -> s{_comContent = a})++-- | The date when this reply was first created.+comCreatedDate :: Lens' CommentReply (Maybe UTCTime)+comCreatedDate+ = lens _comCreatedDate+ (\ s a -> s{_comCreatedDate = a})+ . mapping _DateTime++-- | The ID of the reply.+comReplyId :: Lens' CommentReply (Maybe Text)+comReplyId+ = lens _comReplyId (\ s a -> s{_comReplyId = a})++-- | The user who wrote this reply.+comAuthor :: Lens' CommentReply (Maybe User)+comAuthor+ = lens _comAuthor (\ s a -> s{_comAuthor = a})++-- | The date when this reply was last modified.+comModifiedDate :: Lens' CommentReply (Maybe UTCTime)+comModifiedDate+ = lens _comModifiedDate+ (\ s a -> s{_comModifiedDate = a})+ . mapping _DateTime++-- | Whether this reply has been deleted. If a reply has been deleted the+-- content will be cleared and this will only represent a reply that once+-- existed.+comDeleted :: Lens' CommentReply (Maybe Bool)+comDeleted+ = lens _comDeleted (\ s a -> s{_comDeleted = a})++-- | The action this reply performed to the parent comment. When creating a+-- new reply this is the action to be perform to the parent comment.+-- Possible values are: - \"resolve\" - To resolve a comment. - \"reopen\"+-- - To reopen (un-resolve) a comment.+comVerb :: Lens' CommentReply (Maybe Text)+comVerb = lens _comVerb (\ s a -> s{_comVerb = a})++instance FromJSON CommentReply where+ parseJSON+ = withObject "CommentReply"+ (\ o ->+ CommentReply <$>+ (o .:? "htmlContent") <*>+ (o .:? "kind" .!= "drive#commentReply")+ <*> (o .:? "content")+ <*> (o .:? "createdDate")+ <*> (o .:? "replyId")+ <*> (o .:? "author")+ <*> (o .:? "modifiedDate")+ <*> (o .:? "deleted")+ <*> (o .:? "verb"))++instance ToJSON CommentReply where+ toJSON CommentReply{..}+ = object+ (catMaybes+ [("htmlContent" .=) <$> _comHTMLContent,+ Just ("kind" .= _comKind),+ ("content" .=) <$> _comContent,+ ("createdDate" .=) <$> _comCreatedDate,+ ("replyId" .=) <$> _comReplyId,+ ("author" .=) <$> _comAuthor,+ ("modifiedDate" .=) <$> _comModifiedDate,+ ("deleted" .=) <$> _comDeleted,+ ("verb" .=) <$> _comVerb])++--+-- /See:/ 'aboutQuotaBytesByServiceItem' smart constructor.+data AboutQuotaBytesByServiceItem = AboutQuotaBytesByServiceItem+ { _aqbbsiBytesUsed :: !(Maybe (Textual Int64))+ , _aqbbsiServiceName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutQuotaBytesByServiceItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aqbbsiBytesUsed'+--+-- * 'aqbbsiServiceName'+aboutQuotaBytesByServiceItem+ :: AboutQuotaBytesByServiceItem+aboutQuotaBytesByServiceItem =+ AboutQuotaBytesByServiceItem+ { _aqbbsiBytesUsed = Nothing+ , _aqbbsiServiceName = Nothing+ }++-- | The storage quota bytes used by the service.+aqbbsiBytesUsed :: Lens' AboutQuotaBytesByServiceItem (Maybe Int64)+aqbbsiBytesUsed+ = lens _aqbbsiBytesUsed+ (\ s a -> s{_aqbbsiBytesUsed = a})+ . mapping _Coerce++-- | The service\'s name, e.g. DRIVE, GMAIL, or PHOTOS.+aqbbsiServiceName :: Lens' AboutQuotaBytesByServiceItem (Maybe Text)+aqbbsiServiceName+ = lens _aqbbsiServiceName+ (\ s a -> s{_aqbbsiServiceName = a})++instance FromJSON AboutQuotaBytesByServiceItem where+ parseJSON+ = withObject "AboutQuotaBytesByServiceItem"+ (\ o ->+ AboutQuotaBytesByServiceItem <$>+ (o .:? "bytesUsed") <*> (o .:? "serviceName"))++instance ToJSON AboutQuotaBytesByServiceItem where+ toJSON AboutQuotaBytesByServiceItem{..}+ = object+ (catMaybes+ [("bytesUsed" .=) <$> _aqbbsiBytesUsed,+ ("serviceName" .=) <$> _aqbbsiServiceName])++-- | The JSON template for a user.+--+-- /See:/ 'user' smart constructor.+data User = User+ { _uIsAuthenticatedUser :: !(Maybe Bool)+ , _uKind :: !Text+ , _uPicture :: !(Maybe UserPicture)+ , _uEmailAddress :: !(Maybe Text)+ , _uDisplayName :: !(Maybe Text)+ , _uPermissionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uIsAuthenticatedUser'+--+-- * 'uKind'+--+-- * 'uPicture'+--+-- * 'uEmailAddress'+--+-- * 'uDisplayName'+--+-- * 'uPermissionId'+user+ :: User+user =+ User+ { _uIsAuthenticatedUser = Nothing+ , _uKind = "drive#user"+ , _uPicture = Nothing+ , _uEmailAddress = Nothing+ , _uDisplayName = Nothing+ , _uPermissionId = Nothing+ }++-- | Whether this user is the same as the authenticated user for whom the+-- request was made.+uIsAuthenticatedUser :: Lens' User (Maybe Bool)+uIsAuthenticatedUser+ = lens _uIsAuthenticatedUser+ (\ s a -> s{_uIsAuthenticatedUser = a})++-- | This is always drive#user.+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The user\'s profile picture.+uPicture :: Lens' User (Maybe UserPicture)+uPicture = lens _uPicture (\ s a -> s{_uPicture = a})++-- | The email address of the user.+uEmailAddress :: Lens' User (Maybe Text)+uEmailAddress+ = lens _uEmailAddress+ (\ s a -> s{_uEmailAddress = a})++-- | A plain text displayable name for this user.+uDisplayName :: Lens' User (Maybe Text)+uDisplayName+ = lens _uDisplayName (\ s a -> s{_uDisplayName = a})++-- | The user\'s ID as visible in the permissions collection.+uPermissionId :: Lens' User (Maybe Text)+uPermissionId+ = lens _uPermissionId+ (\ s a -> s{_uPermissionId = a})++instance FromJSON User where+ parseJSON+ = withObject "User"+ (\ o ->+ User <$>+ (o .:? "isAuthenticatedUser") <*>+ (o .:? "kind" .!= "drive#user")+ <*> (o .:? "picture")+ <*> (o .:? "emailAddress")+ <*> (o .:? "displayName")+ <*> (o .:? "permissionId"))++instance ToJSON User where+ toJSON User{..}+ = object+ (catMaybes+ [("isAuthenticatedUser" .=) <$>+ _uIsAuthenticatedUser,+ Just ("kind" .= _uKind),+ ("picture" .=) <$> _uPicture,+ ("emailAddress" .=) <$> _uEmailAddress,+ ("displayName" .=) <$> _uDisplayName,+ ("permissionId" .=) <$> _uPermissionId])++--+-- /See:/ 'aboutExportFormatsItem' smart constructor.+data AboutExportFormatsItem = AboutExportFormatsItem+ { _aefiTargets :: !(Maybe [Text])+ , _aefiSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutExportFormatsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aefiTargets'+--+-- * 'aefiSource'+aboutExportFormatsItem+ :: AboutExportFormatsItem+aboutExportFormatsItem =+ AboutExportFormatsItem+ { _aefiTargets = Nothing+ , _aefiSource = Nothing+ }++-- | The possible content types to convert to.+aefiTargets :: Lens' AboutExportFormatsItem [Text]+aefiTargets+ = lens _aefiTargets (\ s a -> s{_aefiTargets = a}) .+ _Default+ . _Coerce++-- | The content type to convert from.+aefiSource :: Lens' AboutExportFormatsItem (Maybe Text)+aefiSource+ = lens _aefiSource (\ s a -> s{_aefiSource = a})++instance FromJSON AboutExportFormatsItem where+ parseJSON+ = withObject "AboutExportFormatsItem"+ (\ o ->+ AboutExportFormatsItem <$>+ (o .:? "targets" .!= mempty) <*> (o .:? "source"))++instance ToJSON AboutExportFormatsItem where+ toJSON AboutExportFormatsItem{..}+ = object+ (catMaybes+ [("targets" .=) <$> _aefiTargets,+ ("source" .=) <$> _aefiSource])++-- | A list of changes for a user.+--+-- /See:/ 'changeList' smart constructor.+data ChangeList = ChangeList+ { _cllEtag :: !(Maybe Text)+ , _cllNextPageToken :: !(Maybe Text)+ , _cllNextLink :: !(Maybe Text)+ , _cllKind :: !Text+ , _cllItems :: !(Maybe [Change])+ , _cllSelfLink :: !(Maybe Text)+ , _cllLargestChangeId :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangeList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllEtag'+--+-- * 'cllNextPageToken'+--+-- * 'cllNextLink'+--+-- * 'cllKind'+--+-- * 'cllItems'+--+-- * 'cllSelfLink'+--+-- * 'cllLargestChangeId'+changeList+ :: ChangeList+changeList =+ ChangeList+ { _cllEtag = Nothing+ , _cllNextPageToken = Nothing+ , _cllNextLink = Nothing+ , _cllKind = "drive#changeList"+ , _cllItems = Nothing+ , _cllSelfLink = Nothing+ , _cllLargestChangeId = Nothing+ }++-- | The ETag of the list.+cllEtag :: Lens' ChangeList (Maybe Text)+cllEtag = lens _cllEtag (\ s a -> s{_cllEtag = a})++-- | The page token for the next page of changes.+cllNextPageToken :: Lens' ChangeList (Maybe Text)+cllNextPageToken+ = lens _cllNextPageToken+ (\ s a -> s{_cllNextPageToken = a})++-- | A link to the next page of changes.+cllNextLink :: Lens' ChangeList (Maybe Text)+cllNextLink+ = lens _cllNextLink (\ s a -> s{_cllNextLink = a})++-- | This is always drive#changeList.+cllKind :: Lens' ChangeList Text+cllKind = lens _cllKind (\ s a -> s{_cllKind = a})++-- | The actual list of changes.+cllItems :: Lens' ChangeList [Change]+cllItems+ = lens _cllItems (\ s a -> s{_cllItems = a}) .+ _Default+ . _Coerce++-- | A link back to this list.+cllSelfLink :: Lens' ChangeList (Maybe Text)+cllSelfLink+ = lens _cllSelfLink (\ s a -> s{_cllSelfLink = a})++-- | The current largest change ID.+cllLargestChangeId :: Lens' ChangeList (Maybe Int64)+cllLargestChangeId+ = lens _cllLargestChangeId+ (\ s a -> s{_cllLargestChangeId = a})+ . mapping _Coerce++instance FromJSON ChangeList where+ parseJSON+ = withObject "ChangeList"+ (\ o ->+ ChangeList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "nextLink")+ <*> (o .:? "kind" .!= "drive#changeList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "largestChangeId"))++instance ToJSON ChangeList where+ toJSON ChangeList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _cllEtag,+ ("nextPageToken" .=) <$> _cllNextPageToken,+ ("nextLink" .=) <$> _cllNextLink,+ Just ("kind" .= _cllKind),+ ("items" .=) <$> _cllItems,+ ("selfLink" .=) <$> _cllSelfLink,+ ("largestChangeId" .=) <$> _cllLargestChangeId])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'revisionExportLinks' smart constructor.+newtype RevisionExportLinks = RevisionExportLinks+ { _relAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'relAddtional'+revisionExportLinks+ :: HashMap Text Text -- ^ 'relAddtional'+ -> RevisionExportLinks+revisionExportLinks pRelAddtional_ =+ RevisionExportLinks+ { _relAddtional = _Coerce # pRelAddtional_+ }++-- | A mapping from export format to URL+relAddtional :: Lens' RevisionExportLinks (HashMap Text Text)+relAddtional+ = lens _relAddtional (\ s a -> s{_relAddtional = a})+ . _Coerce++instance FromJSON RevisionExportLinks where+ parseJSON+ = withObject "RevisionExportLinks"+ (\ o -> RevisionExportLinks <$> (parseJSONObject o))++instance ToJSON RevisionExportLinks where+ toJSON = toJSON . _relAddtional++-- | Indexable text attributes for the file (can only be written)+--+-- /See:/ 'fileIndexableText' smart constructor.+newtype FileIndexableText = FileIndexableText+ { _fitText :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileIndexableText' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fitText'+fileIndexableText+ :: FileIndexableText+fileIndexableText =+ FileIndexableText+ { _fitText = Nothing+ }++-- | The text to be indexed for this file.+fitText :: Lens' FileIndexableText (Maybe Text)+fitText = lens _fitText (\ s a -> s{_fitText = a})++instance FromJSON FileIndexableText where+ parseJSON+ = withObject "FileIndexableText"+ (\ o -> FileIndexableText <$> (o .:? "text"))++instance ToJSON FileIndexableText where+ toJSON FileIndexableText{..}+ = object (catMaybes [("text" .=) <$> _fitText])++--+-- /See:/ 'aboutFeaturesItem' smart constructor.+data AboutFeaturesItem = AboutFeaturesItem+ { _afiFeatureRate :: !(Maybe (Textual Double))+ , _afiFeatureName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutFeaturesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'afiFeatureRate'+--+-- * 'afiFeatureName'+aboutFeaturesItem+ :: AboutFeaturesItem+aboutFeaturesItem =+ AboutFeaturesItem+ { _afiFeatureRate = Nothing+ , _afiFeatureName = Nothing+ }++-- | The request limit rate for this feature, in queries per second.+afiFeatureRate :: Lens' AboutFeaturesItem (Maybe Double)+afiFeatureRate+ = lens _afiFeatureRate+ (\ s a -> s{_afiFeatureRate = a})+ . mapping _Coerce++-- | The name of the feature.+afiFeatureName :: Lens' AboutFeaturesItem (Maybe Text)+afiFeatureName+ = lens _afiFeatureName+ (\ s a -> s{_afiFeatureName = a})++instance FromJSON AboutFeaturesItem where+ parseJSON+ = withObject "AboutFeaturesItem"+ (\ o ->+ AboutFeaturesItem <$>+ (o .:? "featureRate") <*> (o .:? "featureName"))++instance ToJSON AboutFeaturesItem where+ toJSON AboutFeaturesItem{..}+ = object+ (catMaybes+ [("featureRate" .=) <$> _afiFeatureRate,+ ("featureName" .=) <$> _afiFeatureName])++-- | 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++-- | An item with user information and settings.+--+-- /See:/ 'about' smart constructor.+data About = About+ { _aboExportFormats :: !(Maybe [AboutExportFormatsItem])+ , _aboRemainingChangeIds :: !(Maybe (Textual Int64))+ , _aboLanguageCode :: !(Maybe Text)+ , _aboEtag :: !(Maybe Text)+ , _aboImportFormats :: !(Maybe [AboutImportFormatsItem])+ , _aboKind :: !Text+ , _aboDomainSharingPolicy :: !(Maybe Text)+ , _aboQuotaBytesUsedInTrash :: !(Maybe (Textual Int64))+ , _aboQuotaType :: !(Maybe Text)+ , _aboMaxUploadSizes :: !(Maybe [AboutMaxUploadSizesItem])+ , _aboUser :: !(Maybe User)+ , _aboSelfLink :: !(Maybe Text)+ , _aboName :: !(Maybe Text)+ , _aboFeatures :: !(Maybe [AboutFeaturesItem])+ , _aboIsCurrentAppInstalled :: !(Maybe Bool)+ , _aboQuotaBytesTotal :: !(Maybe (Textual Int64))+ , _aboRootFolderId :: !(Maybe Text)+ , _aboQuotaBytesUsed :: !(Maybe (Textual Int64))+ , _aboAdditionalRoleInfo :: !(Maybe [AboutAdditionalRoleInfoItem])+ , _aboFolderColorPalette :: !(Maybe [Text])+ , _aboPermissionId :: !(Maybe Text)+ , _aboQuotaBytesUsedAggregate :: !(Maybe (Textual Int64))+ , _aboQuotaBytesByService :: !(Maybe [AboutQuotaBytesByServiceItem])+ , _aboLargestChangeId :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'About' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aboExportFormats'+--+-- * 'aboRemainingChangeIds'+--+-- * 'aboLanguageCode'+--+-- * 'aboEtag'+--+-- * 'aboImportFormats'+--+-- * 'aboKind'+--+-- * 'aboDomainSharingPolicy'+--+-- * 'aboQuotaBytesUsedInTrash'+--+-- * 'aboQuotaType'+--+-- * 'aboMaxUploadSizes'+--+-- * 'aboUser'+--+-- * 'aboSelfLink'+--+-- * 'aboName'+--+-- * 'aboFeatures'+--+-- * 'aboIsCurrentAppInstalled'+--+-- * 'aboQuotaBytesTotal'+--+-- * 'aboRootFolderId'+--+-- * 'aboQuotaBytesUsed'+--+-- * 'aboAdditionalRoleInfo'+--+-- * 'aboFolderColorPalette'+--+-- * 'aboPermissionId'+--+-- * 'aboQuotaBytesUsedAggregate'+--+-- * 'aboQuotaBytesByService'+--+-- * 'aboLargestChangeId'+about+ :: About+about =+ About+ { _aboExportFormats = Nothing+ , _aboRemainingChangeIds = Nothing+ , _aboLanguageCode = Nothing+ , _aboEtag = Nothing+ , _aboImportFormats = Nothing+ , _aboKind = "drive#about"+ , _aboDomainSharingPolicy = Nothing+ , _aboQuotaBytesUsedInTrash = Nothing+ , _aboQuotaType = Nothing+ , _aboMaxUploadSizes = Nothing+ , _aboUser = Nothing+ , _aboSelfLink = Nothing+ , _aboName = Nothing+ , _aboFeatures = Nothing+ , _aboIsCurrentAppInstalled = Nothing+ , _aboQuotaBytesTotal = Nothing+ , _aboRootFolderId = Nothing+ , _aboQuotaBytesUsed = Nothing+ , _aboAdditionalRoleInfo = Nothing+ , _aboFolderColorPalette = Nothing+ , _aboPermissionId = Nothing+ , _aboQuotaBytesUsedAggregate = Nothing+ , _aboQuotaBytesByService = Nothing+ , _aboLargestChangeId = Nothing+ }++-- | The allowable export formats.+aboExportFormats :: Lens' About [AboutExportFormatsItem]+aboExportFormats+ = lens _aboExportFormats+ (\ s a -> s{_aboExportFormats = a})+ . _Default+ . _Coerce++-- | The number of remaining change ids.+aboRemainingChangeIds :: Lens' About (Maybe Int64)+aboRemainingChangeIds+ = lens _aboRemainingChangeIds+ (\ s a -> s{_aboRemainingChangeIds = a})+ . mapping _Coerce++-- | The user\'s language or locale code, as defined by BCP 47, with some+-- extensions from Unicode\'s LDML format+-- (http:\/\/www.unicode.org\/reports\/tr35\/).+aboLanguageCode :: Lens' About (Maybe Text)+aboLanguageCode+ = lens _aboLanguageCode+ (\ s a -> s{_aboLanguageCode = a})++-- | The ETag of the item.+aboEtag :: Lens' About (Maybe Text)+aboEtag = lens _aboEtag (\ s a -> s{_aboEtag = a})++-- | The allowable import formats.+aboImportFormats :: Lens' About [AboutImportFormatsItem]+aboImportFormats+ = lens _aboImportFormats+ (\ s a -> s{_aboImportFormats = a})+ . _Default+ . _Coerce++-- | This is always drive#about.+aboKind :: Lens' About Text+aboKind = lens _aboKind (\ s a -> s{_aboKind = a})++-- | The domain sharing policy for the current user. Possible values are: -+-- allowed - allowedWithWarning - incomingOnly - disallowed+aboDomainSharingPolicy :: Lens' About (Maybe Text)+aboDomainSharingPolicy+ = lens _aboDomainSharingPolicy+ (\ s a -> s{_aboDomainSharingPolicy = a})++-- | The number of quota bytes used by trashed items.+aboQuotaBytesUsedInTrash :: Lens' About (Maybe Int64)+aboQuotaBytesUsedInTrash+ = lens _aboQuotaBytesUsedInTrash+ (\ s a -> s{_aboQuotaBytesUsedInTrash = a})+ . mapping _Coerce++-- | The type of the user\'s storage quota. Possible values are: - LIMITED -+-- UNLIMITED+aboQuotaType :: Lens' About (Maybe Text)+aboQuotaType+ = lens _aboQuotaType (\ s a -> s{_aboQuotaType = a})++-- | List of max upload sizes for each file type. The most specific type+-- takes precedence.+aboMaxUploadSizes :: Lens' About [AboutMaxUploadSizesItem]+aboMaxUploadSizes+ = lens _aboMaxUploadSizes+ (\ s a -> s{_aboMaxUploadSizes = a})+ . _Default+ . _Coerce++-- | The authenticated user.+aboUser :: Lens' About (Maybe User)+aboUser = lens _aboUser (\ s a -> s{_aboUser = a})++-- | A link back to this item.+aboSelfLink :: Lens' About (Maybe Text)+aboSelfLink+ = lens _aboSelfLink (\ s a -> s{_aboSelfLink = a})++-- | The name of the current user.+aboName :: Lens' About (Maybe Text)+aboName = lens _aboName (\ s a -> s{_aboName = a})++-- | List of additional features enabled on this account.+aboFeatures :: Lens' About [AboutFeaturesItem]+aboFeatures+ = lens _aboFeatures (\ s a -> s{_aboFeatures = a}) .+ _Default+ . _Coerce++-- | A boolean indicating whether the authenticated app is installed by the+-- authenticated user.+aboIsCurrentAppInstalled :: Lens' About (Maybe Bool)+aboIsCurrentAppInstalled+ = lens _aboIsCurrentAppInstalled+ (\ s a -> s{_aboIsCurrentAppInstalled = a})++-- | The total number of quota bytes.+aboQuotaBytesTotal :: Lens' About (Maybe Int64)+aboQuotaBytesTotal+ = lens _aboQuotaBytesTotal+ (\ s a -> s{_aboQuotaBytesTotal = a})+ . mapping _Coerce++-- | The id of the root folder.+aboRootFolderId :: Lens' About (Maybe Text)+aboRootFolderId+ = lens _aboRootFolderId+ (\ s a -> s{_aboRootFolderId = a})++-- | The number of quota bytes used by Google Drive.+aboQuotaBytesUsed :: Lens' About (Maybe Int64)+aboQuotaBytesUsed+ = lens _aboQuotaBytesUsed+ (\ s a -> s{_aboQuotaBytesUsed = a})+ . mapping _Coerce++-- | Information about supported additional roles per file type. The most+-- specific type takes precedence.+aboAdditionalRoleInfo :: Lens' About [AboutAdditionalRoleInfoItem]+aboAdditionalRoleInfo+ = lens _aboAdditionalRoleInfo+ (\ s a -> s{_aboAdditionalRoleInfo = a})+ . _Default+ . _Coerce++-- | The palette of allowable folder colors as RGB hex strings.+aboFolderColorPalette :: Lens' About [Text]+aboFolderColorPalette+ = lens _aboFolderColorPalette+ (\ s a -> s{_aboFolderColorPalette = a})+ . _Default+ . _Coerce++-- | The current user\'s ID as visible in the permissions collection.+aboPermissionId :: Lens' About (Maybe Text)+aboPermissionId+ = lens _aboPermissionId+ (\ s a -> s{_aboPermissionId = a})++-- | The number of quota bytes used by all Google apps (Drive, Picasa, etc.).+aboQuotaBytesUsedAggregate :: Lens' About (Maybe Int64)+aboQuotaBytesUsedAggregate+ = lens _aboQuotaBytesUsedAggregate+ (\ s a -> s{_aboQuotaBytesUsedAggregate = a})+ . mapping _Coerce++-- | The amount of storage quota used by different Google services.+aboQuotaBytesByService :: Lens' About [AboutQuotaBytesByServiceItem]+aboQuotaBytesByService+ = lens _aboQuotaBytesByService+ (\ s a -> s{_aboQuotaBytesByService = a})+ . _Default+ . _Coerce++-- | The largest change id.+aboLargestChangeId :: Lens' About (Maybe Int64)+aboLargestChangeId+ = lens _aboLargestChangeId+ (\ s a -> s{_aboLargestChangeId = a})+ . mapping _Coerce++instance FromJSON About where+ parseJSON+ = withObject "About"+ (\ o ->+ About <$>+ (o .:? "exportFormats" .!= mempty) <*>+ (o .:? "remainingChangeIds")+ <*> (o .:? "languageCode")+ <*> (o .:? "etag")+ <*> (o .:? "importFormats" .!= mempty)+ <*> (o .:? "kind" .!= "drive#about")+ <*> (o .:? "domainSharingPolicy")+ <*> (o .:? "quotaBytesUsedInTrash")+ <*> (o .:? "quotaType")+ <*> (o .:? "maxUploadSizes" .!= mempty)+ <*> (o .:? "user")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "features" .!= mempty)+ <*> (o .:? "isCurrentAppInstalled")+ <*> (o .:? "quotaBytesTotal")+ <*> (o .:? "rootFolderId")+ <*> (o .:? "quotaBytesUsed")+ <*> (o .:? "additionalRoleInfo" .!= mempty)+ <*> (o .:? "folderColorPalette" .!= mempty)+ <*> (o .:? "permissionId")+ <*> (o .:? "quotaBytesUsedAggregate")+ <*> (o .:? "quotaBytesByService" .!= mempty)+ <*> (o .:? "largestChangeId"))++instance ToJSON About where+ toJSON About{..}+ = object+ (catMaybes+ [("exportFormats" .=) <$> _aboExportFormats,+ ("remainingChangeIds" .=) <$> _aboRemainingChangeIds,+ ("languageCode" .=) <$> _aboLanguageCode,+ ("etag" .=) <$> _aboEtag,+ ("importFormats" .=) <$> _aboImportFormats,+ Just ("kind" .= _aboKind),+ ("domainSharingPolicy" .=) <$>+ _aboDomainSharingPolicy,+ ("quotaBytesUsedInTrash" .=) <$>+ _aboQuotaBytesUsedInTrash,+ ("quotaType" .=) <$> _aboQuotaType,+ ("maxUploadSizes" .=) <$> _aboMaxUploadSizes,+ ("user" .=) <$> _aboUser,+ ("selfLink" .=) <$> _aboSelfLink,+ ("name" .=) <$> _aboName,+ ("features" .=) <$> _aboFeatures,+ ("isCurrentAppInstalled" .=) <$>+ _aboIsCurrentAppInstalled,+ ("quotaBytesTotal" .=) <$> _aboQuotaBytesTotal,+ ("rootFolderId" .=) <$> _aboRootFolderId,+ ("quotaBytesUsed" .=) <$> _aboQuotaBytesUsed,+ ("additionalRoleInfo" .=) <$> _aboAdditionalRoleInfo,+ ("folderColorPalette" .=) <$> _aboFolderColorPalette,+ ("permissionId" .=) <$> _aboPermissionId,+ ("quotaBytesUsedAggregate" .=) <$>+ _aboQuotaBytesUsedAggregate,+ ("quotaBytesByService" .=) <$>+ _aboQuotaBytesByService,+ ("largestChangeId" .=) <$> _aboLargestChangeId])++-- | Geographic location information stored in the image.+--+-- /See:/ 'fileImageMediaMetadataLocation' smart constructor.+data FileImageMediaMetadataLocation = FileImageMediaMetadataLocation+ { _fimmlLatitude :: !(Maybe (Textual Double))+ , _fimmlAltitude :: !(Maybe (Textual Double))+ , _fimmlLongitude :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileImageMediaMetadataLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmlLatitude'+--+-- * 'fimmlAltitude'+--+-- * 'fimmlLongitude'+fileImageMediaMetadataLocation+ :: FileImageMediaMetadataLocation+fileImageMediaMetadataLocation =+ FileImageMediaMetadataLocation+ { _fimmlLatitude = Nothing+ , _fimmlAltitude = Nothing+ , _fimmlLongitude = Nothing+ }++-- | The latitude stored in the image.+fimmlLatitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLatitude+ = lens _fimmlLatitude+ (\ s a -> s{_fimmlLatitude = a})+ . mapping _Coerce++-- | The altitude stored in the image.+fimmlAltitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlAltitude+ = lens _fimmlAltitude+ (\ s a -> s{_fimmlAltitude = a})+ . mapping _Coerce++-- | The longitude stored in the image.+fimmlLongitude :: Lens' FileImageMediaMetadataLocation (Maybe Double)+fimmlLongitude+ = lens _fimmlLongitude+ (\ s a -> s{_fimmlLongitude = a})+ . mapping _Coerce++instance FromJSON FileImageMediaMetadataLocation+ where+ parseJSON+ = withObject "FileImageMediaMetadataLocation"+ (\ o ->+ FileImageMediaMetadataLocation <$>+ (o .:? "latitude") <*> (o .:? "altitude") <*>+ (o .:? "longitude"))++instance ToJSON FileImageMediaMetadataLocation where+ toJSON FileImageMediaMetadataLocation{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _fimmlLatitude,+ ("altitude" .=) <$> _fimmlAltitude,+ ("longitude" .=) <$> _fimmlLongitude])++--+-- /See:/ 'aboutImportFormatsItem' smart constructor.+data AboutImportFormatsItem = AboutImportFormatsItem+ { _aifiTargets :: !(Maybe [Text])+ , _aifiSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutImportFormatsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aifiTargets'+--+-- * 'aifiSource'+aboutImportFormatsItem+ :: AboutImportFormatsItem+aboutImportFormatsItem =+ AboutImportFormatsItem+ { _aifiTargets = Nothing+ , _aifiSource = Nothing+ }++-- | The possible content types to convert to.+aifiTargets :: Lens' AboutImportFormatsItem [Text]+aifiTargets+ = lens _aifiTargets (\ s a -> s{_aifiTargets = a}) .+ _Default+ . _Coerce++-- | The imported file\'s content type to convert from.+aifiSource :: Lens' AboutImportFormatsItem (Maybe Text)+aifiSource+ = lens _aifiSource (\ s a -> s{_aifiSource = a})++instance FromJSON AboutImportFormatsItem where+ parseJSON+ = withObject "AboutImportFormatsItem"+ (\ o ->+ AboutImportFormatsItem <$>+ (o .:? "targets" .!= mempty) <*> (o .:? "source"))++instance ToJSON AboutImportFormatsItem where+ toJSON AboutImportFormatsItem{..}+ = object+ (catMaybes+ [("targets" .=) <$> _aifiTargets,+ ("source" .=) <$> _aifiSource])++-- | Metadata about image media. This will only be present for image types,+-- and its contents will depend on what can be parsed from the image+-- content.+--+-- /See:/ 'fileImageMediaMetadata' smart constructor.+data FileImageMediaMetadata = FileImageMediaMetadata+ { _fimmRotation :: !(Maybe (Textual Int32))+ , _fimmHeight :: !(Maybe (Textual Int32))+ , _fimmSubjectDistance :: !(Maybe (Textual Int32))+ , _fimmMaxApertureValue :: !(Maybe (Textual Double))+ , _fimmIsoSpeed :: !(Maybe (Textual Int32))+ , _fimmLocation :: !(Maybe FileImageMediaMetadataLocation)+ , _fimmAperture :: !(Maybe (Textual Double))+ , _fimmFocalLength :: !(Maybe (Textual Double))+ , _fimmCameraMake :: !(Maybe Text)+ , _fimmWidth :: !(Maybe (Textual Int32))+ , _fimmExposureTime :: !(Maybe (Textual Double))+ , _fimmCameraModel :: !(Maybe Text)+ , _fimmWhiteBalance :: !(Maybe Text)+ , _fimmDate :: !(Maybe Text)+ , _fimmLens :: !(Maybe Text)+ , _fimmFlashUsed :: !(Maybe Bool)+ , _fimmExposureBias :: !(Maybe (Textual Double))+ , _fimmMeteringMode :: !(Maybe Text)+ , _fimmExposureMode :: !(Maybe Text)+ , _fimmSensor :: !(Maybe Text)+ , _fimmColorSpace :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileImageMediaMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fimmRotation'+--+-- * 'fimmHeight'+--+-- * 'fimmSubjectDistance'+--+-- * 'fimmMaxApertureValue'+--+-- * 'fimmIsoSpeed'+--+-- * 'fimmLocation'+--+-- * 'fimmAperture'+--+-- * 'fimmFocalLength'+--+-- * 'fimmCameraMake'+--+-- * 'fimmWidth'+--+-- * 'fimmExposureTime'+--+-- * 'fimmCameraModel'+--+-- * 'fimmWhiteBalance'+--+-- * 'fimmDate'+--+-- * 'fimmLens'+--+-- * 'fimmFlashUsed'+--+-- * 'fimmExposureBias'+--+-- * 'fimmMeteringMode'+--+-- * 'fimmExposureMode'+--+-- * 'fimmSensor'+--+-- * 'fimmColorSpace'+fileImageMediaMetadata+ :: FileImageMediaMetadata+fileImageMediaMetadata =+ FileImageMediaMetadata+ { _fimmRotation = Nothing+ , _fimmHeight = Nothing+ , _fimmSubjectDistance = Nothing+ , _fimmMaxApertureValue = Nothing+ , _fimmIsoSpeed = Nothing+ , _fimmLocation = Nothing+ , _fimmAperture = Nothing+ , _fimmFocalLength = Nothing+ , _fimmCameraMake = Nothing+ , _fimmWidth = Nothing+ , _fimmExposureTime = Nothing+ , _fimmCameraModel = Nothing+ , _fimmWhiteBalance = Nothing+ , _fimmDate = Nothing+ , _fimmLens = Nothing+ , _fimmFlashUsed = Nothing+ , _fimmExposureBias = Nothing+ , _fimmMeteringMode = Nothing+ , _fimmExposureMode = Nothing+ , _fimmSensor = Nothing+ , _fimmColorSpace = Nothing+ }++-- | The rotation in clockwise degrees from the image\'s original+-- orientation.+fimmRotation :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmRotation+ = lens _fimmRotation (\ s a -> s{_fimmRotation = a})+ . mapping _Coerce++-- | The height of the image in pixels.+fimmHeight :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmHeight+ = lens _fimmHeight (\ s a -> s{_fimmHeight = a}) .+ mapping _Coerce++-- | The distance to the subject of the photo, in meters.+fimmSubjectDistance :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmSubjectDistance+ = lens _fimmSubjectDistance+ (\ s a -> s{_fimmSubjectDistance = a})+ . mapping _Coerce++-- | The smallest f-number of the lens at the focal length used to create the+-- photo (APEX value).+fimmMaxApertureValue :: Lens' FileImageMediaMetadata (Maybe Double)+fimmMaxApertureValue+ = lens _fimmMaxApertureValue+ (\ s a -> s{_fimmMaxApertureValue = a})+ . mapping _Coerce++-- | The ISO speed used to create the photo.+fimmIsoSpeed :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmIsoSpeed+ = lens _fimmIsoSpeed (\ s a -> s{_fimmIsoSpeed = a})+ . mapping _Coerce++-- | Geographic location information stored in the image.+fimmLocation :: Lens' FileImageMediaMetadata (Maybe FileImageMediaMetadataLocation)+fimmLocation+ = lens _fimmLocation (\ s a -> s{_fimmLocation = a})++-- | The aperture used to create the photo (f-number).+fimmAperture :: Lens' FileImageMediaMetadata (Maybe Double)+fimmAperture+ = lens _fimmAperture (\ s a -> s{_fimmAperture = a})+ . mapping _Coerce++-- | The focal length used to create the photo, in millimeters.+fimmFocalLength :: Lens' FileImageMediaMetadata (Maybe Double)+fimmFocalLength+ = lens _fimmFocalLength+ (\ s a -> s{_fimmFocalLength = a})+ . mapping _Coerce++-- | The make of the camera used to create the photo.+fimmCameraMake :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraMake+ = lens _fimmCameraMake+ (\ s a -> s{_fimmCameraMake = a})++-- | The width of the image in pixels.+fimmWidth :: Lens' FileImageMediaMetadata (Maybe Int32)+fimmWidth+ = lens _fimmWidth (\ s a -> s{_fimmWidth = a}) .+ mapping _Coerce++-- | The length of the exposure, in seconds.+fimmExposureTime :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureTime+ = lens _fimmExposureTime+ (\ s a -> s{_fimmExposureTime = a})+ . mapping _Coerce++-- | The model of the camera used to create the photo.+fimmCameraModel :: Lens' FileImageMediaMetadata (Maybe Text)+fimmCameraModel+ = lens _fimmCameraModel+ (\ s a -> s{_fimmCameraModel = a})++-- | The white balance mode used to create the photo.+fimmWhiteBalance :: Lens' FileImageMediaMetadata (Maybe Text)+fimmWhiteBalance+ = lens _fimmWhiteBalance+ (\ s a -> s{_fimmWhiteBalance = a})++-- | The date and time the photo was taken (EXIF format timestamp).+fimmDate :: Lens' FileImageMediaMetadata (Maybe Text)+fimmDate = lens _fimmDate (\ s a -> s{_fimmDate = a})++-- | The lens used to create the photo.+fimmLens :: Lens' FileImageMediaMetadata (Maybe Text)+fimmLens = lens _fimmLens (\ s a -> s{_fimmLens = a})++-- | Whether a flash was used to create the photo.+fimmFlashUsed :: Lens' FileImageMediaMetadata (Maybe Bool)+fimmFlashUsed+ = lens _fimmFlashUsed+ (\ s a -> s{_fimmFlashUsed = a})++-- | The exposure bias of the photo (APEX value).+fimmExposureBias :: Lens' FileImageMediaMetadata (Maybe Double)+fimmExposureBias+ = lens _fimmExposureBias+ (\ s a -> s{_fimmExposureBias = a})+ . mapping _Coerce++-- | The metering mode used to create the photo.+fimmMeteringMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmMeteringMode+ = lens _fimmMeteringMode+ (\ s a -> s{_fimmMeteringMode = a})++-- | The exposure mode used to create the photo.+fimmExposureMode :: Lens' FileImageMediaMetadata (Maybe Text)+fimmExposureMode+ = lens _fimmExposureMode+ (\ s a -> s{_fimmExposureMode = a})++-- | The type of sensor used to create the photo.+fimmSensor :: Lens' FileImageMediaMetadata (Maybe Text)+fimmSensor+ = lens _fimmSensor (\ s a -> s{_fimmSensor = a})++-- | The color space of the photo.+fimmColorSpace :: Lens' FileImageMediaMetadata (Maybe Text)+fimmColorSpace+ = lens _fimmColorSpace+ (\ s a -> s{_fimmColorSpace = a})++instance FromJSON FileImageMediaMetadata where+ parseJSON+ = withObject "FileImageMediaMetadata"+ (\ o ->+ FileImageMediaMetadata <$>+ (o .:? "rotation") <*> (o .:? "height") <*>+ (o .:? "subjectDistance")+ <*> (o .:? "maxApertureValue")+ <*> (o .:? "isoSpeed")+ <*> (o .:? "location")+ <*> (o .:? "aperture")+ <*> (o .:? "focalLength")+ <*> (o .:? "cameraMake")+ <*> (o .:? "width")+ <*> (o .:? "exposureTime")+ <*> (o .:? "cameraModel")+ <*> (o .:? "whiteBalance")+ <*> (o .:? "date")+ <*> (o .:? "lens")+ <*> (o .:? "flashUsed")+ <*> (o .:? "exposureBias")+ <*> (o .:? "meteringMode")+ <*> (o .:? "exposureMode")+ <*> (o .:? "sensor")+ <*> (o .:? "colorSpace"))++instance ToJSON FileImageMediaMetadata where+ toJSON FileImageMediaMetadata{..}+ = object+ (catMaybes+ [("rotation" .=) <$> _fimmRotation,+ ("height" .=) <$> _fimmHeight,+ ("subjectDistance" .=) <$> _fimmSubjectDistance,+ ("maxApertureValue" .=) <$> _fimmMaxApertureValue,+ ("isoSpeed" .=) <$> _fimmIsoSpeed,+ ("location" .=) <$> _fimmLocation,+ ("aperture" .=) <$> _fimmAperture,+ ("focalLength" .=) <$> _fimmFocalLength,+ ("cameraMake" .=) <$> _fimmCameraMake,+ ("width" .=) <$> _fimmWidth,+ ("exposureTime" .=) <$> _fimmExposureTime,+ ("cameraModel" .=) <$> _fimmCameraModel,+ ("whiteBalance" .=) <$> _fimmWhiteBalance,+ ("date" .=) <$> _fimmDate, ("lens" .=) <$> _fimmLens,+ ("flashUsed" .=) <$> _fimmFlashUsed,+ ("exposureBias" .=) <$> _fimmExposureBias,+ ("meteringMode" .=) <$> _fimmMeteringMode,+ ("exposureMode" .=) <$> _fimmExposureMode,+ ("sensor" .=) <$> _fimmSensor,+ ("colorSpace" .=) <$> _fimmColorSpace])++-- | A group of labels for the file.+--+-- /See:/ 'fileLabels' smart constructor.+data FileLabels = FileLabels+ { _flViewed :: !(Maybe Bool)+ , _flTrashed :: !(Maybe Bool)+ , _flStarred :: !(Maybe Bool)+ , _flHidden :: !(Maybe Bool)+ , _flRestricted :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flViewed'+--+-- * 'flTrashed'+--+-- * 'flStarred'+--+-- * 'flHidden'+--+-- * 'flRestricted'+fileLabels+ :: FileLabels+fileLabels =+ FileLabels+ { _flViewed = Nothing+ , _flTrashed = Nothing+ , _flStarred = Nothing+ , _flHidden = Nothing+ , _flRestricted = Nothing+ }++-- | Whether this file has been viewed by this user.+flViewed :: Lens' FileLabels (Maybe Bool)+flViewed = lens _flViewed (\ s a -> s{_flViewed = a})++-- | Whether this file has been trashed. This label applies to all users+-- accessing the file; however, only owners are allowed to see and untrash+-- files.+flTrashed :: Lens' FileLabels (Maybe Bool)+flTrashed+ = lens _flTrashed (\ s a -> s{_flTrashed = a})++-- | Whether this file is starred by the user.+flStarred :: Lens' FileLabels (Maybe Bool)+flStarred+ = lens _flStarred (\ s a -> s{_flStarred = a})++-- | Deprecated.+flHidden :: Lens' FileLabels (Maybe Bool)+flHidden = lens _flHidden (\ s a -> s{_flHidden = a})++-- | Whether viewers and commenters are prevented from downloading, printing,+-- and copying this file.+flRestricted :: Lens' FileLabels (Maybe Bool)+flRestricted+ = lens _flRestricted (\ s a -> s{_flRestricted = a})++instance FromJSON FileLabels where+ parseJSON+ = withObject "FileLabels"+ (\ o ->+ FileLabels <$>+ (o .:? "viewed") <*> (o .:? "trashed") <*>+ (o .:? "starred")+ <*> (o .:? "hidden")+ <*> (o .:? "restricted"))++instance ToJSON FileLabels where+ toJSON FileLabels{..}+ = object+ (catMaybes+ [("viewed" .=) <$> _flViewed,+ ("trashed" .=) <$> _flTrashed,+ ("starred" .=) <$> _flStarred,+ ("hidden" .=) <$> _flHidden,+ ("restricted" .=) <$> _flRestricted])++-- | A JSON representation of a comment on a file in Google Drive.+--+-- /See:/ 'comment' smart constructor.+data Comment = Comment+ { _ccStatus :: !(Maybe Text)+ , _ccHTMLContent :: !(Maybe Text)+ , _ccContext :: !(Maybe CommentContext)+ , _ccKind :: !Text+ , _ccFileTitle :: !(Maybe Text)+ , _ccAnchor :: !(Maybe Text)+ , _ccContent :: !(Maybe Text)+ , _ccReplies :: !(Maybe [CommentReply])+ , _ccCreatedDate :: !(Maybe DateTime')+ , _ccSelfLink :: !(Maybe Text)+ , _ccAuthor :: !(Maybe User)+ , _ccModifiedDate :: !(Maybe DateTime')+ , _ccDeleted :: !(Maybe Bool)+ , _ccFileId :: !(Maybe Text)+ , _ccCommentId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Comment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccStatus'+--+-- * 'ccHTMLContent'+--+-- * 'ccContext'+--+-- * 'ccKind'+--+-- * 'ccFileTitle'+--+-- * 'ccAnchor'+--+-- * 'ccContent'+--+-- * 'ccReplies'+--+-- * 'ccCreatedDate'+--+-- * 'ccSelfLink'+--+-- * 'ccAuthor'+--+-- * 'ccModifiedDate'+--+-- * 'ccDeleted'+--+-- * 'ccFileId'+--+-- * 'ccCommentId'+comment+ :: Comment+comment =+ Comment+ { _ccStatus = Nothing+ , _ccHTMLContent = Nothing+ , _ccContext = Nothing+ , _ccKind = "drive#comment"+ , _ccFileTitle = Nothing+ , _ccAnchor = Nothing+ , _ccContent = Nothing+ , _ccReplies = Nothing+ , _ccCreatedDate = Nothing+ , _ccSelfLink = Nothing+ , _ccAuthor = Nothing+ , _ccModifiedDate = Nothing+ , _ccDeleted = Nothing+ , _ccFileId = Nothing+ , _ccCommentId = Nothing+ }++-- | The status of this comment. Status can be changed by posting a reply to+-- a comment with the desired status. - \"open\" - The comment is still+-- open. - \"resolved\" - The comment has been resolved by one of its+-- replies.+ccStatus :: Lens' Comment (Maybe Text)+ccStatus = lens _ccStatus (\ s a -> s{_ccStatus = a})++-- | HTML formatted content for this comment.+ccHTMLContent :: Lens' Comment (Maybe Text)+ccHTMLContent+ = lens _ccHTMLContent+ (\ s a -> s{_ccHTMLContent = a})++-- | The context of the file which is being commented on.+ccContext :: Lens' Comment (Maybe CommentContext)+ccContext+ = lens _ccContext (\ s a -> s{_ccContext = a})++-- | This is always drive#comment.+ccKind :: Lens' Comment Text+ccKind = lens _ccKind (\ s a -> s{_ccKind = a})++-- | The title of the file which this comment is addressing.+ccFileTitle :: Lens' Comment (Maybe Text)+ccFileTitle+ = lens _ccFileTitle (\ s a -> s{_ccFileTitle = a})++-- | A region of the document represented as a JSON string. See anchor+-- documentation for details on how to define and interpret anchor+-- properties.+ccAnchor :: Lens' Comment (Maybe Text)+ccAnchor = lens _ccAnchor (\ s a -> s{_ccAnchor = a})++-- | The plain text content used to create this comment. This is not HTML+-- safe and should only be used as a starting point to make edits to a+-- comment\'s content.+ccContent :: Lens' Comment (Maybe Text)+ccContent+ = lens _ccContent (\ s a -> s{_ccContent = a})++-- | Replies to this post.+ccReplies :: Lens' Comment [CommentReply]+ccReplies+ = lens _ccReplies (\ s a -> s{_ccReplies = a}) .+ _Default+ . _Coerce++-- | The date when this comment was first created.+ccCreatedDate :: Lens' Comment (Maybe UTCTime)+ccCreatedDate+ = lens _ccCreatedDate+ (\ s a -> s{_ccCreatedDate = a})+ . mapping _DateTime++-- | A link back to this comment.+ccSelfLink :: Lens' Comment (Maybe Text)+ccSelfLink+ = lens _ccSelfLink (\ s a -> s{_ccSelfLink = a})++-- | The user who wrote this comment.+ccAuthor :: Lens' Comment (Maybe User)+ccAuthor = lens _ccAuthor (\ s a -> s{_ccAuthor = a})++-- | The date when this comment or any of its replies were last modified.+ccModifiedDate :: Lens' Comment (Maybe UTCTime)+ccModifiedDate+ = lens _ccModifiedDate+ (\ s a -> s{_ccModifiedDate = a})+ . mapping _DateTime++-- | Whether this comment has been deleted. If a comment has been deleted the+-- content will be cleared and this will only represent a comment that once+-- existed.+ccDeleted :: Lens' Comment (Maybe Bool)+ccDeleted+ = lens _ccDeleted (\ s a -> s{_ccDeleted = a})++-- | The file which this comment is addressing.+ccFileId :: Lens' Comment (Maybe Text)+ccFileId = lens _ccFileId (\ s a -> s{_ccFileId = a})++-- | The ID of the comment.+ccCommentId :: Lens' Comment (Maybe Text)+ccCommentId+ = lens _ccCommentId (\ s a -> s{_ccCommentId = a})++instance FromJSON Comment where+ parseJSON+ = withObject "Comment"+ (\ o ->+ Comment <$>+ (o .:? "status") <*> (o .:? "htmlContent") <*>+ (o .:? "context")+ <*> (o .:? "kind" .!= "drive#comment")+ <*> (o .:? "fileTitle")+ <*> (o .:? "anchor")+ <*> (o .:? "content")+ <*> (o .:? "replies" .!= mempty)+ <*> (o .:? "createdDate")+ <*> (o .:? "selfLink")+ <*> (o .:? "author")+ <*> (o .:? "modifiedDate")+ <*> (o .:? "deleted")+ <*> (o .:? "fileId")+ <*> (o .:? "commentId"))++instance ToJSON Comment where+ toJSON Comment{..}+ = object+ (catMaybes+ [("status" .=) <$> _ccStatus,+ ("htmlContent" .=) <$> _ccHTMLContent,+ ("context" .=) <$> _ccContext,+ Just ("kind" .= _ccKind),+ ("fileTitle" .=) <$> _ccFileTitle,+ ("anchor" .=) <$> _ccAnchor,+ ("content" .=) <$> _ccContent,+ ("replies" .=) <$> _ccReplies,+ ("createdDate" .=) <$> _ccCreatedDate,+ ("selfLink" .=) <$> _ccSelfLink,+ ("author" .=) <$> _ccAuthor,+ ("modifiedDate" .=) <$> _ccModifiedDate,+ ("deleted" .=) <$> _ccDeleted,+ ("fileId" .=) <$> _ccFileId,+ ("commentId" .=) <$> _ccCommentId])++-- | A revision of a file.+--+-- /See:/ 'revision' smart constructor.+data Revision = Revision+ { _rEtag :: !(Maybe Text)+ , _rOriginalFilename :: !(Maybe Text)+ , _rKind :: !Text+ , _rPublishedLink :: !(Maybe Text)+ , _rPinned :: !(Maybe Bool)+ , _rPublished :: !(Maybe Bool)+ , _rLastModifyingUser :: !(Maybe User)+ , _rFileSize :: !(Maybe (Textual Int64))+ , _rPublishAuto :: !(Maybe Bool)+ , _rMD5Checksum :: !(Maybe Text)+ , _rMimeType :: !(Maybe Text)+ , _rSelfLink :: !(Maybe Text)+ , _rLastModifyingUserName :: !(Maybe Text)+ , _rDownloadURL :: !(Maybe Text)+ , _rExportLinks :: !(Maybe RevisionExportLinks)+ , _rPublishedOutsideDomain :: !(Maybe Bool)+ , _rId :: !(Maybe Text)+ , _rModifiedDate :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Revision' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rEtag'+--+-- * 'rOriginalFilename'+--+-- * 'rKind'+--+-- * 'rPublishedLink'+--+-- * 'rPinned'+--+-- * 'rPublished'+--+-- * 'rLastModifyingUser'+--+-- * 'rFileSize'+--+-- * 'rPublishAuto'+--+-- * 'rMD5Checksum'+--+-- * 'rMimeType'+--+-- * 'rSelfLink'+--+-- * 'rLastModifyingUserName'+--+-- * 'rDownloadURL'+--+-- * 'rExportLinks'+--+-- * 'rPublishedOutsideDomain'+--+-- * 'rId'+--+-- * 'rModifiedDate'+revision+ :: Revision+revision =+ Revision+ { _rEtag = Nothing+ , _rOriginalFilename = Nothing+ , _rKind = "drive#revision"+ , _rPublishedLink = Nothing+ , _rPinned = Nothing+ , _rPublished = Nothing+ , _rLastModifyingUser = Nothing+ , _rFileSize = Nothing+ , _rPublishAuto = Nothing+ , _rMD5Checksum = Nothing+ , _rMimeType = Nothing+ , _rSelfLink = Nothing+ , _rLastModifyingUserName = Nothing+ , _rDownloadURL = Nothing+ , _rExportLinks = Nothing+ , _rPublishedOutsideDomain = Nothing+ , _rId = Nothing+ , _rModifiedDate = Nothing+ }++-- | The ETag of the revision.+rEtag :: Lens' Revision (Maybe Text)+rEtag = lens _rEtag (\ s a -> s{_rEtag = a})++-- | The original filename when this revision was created. This will only be+-- populated on files with content stored in Drive.+rOriginalFilename :: Lens' Revision (Maybe Text)+rOriginalFilename+ = lens _rOriginalFilename+ (\ s a -> s{_rOriginalFilename = a})++-- | This is always drive#revision.+rKind :: Lens' Revision Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | A link to the published revision.+rPublishedLink :: Lens' Revision (Maybe Text)+rPublishedLink+ = lens _rPublishedLink+ (\ s a -> s{_rPublishedLink = a})++-- | Whether this revision is pinned to prevent automatic purging. This will+-- only be populated and can only be modified on files with content stored+-- in Drive which are not Google Docs. Revisions can also be pinned when+-- they are created through the drive.files.insert\/update\/copy by using+-- the pinned query parameter.+rPinned :: Lens' Revision (Maybe Bool)+rPinned = lens _rPinned (\ s a -> s{_rPinned = a})++-- | Whether this revision is published. This is only populated and can only+-- be modified for Google Docs.+rPublished :: Lens' Revision (Maybe Bool)+rPublished+ = lens _rPublished (\ s a -> s{_rPublished = a})++-- | The last user to modify this revision.+rLastModifyingUser :: Lens' Revision (Maybe User)+rLastModifyingUser+ = lens _rLastModifyingUser+ (\ s a -> s{_rLastModifyingUser = a})++-- | The size of the revision in bytes. This will only be populated on files+-- with content stored in Drive.+rFileSize :: Lens' Revision (Maybe Int64)+rFileSize+ = lens _rFileSize (\ s a -> s{_rFileSize = a}) .+ mapping _Coerce++-- | Whether subsequent revisions will be automatically republished. This is+-- only populated and can only be modified for Google Docs.+rPublishAuto :: Lens' Revision (Maybe Bool)+rPublishAuto+ = lens _rPublishAuto (\ s a -> s{_rPublishAuto = a})++-- | An MD5 checksum for the content of this revision. This will only be+-- populated on files with content stored in Drive.+rMD5Checksum :: Lens' Revision (Maybe Text)+rMD5Checksum+ = lens _rMD5Checksum (\ s a -> s{_rMD5Checksum = a})++-- | The MIME type of the revision.+rMimeType :: Lens' Revision (Maybe Text)+rMimeType+ = lens _rMimeType (\ s a -> s{_rMimeType = a})++-- | A link back to this revision.+rSelfLink :: Lens' Revision (Maybe Text)+rSelfLink+ = lens _rSelfLink (\ s a -> s{_rSelfLink = a})++-- | Name of the last user to modify this revision.+rLastModifyingUserName :: Lens' Revision (Maybe Text)+rLastModifyingUserName+ = lens _rLastModifyingUserName+ (\ s a -> s{_rLastModifyingUserName = a})++-- | Short term download URL for the file. This will only be populated on+-- files with content stored in Drive.+rDownloadURL :: Lens' Revision (Maybe Text)+rDownloadURL+ = lens _rDownloadURL (\ s a -> s{_rDownloadURL = a})++-- | Links for exporting Google Docs to specific formats.+rExportLinks :: Lens' Revision (Maybe RevisionExportLinks)+rExportLinks+ = lens _rExportLinks (\ s a -> s{_rExportLinks = a})++-- | Whether this revision is published outside the domain. This is only+-- populated and can only be modified for Google Docs.+rPublishedOutsideDomain :: Lens' Revision (Maybe Bool)+rPublishedOutsideDomain+ = lens _rPublishedOutsideDomain+ (\ s a -> s{_rPublishedOutsideDomain = a})++-- | The ID of the revision.+rId :: Lens' Revision (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a})++-- | Last time this revision was modified (formatted RFC 3339 timestamp).+rModifiedDate :: Lens' Revision (Maybe UTCTime)+rModifiedDate+ = lens _rModifiedDate+ (\ s a -> s{_rModifiedDate = a})+ . mapping _DateTime++instance FromJSON Revision where+ parseJSON+ = withObject "Revision"+ (\ o ->+ Revision <$>+ (o .:? "etag") <*> (o .:? "originalFilename") <*>+ (o .:? "kind" .!= "drive#revision")+ <*> (o .:? "publishedLink")+ <*> (o .:? "pinned")+ <*> (o .:? "published")+ <*> (o .:? "lastModifyingUser")+ <*> (o .:? "fileSize")+ <*> (o .:? "publishAuto")+ <*> (o .:? "md5Checksum")+ <*> (o .:? "mimeType")+ <*> (o .:? "selfLink")+ <*> (o .:? "lastModifyingUserName")+ <*> (o .:? "downloadUrl")+ <*> (o .:? "exportLinks")+ <*> (o .:? "publishedOutsideDomain")+ <*> (o .:? "id")+ <*> (o .:? "modifiedDate"))++instance ToJSON Revision where+ toJSON Revision{..}+ = object+ (catMaybes+ [("etag" .=) <$> _rEtag,+ ("originalFilename" .=) <$> _rOriginalFilename,+ Just ("kind" .= _rKind),+ ("publishedLink" .=) <$> _rPublishedLink,+ ("pinned" .=) <$> _rPinned,+ ("published" .=) <$> _rPublished,+ ("lastModifyingUser" .=) <$> _rLastModifyingUser,+ ("fileSize" .=) <$> _rFileSize,+ ("publishAuto" .=) <$> _rPublishAuto,+ ("md5Checksum" .=) <$> _rMD5Checksum,+ ("mimeType" .=) <$> _rMimeType,+ ("selfLink" .=) <$> _rSelfLink,+ ("lastModifyingUserName" .=) <$>+ _rLastModifyingUserName,+ ("downloadUrl" .=) <$> _rDownloadURL,+ ("exportLinks" .=) <$> _rExportLinks,+ ("publishedOutsideDomain" .=) <$>+ _rPublishedOutsideDomain,+ ("id" .=) <$> _rId,+ ("modifiedDate" .=) <$> _rModifiedDate])++--+-- /See:/ 'aboutAdditionalRoleInfoItem' smart constructor.+data AboutAdditionalRoleInfoItem = AboutAdditionalRoleInfoItem+ { _aariiRoleSets :: !(Maybe [AboutAdditionalRoleInfoItemRoleSetsItem])+ , _aariiType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutAdditionalRoleInfoItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aariiRoleSets'+--+-- * 'aariiType'+aboutAdditionalRoleInfoItem+ :: AboutAdditionalRoleInfoItem+aboutAdditionalRoleInfoItem =+ AboutAdditionalRoleInfoItem+ { _aariiRoleSets = Nothing+ , _aariiType = Nothing+ }++-- | The supported additional roles per primary role.+aariiRoleSets :: Lens' AboutAdditionalRoleInfoItem [AboutAdditionalRoleInfoItemRoleSetsItem]+aariiRoleSets+ = lens _aariiRoleSets+ (\ s a -> s{_aariiRoleSets = a})+ . _Default+ . _Coerce++-- | The content type that this additional role info applies to.+aariiType :: Lens' AboutAdditionalRoleInfoItem (Maybe Text)+aariiType+ = lens _aariiType (\ s a -> s{_aariiType = a})++instance FromJSON AboutAdditionalRoleInfoItem where+ parseJSON+ = withObject "AboutAdditionalRoleInfoItem"+ (\ o ->+ AboutAdditionalRoleInfoItem <$>+ (o .:? "roleSets" .!= mempty) <*> (o .:? "type"))++instance ToJSON AboutAdditionalRoleInfoItem where+ toJSON AboutAdditionalRoleInfoItem{..}+ = object+ (catMaybes+ [("roleSets" .=) <$> _aariiRoleSets,+ ("type" .=) <$> _aariiType])++-- | A permission for a file.+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission+ { _perPhotoLink :: !(Maybe Text)+ , _perEtag :: !(Maybe Text)+ , _perWithLink :: !(Maybe Bool)+ , _perKind :: !Text+ , _perDomain :: !(Maybe Text)+ , _perValue :: !(Maybe Text)+ , _perAdditionalRoles :: !(Maybe [Text])+ , _perRole :: !(Maybe Text)+ , _perSelfLink :: !(Maybe Text)+ , _perName :: !(Maybe Text)+ , _perAuthKey :: !(Maybe Text)+ , _perEmailAddress :: !(Maybe Text)+ , _perId :: !(Maybe Text)+ , _perType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'perPhotoLink'+--+-- * 'perEtag'+--+-- * 'perWithLink'+--+-- * 'perKind'+--+-- * 'perDomain'+--+-- * 'perValue'+--+-- * 'perAdditionalRoles'+--+-- * 'perRole'+--+-- * 'perSelfLink'+--+-- * 'perName'+--+-- * 'perAuthKey'+--+-- * 'perEmailAddress'+--+-- * 'perId'+--+-- * 'perType'+permission+ :: Permission+permission =+ Permission+ { _perPhotoLink = Nothing+ , _perEtag = Nothing+ , _perWithLink = Nothing+ , _perKind = "drive#permission"+ , _perDomain = Nothing+ , _perValue = Nothing+ , _perAdditionalRoles = Nothing+ , _perRole = Nothing+ , _perSelfLink = Nothing+ , _perName = Nothing+ , _perAuthKey = Nothing+ , _perEmailAddress = Nothing+ , _perId = Nothing+ , _perType = Nothing+ }++-- | A link to the profile photo, if available.+perPhotoLink :: Lens' Permission (Maybe Text)+perPhotoLink+ = lens _perPhotoLink (\ s a -> s{_perPhotoLink = a})++-- | The ETag of the permission.+perEtag :: Lens' Permission (Maybe Text)+perEtag = lens _perEtag (\ s a -> s{_perEtag = a})++-- | Whether the link is required for this permission.+perWithLink :: Lens' Permission (Maybe Bool)+perWithLink+ = lens _perWithLink (\ s a -> s{_perWithLink = a})++-- | This is always drive#permission.+perKind :: Lens' Permission Text+perKind = lens _perKind (\ s a -> s{_perKind = a})++-- | The domain name of the entity this permission refers to. This is an+-- output-only field which is present when the permission type is user,+-- group or domain.+perDomain :: Lens' Permission (Maybe Text)+perDomain+ = lens _perDomain (\ s a -> s{_perDomain = a})++-- | The email address or domain name for the entity. This is used during+-- inserts and is not populated in responses. When making a+-- drive.permissions.insert request, exactly one of the id or value fields+-- must be specified.+perValue :: Lens' Permission (Maybe Text)+perValue = lens _perValue (\ s a -> s{_perValue = a})++-- | Additional roles for this user. Only commenter is currently allowed.+perAdditionalRoles :: Lens' Permission [Text]+perAdditionalRoles+ = lens _perAdditionalRoles+ (\ s a -> s{_perAdditionalRoles = a})+ . _Default+ . _Coerce++-- | The primary role for this user. Allowed values are: - owner - reader -+-- writer+perRole :: Lens' Permission (Maybe Text)+perRole = lens _perRole (\ s a -> s{_perRole = a})++-- | A link back to this permission.+perSelfLink :: Lens' Permission (Maybe Text)+perSelfLink+ = lens _perSelfLink (\ s a -> s{_perSelfLink = a})++-- | The name for this permission.+perName :: Lens' Permission (Maybe Text)+perName = lens _perName (\ s a -> s{_perName = a})++-- | The authkey parameter required for this permission.+perAuthKey :: Lens' Permission (Maybe Text)+perAuthKey+ = lens _perAuthKey (\ s a -> s{_perAuthKey = a})++-- | The email address of the user or group this permission refers to. This+-- is an output-only field which is present when the permission type is+-- user or group.+perEmailAddress :: Lens' Permission (Maybe Text)+perEmailAddress+ = lens _perEmailAddress+ (\ s a -> s{_perEmailAddress = a})++-- | The ID of the user this permission refers to, and identical to the+-- permissionId in the About and Files resources. When making a+-- drive.permissions.insert request, exactly one of the id or value fields+-- must be specified.+perId :: Lens' Permission (Maybe Text)+perId = lens _perId (\ s a -> s{_perId = a})++-- | The account type. Allowed values are: - user - group - domain - anyone+perType :: Lens' Permission (Maybe Text)+perType = lens _perType (\ s a -> s{_perType = a})++instance FromJSON Permission where+ parseJSON+ = withObject "Permission"+ (\ o ->+ Permission <$>+ (o .:? "photoLink") <*> (o .:? "etag") <*>+ (o .:? "withLink")+ <*> (o .:? "kind" .!= "drive#permission")+ <*> (o .:? "domain")+ <*> (o .:? "value")+ <*> (o .:? "additionalRoles" .!= mempty)+ <*> (o .:? "role")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "authKey")+ <*> (o .:? "emailAddress")+ <*> (o .:? "id")+ <*> (o .:? "type"))++instance ToJSON Permission where+ toJSON Permission{..}+ = object+ (catMaybes+ [("photoLink" .=) <$> _perPhotoLink,+ ("etag" .=) <$> _perEtag,+ ("withLink" .=) <$> _perWithLink,+ Just ("kind" .= _perKind),+ ("domain" .=) <$> _perDomain,+ ("value" .=) <$> _perValue,+ ("additionalRoles" .=) <$> _perAdditionalRoles,+ ("role" .=) <$> _perRole,+ ("selfLink" .=) <$> _perSelfLink,+ ("name" .=) <$> _perName,+ ("authKey" .=) <$> _perAuthKey,+ ("emailAddress" .=) <$> _perEmailAddress,+ ("id" .=) <$> _perId, ("type" .=) <$> _perType])++-- | The metadata for a file.+--+-- /See:/ 'file' smart constructor.+data File = File+ { _fOwnedByMe :: !(Maybe Bool)+ , _fThumbnailLink :: !(Maybe Text)+ , _fFullFileExtension :: !(Maybe Text)+ , _fThumbnail :: !(Maybe FileThumbnail)+ , _fMarkedViewedByMeDate :: !(Maybe DateTime')+ , _fEtag :: !(Maybe Text)+ , _fFileExtension :: !(Maybe Text)+ , _fCanComment :: !(Maybe Bool)+ , _fOwners :: !(Maybe [User])+ , _fOwnerNames :: !(Maybe [Text])+ , _fOpenWithLinks :: !(Maybe FileOpenWithLinks)+ , _fWebViewLink :: !(Maybe Text)+ , _fOriginalFilename :: !(Maybe Text)+ , _fKind :: !Text+ , _fLastModifyingUser :: !(Maybe User)+ , _fIconLink :: !(Maybe Text)+ , _fEmbedLink :: !(Maybe Text)+ , _fFileSize :: !(Maybe (Textual Int64))+ , _fAppDataContents :: !(Maybe Bool)+ , _fImageMediaMetadata :: !(Maybe FileImageMediaMetadata)+ , _fExplicitlyTrashed :: !(Maybe Bool)+ , _fEditable :: !(Maybe Bool)+ , _fModifiedByMeDate :: !(Maybe DateTime')+ , _fLastViewedByMeDate :: !(Maybe DateTime')+ , _fShared :: !(Maybe Bool)+ , _fMD5Checksum :: !(Maybe Text)+ , _fFolderColorRgb :: !(Maybe Text)+ , _fMimeType :: !(Maybe Text)+ , _fCreatedDate :: !(Maybe DateTime')+ , _fSelfLink :: !(Maybe Text)+ , _fLastModifyingUserName :: !(Maybe Text)+ , _fShareable :: !(Maybe Bool)+ , _fDownloadURL :: !(Maybe Text)+ , _fExportLinks :: !(Maybe FileExportLinks)+ , _fCopyable :: !(Maybe Bool)+ , _fParents :: !(Maybe [ParentReference])+ , _fSharedWithMeDate :: !(Maybe DateTime')+ , _fSpaces :: !(Maybe [Text])+ , _fVersion :: !(Maybe (Textual Int64))+ , _fUserPermission :: !(Maybe Permission)+ , _fWritersCanShare :: !(Maybe Bool)+ , _fDefaultOpenWithLink :: !(Maybe Text)+ , _fId :: !(Maybe Text)+ , _fLabels :: !(Maybe FileLabels)+ , _fModifiedDate :: !(Maybe DateTime')+ , _fPermissions :: !(Maybe [Permission])+ , _fQuotaBytesUsed :: !(Maybe (Textual Int64))+ , _fTitle :: !(Maybe Text)+ , _fAlternateLink :: !(Maybe Text)+ , _fVideoMediaMetadata :: !(Maybe FileVideoMediaMetadata)+ , _fHeadRevisionId :: !(Maybe Text)+ , _fDescription :: !(Maybe Text)+ , _fSharingUser :: !(Maybe User)+ , _fWebContentLink :: !(Maybe Text)+ , _fProperties :: !(Maybe [Property])+ , _fIndexableText :: !(Maybe FileIndexableText)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'File' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fOwnedByMe'+--+-- * 'fThumbnailLink'+--+-- * 'fFullFileExtension'+--+-- * 'fThumbnail'+--+-- * 'fMarkedViewedByMeDate'+--+-- * 'fEtag'+--+-- * 'fFileExtension'+--+-- * 'fCanComment'+--+-- * 'fOwners'+--+-- * 'fOwnerNames'+--+-- * 'fOpenWithLinks'+--+-- * 'fWebViewLink'+--+-- * 'fOriginalFilename'+--+-- * 'fKind'+--+-- * 'fLastModifyingUser'+--+-- * 'fIconLink'+--+-- * 'fEmbedLink'+--+-- * 'fFileSize'+--+-- * 'fAppDataContents'+--+-- * 'fImageMediaMetadata'+--+-- * 'fExplicitlyTrashed'+--+-- * 'fEditable'+--+-- * 'fModifiedByMeDate'+--+-- * 'fLastViewedByMeDate'+--+-- * 'fShared'+--+-- * 'fMD5Checksum'+--+-- * 'fFolderColorRgb'+--+-- * 'fMimeType'+--+-- * 'fCreatedDate'+--+-- * 'fSelfLink'+--+-- * 'fLastModifyingUserName'+--+-- * 'fShareable'+--+-- * 'fDownloadURL'+--+-- * 'fExportLinks'+--+-- * 'fCopyable'+--+-- * 'fParents'+--+-- * 'fSharedWithMeDate'+--+-- * 'fSpaces'+--+-- * 'fVersion'+--+-- * 'fUserPermission'+--+-- * 'fWritersCanShare'+--+-- * 'fDefaultOpenWithLink'+--+-- * 'fId'+--+-- * 'fLabels'+--+-- * 'fModifiedDate'+--+-- * 'fPermissions'+--+-- * 'fQuotaBytesUsed'+--+-- * 'fTitle'+--+-- * 'fAlternateLink'+--+-- * 'fVideoMediaMetadata'+--+-- * 'fHeadRevisionId'+--+-- * 'fDescription'+--+-- * 'fSharingUser'+--+-- * 'fWebContentLink'+--+-- * 'fProperties'+--+-- * 'fIndexableText'+file+ :: File+file =+ File+ { _fOwnedByMe = Nothing+ , _fThumbnailLink = Nothing+ , _fFullFileExtension = Nothing+ , _fThumbnail = Nothing+ , _fMarkedViewedByMeDate = Nothing+ , _fEtag = Nothing+ , _fFileExtension = Nothing+ , _fCanComment = Nothing+ , _fOwners = Nothing+ , _fOwnerNames = Nothing+ , _fOpenWithLinks = Nothing+ , _fWebViewLink = Nothing+ , _fOriginalFilename = Nothing+ , _fKind = "drive#file"+ , _fLastModifyingUser = Nothing+ , _fIconLink = Nothing+ , _fEmbedLink = Nothing+ , _fFileSize = Nothing+ , _fAppDataContents = Nothing+ , _fImageMediaMetadata = Nothing+ , _fExplicitlyTrashed = Nothing+ , _fEditable = Nothing+ , _fModifiedByMeDate = Nothing+ , _fLastViewedByMeDate = Nothing+ , _fShared = Nothing+ , _fMD5Checksum = Nothing+ , _fFolderColorRgb = Nothing+ , _fMimeType = Nothing+ , _fCreatedDate = Nothing+ , _fSelfLink = Nothing+ , _fLastModifyingUserName = Nothing+ , _fShareable = Nothing+ , _fDownloadURL = Nothing+ , _fExportLinks = Nothing+ , _fCopyable = Nothing+ , _fParents = Nothing+ , _fSharedWithMeDate = Nothing+ , _fSpaces = Nothing+ , _fVersion = Nothing+ , _fUserPermission = Nothing+ , _fWritersCanShare = Nothing+ , _fDefaultOpenWithLink = Nothing+ , _fId = Nothing+ , _fLabels = Nothing+ , _fModifiedDate = Nothing+ , _fPermissions = Nothing+ , _fQuotaBytesUsed = Nothing+ , _fTitle = Nothing+ , _fAlternateLink = Nothing+ , _fVideoMediaMetadata = Nothing+ , _fHeadRevisionId = Nothing+ , _fDescription = Nothing+ , _fSharingUser = Nothing+ , _fWebContentLink = Nothing+ , _fProperties = Nothing+ , _fIndexableText = Nothing+ }++-- | Whether the file is owned by the current user.+fOwnedByMe :: Lens' File (Maybe Bool)+fOwnedByMe+ = lens _fOwnedByMe (\ s a -> s{_fOwnedByMe = a})++-- | A short-lived link to the file\'s thumbnail. Typically lasts on the+-- order of hours.+fThumbnailLink :: Lens' File (Maybe Text)+fThumbnailLink+ = lens _fThumbnailLink+ (\ s a -> s{_fThumbnailLink = a})++-- | The full file extension; extracted from the title. May contain multiple+-- concatenated extensions, such as \"tar.gz\". Removing an extension from+-- the title does not clear this field; however, changing the extension on+-- the title does update this field. This field is only populated for files+-- with content stored in Drive; it is not populated for Google Docs or+-- shortcut files.+fFullFileExtension :: Lens' File (Maybe Text)+fFullFileExtension+ = lens _fFullFileExtension+ (\ s a -> s{_fFullFileExtension = a})++-- | Thumbnail for the file. Only accepted on upload and for files that are+-- not already thumbnailed by Google.+fThumbnail :: Lens' File (Maybe FileThumbnail)+fThumbnail+ = lens _fThumbnail (\ s a -> s{_fThumbnail = a})++-- | Deprecated.+fMarkedViewedByMeDate :: Lens' File (Maybe UTCTime)+fMarkedViewedByMeDate+ = lens _fMarkedViewedByMeDate+ (\ s a -> s{_fMarkedViewedByMeDate = a})+ . mapping _DateTime++-- | ETag of the file.+fEtag :: Lens' File (Maybe Text)+fEtag = lens _fEtag (\ s a -> s{_fEtag = a})++-- | The final component of fullFileExtension with trailing text that does+-- not appear to be part of the extension removed. This field is only+-- populated for files with content stored in Drive; it is not populated+-- for Google Docs or shortcut files.+fFileExtension :: Lens' File (Maybe Text)+fFileExtension+ = lens _fFileExtension+ (\ s a -> s{_fFileExtension = a})++-- | Whether the current user can comment on the file.+fCanComment :: Lens' File (Maybe Bool)+fCanComment+ = lens _fCanComment (\ s a -> s{_fCanComment = a})++-- | The owner(s) of this file.+fOwners :: Lens' File [User]+fOwners+ = lens _fOwners (\ s a -> s{_fOwners = a}) . _Default+ . _Coerce++-- | Name(s) of the owner(s) of this file.+fOwnerNames :: Lens' File [Text]+fOwnerNames+ = lens _fOwnerNames (\ s a -> s{_fOwnerNames = a}) .+ _Default+ . _Coerce++-- | A map of the id of each of the user\'s apps to a link to open this file+-- with that app. Only populated when the drive.apps.readonly scope is+-- used.+fOpenWithLinks :: Lens' File (Maybe FileOpenWithLinks)+fOpenWithLinks+ = lens _fOpenWithLinks+ (\ s a -> s{_fOpenWithLinks = a})++-- | A link only available on public folders for viewing their static web+-- assets (HTML, CSS, JS, etc) via Google Drive\'s Website Hosting.+fWebViewLink :: Lens' File (Maybe Text)+fWebViewLink+ = lens _fWebViewLink (\ s a -> s{_fWebViewLink = a})++-- | The original filename if the file was uploaded manually, or the original+-- title if the file was inserted through the API. Note that renames of the+-- title will not change the original filename. This field is only+-- populated for files with content stored in Drive; it is not populated+-- for Google Docs or shortcut files.+fOriginalFilename :: Lens' File (Maybe Text)+fOriginalFilename+ = lens _fOriginalFilename+ (\ s a -> s{_fOriginalFilename = a})++-- | The type of file. This is always drive#file.+fKind :: Lens' File Text+fKind = lens _fKind (\ s a -> s{_fKind = a})++-- | The last user to modify this file.+fLastModifyingUser :: Lens' File (Maybe User)+fLastModifyingUser+ = lens _fLastModifyingUser+ (\ s a -> s{_fLastModifyingUser = a})++-- | A link to the file\'s icon.+fIconLink :: Lens' File (Maybe Text)+fIconLink+ = lens _fIconLink (\ s a -> s{_fIconLink = a})++-- | A link for embedding the file.+fEmbedLink :: Lens' File (Maybe Text)+fEmbedLink+ = lens _fEmbedLink (\ s a -> s{_fEmbedLink = a})++-- | The size of the file in bytes. This field is only populated for files+-- with content stored in Drive; it is not populated for Google Docs or+-- shortcut files.+fFileSize :: Lens' File (Maybe Int64)+fFileSize+ = lens _fFileSize (\ s a -> s{_fFileSize = a}) .+ mapping _Coerce++-- | Whether this file is in the Application Data folder.+fAppDataContents :: Lens' File (Maybe Bool)+fAppDataContents+ = lens _fAppDataContents+ (\ s a -> s{_fAppDataContents = a})++-- | Metadata about image media. This will only be present for image types,+-- and its contents will depend on what can be parsed from the image+-- content.+fImageMediaMetadata :: Lens' File (Maybe FileImageMediaMetadata)+fImageMediaMetadata+ = lens _fImageMediaMetadata+ (\ s a -> s{_fImageMediaMetadata = a})++-- | Whether this file has been explicitly trashed, as opposed to recursively+-- trashed.+fExplicitlyTrashed :: Lens' File (Maybe Bool)+fExplicitlyTrashed+ = lens _fExplicitlyTrashed+ (\ s a -> s{_fExplicitlyTrashed = a})++-- | Whether the file can be edited by the current user.+fEditable :: Lens' File (Maybe Bool)+fEditable+ = lens _fEditable (\ s a -> s{_fEditable = a})++-- | Last time this file was modified by the user (formatted RFC 3339+-- timestamp). Note that setting modifiedDate will also update the+-- modifiedByMe date for the user which set the date.+fModifiedByMeDate :: Lens' File (Maybe UTCTime)+fModifiedByMeDate+ = lens _fModifiedByMeDate+ (\ s a -> s{_fModifiedByMeDate = a})+ . mapping _DateTime++-- | Last time this file was viewed by the user (formatted RFC 3339+-- timestamp).+fLastViewedByMeDate :: Lens' File (Maybe UTCTime)+fLastViewedByMeDate+ = lens _fLastViewedByMeDate+ (\ s a -> s{_fLastViewedByMeDate = a})+ . mapping _DateTime++-- | Whether the file has been shared.+fShared :: Lens' File (Maybe Bool)+fShared = lens _fShared (\ s a -> s{_fShared = a})++-- | An MD5 checksum for the content of this file. This field is only+-- populated for files with content stored in Drive; it is not populated+-- for Google Docs or shortcut files.+fMD5Checksum :: Lens' File (Maybe Text)+fMD5Checksum+ = lens _fMD5Checksum (\ s a -> s{_fMD5Checksum = a})++-- | Folder color as an RGB hex string if the file is a folder. The list of+-- supported colors is available in the folderColorPalette field of the+-- About resource. If an unsupported color is specified, it will be changed+-- to the closest color in the palette.+fFolderColorRgb :: Lens' File (Maybe Text)+fFolderColorRgb+ = lens _fFolderColorRgb+ (\ s a -> s{_fFolderColorRgb = a})++-- | The MIME type of the file. This is only mutable on update when uploading+-- new content. This field can be left blank, and the mimetype will be+-- determined from the uploaded content\'s MIME type.+fMimeType :: Lens' File (Maybe Text)+fMimeType+ = lens _fMimeType (\ s a -> s{_fMimeType = a})++-- | Create time for this file (formatted RFC 3339 timestamp).+fCreatedDate :: Lens' File (Maybe UTCTime)+fCreatedDate+ = lens _fCreatedDate (\ s a -> s{_fCreatedDate = a})+ . mapping _DateTime++-- | A link back to this file.+fSelfLink :: Lens' File (Maybe Text)+fSelfLink+ = lens _fSelfLink (\ s a -> s{_fSelfLink = a})++-- | Name of the last user to modify this file.+fLastModifyingUserName :: Lens' File (Maybe Text)+fLastModifyingUserName+ = lens _fLastModifyingUserName+ (\ s a -> s{_fLastModifyingUserName = a})++-- | Whether the file\'s sharing settings can be modified by the current+-- user.+fShareable :: Lens' File (Maybe Bool)+fShareable+ = lens _fShareable (\ s a -> s{_fShareable = a})++fDownloadURL :: Lens' File (Maybe Text)+fDownloadURL+ = lens _fDownloadURL (\ s a -> s{_fDownloadURL = a})++-- | Links for exporting Google Docs to specific formats.+fExportLinks :: Lens' File (Maybe FileExportLinks)+fExportLinks+ = lens _fExportLinks (\ s a -> s{_fExportLinks = a})++-- | Whether the file can be copied by the current user.+fCopyable :: Lens' File (Maybe Bool)+fCopyable+ = lens _fCopyable (\ s a -> s{_fCopyable = a})++-- | Collection of parent folders which contain this file. Setting this field+-- will put the file in all of the provided folders. On insert, if no+-- folders are provided, the file will be placed in the default root+-- folder.+fParents :: Lens' File [ParentReference]+fParents+ = lens _fParents (\ s a -> s{_fParents = a}) .+ _Default+ . _Coerce++-- | Time at which this file was shared with the user (formatted RFC 3339+-- timestamp).+fSharedWithMeDate :: Lens' File (Maybe UTCTime)+fSharedWithMeDate+ = lens _fSharedWithMeDate+ (\ s a -> s{_fSharedWithMeDate = a})+ . mapping _DateTime++-- | The list of spaces which contain the file. Supported values are+-- \'drive\', \'appDataFolder\' and \'photos\'.+fSpaces :: Lens' File [Text]+fSpaces+ = lens _fSpaces (\ s a -> s{_fSpaces = a}) . _Default+ . _Coerce++-- | A monotonically increasing version number for the file. This reflects+-- every change made to the file on the server, even those not visible to+-- the requesting user.+fVersion :: Lens' File (Maybe Int64)+fVersion+ = lens _fVersion (\ s a -> s{_fVersion = a}) .+ mapping _Coerce++-- | The permissions for the authenticated user on this file.+fUserPermission :: Lens' File (Maybe Permission)+fUserPermission+ = lens _fUserPermission+ (\ s a -> s{_fUserPermission = a})++-- | Whether writers can share the document with other users.+fWritersCanShare :: Lens' File (Maybe Bool)+fWritersCanShare+ = lens _fWritersCanShare+ (\ s a -> s{_fWritersCanShare = a})++-- | A link to open this file with the user\'s default app for this file.+-- Only populated when the drive.apps.readonly scope is used.+fDefaultOpenWithLink :: Lens' File (Maybe Text)+fDefaultOpenWithLink+ = lens _fDefaultOpenWithLink+ (\ s a -> s{_fDefaultOpenWithLink = a})++-- | The ID of the file.+fId :: Lens' File (Maybe Text)+fId = lens _fId (\ s a -> s{_fId = a})++-- | A group of labels for the file.+fLabels :: Lens' File (Maybe FileLabels)+fLabels = lens _fLabels (\ s a -> s{_fLabels = a})++-- | Last time this file was modified by anyone (formatted RFC 3339+-- timestamp). This is only mutable on update when the setModifiedDate+-- parameter is set.+fModifiedDate :: Lens' File (Maybe UTCTime)+fModifiedDate+ = lens _fModifiedDate+ (\ s a -> s{_fModifiedDate = a})+ . mapping _DateTime++-- | The list of permissions for users with access to this file.+fPermissions :: Lens' File [Permission]+fPermissions+ = lens _fPermissions (\ s a -> s{_fPermissions = a})+ . _Default+ . _Coerce++-- | The number of quota bytes used by this file.+fQuotaBytesUsed :: Lens' File (Maybe Int64)+fQuotaBytesUsed+ = lens _fQuotaBytesUsed+ (\ s a -> s{_fQuotaBytesUsed = a})+ . mapping _Coerce++-- | The title of this file.+fTitle :: Lens' File (Maybe Text)+fTitle = lens _fTitle (\ s a -> s{_fTitle = a})++-- | A link for opening the file in a relevant Google editor or viewer.+fAlternateLink :: Lens' File (Maybe Text)+fAlternateLink+ = lens _fAlternateLink+ (\ s a -> s{_fAlternateLink = a})++-- | Metadata about video media. This will only be present for video types.+fVideoMediaMetadata :: Lens' File (Maybe FileVideoMediaMetadata)+fVideoMediaMetadata+ = lens _fVideoMediaMetadata+ (\ s a -> s{_fVideoMediaMetadata = a})++-- | The ID of the file\'s head revision. This field is only populated for+-- files with content stored in Drive; it is not populated for Google Docs+-- or shortcut files.+fHeadRevisionId :: Lens' File (Maybe Text)+fHeadRevisionId+ = lens _fHeadRevisionId+ (\ s a -> s{_fHeadRevisionId = a})++-- | A short description of the file.+fDescription :: Lens' File (Maybe Text)+fDescription+ = lens _fDescription (\ s a -> s{_fDescription = a})++-- | User that shared the item with the current user, if available.+fSharingUser :: Lens' File (Maybe User)+fSharingUser+ = lens _fSharingUser (\ s a -> s{_fSharingUser = a})++-- | A link for downloading the content of the file in a browser using cookie+-- based authentication. In cases where the content is shared publicly, the+-- content can be downloaded without any credentials.+fWebContentLink :: Lens' File (Maybe Text)+fWebContentLink+ = lens _fWebContentLink+ (\ s a -> s{_fWebContentLink = a})++-- | The list of properties.+fProperties :: Lens' File [Property]+fProperties+ = lens _fProperties (\ s a -> s{_fProperties = a}) .+ _Default+ . _Coerce++-- | Indexable text attributes for the file (can only be written)+fIndexableText :: Lens' File (Maybe FileIndexableText)+fIndexableText+ = lens _fIndexableText+ (\ s a -> s{_fIndexableText = a})++instance FromJSON File where+ parseJSON+ = withObject "File"+ (\ o ->+ File <$>+ (o .:? "ownedByMe") <*> (o .:? "thumbnailLink") <*>+ (o .:? "fullFileExtension")+ <*> (o .:? "thumbnail")+ <*> (o .:? "markedViewedByMeDate")+ <*> (o .:? "etag")+ <*> (o .:? "fileExtension")+ <*> (o .:? "canComment")+ <*> (o .:? "owners" .!= mempty)+ <*> (o .:? "ownerNames" .!= mempty)+ <*> (o .:? "openWithLinks")+ <*> (o .:? "webViewLink")+ <*> (o .:? "originalFilename")+ <*> (o .:? "kind" .!= "drive#file")+ <*> (o .:? "lastModifyingUser")+ <*> (o .:? "iconLink")+ <*> (o .:? "embedLink")+ <*> (o .:? "fileSize")+ <*> (o .:? "appDataContents")+ <*> (o .:? "imageMediaMetadata")+ <*> (o .:? "explicitlyTrashed")+ <*> (o .:? "editable")+ <*> (o .:? "modifiedByMeDate")+ <*> (o .:? "lastViewedByMeDate")+ <*> (o .:? "shared")+ <*> (o .:? "md5Checksum")+ <*> (o .:? "folderColorRgb")+ <*> (o .:? "mimeType")+ <*> (o .:? "createdDate")+ <*> (o .:? "selfLink")+ <*> (o .:? "lastModifyingUserName")+ <*> (o .:? "shareable")+ <*> (o .:? "downloadUrl")+ <*> (o .:? "exportLinks")+ <*> (o .:? "copyable")+ <*> (o .:? "parents" .!= mempty)+ <*> (o .:? "sharedWithMeDate")+ <*> (o .:? "spaces" .!= mempty)+ <*> (o .:? "version")+ <*> (o .:? "userPermission")+ <*> (o .:? "writersCanShare")+ <*> (o .:? "defaultOpenWithLink")+ <*> (o .:? "id")+ <*> (o .:? "labels")+ <*> (o .:? "modifiedDate")+ <*> (o .:? "permissions" .!= mempty)+ <*> (o .:? "quotaBytesUsed")+ <*> (o .:? "title")+ <*> (o .:? "alternateLink")+ <*> (o .:? "videoMediaMetadata")+ <*> (o .:? "headRevisionId")+ <*> (o .:? "description")+ <*> (o .:? "sharingUser")+ <*> (o .:? "webContentLink")+ <*> (o .:? "properties" .!= mempty)+ <*> (o .:? "indexableText"))++instance ToJSON File where+ toJSON File{..}+ = object+ (catMaybes+ [("ownedByMe" .=) <$> _fOwnedByMe,+ ("thumbnailLink" .=) <$> _fThumbnailLink,+ ("fullFileExtension" .=) <$> _fFullFileExtension,+ ("thumbnail" .=) <$> _fThumbnail,+ ("markedViewedByMeDate" .=) <$>+ _fMarkedViewedByMeDate,+ ("etag" .=) <$> _fEtag,+ ("fileExtension" .=) <$> _fFileExtension,+ ("canComment" .=) <$> _fCanComment,+ ("owners" .=) <$> _fOwners,+ ("ownerNames" .=) <$> _fOwnerNames,+ ("openWithLinks" .=) <$> _fOpenWithLinks,+ ("webViewLink" .=) <$> _fWebViewLink,+ ("originalFilename" .=) <$> _fOriginalFilename,+ Just ("kind" .= _fKind),+ ("lastModifyingUser" .=) <$> _fLastModifyingUser,+ ("iconLink" .=) <$> _fIconLink,+ ("embedLink" .=) <$> _fEmbedLink,+ ("fileSize" .=) <$> _fFileSize,+ ("appDataContents" .=) <$> _fAppDataContents,+ ("imageMediaMetadata" .=) <$> _fImageMediaMetadata,+ ("explicitlyTrashed" .=) <$> _fExplicitlyTrashed,+ ("editable" .=) <$> _fEditable,+ ("modifiedByMeDate" .=) <$> _fModifiedByMeDate,+ ("lastViewedByMeDate" .=) <$> _fLastViewedByMeDate,+ ("shared" .=) <$> _fShared,+ ("md5Checksum" .=) <$> _fMD5Checksum,+ ("folderColorRgb" .=) <$> _fFolderColorRgb,+ ("mimeType" .=) <$> _fMimeType,+ ("createdDate" .=) <$> _fCreatedDate,+ ("selfLink" .=) <$> _fSelfLink,+ ("lastModifyingUserName" .=) <$>+ _fLastModifyingUserName,+ ("shareable" .=) <$> _fShareable,+ ("downloadUrl" .=) <$> _fDownloadURL,+ ("exportLinks" .=) <$> _fExportLinks,+ ("copyable" .=) <$> _fCopyable,+ ("parents" .=) <$> _fParents,+ ("sharedWithMeDate" .=) <$> _fSharedWithMeDate,+ ("spaces" .=) <$> _fSpaces,+ ("version" .=) <$> _fVersion,+ ("userPermission" .=) <$> _fUserPermission,+ ("writersCanShare" .=) <$> _fWritersCanShare,+ ("defaultOpenWithLink" .=) <$> _fDefaultOpenWithLink,+ ("id" .=) <$> _fId, ("labels" .=) <$> _fLabels,+ ("modifiedDate" .=) <$> _fModifiedDate,+ ("permissions" .=) <$> _fPermissions,+ ("quotaBytesUsed" .=) <$> _fQuotaBytesUsed,+ ("title" .=) <$> _fTitle,+ ("alternateLink" .=) <$> _fAlternateLink,+ ("videoMediaMetadata" .=) <$> _fVideoMediaMetadata,+ ("headRevisionId" .=) <$> _fHeadRevisionId,+ ("description" .=) <$> _fDescription,+ ("sharingUser" .=) <$> _fSharingUser,+ ("webContentLink" .=) <$> _fWebContentLink,+ ("properties" .=) <$> _fProperties,+ ("indexableText" .=) <$> _fIndexableText])++-- | An ID for a user or group as seen in Permission items.+--+-- /See:/ 'permissionId' smart constructor.+data PermissionId = PermissionId+ { _piKind :: !Text+ , _piId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piKind'+--+-- * 'piId'+permissionId+ :: PermissionId+permissionId =+ PermissionId+ { _piKind = "drive#permissionId"+ , _piId = Nothing+ }++-- | This is always drive#permissionId.+piKind :: Lens' PermissionId Text+piKind = lens _piKind (\ s a -> s{_piKind = a})++-- | The permission ID.+piId :: Lens' PermissionId (Maybe Text)+piId = lens _piId (\ s a -> s{_piId = a})++instance FromJSON PermissionId where+ parseJSON+ = withObject "PermissionId"+ (\ o ->+ PermissionId <$>+ (o .:? "kind" .!= "drive#permissionId") <*>+ (o .:? "id"))++instance ToJSON PermissionId where+ toJSON PermissionId{..}+ = object+ (catMaybes+ [Just ("kind" .= _piKind), ("id" .=) <$> _piId])++-- | A list of a file\'s parents.+--+-- /See:/ 'parentList' smart constructor.+data ParentList = ParentList+ { _parEtag :: !(Maybe Text)+ , _parKind :: !Text+ , _parItems :: !(Maybe [ParentReference])+ , _parSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parEtag'+--+-- * 'parKind'+--+-- * 'parItems'+--+-- * 'parSelfLink'+parentList+ :: ParentList+parentList =+ ParentList+ { _parEtag = Nothing+ , _parKind = "drive#parentList"+ , _parItems = Nothing+ , _parSelfLink = Nothing+ }++-- | The ETag of the list.+parEtag :: Lens' ParentList (Maybe Text)+parEtag = lens _parEtag (\ s a -> s{_parEtag = a})++-- | This is always drive#parentList.+parKind :: Lens' ParentList Text+parKind = lens _parKind (\ s a -> s{_parKind = a})++-- | The actual list of parents.+parItems :: Lens' ParentList [ParentReference]+parItems+ = lens _parItems (\ s a -> s{_parItems = a}) .+ _Default+ . _Coerce++-- | A link back to this list.+parSelfLink :: Lens' ParentList (Maybe Text)+parSelfLink+ = lens _parSelfLink (\ s a -> s{_parSelfLink = a})++instance FromJSON ParentList where+ parseJSON+ = withObject "ParentList"+ (\ o ->+ ParentList <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "drive#parentList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON ParentList where+ toJSON ParentList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _parEtag, Just ("kind" .= _parKind),+ ("items" .=) <$> _parItems,+ ("selfLink" .=) <$> _parSelfLink])++-- | A list of generated IDs which can be provided in insert requests+--+-- /See:/ 'generatedIds' smart constructor.+data GeneratedIds = GeneratedIds+ { _giSpace :: !(Maybe Text)+ , _giKind :: !Text+ , _giIds :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeneratedIds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giSpace'+--+-- * 'giKind'+--+-- * 'giIds'+generatedIds+ :: GeneratedIds+generatedIds =+ GeneratedIds+ { _giSpace = Nothing+ , _giKind = "drive#generatedIds"+ , _giIds = Nothing+ }++-- | The type of file that can be created with these IDs.+giSpace :: Lens' GeneratedIds (Maybe Text)+giSpace = lens _giSpace (\ s a -> s{_giSpace = a})++-- | This is always drive#generatedIds+giKind :: Lens' GeneratedIds Text+giKind = lens _giKind (\ s a -> s{_giKind = a})++-- | The IDs generated for the requesting user in the specified space.+giIds :: Lens' GeneratedIds [Text]+giIds+ = lens _giIds (\ s a -> s{_giIds = a}) . _Default .+ _Coerce++instance FromJSON GeneratedIds where+ parseJSON+ = withObject "GeneratedIds"+ (\ o ->+ GeneratedIds <$>+ (o .:? "space") <*>+ (o .:? "kind" .!= "drive#generatedIds")+ <*> (o .:? "ids" .!= mempty))++instance ToJSON GeneratedIds where+ toJSON GeneratedIds{..}+ = object+ (catMaybes+ [("space" .=) <$> _giSpace, Just ("kind" .= _giKind),+ ("ids" .=) <$> _giIds])++-- | Links for exporting Google Docs to specific formats.+--+-- /See:/ 'fileExportLinks' smart constructor.+newtype FileExportLinks = FileExportLinks+ { _felAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileExportLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'felAddtional'+fileExportLinks+ :: HashMap Text Text -- ^ 'felAddtional'+ -> FileExportLinks+fileExportLinks pFelAddtional_ =+ FileExportLinks+ { _felAddtional = _Coerce # pFelAddtional_+ }++-- | A mapping from export format to URL+felAddtional :: Lens' FileExportLinks (HashMap Text Text)+felAddtional+ = lens _felAddtional (\ s a -> s{_felAddtional = a})+ . _Coerce++instance FromJSON FileExportLinks where+ parseJSON+ = withObject "FileExportLinks"+ (\ o -> FileExportLinks <$> (parseJSONObject o))++instance ToJSON FileExportLinks where+ toJSON = toJSON . _felAddtional++-- | A JSON representation of a list of comments on a file in Google Drive.+--+-- /See:/ 'commentList' smart constructor.+data CommentList = CommentList+ { _comoNextPageToken :: !(Maybe Text)+ , _comoNextLink :: !(Maybe Text)+ , _comoKind :: !Text+ , _comoItems :: !(Maybe [Comment])+ , _comoSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comoNextPageToken'+--+-- * 'comoNextLink'+--+-- * 'comoKind'+--+-- * 'comoItems'+--+-- * 'comoSelfLink'+commentList+ :: CommentList+commentList =+ CommentList+ { _comoNextPageToken = Nothing+ , _comoNextLink = Nothing+ , _comoKind = "drive#commentList"+ , _comoItems = Nothing+ , _comoSelfLink = Nothing+ }++-- | The token to use to request the next page of results.+comoNextPageToken :: Lens' CommentList (Maybe Text)+comoNextPageToken+ = lens _comoNextPageToken+ (\ s a -> s{_comoNextPageToken = a})++-- | A link to the next page of comments.+comoNextLink :: Lens' CommentList (Maybe Text)+comoNextLink+ = lens _comoNextLink (\ s a -> s{_comoNextLink = a})++-- | This is always drive#commentList.+comoKind :: Lens' CommentList Text+comoKind = lens _comoKind (\ s a -> s{_comoKind = a})++-- | List of comments.+comoItems :: Lens' CommentList [Comment]+comoItems+ = lens _comoItems (\ s a -> s{_comoItems = a}) .+ _Default+ . _Coerce++-- | A link back to this list.+comoSelfLink :: Lens' CommentList (Maybe Text)+comoSelfLink+ = lens _comoSelfLink (\ s a -> s{_comoSelfLink = a})++instance FromJSON CommentList where+ parseJSON+ = withObject "CommentList"+ (\ o ->+ CommentList <$>+ (o .:? "nextPageToken") <*> (o .:? "nextLink") <*>+ (o .:? "kind" .!= "drive#commentList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON CommentList where+ toJSON CommentList{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _comoNextPageToken,+ ("nextLink" .=) <$> _comoNextLink,+ Just ("kind" .= _comoKind),+ ("items" .=) <$> _comoItems,+ ("selfLink" .=) <$> _comoSelfLink])++-- | A list of revisions of a file.+--+-- /See:/ 'revisionList' smart constructor.+data RevisionList = RevisionList+ { _rlEtag :: !(Maybe Text)+ , _rlKind :: !Text+ , _rlItems :: !(Maybe [Revision])+ , _rlSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlEtag'+--+-- * 'rlKind'+--+-- * 'rlItems'+--+-- * 'rlSelfLink'+revisionList+ :: RevisionList+revisionList =+ RevisionList+ { _rlEtag = Nothing+ , _rlKind = "drive#revisionList"+ , _rlItems = Nothing+ , _rlSelfLink = Nothing+ }++-- | The ETag of the list.+rlEtag :: Lens' RevisionList (Maybe Text)+rlEtag = lens _rlEtag (\ s a -> s{_rlEtag = a})++-- | This is always drive#revisionList.+rlKind :: Lens' RevisionList Text+rlKind = lens _rlKind (\ s a -> s{_rlKind = a})++-- | The actual list of revisions.+rlItems :: Lens' RevisionList [Revision]+rlItems+ = lens _rlItems (\ s a -> s{_rlItems = a}) . _Default+ . _Coerce++-- | A link back to this list.+rlSelfLink :: Lens' RevisionList (Maybe Text)+rlSelfLink+ = lens _rlSelfLink (\ s a -> s{_rlSelfLink = a})++instance FromJSON RevisionList where+ parseJSON+ = withObject "RevisionList"+ (\ o ->+ RevisionList <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "drive#revisionList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON RevisionList where+ toJSON RevisionList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _rlEtag, Just ("kind" .= _rlKind),+ ("items" .=) <$> _rlItems,+ ("selfLink" .=) <$> _rlSelfLink])++-- | A list of permissions associated with a file.+--+-- /See:/ 'permissionList' smart constructor.+data PermissionList = PermissionList+ { _pllEtag :: !(Maybe Text)+ , _pllKind :: !Text+ , _pllItems :: !(Maybe [Permission])+ , _pllSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllEtag'+--+-- * 'pllKind'+--+-- * 'pllItems'+--+-- * 'pllSelfLink'+permissionList+ :: PermissionList+permissionList =+ PermissionList+ { _pllEtag = Nothing+ , _pllKind = "drive#permissionList"+ , _pllItems = Nothing+ , _pllSelfLink = Nothing+ }++-- | The ETag of the list.+pllEtag :: Lens' PermissionList (Maybe Text)+pllEtag = lens _pllEtag (\ s a -> s{_pllEtag = a})++-- | This is always drive#permissionList.+pllKind :: Lens' PermissionList Text+pllKind = lens _pllKind (\ s a -> s{_pllKind = a})++-- | The actual list of permissions.+pllItems :: Lens' PermissionList [Permission]+pllItems+ = lens _pllItems (\ s a -> s{_pllItems = a}) .+ _Default+ . _Coerce++-- | A link back to this list.+pllSelfLink :: Lens' PermissionList (Maybe Text)+pllSelfLink+ = lens _pllSelfLink (\ s a -> s{_pllSelfLink = a})++instance FromJSON PermissionList where+ parseJSON+ = withObject "PermissionList"+ (\ o ->+ PermissionList <$>+ (o .:? "etag") <*>+ (o .:? "kind" .!= "drive#permissionList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON PermissionList where+ toJSON PermissionList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _pllEtag, Just ("kind" .= _pllKind),+ ("items" .=) <$> _pllItems,+ ("selfLink" .=) <$> _pllSelfLink])
+ gen/Network/Google/Drive/Types/Sum.hs view
@@ -0,0 +1,305 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Drive.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.Drive.Types.Sum where++import Network.Google.Prelude++-- | The visibility of the new file. This parameter is only relevant when+-- convert=false.+data FilesInsertVisibility+ = Default+ -- ^ @DEFAULT@+ -- The visibility of the new file is determined by the user\'s default+ -- visibility\/sharing policies.+ | Private+ -- ^ @PRIVATE@+ -- The new file will be visible to only the owner.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesInsertVisibility++instance FromText FilesInsertVisibility where+ fromText = \case+ "DEFAULT" -> Just Default+ "PRIVATE" -> Just Private+ _ -> Nothing++instance ToText FilesInsertVisibility where+ toText = \case+ Default -> "DEFAULT"+ Private -> "PRIVATE"++instance FromJSON FilesInsertVisibility where+ parseJSON = parseJSONText "FilesInsertVisibility"++instance ToJSON FilesInsertVisibility where+ toJSON = toJSONText++-- | The body of items (files\/documents) to which the query applies.+data FilesListCorpus+ = FLCDefault+ -- ^ @DEFAULT@+ -- The items that the user has accessed.+ | FLCDomain+ -- ^ @DOMAIN@+ -- Items shared to the user\'s domain.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesListCorpus++instance FromText FilesListCorpus where+ fromText = \case+ "DEFAULT" -> Just FLCDefault+ "DOMAIN" -> Just FLCDomain+ _ -> Nothing++instance ToText FilesListCorpus where+ toText = \case+ FLCDefault -> "DEFAULT"+ FLCDomain -> "DOMAIN"++instance FromJSON FilesListCorpus where+ parseJSON = parseJSONText "FilesListCorpus"++instance ToJSON FilesListCorpus where+ toJSON = toJSONText++-- | This parameter is deprecated and has no function.+data FilesListProjection+ = Basic+ -- ^ @BASIC@+ -- Deprecated+ | Full+ -- ^ @FULL@+ -- Deprecated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesListProjection++instance FromText FilesListProjection where+ fromText = \case+ "BASIC" -> Just Basic+ "FULL" -> Just Full+ _ -> Nothing++instance ToText FilesListProjection where+ toText = \case+ Basic -> "BASIC"+ Full -> "FULL"++instance FromJSON FilesListProjection where+ parseJSON = parseJSONText "FilesListProjection"++instance ToJSON FilesListProjection where+ toJSON = toJSONText++-- | Determines the behavior in which modifiedDate is updated. This overrides+-- setModifiedDate.+data FilesUpdateModifiedDateBehavior+ = FromBody+ -- ^ @fromBody@+ -- Set modifiedDate to the value provided in the body of the request. No+ -- change if no value was provided.+ | FromBodyIfNeeded+ -- ^ @fromBodyIfNeeded@+ -- Set modifiedDate to the value provided in the body of the request+ -- depending on other contents of the update.+ | FromBodyOrNow+ -- ^ @fromBodyOrNow@+ -- Set modifiedDate to the value provided in the body of the request, or to+ -- the current time if no value was provided.+ | NoChange+ -- ^ @noChange@+ -- Maintain the previous value of modifiedDate.+ | Now+ -- ^ @now@+ -- Set modifiedDate to the current time.+ | NowIfNeeded+ -- ^ @nowIfNeeded@+ -- Set modifiedDate to the current time depending on contents of the+ -- update.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesUpdateModifiedDateBehavior++instance FromText FilesUpdateModifiedDateBehavior where+ fromText = \case+ "fromBody" -> Just FromBody+ "fromBodyIfNeeded" -> Just FromBodyIfNeeded+ "fromBodyOrNow" -> Just FromBodyOrNow+ "noChange" -> Just NoChange+ "now" -> Just Now+ "nowIfNeeded" -> Just NowIfNeeded+ _ -> Nothing++instance ToText FilesUpdateModifiedDateBehavior where+ toText = \case+ FromBody -> "fromBody"+ FromBodyIfNeeded -> "fromBodyIfNeeded"+ FromBodyOrNow -> "fromBodyOrNow"+ NoChange -> "noChange"+ Now -> "now"+ NowIfNeeded -> "nowIfNeeded"++instance FromJSON FilesUpdateModifiedDateBehavior where+ parseJSON = parseJSONText "FilesUpdateModifiedDateBehavior"++instance ToJSON FilesUpdateModifiedDateBehavior where+ toJSON = toJSONText++-- | This parameter is deprecated and has no function.+data FilesWatchProjection+ = FWPBasic+ -- ^ @BASIC@+ -- Deprecated+ | FWPFull+ -- ^ @FULL@+ -- Deprecated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesWatchProjection++instance FromText FilesWatchProjection where+ fromText = \case+ "BASIC" -> Just FWPBasic+ "FULL" -> Just FWPFull+ _ -> Nothing++instance ToText FilesWatchProjection where+ toText = \case+ FWPBasic -> "BASIC"+ FWPFull -> "FULL"++instance FromJSON FilesWatchProjection where+ parseJSON = parseJSONText "FilesWatchProjection"++instance ToJSON FilesWatchProjection where+ toJSON = toJSONText++-- | Determines the behavior in which modifiedDate is updated. This overrides+-- setModifiedDate.+data FilesPatchModifiedDateBehavior+ = FPMDBFromBody+ -- ^ @fromBody@+ -- Set modifiedDate to the value provided in the body of the request. No+ -- change if no value was provided.+ | FPMDBFromBodyIfNeeded+ -- ^ @fromBodyIfNeeded@+ -- Set modifiedDate to the value provided in the body of the request+ -- depending on other contents of the update.+ | FPMDBFromBodyOrNow+ -- ^ @fromBodyOrNow@+ -- Set modifiedDate to the value provided in the body of the request, or to+ -- the current time if no value was provided.+ | FPMDBNoChange+ -- ^ @noChange@+ -- Maintain the previous value of modifiedDate.+ | FPMDBNow+ -- ^ @now@+ -- Set modifiedDate to the current time.+ | FPMDBNowIfNeeded+ -- ^ @nowIfNeeded@+ -- Set modifiedDate to the current time depending on contents of the+ -- update.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesPatchModifiedDateBehavior++instance FromText FilesPatchModifiedDateBehavior where+ fromText = \case+ "fromBody" -> Just FPMDBFromBody+ "fromBodyIfNeeded" -> Just FPMDBFromBodyIfNeeded+ "fromBodyOrNow" -> Just FPMDBFromBodyOrNow+ "noChange" -> Just FPMDBNoChange+ "now" -> Just FPMDBNow+ "nowIfNeeded" -> Just FPMDBNowIfNeeded+ _ -> Nothing++instance ToText FilesPatchModifiedDateBehavior where+ toText = \case+ FPMDBFromBody -> "fromBody"+ FPMDBFromBodyIfNeeded -> "fromBodyIfNeeded"+ FPMDBFromBodyOrNow -> "fromBodyOrNow"+ FPMDBNoChange -> "noChange"+ FPMDBNow -> "now"+ FPMDBNowIfNeeded -> "nowIfNeeded"++instance FromJSON FilesPatchModifiedDateBehavior where+ parseJSON = parseJSONText "FilesPatchModifiedDateBehavior"++instance ToJSON FilesPatchModifiedDateBehavior where+ toJSON = toJSONText++-- | The visibility of the new file. This parameter is only relevant when the+-- source is not a native Google Doc and convert=false.+data FilesCopyVisibility+ = FCVDefault+ -- ^ @DEFAULT@+ -- The visibility of the new file is determined by the user\'s default+ -- visibility\/sharing policies.+ | FCVPrivate+ -- ^ @PRIVATE@+ -- The new file will be visible to only the owner.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesCopyVisibility++instance FromText FilesCopyVisibility where+ fromText = \case+ "DEFAULT" -> Just FCVDefault+ "PRIVATE" -> Just FCVPrivate+ _ -> Nothing++instance ToText FilesCopyVisibility where+ toText = \case+ FCVDefault -> "DEFAULT"+ FCVPrivate -> "PRIVATE"++instance FromJSON FilesCopyVisibility where+ parseJSON = parseJSONText "FilesCopyVisibility"++instance ToJSON FilesCopyVisibility where+ toJSON = toJSONText++-- | This parameter is deprecated and has no function.+data FilesGetProjection+ = FGPBasic+ -- ^ @BASIC@+ -- Deprecated+ | FGPFull+ -- ^ @FULL@+ -- Deprecated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable FilesGetProjection++instance FromText FilesGetProjection where+ fromText = \case+ "BASIC" -> Just FGPBasic+ "FULL" -> Just FGPFull+ _ -> Nothing++instance ToText FilesGetProjection where+ toText = \case+ FGPBasic -> "BASIC"+ FGPFull -> "FULL"++instance FromJSON FilesGetProjection where+ parseJSON = parseJSONText "FilesGetProjection"++instance ToJSON FilesGetProjection where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Drive/About/Get.hs view
@@ -0,0 +1,117 @@+{-# 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.Drive.About.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)+--+-- Gets the information about the current user along with Drive API+-- settings+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.about.get@.+module Network.Google.Resource.Drive.About.Get+ (+ -- * REST Resource+ AboutGetResource++ -- * Creating a Request+ , aboutGet+ , AboutGet++ -- * Request Lenses+ , agIncludeSubscribed+ , agStartChangeId+ , agMaxChangeIdCount+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.about.get@ method which the+-- 'AboutGet' request conforms to.+type AboutGetResource =+ "drive" :>+ "v2" :>+ "about" :>+ QueryParam "includeSubscribed" Bool :>+ QueryParam "startChangeId" (Textual Int64) :>+ QueryParam "maxChangeIdCount" (Textual Int64) :>+ QueryParam "alt" AltJSON :> Get '[JSON] About++-- | Gets the information about the current user along with Drive API+-- settings+--+-- /See:/ 'aboutGet' smart constructor.+data AboutGet = AboutGet+ { _agIncludeSubscribed :: !Bool+ , _agStartChangeId :: !(Maybe (Textual Int64))+ , _agMaxChangeIdCount :: !(Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AboutGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agIncludeSubscribed'+--+-- * 'agStartChangeId'+--+-- * 'agMaxChangeIdCount'+aboutGet+ :: AboutGet+aboutGet =+ AboutGet+ { _agIncludeSubscribed = True+ , _agStartChangeId = Nothing+ , _agMaxChangeIdCount = 1+ }++-- | When calculating the number of remaining change IDs, whether to include+-- public files the user has opened and shared files. When set to false,+-- this counts only change IDs for owned files and any shared or public+-- files that the user has explicitly added to a folder they own.+agIncludeSubscribed :: Lens' AboutGet Bool+agIncludeSubscribed+ = lens _agIncludeSubscribed+ (\ s a -> s{_agIncludeSubscribed = a})++-- | Change ID to start counting from when calculating number of remaining+-- change IDs+agStartChangeId :: Lens' AboutGet (Maybe Int64)+agStartChangeId+ = lens _agStartChangeId+ (\ s a -> s{_agStartChangeId = a})+ . mapping _Coerce++-- | Maximum number of remaining change IDs to count+agMaxChangeIdCount :: Lens' AboutGet Int64+agMaxChangeIdCount+ = lens _agMaxChangeIdCount+ (\ s a -> s{_agMaxChangeIdCount = a})+ . _Coerce++instance GoogleRequest AboutGet where+ type Rs AboutGet = About+ requestClient AboutGet{..}+ = go (Just _agIncludeSubscribed) _agStartChangeId+ (Just _agMaxChangeIdCount)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy AboutGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Apps/Get.hs view
@@ -0,0 +1,80 @@+{-# 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.Drive.Apps.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)+--+-- Gets a specific app.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.apps.get@.+module Network.Google.Resource.Drive.Apps.Get+ (+ -- * REST Resource+ AppsGetResource++ -- * Creating a Request+ , appsGet+ , AppsGet++ -- * Request Lenses+ , agAppId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.apps.get@ method which the+-- 'AppsGet' request conforms to.+type AppsGetResource =+ "drive" :>+ "v2" :>+ "apps" :>+ Capture "appId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] App++-- | Gets a specific app.+--+-- /See:/ 'appsGet' smart constructor.+newtype AppsGet = AppsGet+ { _agAppId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agAppId'+appsGet+ :: Text -- ^ 'agAppId'+ -> AppsGet+appsGet pAgAppId_ =+ AppsGet+ { _agAppId = pAgAppId_+ }++-- | The ID of the app.+agAppId :: Lens' AppsGet Text+agAppId = lens _agAppId (\ s a -> s{_agAppId = a})++instance GoogleRequest AppsGet where+ type Rs AppsGet = App+ requestClient AppsGet{..}+ = go _agAppId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy AppsGetResource) mempty
+ gen/Network/Google/Resource/Drive/Apps/List.hs view
@@ -0,0 +1,117 @@+{-# 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.Drive.Apps.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)+--+-- Lists a user\'s installed apps.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.apps.list@.+module Network.Google.Resource.Drive.Apps.List+ (+ -- * REST Resource+ AppsListResource++ -- * Creating a Request+ , appsList+ , AppsList++ -- * Request Lenses+ , alLanguageCode+ , alAppFilterExtensions+ , alAppFilterMimeTypes+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.apps.list@ method which the+-- 'AppsList' request conforms to.+type AppsListResource =+ "drive" :>+ "v2" :>+ "apps" :>+ QueryParam "languageCode" Text :>+ QueryParam "appFilterExtensions" Text :>+ QueryParam "appFilterMimeTypes" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] AppList++-- | Lists a user\'s installed apps.+--+-- /See:/ 'appsList' smart constructor.+data AppsList = AppsList+ { _alLanguageCode :: !(Maybe Text)+ , _alAppFilterExtensions :: !Text+ , _alAppFilterMimeTypes :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alLanguageCode'+--+-- * 'alAppFilterExtensions'+--+-- * 'alAppFilterMimeTypes'+appsList+ :: AppsList+appsList =+ AppsList+ { _alLanguageCode = Nothing+ , _alAppFilterExtensions = ""+ , _alAppFilterMimeTypes = ""+ }++-- | A language or locale code, as defined by BCP 47, with some extensions+-- from Unicode\'s LDML format (http:\/\/www.unicode.org\/reports\/tr35\/).+alLanguageCode :: Lens' AppsList (Maybe Text)+alLanguageCode+ = lens _alLanguageCode+ (\ s a -> s{_alLanguageCode = a})++-- | A comma-separated list of file extensions for open with filtering. All+-- apps within the given app query scope which can open any of the given+-- file extensions will be included in the response. If appFilterMimeTypes+-- are provided as well, the result is a union of the two resulting app+-- lists.+alAppFilterExtensions :: Lens' AppsList Text+alAppFilterExtensions+ = lens _alAppFilterExtensions+ (\ s a -> s{_alAppFilterExtensions = a})++-- | A comma-separated list of MIME types for open with filtering. All apps+-- within the given app query scope which can open any of the given MIME+-- types will be included in the response. If appFilterExtensions are+-- provided as well, the result is a union of the two resulting app lists.+alAppFilterMimeTypes :: Lens' AppsList Text+alAppFilterMimeTypes+ = lens _alAppFilterMimeTypes+ (\ s a -> s{_alAppFilterMimeTypes = a})++instance GoogleRequest AppsList where+ type Rs AppsList = AppList+ requestClient AppsList{..}+ = go _alLanguageCode (Just _alAppFilterExtensions)+ (Just _alAppFilterMimeTypes)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy AppsListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Changes/Get.hs view
@@ -0,0 +1,82 @@+{-# 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.Drive.Changes.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)+--+-- Gets a specific change.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.get@.+module Network.Google.Resource.Drive.Changes.Get+ (+ -- * REST Resource+ ChangesGetResource++ -- * Creating a Request+ , changesGet+ , ChangesGet++ -- * Request Lenses+ , cgChangeId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.changes.get@ method which the+-- 'ChangesGet' request conforms to.+type ChangesGetResource =+ "drive" :>+ "v2" :>+ "changes" :>+ Capture "changeId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Change++-- | Gets a specific change.+--+-- /See:/ 'changesGet' smart constructor.+newtype ChangesGet = ChangesGet+ { _cgChangeId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgChangeId'+changesGet+ :: Text -- ^ 'cgChangeId'+ -> ChangesGet+changesGet pCgChangeId_ =+ ChangesGet+ { _cgChangeId = pCgChangeId_+ }++-- | The ID of the change.+cgChangeId :: Lens' ChangesGet Text+cgChangeId+ = lens _cgChangeId (\ s a -> s{_cgChangeId = a})++instance GoogleRequest ChangesGet where+ type Rs ChangesGet = Change+ requestClient ChangesGet{..}+ = go _cgChangeId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy ChangesGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Changes/List.hs view
@@ -0,0 +1,149 @@+{-# 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.Drive.Changes.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)+--+-- Lists the changes for a user.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.list@.+module Network.Google.Resource.Drive.Changes.List+ (+ -- * REST Resource+ ChangesListResource++ -- * Creating a Request+ , changesList+ , ChangesList++ -- * Request Lenses+ , clIncludeSubscribed+ , clStartChangeId+ , clSpaces+ , clPageToken+ , clMaxResults+ , clIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.changes.list@ method which the+-- 'ChangesList' request conforms to.+type ChangesListResource =+ "drive" :>+ "v2" :>+ "changes" :>+ QueryParam "includeSubscribed" Bool :>+ QueryParam "startChangeId" (Textual Int64) :>+ QueryParam "spaces" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] ChangeList++-- | Lists the changes for a user.+--+-- /See:/ 'changesList' smart constructor.+data ChangesList = ChangesList+ { _clIncludeSubscribed :: !Bool+ , _clStartChangeId :: !(Maybe (Textual Int64))+ , _clSpaces :: !(Maybe Text)+ , _clPageToken :: !(Maybe Text)+ , _clMaxResults :: !(Textual Int32)+ , _clIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clIncludeSubscribed'+--+-- * 'clStartChangeId'+--+-- * 'clSpaces'+--+-- * 'clPageToken'+--+-- * 'clMaxResults'+--+-- * 'clIncludeDeleted'+changesList+ :: ChangesList+changesList =+ ChangesList+ { _clIncludeSubscribed = True+ , _clStartChangeId = Nothing+ , _clSpaces = Nothing+ , _clPageToken = Nothing+ , _clMaxResults = 100+ , _clIncludeDeleted = True+ }++-- | Whether to include public files the user has opened and shared files.+-- When set to false, the list only includes owned files plus any shared or+-- public files the user has explicitly added to a folder they own.+clIncludeSubscribed :: Lens' ChangesList Bool+clIncludeSubscribed+ = lens _clIncludeSubscribed+ (\ s a -> s{_clIncludeSubscribed = a})++-- | Change ID to start listing changes from.+clStartChangeId :: Lens' ChangesList (Maybe Int64)+clStartChangeId+ = lens _clStartChangeId+ (\ s a -> s{_clStartChangeId = a})+ . mapping _Coerce++-- | A comma-separated list of spaces to query. Supported values are+-- \'drive\', \'appDataFolder\' and \'photos\'.+clSpaces :: Lens' ChangesList (Maybe Text)+clSpaces = lens _clSpaces (\ s a -> s{_clSpaces = a})++-- | Page token for changes.+clPageToken :: Lens' ChangesList (Maybe Text)+clPageToken+ = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | Maximum number of changes to return.+clMaxResults :: Lens' ChangesList Int32+clMaxResults+ = lens _clMaxResults (\ s a -> s{_clMaxResults = a})+ . _Coerce++-- | Whether to include deleted items.+clIncludeDeleted :: Lens' ChangesList Bool+clIncludeDeleted+ = lens _clIncludeDeleted+ (\ s a -> s{_clIncludeDeleted = a})++instance GoogleRequest ChangesList where+ type Rs ChangesList = ChangeList+ requestClient ChangesList{..}+ = go (Just _clIncludeSubscribed) _clStartChangeId+ _clSpaces+ _clPageToken+ (Just _clMaxResults)+ (Just _clIncludeDeleted)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ChangesListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Changes/Watch.hs view
@@ -0,0 +1,163 @@+{-# 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.Drive.Changes.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)+--+-- Subscribe to changes for a user.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.changes.watch@.+module Network.Google.Resource.Drive.Changes.Watch+ (+ -- * REST Resource+ ChangesWatchResource++ -- * Creating a Request+ , changesWatch+ , ChangesWatch++ -- * Request Lenses+ , cwIncludeSubscribed+ , cwStartChangeId+ , cwPayload+ , cwSpaces+ , cwPageToken+ , cwMaxResults+ , cwIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.changes.watch@ method which the+-- 'ChangesWatch' request conforms to.+type ChangesWatchResource =+ "drive" :>+ "v2" :>+ "changes" :>+ "watch" :>+ QueryParam "includeSubscribed" Bool :>+ QueryParam "startChangeId" (Textual Int64) :>+ QueryParam "spaces" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel++-- | Subscribe to changes for a user.+--+-- /See:/ 'changesWatch' smart constructor.+data ChangesWatch = ChangesWatch+ { _cwIncludeSubscribed :: !Bool+ , _cwStartChangeId :: !(Maybe (Textual Int64))+ , _cwPayload :: !Channel+ , _cwSpaces :: !(Maybe Text)+ , _cwPageToken :: !(Maybe Text)+ , _cwMaxResults :: !(Textual Int32)+ , _cwIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChangesWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cwIncludeSubscribed'+--+-- * 'cwStartChangeId'+--+-- * 'cwPayload'+--+-- * 'cwSpaces'+--+-- * 'cwPageToken'+--+-- * 'cwMaxResults'+--+-- * 'cwIncludeDeleted'+changesWatch+ :: Channel -- ^ 'cwPayload'+ -> ChangesWatch+changesWatch pCwPayload_ =+ ChangesWatch+ { _cwIncludeSubscribed = True+ , _cwStartChangeId = Nothing+ , _cwPayload = pCwPayload_+ , _cwSpaces = Nothing+ , _cwPageToken = Nothing+ , _cwMaxResults = 100+ , _cwIncludeDeleted = True+ }++-- | Whether to include public files the user has opened and shared files.+-- When set to false, the list only includes owned files plus any shared or+-- public files the user has explicitly added to a folder they own.+cwIncludeSubscribed :: Lens' ChangesWatch Bool+cwIncludeSubscribed+ = lens _cwIncludeSubscribed+ (\ s a -> s{_cwIncludeSubscribed = a})++-- | Change ID to start listing changes from.+cwStartChangeId :: Lens' ChangesWatch (Maybe Int64)+cwStartChangeId+ = lens _cwStartChangeId+ (\ s a -> s{_cwStartChangeId = a})+ . mapping _Coerce++-- | Multipart request metadata.+cwPayload :: Lens' ChangesWatch Channel+cwPayload+ = lens _cwPayload (\ s a -> s{_cwPayload = a})++-- | A comma-separated list of spaces to query. Supported values are+-- \'drive\', \'appDataFolder\' and \'photos\'.+cwSpaces :: Lens' ChangesWatch (Maybe Text)+cwSpaces = lens _cwSpaces (\ s a -> s{_cwSpaces = a})++-- | Page token for changes.+cwPageToken :: Lens' ChangesWatch (Maybe Text)+cwPageToken+ = lens _cwPageToken (\ s a -> s{_cwPageToken = a})++-- | Maximum number of changes to return.+cwMaxResults :: Lens' ChangesWatch Int32+cwMaxResults+ = lens _cwMaxResults (\ s a -> s{_cwMaxResults = a})+ . _Coerce++-- | Whether to include deleted items.+cwIncludeDeleted :: Lens' ChangesWatch Bool+cwIncludeDeleted+ = lens _cwIncludeDeleted+ (\ s a -> s{_cwIncludeDeleted = a})++instance GoogleRequest ChangesWatch where+ type Rs ChangesWatch = Channel+ requestClient ChangesWatch{..}+ = go (Just _cwIncludeSubscribed) _cwStartChangeId+ _cwSpaces+ _cwPageToken+ (Just _cwMaxResults)+ (Just _cwIncludeDeleted)+ (Just AltJSON)+ _cwPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy ChangesWatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/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.Drive.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/drive/ Drive API Reference> for @drive.channels.stop@.+module Network.Google.Resource.Drive.Channels.Stop+ (+ -- * REST Resource+ ChannelsStopResource++ -- * Creating a Request+ , channelsStop+ , ChannelsStop++ -- * Request Lenses+ , csPayload+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.channels.stop@ method which the+-- 'ChannelsStop' request conforms to.+type ChannelsStopResource =+ "drive" :>+ "v2" :>+ "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 driveService+ where go+ = buildClient (Proxy :: Proxy ChannelsStopResource)+ mempty
+ gen/Network/Google/Resource/Drive/Children/Delete.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.Drive.Children.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)+--+-- Removes a child from a folder.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.delete@.+module Network.Google.Resource.Drive.Children.Delete+ (+ -- * REST Resource+ ChildrenDeleteResource++ -- * Creating a Request+ , childrenDelete+ , ChildrenDelete++ -- * Request Lenses+ , cdFolderId+ , cdChildId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.children.delete@ method which the+-- 'ChildrenDelete' request conforms to.+type ChildrenDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "folderId" Text :>+ "children" :>+ Capture "childId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a child from a folder.+--+-- /See:/ 'childrenDelete' smart constructor.+data ChildrenDelete = ChildrenDelete+ { _cdFolderId :: !Text+ , _cdChildId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildrenDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdFolderId'+--+-- * 'cdChildId'+childrenDelete+ :: Text -- ^ 'cdFolderId'+ -> Text -- ^ 'cdChildId'+ -> ChildrenDelete+childrenDelete pCdFolderId_ pCdChildId_ =+ ChildrenDelete+ { _cdFolderId = pCdFolderId_+ , _cdChildId = pCdChildId_+ }++-- | The ID of the folder.+cdFolderId :: Lens' ChildrenDelete Text+cdFolderId+ = lens _cdFolderId (\ s a -> s{_cdFolderId = a})++-- | The ID of the child.+cdChildId :: Lens' ChildrenDelete Text+cdChildId+ = lens _cdChildId (\ s a -> s{_cdChildId = a})++instance GoogleRequest ChildrenDelete where+ type Rs ChildrenDelete = ()+ requestClient ChildrenDelete{..}+ = go _cdFolderId _cdChildId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ChildrenDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Children/Get.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.Drive.Children.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)+--+-- Gets a specific child reference.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.get@.+module Network.Google.Resource.Drive.Children.Get+ (+ -- * REST Resource+ ChildrenGetResource++ -- * Creating a Request+ , childrenGet+ , ChildrenGet++ -- * Request Lenses+ , cgFolderId+ , cgChildId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.children.get@ method which the+-- 'ChildrenGet' request conforms to.+type ChildrenGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "folderId" Text :>+ "children" :>+ Capture "childId" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ChildReference++-- | Gets a specific child reference.+--+-- /See:/ 'childrenGet' smart constructor.+data ChildrenGet = ChildrenGet+ { _cgFolderId :: !Text+ , _cgChildId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildrenGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgFolderId'+--+-- * 'cgChildId'+childrenGet+ :: Text -- ^ 'cgFolderId'+ -> Text -- ^ 'cgChildId'+ -> ChildrenGet+childrenGet pCgFolderId_ pCgChildId_ =+ ChildrenGet+ { _cgFolderId = pCgFolderId_+ , _cgChildId = pCgChildId_+ }++-- | The ID of the folder.+cgFolderId :: Lens' ChildrenGet Text+cgFolderId+ = lens _cgFolderId (\ s a -> s{_cgFolderId = a})++-- | The ID of the child.+cgChildId :: Lens' ChildrenGet Text+cgChildId+ = lens _cgChildId (\ s a -> s{_cgChildId = a})++instance GoogleRequest ChildrenGet where+ type Rs ChildrenGet = ChildReference+ requestClient ChildrenGet{..}+ = go _cgFolderId _cgChildId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ChildrenGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Children/Insert.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.Drive.Children.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)+--+-- Inserts a file into a folder.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.insert@.+module Network.Google.Resource.Drive.Children.Insert+ (+ -- * REST Resource+ ChildrenInsertResource++ -- * Creating a Request+ , childrenInsert+ , ChildrenInsert++ -- * Request Lenses+ , ciFolderId+ , ciPayload+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.children.insert@ method which the+-- 'ChildrenInsert' request conforms to.+type ChildrenInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "folderId" Text :>+ "children" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ChildReference :>+ Post '[JSON] ChildReference++-- | Inserts a file into a folder.+--+-- /See:/ 'childrenInsert' smart constructor.+data ChildrenInsert = ChildrenInsert+ { _ciFolderId :: !Text+ , _ciPayload :: !ChildReference+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildrenInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciFolderId'+--+-- * 'ciPayload'+childrenInsert+ :: Text -- ^ 'ciFolderId'+ -> ChildReference -- ^ 'ciPayload'+ -> ChildrenInsert+childrenInsert pCiFolderId_ pCiPayload_ =+ ChildrenInsert+ { _ciFolderId = pCiFolderId_+ , _ciPayload = pCiPayload_+ }++-- | The ID of the folder.+ciFolderId :: Lens' ChildrenInsert Text+ciFolderId+ = lens _ciFolderId (\ s a -> s{_ciFolderId = a})++-- | Multipart request metadata.+ciPayload :: Lens' ChildrenInsert ChildReference+ciPayload+ = lens _ciPayload (\ s a -> s{_ciPayload = a})++instance GoogleRequest ChildrenInsert where+ type Rs ChildrenInsert = ChildReference+ requestClient ChildrenInsert{..}+ = go _ciFolderId (Just AltJSON) _ciPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy ChildrenInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Children/List.hs view
@@ -0,0 +1,136 @@+{-# 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.Drive.Children.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)+--+-- Lists a folder\'s children.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.children.list@.+module Network.Google.Resource.Drive.Children.List+ (+ -- * REST Resource+ ChildrenListResource++ -- * Creating a Request+ , childrenList+ , ChildrenList++ -- * Request Lenses+ , cOrderBy+ , cFolderId+ , cQ+ , cPageToken+ , cMaxResults+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.children.list@ method which the+-- 'ChildrenList' request conforms to.+type ChildrenListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "folderId" Text :>+ "children" :>+ QueryParam "orderBy" Text :>+ QueryParam "q" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ChildList++-- | Lists a folder\'s children.+--+-- /See:/ 'childrenList' smart constructor.+data ChildrenList = ChildrenList+ { _cOrderBy :: !(Maybe Text)+ , _cFolderId :: !Text+ , _cQ :: !(Maybe Text)+ , _cPageToken :: !(Maybe Text)+ , _cMaxResults :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChildrenList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cOrderBy'+--+-- * 'cFolderId'+--+-- * 'cQ'+--+-- * 'cPageToken'+--+-- * 'cMaxResults'+childrenList+ :: Text -- ^ 'cFolderId'+ -> ChildrenList+childrenList pCFolderId_ =+ ChildrenList+ { _cOrderBy = Nothing+ , _cFolderId = pCFolderId_+ , _cQ = Nothing+ , _cPageToken = Nothing+ , _cMaxResults = 100+ }++-- | A comma-separated list of sort keys. Valid keys are \'createdDate\',+-- \'folder\', \'lastViewedByMeDate\', \'modifiedByMeDate\',+-- \'modifiedDate\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeDate\',+-- \'starred\', and \'title\'. Each key sorts ascending by default, but may+-- be reversed with the \'desc\' modifier. Example usage:+-- ?orderBy=folder,modifiedDate desc,title. Please note that there is a+-- current limitation for users with approximately one million files in+-- which the requested sort order is ignored.+cOrderBy :: Lens' ChildrenList (Maybe Text)+cOrderBy = lens _cOrderBy (\ s a -> s{_cOrderBy = a})++-- | The ID of the folder.+cFolderId :: Lens' ChildrenList Text+cFolderId+ = lens _cFolderId (\ s a -> s{_cFolderId = a})++-- | Query string for searching children.+cQ :: Lens' ChildrenList (Maybe Text)+cQ = lens _cQ (\ s a -> s{_cQ = a})++-- | Page token for children.+cPageToken :: Lens' ChildrenList (Maybe Text)+cPageToken+ = lens _cPageToken (\ s a -> s{_cPageToken = a})++-- | Maximum number of children to return.+cMaxResults :: Lens' ChildrenList Int32+cMaxResults+ = lens _cMaxResults (\ s a -> s{_cMaxResults = a}) .+ _Coerce++instance GoogleRequest ChildrenList where+ type Rs ChildrenList = ChildList+ requestClient ChildrenList{..}+ = go _cFolderId _cOrderBy _cQ _cPageToken+ (Just _cMaxResults)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ChildrenListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/Delete.hs view
@@ -0,0 +1,95 @@+{-# 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.Drive.Comments.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 comment.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.delete@.+module Network.Google.Resource.Drive.Comments.Delete+ (+ -- * REST Resource+ CommentsDeleteResource++ -- * Creating a Request+ , commentsDelete+ , CommentsDelete++ -- * Request Lenses+ , cdFileId+ , cdCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.delete@ method which the+-- 'CommentsDelete' request conforms to.+type CommentsDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a comment.+--+-- /See:/ 'commentsDelete' smart constructor.+data CommentsDelete = CommentsDelete+ { _cdFileId :: !Text+ , _cdCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdFileId'+--+-- * 'cdCommentId'+commentsDelete+ :: Text -- ^ 'cdFileId'+ -> Text -- ^ 'cdCommentId'+ -> CommentsDelete+commentsDelete pCdFileId_ pCdCommentId_ =+ CommentsDelete+ { _cdFileId = pCdFileId_+ , _cdCommentId = pCdCommentId_+ }++-- | The ID of the file.+cdFileId :: Lens' CommentsDelete Text+cdFileId = lens _cdFileId (\ s a -> s{_cdFileId = a})++-- | The ID of the comment.+cdCommentId :: Lens' CommentsDelete Text+cdCommentId+ = lens _cdCommentId (\ s a -> s{_cdCommentId = a})++instance GoogleRequest CommentsDelete where+ type Rs CommentsDelete = ()+ requestClient CommentsDelete{..}+ = go _cdFileId _cdCommentId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/Get.hs view
@@ -0,0 +1,109 @@+{-# 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.Drive.Comments.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)+--+-- Gets a comment by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.get@.+module Network.Google.Resource.Drive.Comments.Get+ (+ -- * REST Resource+ CommentsGetResource++ -- * Creating a Request+ , commentsGet+ , CommentsGet++ -- * Request Lenses+ , cgFileId+ , cgCommentId+ , cgIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.get@ method which the+-- 'CommentsGet' request conforms to.+type CommentsGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Comment++-- | Gets a comment by ID.+--+-- /See:/ 'commentsGet' smart constructor.+data CommentsGet = CommentsGet+ { _cgFileId :: !Text+ , _cgCommentId :: !Text+ , _cgIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgFileId'+--+-- * 'cgCommentId'+--+-- * 'cgIncludeDeleted'+commentsGet+ :: Text -- ^ 'cgFileId'+ -> Text -- ^ 'cgCommentId'+ -> CommentsGet+commentsGet pCgFileId_ pCgCommentId_ =+ CommentsGet+ { _cgFileId = pCgFileId_+ , _cgCommentId = pCgCommentId_+ , _cgIncludeDeleted = False+ }++-- | The ID of the file.+cgFileId :: Lens' CommentsGet Text+cgFileId = lens _cgFileId (\ s a -> s{_cgFileId = a})++-- | The ID of the comment.+cgCommentId :: Lens' CommentsGet Text+cgCommentId+ = lens _cgCommentId (\ s a -> s{_cgCommentId = a})++-- | If set, this will succeed when retrieving a deleted comment, and will+-- include any deleted replies.+cgIncludeDeleted :: Lens' CommentsGet Bool+cgIncludeDeleted+ = lens _cgIncludeDeleted+ (\ s a -> s{_cgIncludeDeleted = a})++instance GoogleRequest CommentsGet where+ type Rs CommentsGet = Comment+ requestClient CommentsGet{..}+ = go _cgFileId _cgCommentId (Just _cgIncludeDeleted)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/Insert.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.Drive.Comments.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 new comment on the given file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.insert@.+module Network.Google.Resource.Drive.Comments.Insert+ (+ -- * REST Resource+ CommentsInsertResource++ -- * Creating a Request+ , commentsInsert+ , CommentsInsert++ -- * Request Lenses+ , comPayload+ , comFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.insert@ method which the+-- 'CommentsInsert' request conforms to.+type CommentsInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Comment :> Post '[JSON] Comment++-- | Creates a new comment on the given file.+--+-- /See:/ 'commentsInsert' smart constructor.+data CommentsInsert = CommentsInsert+ { _comPayload :: !Comment+ , _comFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'comPayload'+--+-- * 'comFileId'+commentsInsert+ :: Comment -- ^ 'comPayload'+ -> Text -- ^ 'comFileId'+ -> CommentsInsert+commentsInsert pComPayload_ pComFileId_ =+ CommentsInsert+ { _comPayload = pComPayload_+ , _comFileId = pComFileId_+ }++-- | Multipart request metadata.+comPayload :: Lens' CommentsInsert Comment+comPayload+ = lens _comPayload (\ s a -> s{_comPayload = a})++-- | The ID of the file.+comFileId :: Lens' CommentsInsert Text+comFileId+ = lens _comFileId (\ s a -> s{_comFileId = a})++instance GoogleRequest CommentsInsert where+ type Rs CommentsInsert = Comment+ requestClient CommentsInsert{..}+ = go _comFileId (Just AltJSON) _comPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/List.hs view
@@ -0,0 +1,140 @@+{-# 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.Drive.Comments.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)+--+-- Lists a file\'s comments.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.list@.+module Network.Google.Resource.Drive.Comments.List+ (+ -- * REST Resource+ CommentsListResource++ -- * Creating a Request+ , commentsList+ , CommentsList++ -- * Request Lenses+ , cllUpdatedMin+ , cllPageToken+ , cllFileId+ , cllMaxResults+ , cllIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.list@ method which the+-- 'CommentsList' request conforms to.+type CommentsListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ QueryParam "updatedMin" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] CommentList++-- | Lists a file\'s comments.+--+-- /See:/ 'commentsList' smart constructor.+data CommentsList = CommentsList+ { _cllUpdatedMin :: !(Maybe Text)+ , _cllPageToken :: !(Maybe Text)+ , _cllFileId :: !Text+ , _cllMaxResults :: !(Textual Int32)+ , _cllIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cllUpdatedMin'+--+-- * 'cllPageToken'+--+-- * 'cllFileId'+--+-- * 'cllMaxResults'+--+-- * 'cllIncludeDeleted'+commentsList+ :: Text -- ^ 'cllFileId'+ -> CommentsList+commentsList pCllFileId_ =+ CommentsList+ { _cllUpdatedMin = Nothing+ , _cllPageToken = Nothing+ , _cllFileId = pCllFileId_+ , _cllMaxResults = 20+ , _cllIncludeDeleted = False+ }++-- | Only discussions that were updated after this timestamp will be+-- returned. Formatted as an RFC 3339 timestamp.+cllUpdatedMin :: Lens' CommentsList (Maybe Text)+cllUpdatedMin+ = lens _cllUpdatedMin+ (\ s a -> s{_cllUpdatedMin = a})++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- \"nextPageToken\" from the previous response.+cllPageToken :: Lens' CommentsList (Maybe Text)+cllPageToken+ = lens _cllPageToken (\ s a -> s{_cllPageToken = a})++-- | The ID of the file.+cllFileId :: Lens' CommentsList Text+cllFileId+ = lens _cllFileId (\ s a -> s{_cllFileId = a})++-- | The maximum number of discussions to include in the response, used for+-- paging.+cllMaxResults :: Lens' CommentsList Int32+cllMaxResults+ = lens _cllMaxResults+ (\ s a -> s{_cllMaxResults = a})+ . _Coerce++-- | If set, all comments and replies, including deleted comments and replies+-- (with content stripped) will be returned.+cllIncludeDeleted :: Lens' CommentsList Bool+cllIncludeDeleted+ = lens _cllIncludeDeleted+ (\ s a -> s{_cllIncludeDeleted = a})++instance GoogleRequest CommentsList where+ type Rs CommentsList = CommentList+ requestClient CommentsList{..}+ = go _cllFileId _cllUpdatedMin _cllPageToken+ (Just _cllMaxResults)+ (Just _cllIncludeDeleted)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/Patch.hs view
@@ -0,0 +1,107 @@+{-# 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.Drive.Comments.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 existing comment. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.patch@.+module Network.Google.Resource.Drive.Comments.Patch+ (+ -- * REST Resource+ CommentsPatchResource++ -- * Creating a Request+ , commentsPatch+ , CommentsPatch++ -- * Request Lenses+ , cpPayload+ , cpFileId+ , cpCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.patch@ method which the+-- 'CommentsPatch' request conforms to.+type CommentsPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Comment :> Patch '[JSON] Comment++-- | Updates an existing comment. This method supports patch semantics.+--+-- /See:/ 'commentsPatch' smart constructor.+data CommentsPatch = CommentsPatch+ { _cpPayload :: !Comment+ , _cpFileId :: !Text+ , _cpCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpPayload'+--+-- * 'cpFileId'+--+-- * 'cpCommentId'+commentsPatch+ :: Comment -- ^ 'cpPayload'+ -> Text -- ^ 'cpFileId'+ -> Text -- ^ 'cpCommentId'+ -> CommentsPatch+commentsPatch pCpPayload_ pCpFileId_ pCpCommentId_ =+ CommentsPatch+ { _cpPayload = pCpPayload_+ , _cpFileId = pCpFileId_+ , _cpCommentId = pCpCommentId_+ }++-- | Multipart request metadata.+cpPayload :: Lens' CommentsPatch Comment+cpPayload+ = lens _cpPayload (\ s a -> s{_cpPayload = a})++-- | The ID of the file.+cpFileId :: Lens' CommentsPatch Text+cpFileId = lens _cpFileId (\ s a -> s{_cpFileId = a})++-- | The ID of the comment.+cpCommentId :: Lens' CommentsPatch Text+cpCommentId+ = lens _cpCommentId (\ s a -> s{_cpCommentId = a})++instance GoogleRequest CommentsPatch where+ type Rs CommentsPatch = Comment+ requestClient CommentsPatch{..}+ = go _cpFileId _cpCommentId (Just AltJSON) _cpPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Comments/Update.hs view
@@ -0,0 +1,107 @@+{-# 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.Drive.Comments.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 existing comment.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.comments.update@.+module Network.Google.Resource.Drive.Comments.Update+ (+ -- * REST Resource+ CommentsUpdateResource++ -- * Creating a Request+ , commentsUpdate+ , CommentsUpdate++ -- * Request Lenses+ , cuPayload+ , cuFileId+ , cuCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.comments.update@ method which the+-- 'CommentsUpdate' request conforms to.+type CommentsUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Comment :> Put '[JSON] Comment++-- | Updates an existing comment.+--+-- /See:/ 'commentsUpdate' smart constructor.+data CommentsUpdate = CommentsUpdate+ { _cuPayload :: !Comment+ , _cuFileId :: !Text+ , _cuCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuPayload'+--+-- * 'cuFileId'+--+-- * 'cuCommentId'+commentsUpdate+ :: Comment -- ^ 'cuPayload'+ -> Text -- ^ 'cuFileId'+ -> Text -- ^ 'cuCommentId'+ -> CommentsUpdate+commentsUpdate pCuPayload_ pCuFileId_ pCuCommentId_ =+ CommentsUpdate+ { _cuPayload = pCuPayload_+ , _cuFileId = pCuFileId_+ , _cuCommentId = pCuCommentId_+ }++-- | Multipart request metadata.+cuPayload :: Lens' CommentsUpdate Comment+cuPayload+ = lens _cuPayload (\ s a -> s{_cuPayload = a})++-- | The ID of the file.+cuFileId :: Lens' CommentsUpdate Text+cuFileId = lens _cuFileId (\ s a -> s{_cuFileId = a})++-- | The ID of the comment.+cuCommentId :: Lens' CommentsUpdate Text+cuCommentId+ = lens _cuCommentId (\ s a -> s{_cuCommentId = a})++instance GoogleRequest CommentsUpdate where+ type Rs CommentsUpdate = Comment+ requestClient CommentsUpdate{..}+ = go _cuFileId _cuCommentId (Just AltJSON) _cuPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy CommentsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Copy.hs view
@@ -0,0 +1,183 @@+{-# 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.Drive.Files.Copy+-- 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 copy of the specified file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.copy@.+module Network.Google.Resource.Drive.Files.Copy+ (+ -- * REST Resource+ FilesCopyResource++ -- * Creating a Request+ , filesCopy+ , FilesCopy++ -- * Request Lenses+ , fcPinned+ , fcVisibility+ , fcTimedTextLanguage+ , fcPayload+ , fcTimedTextTrackName+ , fcOCRLanguage+ , fcConvert+ , fcFileId+ , fcOCR+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.copy@ method which the+-- 'FilesCopy' request conforms to.+type FilesCopyResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "copy" :>+ QueryParam "pinned" Bool :>+ QueryParam "visibility" FilesCopyVisibility :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :> Post '[JSON] File++-- | Creates a copy of the specified file.+--+-- /See:/ 'filesCopy' smart constructor.+data FilesCopy = FilesCopy+ { _fcPinned :: !Bool+ , _fcVisibility :: !FilesCopyVisibility+ , _fcTimedTextLanguage :: !(Maybe Text)+ , _fcPayload :: !File+ , _fcTimedTextTrackName :: !(Maybe Text)+ , _fcOCRLanguage :: !(Maybe Text)+ , _fcConvert :: !Bool+ , _fcFileId :: !Text+ , _fcOCR :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesCopy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcPinned'+--+-- * 'fcVisibility'+--+-- * 'fcTimedTextLanguage'+--+-- * 'fcPayload'+--+-- * 'fcTimedTextTrackName'+--+-- * 'fcOCRLanguage'+--+-- * 'fcConvert'+--+-- * 'fcFileId'+--+-- * 'fcOCR'+filesCopy+ :: File -- ^ 'fcPayload'+ -> Text -- ^ 'fcFileId'+ -> FilesCopy+filesCopy pFcPayload_ pFcFileId_ =+ FilesCopy+ { _fcPinned = False+ , _fcVisibility = FCVDefault+ , _fcTimedTextLanguage = Nothing+ , _fcPayload = pFcPayload_+ , _fcTimedTextTrackName = Nothing+ , _fcOCRLanguage = Nothing+ , _fcConvert = False+ , _fcFileId = pFcFileId_+ , _fcOCR = False+ }++-- | Whether to pin the head revision of the new copy. A file can have a+-- maximum of 200 pinned revisions.+fcPinned :: Lens' FilesCopy Bool+fcPinned = lens _fcPinned (\ s a -> s{_fcPinned = a})++-- | The visibility of the new file. This parameter is only relevant when the+-- source is not a native Google Doc and convert=false.+fcVisibility :: Lens' FilesCopy FilesCopyVisibility+fcVisibility+ = lens _fcVisibility (\ s a -> s{_fcVisibility = a})++-- | The language of the timed text.+fcTimedTextLanguage :: Lens' FilesCopy (Maybe Text)+fcTimedTextLanguage+ = lens _fcTimedTextLanguage+ (\ s a -> s{_fcTimedTextLanguage = a})++-- | Multipart request metadata.+fcPayload :: Lens' FilesCopy File+fcPayload+ = lens _fcPayload (\ s a -> s{_fcPayload = a})++-- | The timed text track name.+fcTimedTextTrackName :: Lens' FilesCopy (Maybe Text)+fcTimedTextTrackName+ = lens _fcTimedTextTrackName+ (\ s a -> s{_fcTimedTextTrackName = a})++-- | If ocr is true, hints at the language to use. Valid values are BCP 47+-- codes.+fcOCRLanguage :: Lens' FilesCopy (Maybe Text)+fcOCRLanguage+ = lens _fcOCRLanguage+ (\ s a -> s{_fcOCRLanguage = a})++-- | Whether to convert this file to the corresponding Google Docs format.+fcConvert :: Lens' FilesCopy Bool+fcConvert+ = lens _fcConvert (\ s a -> s{_fcConvert = a})++-- | The ID of the file to copy.+fcFileId :: Lens' FilesCopy Text+fcFileId = lens _fcFileId (\ s a -> s{_fcFileId = a})++-- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.+fcOCR :: Lens' FilesCopy Bool+fcOCR = lens _fcOCR (\ s a -> s{_fcOCR = a})++instance GoogleRequest FilesCopy where+ type Rs FilesCopy = File+ requestClient FilesCopy{..}+ = go _fcFileId (Just _fcPinned) (Just _fcVisibility)+ _fcTimedTextLanguage+ _fcTimedTextTrackName+ _fcOCRLanguage+ (Just _fcConvert)+ (Just _fcOCR)+ (Just AltJSON)+ _fcPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy FilesCopyResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Delete.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.Drive.Files.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)+--+-- Permanently deletes a file by ID. Skips the trash. The currently+-- authenticated user must own the file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.delete@.+module Network.Google.Resource.Drive.Files.Delete+ (+ -- * REST Resource+ FilesDeleteResource++ -- * Creating a Request+ , filesDelete+ , FilesDelete++ -- * Request Lenses+ , fdFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.delete@ method which the+-- 'FilesDelete' request conforms to.+type FilesDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Permanently deletes a file by ID. Skips the trash. The currently+-- authenticated user must own the file.+--+-- /See:/ 'filesDelete' smart constructor.+newtype FilesDelete = FilesDelete+ { _fdFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdFileId'+filesDelete+ :: Text -- ^ 'fdFileId'+ -> FilesDelete+filesDelete pFdFileId_ =+ FilesDelete+ { _fdFileId = pFdFileId_+ }++-- | The ID of the file to delete.+fdFileId :: Lens' FilesDelete Text+fdFileId = lens _fdFileId (\ s a -> s{_fdFileId = a})++instance GoogleRequest FilesDelete where+ type Rs FilesDelete = ()+ requestClient FilesDelete{..}+ = go _fdFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy FilesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/EmptyTrash.hs view
@@ -0,0 +1,69 @@+{-# 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.Drive.Files.EmptyTrash+-- 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)+--+-- Permanently deletes all of the user\'s trashed files.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.emptyTrash@.+module Network.Google.Resource.Drive.Files.EmptyTrash+ (+ -- * REST Resource+ FilesEmptyTrashResource++ -- * Creating a Request+ , filesEmptyTrash+ , FilesEmptyTrash++ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.emptyTrash@ method which the+-- 'FilesEmptyTrash' request conforms to.+type FilesEmptyTrashResource =+ "drive" :>+ "v2" :>+ "files" :>+ "trash" :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Permanently deletes all of the user\'s trashed files.+--+-- /See:/ 'filesEmptyTrash' smart constructor.+data FilesEmptyTrash =+ FilesEmptyTrash+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesEmptyTrash' with the minimum fields required to make a request.+--+filesEmptyTrash+ :: FilesEmptyTrash+filesEmptyTrash = FilesEmptyTrash++instance GoogleRequest FilesEmptyTrash where+ type Rs FilesEmptyTrash = ()+ requestClient FilesEmptyTrash{}+ = go (Just AltJSON) driveService+ where go+ = buildClient+ (Proxy :: Proxy FilesEmptyTrashResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/GenerateIds.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.Drive.Files.GenerateIds+-- 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)+--+-- Generates a set of file IDs which can be provided in insert requests.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.generateIds@.+module Network.Google.Resource.Drive.Files.GenerateIds+ (+ -- * REST Resource+ FilesGenerateIdsResource++ -- * Creating a Request+ , filesGenerateIds+ , FilesGenerateIds++ -- * Request Lenses+ , fgiSpace+ , fgiMaxResults+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.generateIds@ method which the+-- 'FilesGenerateIds' request conforms to.+type FilesGenerateIdsResource =+ "drive" :>+ "v2" :>+ "files" :>+ "generateIds" :>+ QueryParam "space" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] GeneratedIds++-- | Generates a set of file IDs which can be provided in insert requests.+--+-- /See:/ 'filesGenerateIds' smart constructor.+data FilesGenerateIds = FilesGenerateIds+ { _fgiSpace :: !Text+ , _fgiMaxResults :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesGenerateIds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fgiSpace'+--+-- * 'fgiMaxResults'+filesGenerateIds+ :: FilesGenerateIds+filesGenerateIds =+ FilesGenerateIds+ { _fgiSpace = "drive"+ , _fgiMaxResults = 10+ }++-- | The space in which the IDs can be used to create new files. Supported+-- values are \'drive\' and \'appDataFolder\'.+fgiSpace :: Lens' FilesGenerateIds Text+fgiSpace = lens _fgiSpace (\ s a -> s{_fgiSpace = a})++-- | Maximum number of IDs to return.+fgiMaxResults :: Lens' FilesGenerateIds Int32+fgiMaxResults+ = lens _fgiMaxResults+ (\ s a -> s{_fgiMaxResults = a})+ . _Coerce++instance GoogleRequest FilesGenerateIds where+ type Rs FilesGenerateIds = GeneratedIds+ requestClient FilesGenerateIds{..}+ = go (Just _fgiSpace) (Just _fgiMaxResults)+ (Just AltJSON)+ driveService+ where go+ = buildClient+ (Proxy :: Proxy FilesGenerateIdsResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Get.hs view
@@ -0,0 +1,159 @@+{-# 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.Drive.Files.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)+--+-- Gets a file\'s metadata by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.get@.+module Network.Google.Resource.Drive.Files.Get+ (+ -- * REST Resource+ FilesGetResource++ -- * Creating a Request+ , filesGet+ , FilesGet++ -- * Request Lenses+ , fgUpdateViewedDate+ , fgProjection+ , fgAcknowledgeAbuse+ , fgFileId+ , fgRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.get@ method which the+-- 'FilesGet' request conforms to.+type FilesGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "projection" FilesGetProjection :>+ QueryParam "acknowledgeAbuse" Bool :>+ QueryParam "revisionId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] File+ :<|>+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "projection" FilesGetProjection :>+ QueryParam "acknowledgeAbuse" Bool :>+ QueryParam "revisionId" Text :>+ QueryParam "alt" AltMedia :>+ Get '[OctetStream] Stream++-- | Gets a file\'s metadata by ID.+--+-- /See:/ 'filesGet' smart constructor.+data FilesGet = FilesGet+ { _fgUpdateViewedDate :: !Bool+ , _fgProjection :: !(Maybe FilesGetProjection)+ , _fgAcknowledgeAbuse :: !Bool+ , _fgFileId :: !Text+ , _fgRevisionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fgUpdateViewedDate'+--+-- * 'fgProjection'+--+-- * 'fgAcknowledgeAbuse'+--+-- * 'fgFileId'+--+-- * 'fgRevisionId'+filesGet+ :: Text -- ^ 'fgFileId'+ -> FilesGet+filesGet pFgFileId_ =+ FilesGet+ { _fgUpdateViewedDate = False+ , _fgProjection = Nothing+ , _fgAcknowledgeAbuse = False+ , _fgFileId = pFgFileId_+ , _fgRevisionId = Nothing+ }++-- | Deprecated: Use files.update with modifiedDateBehavior=noChange,+-- updateViewedDate=true and an empty request body.+fgUpdateViewedDate :: Lens' FilesGet Bool+fgUpdateViewedDate+ = lens _fgUpdateViewedDate+ (\ s a -> s{_fgUpdateViewedDate = a})++-- | This parameter is deprecated and has no function.+fgProjection :: Lens' FilesGet (Maybe FilesGetProjection)+fgProjection+ = lens _fgProjection (\ s a -> s{_fgProjection = a})++-- | Whether the user is acknowledging the risk of downloading known malware+-- or other abusive files.+fgAcknowledgeAbuse :: Lens' FilesGet Bool+fgAcknowledgeAbuse+ = lens _fgAcknowledgeAbuse+ (\ s a -> s{_fgAcknowledgeAbuse = a})++-- | The ID for the file in question.+fgFileId :: Lens' FilesGet Text+fgFileId = lens _fgFileId (\ s a -> s{_fgFileId = a})++-- | Specifies the Revision ID that should be downloaded. Ignored unless+-- alt=media is specified.+fgRevisionId :: Lens' FilesGet (Maybe Text)+fgRevisionId+ = lens _fgRevisionId (\ s a -> s{_fgRevisionId = a})++instance GoogleRequest FilesGet where+ type Rs FilesGet = File+ requestClient FilesGet{..}+ = go _fgFileId (Just _fgUpdateViewedDate)+ _fgProjection+ (Just _fgAcknowledgeAbuse)+ _fgRevisionId+ (Just AltJSON)+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy FilesGetResource)+ mempty++instance GoogleRequest (MediaDownload FilesGet) where+ type Rs (MediaDownload FilesGet) = Stream+ requestClient (MediaDownload FilesGet{..})+ = go _fgFileId (Just _fgUpdateViewedDate)+ _fgProjection+ (Just _fgAcknowledgeAbuse)+ _fgRevisionId+ (Just AltMedia)+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy FilesGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Insert.hs view
@@ -0,0 +1,221 @@+{-# 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.Drive.Files.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)+--+-- Insert a new file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.insert@.+module Network.Google.Resource.Drive.Files.Insert+ (+ -- * REST Resource+ FilesInsertResource++ -- * Creating a Request+ , filesInsert+ , FilesInsert++ -- * Request Lenses+ , fiPinned+ , fiVisibility+ , fiTimedTextLanguage+ , fiPayload+ , fiUseContentAsIndexableText+ , fiTimedTextTrackName+ , fiOCRLanguage+ , fiConvert+ , fiOCR+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.insert@ method which the+-- 'FilesInsert' request conforms to.+type FilesInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ QueryParam "pinned" Bool :>+ QueryParam "visibility" FilesInsertVisibility :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "useContentAsIndexableText" Bool :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :> Post '[JSON] File+ :<|>+ "upload" :>+ "drive" :>+ "v2" :>+ "files" :>+ QueryParam "pinned" Bool :>+ QueryParam "visibility" FilesInsertVisibility :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "useContentAsIndexableText" Bool :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ QueryParam "uploadType" AltMedia :>+ MultipartRelated '[JSON] File RequestBody :>+ Post '[JSON] File++-- | Insert a new file.+--+-- /See:/ 'filesInsert' smart constructor.+data FilesInsert = FilesInsert+ { _fiPinned :: !Bool+ , _fiVisibility :: !FilesInsertVisibility+ , _fiTimedTextLanguage :: !(Maybe Text)+ , _fiPayload :: !File+ , _fiUseContentAsIndexableText :: !Bool+ , _fiTimedTextTrackName :: !(Maybe Text)+ , _fiOCRLanguage :: !(Maybe Text)+ , _fiConvert :: !Bool+ , _fiOCR :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiPinned'+--+-- * 'fiVisibility'+--+-- * 'fiTimedTextLanguage'+--+-- * 'fiPayload'+--+-- * 'fiUseContentAsIndexableText'+--+-- * 'fiTimedTextTrackName'+--+-- * 'fiOCRLanguage'+--+-- * 'fiConvert'+--+-- * 'fiOCR'+filesInsert+ :: File -- ^ 'fiPayload'+ -> FilesInsert+filesInsert pFiPayload_ =+ FilesInsert+ { _fiPinned = False+ , _fiVisibility = Default+ , _fiTimedTextLanguage = Nothing+ , _fiPayload = pFiPayload_+ , _fiUseContentAsIndexableText = False+ , _fiTimedTextTrackName = Nothing+ , _fiOCRLanguage = Nothing+ , _fiConvert = False+ , _fiOCR = False+ }++-- | Whether to pin the head revision of the uploaded file. A file can have a+-- maximum of 200 pinned revisions.+fiPinned :: Lens' FilesInsert Bool+fiPinned = lens _fiPinned (\ s a -> s{_fiPinned = a})++-- | The visibility of the new file. This parameter is only relevant when+-- convert=false.+fiVisibility :: Lens' FilesInsert FilesInsertVisibility+fiVisibility+ = lens _fiVisibility (\ s a -> s{_fiVisibility = a})++-- | The language of the timed text.+fiTimedTextLanguage :: Lens' FilesInsert (Maybe Text)+fiTimedTextLanguage+ = lens _fiTimedTextLanguage+ (\ s a -> s{_fiTimedTextLanguage = a})++-- | Multipart request metadata.+fiPayload :: Lens' FilesInsert File+fiPayload+ = lens _fiPayload (\ s a -> s{_fiPayload = a})++-- | Whether to use the content as indexable text.+fiUseContentAsIndexableText :: Lens' FilesInsert Bool+fiUseContentAsIndexableText+ = lens _fiUseContentAsIndexableText+ (\ s a -> s{_fiUseContentAsIndexableText = a})++-- | The timed text track name.+fiTimedTextTrackName :: Lens' FilesInsert (Maybe Text)+fiTimedTextTrackName+ = lens _fiTimedTextTrackName+ (\ s a -> s{_fiTimedTextTrackName = a})++-- | If ocr is true, hints at the language to use. Valid values are BCP 47+-- codes.+fiOCRLanguage :: Lens' FilesInsert (Maybe Text)+fiOCRLanguage+ = lens _fiOCRLanguage+ (\ s a -> s{_fiOCRLanguage = a})++-- | Whether to convert this file to the corresponding Google Docs format.+fiConvert :: Lens' FilesInsert Bool+fiConvert+ = lens _fiConvert (\ s a -> s{_fiConvert = a})++-- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.+fiOCR :: Lens' FilesInsert Bool+fiOCR = lens _fiOCR (\ s a -> s{_fiOCR = a})++instance GoogleRequest FilesInsert where+ type Rs FilesInsert = File+ requestClient FilesInsert{..}+ = go (Just _fiPinned) (Just _fiVisibility)+ _fiTimedTextLanguage+ (Just _fiUseContentAsIndexableText)+ _fiTimedTextTrackName+ _fiOCRLanguage+ (Just _fiConvert)+ (Just _fiOCR)+ (Just AltJSON)+ _fiPayload+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy FilesInsertResource)+ mempty++instance GoogleRequest (MediaUpload FilesInsert)+ where+ type Rs (MediaUpload FilesInsert) = File+ requestClient (MediaUpload FilesInsert{..} body)+ = go (Just _fiPinned) (Just _fiVisibility)+ _fiTimedTextLanguage+ (Just _fiUseContentAsIndexableText)+ _fiTimedTextTrackName+ _fiOCRLanguage+ (Just _fiConvert)+ (Just _fiOCR)+ (Just AltJSON)+ (Just AltMedia)+ _fiPayload+ body+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy FilesInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/List.hs view
@@ -0,0 +1,158 @@+{-# 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.Drive.Files.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)+--+-- Lists the user\'s files.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.list@.+module Network.Google.Resource.Drive.Files.List+ (+ -- * REST Resource+ FilesListResource++ -- * Creating a Request+ , filesList+ , FilesList++ -- * Request Lenses+ , flOrderBy+ , flQ+ , flSpaces+ , flProjection+ , flCorpus+ , flPageToken+ , flMaxResults+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.list@ method which the+-- 'FilesList' request conforms to.+type FilesListResource =+ "drive" :>+ "v2" :>+ "files" :>+ QueryParam "orderBy" Text :>+ QueryParam "q" Text :>+ QueryParam "spaces" Text :>+ QueryParam "projection" FilesListProjection :>+ QueryParam "corpus" FilesListCorpus :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] FileList++-- | Lists the user\'s files.+--+-- /See:/ 'filesList' smart constructor.+data FilesList = FilesList+ { _flOrderBy :: !(Maybe Text)+ , _flQ :: !(Maybe Text)+ , _flSpaces :: !(Maybe Text)+ , _flProjection :: !(Maybe FilesListProjection)+ , _flCorpus :: !(Maybe FilesListCorpus)+ , _flPageToken :: !(Maybe Text)+ , _flMaxResults :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flOrderBy'+--+-- * 'flQ'+--+-- * 'flSpaces'+--+-- * 'flProjection'+--+-- * 'flCorpus'+--+-- * 'flPageToken'+--+-- * 'flMaxResults'+filesList+ :: FilesList+filesList =+ FilesList+ { _flOrderBy = Nothing+ , _flQ = Nothing+ , _flSpaces = Nothing+ , _flProjection = Nothing+ , _flCorpus = Nothing+ , _flPageToken = Nothing+ , _flMaxResults = 100+ }++-- | A comma-separated list of sort keys. Valid keys are \'createdDate\',+-- \'folder\', \'lastViewedByMeDate\', \'modifiedByMeDate\',+-- \'modifiedDate\', \'quotaBytesUsed\', \'recency\', \'sharedWithMeDate\',+-- \'starred\', and \'title\'. Each key sorts ascending by default, but may+-- be reversed with the \'desc\' modifier. Example usage:+-- ?orderBy=folder,modifiedDate desc,title. Please note that there is a+-- current limitation for users with approximately one million files in+-- which the requested sort order is ignored.+flOrderBy :: Lens' FilesList (Maybe Text)+flOrderBy+ = lens _flOrderBy (\ s a -> s{_flOrderBy = a})++-- | Query string for searching files.+flQ :: Lens' FilesList (Maybe Text)+flQ = lens _flQ (\ s a -> s{_flQ = a})++-- | A comma-separated list of spaces to query. Supported values are+-- \'drive\', \'appDataFolder\' and \'photos\'.+flSpaces :: Lens' FilesList (Maybe Text)+flSpaces = lens _flSpaces (\ s a -> s{_flSpaces = a})++-- | This parameter is deprecated and has no function.+flProjection :: Lens' FilesList (Maybe FilesListProjection)+flProjection+ = lens _flProjection (\ s a -> s{_flProjection = a})++-- | The body of items (files\/documents) to which the query applies.+flCorpus :: Lens' FilesList (Maybe FilesListCorpus)+flCorpus = lens _flCorpus (\ s a -> s{_flCorpus = a})++-- | Page token for files.+flPageToken :: Lens' FilesList (Maybe Text)+flPageToken+ = lens _flPageToken (\ s a -> s{_flPageToken = a})++-- | Maximum number of files to return.+flMaxResults :: Lens' FilesList Int32+flMaxResults+ = lens _flMaxResults (\ s a -> s{_flMaxResults = a})+ . _Coerce++instance GoogleRequest FilesList where+ type Rs FilesList = FileList+ requestClient FilesList{..}+ = go _flOrderBy _flQ _flSpaces _flProjection+ _flCorpus+ _flPageToken+ (Just _flMaxResults)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy FilesListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Patch.hs view
@@ -0,0 +1,271 @@+{-# 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.Drive.Files.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 file metadata and\/or content. This method supports patch+-- semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.patch@.+module Network.Google.Resource.Drive.Files.Patch+ (+ -- * REST Resource+ FilesPatchResource++ -- * Creating a Request+ , filesPatch+ , FilesPatch++ -- * Request Lenses+ , fpNewRevision+ , fpPinned+ , fpTimedTextLanguage+ , fpPayload+ , fpUpdateViewedDate+ , fpRemoveParents+ , fpModifiedDateBehavior+ , fpUseContentAsIndexableText+ , fpTimedTextTrackName+ , fpOCRLanguage+ , fpConvert+ , fpSetModifiedDate+ , fpFileId+ , fpAddParents+ , fpOCR+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.patch@ method which the+-- 'FilesPatch' request conforms to.+type FilesPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "newRevision" Bool :>+ QueryParam "pinned" Bool :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "removeParents" Text :>+ QueryParam "modifiedDateBehavior"+ FilesPatchModifiedDateBehavior+ :>+ QueryParam "useContentAsIndexableText" Bool :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "setModifiedDate" Bool :>+ QueryParam "addParents" Text :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :>+ Patch '[JSON] File++-- | Updates file metadata and\/or content. This method supports patch+-- semantics.+--+-- /See:/ 'filesPatch' smart constructor.+data FilesPatch = FilesPatch+ { _fpNewRevision :: !Bool+ , _fpPinned :: !Bool+ , _fpTimedTextLanguage :: !(Maybe Text)+ , _fpPayload :: !File+ , _fpUpdateViewedDate :: !Bool+ , _fpRemoveParents :: !(Maybe Text)+ , _fpModifiedDateBehavior :: !(Maybe FilesPatchModifiedDateBehavior)+ , _fpUseContentAsIndexableText :: !Bool+ , _fpTimedTextTrackName :: !(Maybe Text)+ , _fpOCRLanguage :: !(Maybe Text)+ , _fpConvert :: !Bool+ , _fpSetModifiedDate :: !Bool+ , _fpFileId :: !Text+ , _fpAddParents :: !(Maybe Text)+ , _fpOCR :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpNewRevision'+--+-- * 'fpPinned'+--+-- * 'fpTimedTextLanguage'+--+-- * 'fpPayload'+--+-- * 'fpUpdateViewedDate'+--+-- * 'fpRemoveParents'+--+-- * 'fpModifiedDateBehavior'+--+-- * 'fpUseContentAsIndexableText'+--+-- * 'fpTimedTextTrackName'+--+-- * 'fpOCRLanguage'+--+-- * 'fpConvert'+--+-- * 'fpSetModifiedDate'+--+-- * 'fpFileId'+--+-- * 'fpAddParents'+--+-- * 'fpOCR'+filesPatch+ :: File -- ^ 'fpPayload'+ -> Text -- ^ 'fpFileId'+ -> FilesPatch+filesPatch pFpPayload_ pFpFileId_ =+ FilesPatch+ { _fpNewRevision = True+ , _fpPinned = False+ , _fpTimedTextLanguage = Nothing+ , _fpPayload = pFpPayload_+ , _fpUpdateViewedDate = True+ , _fpRemoveParents = Nothing+ , _fpModifiedDateBehavior = Nothing+ , _fpUseContentAsIndexableText = False+ , _fpTimedTextTrackName = Nothing+ , _fpOCRLanguage = Nothing+ , _fpConvert = False+ , _fpSetModifiedDate = False+ , _fpFileId = pFpFileId_+ , _fpAddParents = Nothing+ , _fpOCR = False+ }++-- | Whether a blob upload should create a new revision. If false, the blob+-- data in the current head revision is replaced. If true or not set, a new+-- blob is created as head revision, and previous unpinned revisions are+-- preserved for a short period of time. Pinned revisions are stored+-- indefinitely, using additional storage quota, up to a maximum of 200+-- revisions. For details on how revisions are retained, see the Drive Help+-- Center.+fpNewRevision :: Lens' FilesPatch Bool+fpNewRevision+ = lens _fpNewRevision+ (\ s a -> s{_fpNewRevision = a})++-- | Whether to pin the new revision. A file can have a maximum of 200 pinned+-- revisions.+fpPinned :: Lens' FilesPatch Bool+fpPinned = lens _fpPinned (\ s a -> s{_fpPinned = a})++-- | The language of the timed text.+fpTimedTextLanguage :: Lens' FilesPatch (Maybe Text)+fpTimedTextLanguage+ = lens _fpTimedTextLanguage+ (\ s a -> s{_fpTimedTextLanguage = a})++-- | Multipart request metadata.+fpPayload :: Lens' FilesPatch File+fpPayload+ = lens _fpPayload (\ s a -> s{_fpPayload = a})++-- | Whether to update the view date after successfully updating the file.+fpUpdateViewedDate :: Lens' FilesPatch Bool+fpUpdateViewedDate+ = lens _fpUpdateViewedDate+ (\ s a -> s{_fpUpdateViewedDate = a})++-- | Comma-separated list of parent IDs to remove.+fpRemoveParents :: Lens' FilesPatch (Maybe Text)+fpRemoveParents+ = lens _fpRemoveParents+ (\ s a -> s{_fpRemoveParents = a})++-- | Determines the behavior in which modifiedDate is updated. This overrides+-- setModifiedDate.+fpModifiedDateBehavior :: Lens' FilesPatch (Maybe FilesPatchModifiedDateBehavior)+fpModifiedDateBehavior+ = lens _fpModifiedDateBehavior+ (\ s a -> s{_fpModifiedDateBehavior = a})++-- | Whether to use the content as indexable text.+fpUseContentAsIndexableText :: Lens' FilesPatch Bool+fpUseContentAsIndexableText+ = lens _fpUseContentAsIndexableText+ (\ s a -> s{_fpUseContentAsIndexableText = a})++-- | The timed text track name.+fpTimedTextTrackName :: Lens' FilesPatch (Maybe Text)+fpTimedTextTrackName+ = lens _fpTimedTextTrackName+ (\ s a -> s{_fpTimedTextTrackName = a})++-- | If ocr is true, hints at the language to use. Valid values are BCP 47+-- codes.+fpOCRLanguage :: Lens' FilesPatch (Maybe Text)+fpOCRLanguage+ = lens _fpOCRLanguage+ (\ s a -> s{_fpOCRLanguage = a})++-- | This parameter is deprecated and has no function.+fpConvert :: Lens' FilesPatch Bool+fpConvert+ = lens _fpConvert (\ s a -> s{_fpConvert = a})++-- | Whether to set the modified date with the supplied modified date.+fpSetModifiedDate :: Lens' FilesPatch Bool+fpSetModifiedDate+ = lens _fpSetModifiedDate+ (\ s a -> s{_fpSetModifiedDate = a})++-- | The ID of the file to update.+fpFileId :: Lens' FilesPatch Text+fpFileId = lens _fpFileId (\ s a -> s{_fpFileId = a})++-- | Comma-separated list of parent IDs to add.+fpAddParents :: Lens' FilesPatch (Maybe Text)+fpAddParents+ = lens _fpAddParents (\ s a -> s{_fpAddParents = a})++-- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.+fpOCR :: Lens' FilesPatch Bool+fpOCR = lens _fpOCR (\ s a -> s{_fpOCR = a})++instance GoogleRequest FilesPatch where+ type Rs FilesPatch = File+ requestClient FilesPatch{..}+ = go _fpFileId (Just _fpNewRevision) (Just _fpPinned)+ _fpTimedTextLanguage+ (Just _fpUpdateViewedDate)+ _fpRemoveParents+ _fpModifiedDateBehavior+ (Just _fpUseContentAsIndexableText)+ _fpTimedTextTrackName+ _fpOCRLanguage+ (Just _fpConvert)+ (Just _fpSetModifiedDate)+ _fpAddParents+ (Just _fpOCR)+ (Just AltJSON)+ _fpPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy FilesPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Touch.hs view
@@ -0,0 +1,82 @@+{-# 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.Drive.Files.Touch+-- 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)+--+-- Set the file\'s updated time to the current server time.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.touch@.+module Network.Google.Resource.Drive.Files.Touch+ (+ -- * REST Resource+ FilesTouchResource++ -- * Creating a Request+ , filesTouch+ , FilesTouch++ -- * Request Lenses+ , ftFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.touch@ method which the+-- 'FilesTouch' request conforms to.+type FilesTouchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "touch" :>+ QueryParam "alt" AltJSON :> Post '[JSON] File++-- | Set the file\'s updated time to the current server time.+--+-- /See:/ 'filesTouch' smart constructor.+newtype FilesTouch = FilesTouch+ { _ftFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesTouch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ftFileId'+filesTouch+ :: Text -- ^ 'ftFileId'+ -> FilesTouch+filesTouch pFtFileId_ =+ FilesTouch+ { _ftFileId = pFtFileId_+ }++-- | The ID of the file to update.+ftFileId :: Lens' FilesTouch Text+ftFileId = lens _ftFileId (\ s a -> s{_ftFileId = a})++instance GoogleRequest FilesTouch where+ type Rs FilesTouch = File+ requestClient FilesTouch{..}+ = go _ftFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy FilesTouchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Trash.hs view
@@ -0,0 +1,85 @@+{-# 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.Drive.Files.Trash+-- 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 a file to the trash. The currently authenticated user must own the+-- file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.trash@.+module Network.Google.Resource.Drive.Files.Trash+ (+ -- * REST Resource+ FilesTrashResource++ -- * Creating a Request+ , filesTrash+ , FilesTrash++ -- * Request Lenses+ , filFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.trash@ method which the+-- 'FilesTrash' request conforms to.+type FilesTrashResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "trash" :>+ QueryParam "alt" AltJSON :> Post '[JSON] File++-- | Moves a file to the trash. The currently authenticated user must own the+-- file.+--+-- /See:/ 'filesTrash' smart constructor.+newtype FilesTrash = FilesTrash+ { _filFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesTrash' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'filFileId'+filesTrash+ :: Text -- ^ 'filFileId'+ -> FilesTrash+filesTrash pFilFileId_ =+ FilesTrash+ { _filFileId = pFilFileId_+ }++-- | The ID of the file to trash.+filFileId :: Lens' FilesTrash Text+filFileId+ = lens _filFileId (\ s a -> s{_filFileId = a})++instance GoogleRequest FilesTrash where+ type Rs FilesTrash = File+ requestClient FilesTrash{..}+ = go _filFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy FilesTrashResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Untrash.hs view
@@ -0,0 +1,82 @@+{-# 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.Drive.Files.Untrash+-- 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)+--+-- Restores a file from the trash.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.untrash@.+module Network.Google.Resource.Drive.Files.Untrash+ (+ -- * REST Resource+ FilesUntrashResource++ -- * Creating a Request+ , filesUntrash+ , FilesUntrash++ -- * Request Lenses+ , fFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.untrash@ method which the+-- 'FilesUntrash' request conforms to.+type FilesUntrashResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "untrash" :>+ QueryParam "alt" AltJSON :> Post '[JSON] File++-- | Restores a file from the trash.+--+-- /See:/ 'filesUntrash' smart constructor.+newtype FilesUntrash = FilesUntrash+ { _fFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesUntrash' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fFileId'+filesUntrash+ :: Text -- ^ 'fFileId'+ -> FilesUntrash+filesUntrash pFFileId_ =+ FilesUntrash+ { _fFileId = pFFileId_+ }++-- | The ID of the file to untrash.+fFileId :: Lens' FilesUntrash Text+fFileId = lens _fFileId (\ s a -> s{_fFileId = a})++instance GoogleRequest FilesUntrash where+ type Rs FilesUntrash = File+ requestClient FilesUntrash{..}+ = go _fFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy FilesUntrashResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Update.hs view
@@ -0,0 +1,320 @@+{-# 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.Drive.Files.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 file metadata and\/or content.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.update@.+module Network.Google.Resource.Drive.Files.Update+ (+ -- * REST Resource+ FilesUpdateResource++ -- * Creating a Request+ , filesUpdate+ , FilesUpdate++ -- * Request Lenses+ , fuNewRevision+ , fuPinned+ , fuTimedTextLanguage+ , fuPayload+ , fuUpdateViewedDate+ , fuRemoveParents+ , fuModifiedDateBehavior+ , fuUseContentAsIndexableText+ , fuTimedTextTrackName+ , fuOCRLanguage+ , fuConvert+ , fuSetModifiedDate+ , fuFileId+ , fuAddParents+ , fuOCR+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.update@ method which the+-- 'FilesUpdate' request conforms to.+type FilesUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "newRevision" Bool :>+ QueryParam "pinned" Bool :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "removeParents" Text :>+ QueryParam "modifiedDateBehavior"+ FilesUpdateModifiedDateBehavior+ :>+ QueryParam "useContentAsIndexableText" Bool :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "setModifiedDate" Bool :>+ QueryParam "addParents" Text :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] File :>+ Put '[JSON] File+ :<|>+ "upload" :>+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ QueryParam "newRevision" Bool :>+ QueryParam "pinned" Bool :>+ QueryParam "timedTextLanguage" Text :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "removeParents" Text :>+ QueryParam "modifiedDateBehavior"+ FilesUpdateModifiedDateBehavior+ :>+ QueryParam "useContentAsIndexableText" Bool :>+ QueryParam "timedTextTrackName" Text :>+ QueryParam "ocrLanguage" Text :>+ QueryParam "convert" Bool :>+ QueryParam "setModifiedDate" Bool :>+ QueryParam "addParents" Text :>+ QueryParam "ocr" Bool :>+ QueryParam "alt" AltJSON :>+ QueryParam "uploadType" AltMedia :>+ MultipartRelated '[JSON] File+ RequestBody+ :> Put '[JSON] File++-- | Updates file metadata and\/or content.+--+-- /See:/ 'filesUpdate' smart constructor.+data FilesUpdate = FilesUpdate+ { _fuNewRevision :: !Bool+ , _fuPinned :: !Bool+ , _fuTimedTextLanguage :: !(Maybe Text)+ , _fuPayload :: !File+ , _fuUpdateViewedDate :: !Bool+ , _fuRemoveParents :: !(Maybe Text)+ , _fuModifiedDateBehavior :: !(Maybe FilesUpdateModifiedDateBehavior)+ , _fuUseContentAsIndexableText :: !Bool+ , _fuTimedTextTrackName :: !(Maybe Text)+ , _fuOCRLanguage :: !(Maybe Text)+ , _fuConvert :: !Bool+ , _fuSetModifiedDate :: !Bool+ , _fuFileId :: !Text+ , _fuAddParents :: !(Maybe Text)+ , _fuOCR :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fuNewRevision'+--+-- * 'fuPinned'+--+-- * 'fuTimedTextLanguage'+--+-- * 'fuPayload'+--+-- * 'fuUpdateViewedDate'+--+-- * 'fuRemoveParents'+--+-- * 'fuModifiedDateBehavior'+--+-- * 'fuUseContentAsIndexableText'+--+-- * 'fuTimedTextTrackName'+--+-- * 'fuOCRLanguage'+--+-- * 'fuConvert'+--+-- * 'fuSetModifiedDate'+--+-- * 'fuFileId'+--+-- * 'fuAddParents'+--+-- * 'fuOCR'+filesUpdate+ :: File -- ^ 'fuPayload'+ -> Text -- ^ 'fuFileId'+ -> FilesUpdate+filesUpdate pFuPayload_ pFuFileId_ =+ FilesUpdate+ { _fuNewRevision = True+ , _fuPinned = False+ , _fuTimedTextLanguage = Nothing+ , _fuPayload = pFuPayload_+ , _fuUpdateViewedDate = True+ , _fuRemoveParents = Nothing+ , _fuModifiedDateBehavior = Nothing+ , _fuUseContentAsIndexableText = False+ , _fuTimedTextTrackName = Nothing+ , _fuOCRLanguage = Nothing+ , _fuConvert = False+ , _fuSetModifiedDate = False+ , _fuFileId = pFuFileId_+ , _fuAddParents = Nothing+ , _fuOCR = False+ }++-- | Whether a blob upload should create a new revision. If false, the blob+-- data in the current head revision is replaced. If true or not set, a new+-- blob is created as head revision, and previous unpinned revisions are+-- preserved for a short period of time. Pinned revisions are stored+-- indefinitely, using additional storage quota, up to a maximum of 200+-- revisions. For details on how revisions are retained, see the Drive Help+-- Center.+fuNewRevision :: Lens' FilesUpdate Bool+fuNewRevision+ = lens _fuNewRevision+ (\ s a -> s{_fuNewRevision = a})++-- | Whether to pin the new revision. A file can have a maximum of 200 pinned+-- revisions.+fuPinned :: Lens' FilesUpdate Bool+fuPinned = lens _fuPinned (\ s a -> s{_fuPinned = a})++-- | The language of the timed text.+fuTimedTextLanguage :: Lens' FilesUpdate (Maybe Text)+fuTimedTextLanguage+ = lens _fuTimedTextLanguage+ (\ s a -> s{_fuTimedTextLanguage = a})++-- | Multipart request metadata.+fuPayload :: Lens' FilesUpdate File+fuPayload+ = lens _fuPayload (\ s a -> s{_fuPayload = a})++-- | Whether to update the view date after successfully updating the file.+fuUpdateViewedDate :: Lens' FilesUpdate Bool+fuUpdateViewedDate+ = lens _fuUpdateViewedDate+ (\ s a -> s{_fuUpdateViewedDate = a})++-- | Comma-separated list of parent IDs to remove.+fuRemoveParents :: Lens' FilesUpdate (Maybe Text)+fuRemoveParents+ = lens _fuRemoveParents+ (\ s a -> s{_fuRemoveParents = a})++-- | Determines the behavior in which modifiedDate is updated. This overrides+-- setModifiedDate.+fuModifiedDateBehavior :: Lens' FilesUpdate (Maybe FilesUpdateModifiedDateBehavior)+fuModifiedDateBehavior+ = lens _fuModifiedDateBehavior+ (\ s a -> s{_fuModifiedDateBehavior = a})++-- | Whether to use the content as indexable text.+fuUseContentAsIndexableText :: Lens' FilesUpdate Bool+fuUseContentAsIndexableText+ = lens _fuUseContentAsIndexableText+ (\ s a -> s{_fuUseContentAsIndexableText = a})++-- | The timed text track name.+fuTimedTextTrackName :: Lens' FilesUpdate (Maybe Text)+fuTimedTextTrackName+ = lens _fuTimedTextTrackName+ (\ s a -> s{_fuTimedTextTrackName = a})++-- | If ocr is true, hints at the language to use. Valid values are BCP 47+-- codes.+fuOCRLanguage :: Lens' FilesUpdate (Maybe Text)+fuOCRLanguage+ = lens _fuOCRLanguage+ (\ s a -> s{_fuOCRLanguage = a})++-- | This parameter is deprecated and has no function.+fuConvert :: Lens' FilesUpdate Bool+fuConvert+ = lens _fuConvert (\ s a -> s{_fuConvert = a})++-- | Whether to set the modified date with the supplied modified date.+fuSetModifiedDate :: Lens' FilesUpdate Bool+fuSetModifiedDate+ = lens _fuSetModifiedDate+ (\ s a -> s{_fuSetModifiedDate = a})++-- | The ID of the file to update.+fuFileId :: Lens' FilesUpdate Text+fuFileId = lens _fuFileId (\ s a -> s{_fuFileId = a})++-- | Comma-separated list of parent IDs to add.+fuAddParents :: Lens' FilesUpdate (Maybe Text)+fuAddParents+ = lens _fuAddParents (\ s a -> s{_fuAddParents = a})++-- | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.+fuOCR :: Lens' FilesUpdate Bool+fuOCR = lens _fuOCR (\ s a -> s{_fuOCR = a})++instance GoogleRequest FilesUpdate where+ type Rs FilesUpdate = File+ requestClient FilesUpdate{..}+ = go _fuFileId (Just _fuNewRevision) (Just _fuPinned)+ _fuTimedTextLanguage+ (Just _fuUpdateViewedDate)+ _fuRemoveParents+ _fuModifiedDateBehavior+ (Just _fuUseContentAsIndexableText)+ _fuTimedTextTrackName+ _fuOCRLanguage+ (Just _fuConvert)+ (Just _fuSetModifiedDate)+ _fuAddParents+ (Just _fuOCR)+ (Just AltJSON)+ _fuPayload+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy FilesUpdateResource)+ mempty++instance GoogleRequest (MediaUpload FilesUpdate)+ where+ type Rs (MediaUpload FilesUpdate) = File+ requestClient (MediaUpload FilesUpdate{..} body)+ = go _fuFileId (Just _fuNewRevision) (Just _fuPinned)+ _fuTimedTextLanguage+ (Just _fuUpdateViewedDate)+ _fuRemoveParents+ _fuModifiedDateBehavior+ (Just _fuUseContentAsIndexableText)+ _fuTimedTextTrackName+ _fuOCRLanguage+ (Just _fuConvert)+ (Just _fuSetModifiedDate)+ _fuAddParents+ (Just _fuOCR)+ (Just AltJSON)+ (Just AltMedia)+ _fuPayload+ body+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy FilesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Files/Watch.hs view
@@ -0,0 +1,175 @@+{-# 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.Drive.Files.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)+--+-- Subscribe to changes on a file+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.files.watch@.+module Network.Google.Resource.Drive.Files.Watch+ (+ -- * REST Resource+ FilesWatchResource++ -- * Creating a Request+ , filesWatch+ , FilesWatch++ -- * Request Lenses+ , fwPayload+ , fwUpdateViewedDate+ , fwProjection+ , fwAcknowledgeAbuse+ , fwFileId+ , fwRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.files.watch@ method which the+-- 'FilesWatch' request conforms to.+type FilesWatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "watch" :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "projection" FilesWatchProjection :>+ QueryParam "acknowledgeAbuse" Bool :>+ QueryParam "revisionId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Channel :> Post '[JSON] Channel+ :<|>+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "watch" :>+ QueryParam "updateViewedDate" Bool :>+ QueryParam "projection" FilesWatchProjection :>+ QueryParam "acknowledgeAbuse" Bool :>+ QueryParam "revisionId" Text :>+ QueryParam "alt" AltMedia :>+ Post '[OctetStream] Stream++-- | Subscribe to changes on a file+--+-- /See:/ 'filesWatch' smart constructor.+data FilesWatch = FilesWatch+ { _fwPayload :: !Channel+ , _fwUpdateViewedDate :: !Bool+ , _fwProjection :: !(Maybe FilesWatchProjection)+ , _fwAcknowledgeAbuse :: !Bool+ , _fwFileId :: !Text+ , _fwRevisionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilesWatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fwPayload'+--+-- * 'fwUpdateViewedDate'+--+-- * 'fwProjection'+--+-- * 'fwAcknowledgeAbuse'+--+-- * 'fwFileId'+--+-- * 'fwRevisionId'+filesWatch+ :: Channel -- ^ 'fwPayload'+ -> Text -- ^ 'fwFileId'+ -> FilesWatch+filesWatch pFwPayload_ pFwFileId_ =+ FilesWatch+ { _fwPayload = pFwPayload_+ , _fwUpdateViewedDate = False+ , _fwProjection = Nothing+ , _fwAcknowledgeAbuse = False+ , _fwFileId = pFwFileId_+ , _fwRevisionId = Nothing+ }++-- | Multipart request metadata.+fwPayload :: Lens' FilesWatch Channel+fwPayload+ = lens _fwPayload (\ s a -> s{_fwPayload = a})++-- | Deprecated: Use files.update with modifiedDateBehavior=noChange,+-- updateViewedDate=true and an empty request body.+fwUpdateViewedDate :: Lens' FilesWatch Bool+fwUpdateViewedDate+ = lens _fwUpdateViewedDate+ (\ s a -> s{_fwUpdateViewedDate = a})++-- | This parameter is deprecated and has no function.+fwProjection :: Lens' FilesWatch (Maybe FilesWatchProjection)+fwProjection+ = lens _fwProjection (\ s a -> s{_fwProjection = a})++-- | Whether the user is acknowledging the risk of downloading known malware+-- or other abusive files.+fwAcknowledgeAbuse :: Lens' FilesWatch Bool+fwAcknowledgeAbuse+ = lens _fwAcknowledgeAbuse+ (\ s a -> s{_fwAcknowledgeAbuse = a})++-- | The ID for the file in question.+fwFileId :: Lens' FilesWatch Text+fwFileId = lens _fwFileId (\ s a -> s{_fwFileId = a})++-- | Specifies the Revision ID that should be downloaded. Ignored unless+-- alt=media is specified.+fwRevisionId :: Lens' FilesWatch (Maybe Text)+fwRevisionId+ = lens _fwRevisionId (\ s a -> s{_fwRevisionId = a})++instance GoogleRequest FilesWatch where+ type Rs FilesWatch = Channel+ requestClient FilesWatch{..}+ = go _fwFileId (Just _fwUpdateViewedDate)+ _fwProjection+ (Just _fwAcknowledgeAbuse)+ _fwRevisionId+ (Just AltJSON)+ _fwPayload+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy FilesWatchResource)+ mempty++instance GoogleRequest (MediaDownload FilesWatch)+ where+ type Rs (MediaDownload FilesWatch) = Stream+ requestClient (MediaDownload FilesWatch{..})+ = go _fwFileId (Just _fwUpdateViewedDate)+ _fwProjection+ (Just _fwAcknowledgeAbuse)+ _fwRevisionId+ (Just AltMedia)+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy FilesWatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Parents/Delete.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.Drive.Parents.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)+--+-- Removes a parent from a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.delete@.+module Network.Google.Resource.Drive.Parents.Delete+ (+ -- * REST Resource+ ParentsDeleteResource++ -- * Creating a Request+ , parentsDelete+ , ParentsDelete++ -- * Request Lenses+ , pddFileId+ , pddParentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.parents.delete@ method which the+-- 'ParentsDelete' request conforms to.+type ParentsDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "parents" :>+ Capture "parentId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a parent from a file.+--+-- /See:/ 'parentsDelete' smart constructor.+data ParentsDelete = ParentsDelete+ { _pddFileId :: !Text+ , _pddParentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pddFileId'+--+-- * 'pddParentId'+parentsDelete+ :: Text -- ^ 'pddFileId'+ -> Text -- ^ 'pddParentId'+ -> ParentsDelete+parentsDelete pPddFileId_ pPddParentId_ =+ ParentsDelete+ { _pddFileId = pPddFileId_+ , _pddParentId = pPddParentId_+ }++-- | The ID of the file.+pddFileId :: Lens' ParentsDelete Text+pddFileId+ = lens _pddFileId (\ s a -> s{_pddFileId = a})++-- | The ID of the parent.+pddParentId :: Lens' ParentsDelete Text+pddParentId+ = lens _pddParentId (\ s a -> s{_pddParentId = a})++instance GoogleRequest ParentsDelete where+ type Rs ParentsDelete = ()+ requestClient ParentsDelete{..}+ = go _pddFileId _pddParentId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ParentsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Parents/Get.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.Drive.Parents.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)+--+-- Gets a specific parent reference.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.get@.+module Network.Google.Resource.Drive.Parents.Get+ (+ -- * REST Resource+ ParentsGetResource++ -- * Creating a Request+ , parentsGet+ , ParentsGet++ -- * Request Lenses+ , pg1FileId+ , pg1ParentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.parents.get@ method which the+-- 'ParentsGet' request conforms to.+type ParentsGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "parents" :>+ Capture "parentId" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ParentReference++-- | Gets a specific parent reference.+--+-- /See:/ 'parentsGet' smart constructor.+data ParentsGet = ParentsGet+ { _pg1FileId :: !Text+ , _pg1ParentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pg1FileId'+--+-- * 'pg1ParentId'+parentsGet+ :: Text -- ^ 'pg1FileId'+ -> Text -- ^ 'pg1ParentId'+ -> ParentsGet+parentsGet pPg1FileId_ pPg1ParentId_ =+ ParentsGet+ { _pg1FileId = pPg1FileId_+ , _pg1ParentId = pPg1ParentId_+ }++-- | The ID of the file.+pg1FileId :: Lens' ParentsGet Text+pg1FileId+ = lens _pg1FileId (\ s a -> s{_pg1FileId = a})++-- | The ID of the parent.+pg1ParentId :: Lens' ParentsGet Text+pg1ParentId+ = lens _pg1ParentId (\ s a -> s{_pg1ParentId = a})++instance GoogleRequest ParentsGet where+ type Rs ParentsGet = ParentReference+ requestClient ParentsGet{..}+ = go _pg1FileId _pg1ParentId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy ParentsGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Parents/Insert.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.Drive.Parents.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 a parent folder for a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.insert@.+module Network.Google.Resource.Drive.Parents.Insert+ (+ -- * REST Resource+ ParentsInsertResource++ -- * Creating a Request+ , parentsInsert+ , ParentsInsert++ -- * Request Lenses+ , paraPayload+ , paraFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.parents.insert@ method which the+-- 'ParentsInsert' request conforms to.+type ParentsInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "parents" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ParentReference :>+ Post '[JSON] ParentReference++-- | Adds a parent folder for a file.+--+-- /See:/ 'parentsInsert' smart constructor.+data ParentsInsert = ParentsInsert+ { _paraPayload :: !ParentReference+ , _paraFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paraPayload'+--+-- * 'paraFileId'+parentsInsert+ :: ParentReference -- ^ 'paraPayload'+ -> Text -- ^ 'paraFileId'+ -> ParentsInsert+parentsInsert pParaPayload_ pParaFileId_ =+ ParentsInsert+ { _paraPayload = pParaPayload_+ , _paraFileId = pParaFileId_+ }++-- | Multipart request metadata.+paraPayload :: Lens' ParentsInsert ParentReference+paraPayload+ = lens _paraPayload (\ s a -> s{_paraPayload = a})++-- | The ID of the file.+paraFileId :: Lens' ParentsInsert Text+paraFileId+ = lens _paraFileId (\ s a -> s{_paraFileId = a})++instance GoogleRequest ParentsInsert where+ type Rs ParentsInsert = ParentReference+ requestClient ParentsInsert{..}+ = go _paraFileId (Just AltJSON) _paraPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy ParentsInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Parents/List.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.Drive.Parents.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)+--+-- Lists a file\'s parents.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.parents.list@.+module Network.Google.Resource.Drive.Parents.List+ (+ -- * REST Resource+ ParentsListResource++ -- * Creating a Request+ , parentsList+ , ParentsList++ -- * Request Lenses+ , parFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.parents.list@ method which the+-- 'ParentsList' request conforms to.+type ParentsListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "parents" :>+ QueryParam "alt" AltJSON :> Get '[JSON] ParentList++-- | Lists a file\'s parents.+--+-- /See:/ 'parentsList' smart constructor.+newtype ParentsList = ParentsList+ { _parFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ParentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'parFileId'+parentsList+ :: Text -- ^ 'parFileId'+ -> ParentsList+parentsList pParFileId_ =+ ParentsList+ { _parFileId = pParFileId_+ }++-- | The ID of the file.+parFileId :: Lens' ParentsList Text+parFileId+ = lens _parFileId (\ s a -> s{_parFileId = a})++instance GoogleRequest ParentsList where+ type Rs ParentsList = ParentList+ requestClient ParentsList{..}+ = go _parFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy ParentsListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/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.Drive.Permissions.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 permission from a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.delete@.+module Network.Google.Resource.Drive.Permissions.Delete+ (+ -- * REST Resource+ PermissionsDeleteResource++ -- * Creating a Request+ , permissionsDelete+ , PermissionsDelete++ -- * Request Lenses+ , pFileId+ , pPermissionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.delete@ method which the+-- 'PermissionsDelete' request conforms to.+type PermissionsDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ Capture "permissionId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a permission from a file.+--+-- /See:/ 'permissionsDelete' smart constructor.+data PermissionsDelete = PermissionsDelete+ { _pFileId :: !Text+ , _pPermissionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pFileId'+--+-- * 'pPermissionId'+permissionsDelete+ :: Text -- ^ 'pFileId'+ -> Text -- ^ 'pPermissionId'+ -> PermissionsDelete+permissionsDelete pPFileId_ pPPermissionId_ =+ PermissionsDelete+ { _pFileId = pPFileId_+ , _pPermissionId = pPPermissionId_+ }++-- | The ID for the file.+pFileId :: Lens' PermissionsDelete Text+pFileId = lens _pFileId (\ s a -> s{_pFileId = a})++-- | The ID for the permission.+pPermissionId :: Lens' PermissionsDelete Text+pPermissionId+ = lens _pPermissionId+ (\ s a -> s{_pPermissionId = a})++instance GoogleRequest PermissionsDelete where+ type Rs PermissionsDelete = ()+ requestClient PermissionsDelete{..}+ = go _pFileId _pPermissionId (Just AltJSON)+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/Get.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.Drive.Permissions.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)+--+-- Gets a permission by ID.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.get@.+module Network.Google.Resource.Drive.Permissions.Get+ (+ -- * REST Resource+ PermissionsGetResource++ -- * Creating a Request+ , permissionsGet+ , PermissionsGet++ -- * Request Lenses+ , pggFileId+ , pggPermissionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.get@ method which the+-- 'PermissionsGet' request conforms to.+type PermissionsGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ Capture "permissionId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Permission++-- | Gets a permission by ID.+--+-- /See:/ 'permissionsGet' smart constructor.+data PermissionsGet = PermissionsGet+ { _pggFileId :: !Text+ , _pggPermissionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pggFileId'+--+-- * 'pggPermissionId'+permissionsGet+ :: Text -- ^ 'pggFileId'+ -> Text -- ^ 'pggPermissionId'+ -> PermissionsGet+permissionsGet pPggFileId_ pPggPermissionId_ =+ PermissionsGet+ { _pggFileId = pPggFileId_+ , _pggPermissionId = pPggPermissionId_+ }++-- | The ID for the file.+pggFileId :: Lens' PermissionsGet Text+pggFileId+ = lens _pggFileId (\ s a -> s{_pggFileId = a})++-- | The ID for the permission.+pggPermissionId :: Lens' PermissionsGet Text+pggPermissionId+ = lens _pggPermissionId+ (\ s a -> s{_pggPermissionId = a})++instance GoogleRequest PermissionsGet where+ type Rs PermissionsGet = Permission+ requestClient PermissionsGet{..}+ = go _pggFileId _pggPermissionId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy PermissionsGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/GetIdForEmail.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.Drive.Permissions.GetIdForEmail+-- 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 permission ID for an email address.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.getIdForEmail@.+module Network.Google.Resource.Drive.Permissions.GetIdForEmail+ (+ -- * REST Resource+ PermissionsGetIdForEmailResource++ -- * Creating a Request+ , permissionsGetIdForEmail+ , PermissionsGetIdForEmail++ -- * Request Lenses+ , pgifeEmail+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.getIdForEmail@ method which the+-- 'PermissionsGetIdForEmail' request conforms to.+type PermissionsGetIdForEmailResource =+ "drive" :>+ "v2" :>+ "permissionIds" :>+ Capture "email" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] PermissionId++-- | Returns the permission ID for an email address.+--+-- /See:/ 'permissionsGetIdForEmail' smart constructor.+newtype PermissionsGetIdForEmail = PermissionsGetIdForEmail+ { _pgifeEmail :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsGetIdForEmail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgifeEmail'+permissionsGetIdForEmail+ :: Text -- ^ 'pgifeEmail'+ -> PermissionsGetIdForEmail+permissionsGetIdForEmail pPgifeEmail_ =+ PermissionsGetIdForEmail+ { _pgifeEmail = pPgifeEmail_+ }++-- | The email address for which to return a permission ID+pgifeEmail :: Lens' PermissionsGetIdForEmail Text+pgifeEmail+ = lens _pgifeEmail (\ s a -> s{_pgifeEmail = a})++instance GoogleRequest PermissionsGetIdForEmail where+ type Rs PermissionsGetIdForEmail = PermissionId+ requestClient PermissionsGetIdForEmail{..}+ = go _pgifeEmail (Just AltJSON) driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsGetIdForEmailResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/Insert.hs view
@@ -0,0 +1,125 @@+{-# 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.Drive.Permissions.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)+--+-- Inserts a permission for a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.insert@.+module Network.Google.Resource.Drive.Permissions.Insert+ (+ -- * REST Resource+ PermissionsInsertResource++ -- * Creating a Request+ , permissionsInsert+ , PermissionsInsert++ -- * Request Lenses+ , piiPayload+ , piiEmailMessage+ , piiFileId+ , piiSendNotificationEmails+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.insert@ method which the+-- 'PermissionsInsert' request conforms to.+type PermissionsInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ QueryParam "emailMessage" Text :>+ QueryParam "sendNotificationEmails" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Permission :> Post '[JSON] Permission++-- | Inserts a permission for a file.+--+-- /See:/ 'permissionsInsert' smart constructor.+data PermissionsInsert = PermissionsInsert+ { _piiPayload :: !Permission+ , _piiEmailMessage :: !(Maybe Text)+ , _piiFileId :: !Text+ , _piiSendNotificationEmails :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piiPayload'+--+-- * 'piiEmailMessage'+--+-- * 'piiFileId'+--+-- * 'piiSendNotificationEmails'+permissionsInsert+ :: Permission -- ^ 'piiPayload'+ -> Text -- ^ 'piiFileId'+ -> PermissionsInsert+permissionsInsert pPiiPayload_ pPiiFileId_ =+ PermissionsInsert+ { _piiPayload = pPiiPayload_+ , _piiEmailMessage = Nothing+ , _piiFileId = pPiiFileId_+ , _piiSendNotificationEmails = True+ }++-- | Multipart request metadata.+piiPayload :: Lens' PermissionsInsert Permission+piiPayload+ = lens _piiPayload (\ s a -> s{_piiPayload = a})++-- | A custom message to include in notification emails.+piiEmailMessage :: Lens' PermissionsInsert (Maybe Text)+piiEmailMessage+ = lens _piiEmailMessage+ (\ s a -> s{_piiEmailMessage = a})++-- | The ID for the file.+piiFileId :: Lens' PermissionsInsert Text+piiFileId+ = lens _piiFileId (\ s a -> s{_piiFileId = a})++-- | Whether to send notification emails when sharing to users or groups.+-- This parameter is ignored and an email is sent if the role is owner.+piiSendNotificationEmails :: Lens' PermissionsInsert Bool+piiSendNotificationEmails+ = lens _piiSendNotificationEmails+ (\ s a -> s{_piiSendNotificationEmails = a})++instance GoogleRequest PermissionsInsert where+ type Rs PermissionsInsert = Permission+ requestClient PermissionsInsert{..}+ = go _piiFileId _piiEmailMessage+ (Just _piiSendNotificationEmails)+ (Just AltJSON)+ _piiPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/List.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.Drive.Permissions.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)+--+-- Lists a file\'s permissions.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.list@.+module Network.Google.Resource.Drive.Permissions.List+ (+ -- * REST Resource+ PermissionsListResource++ -- * Creating a Request+ , permissionsList+ , PermissionsList++ -- * Request Lenses+ , plFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.list@ method which the+-- 'PermissionsList' request conforms to.+type PermissionsListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] PermissionList++-- | Lists a file\'s permissions.+--+-- /See:/ 'permissionsList' smart constructor.+newtype PermissionsList = PermissionsList+ { _plFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plFileId'+permissionsList+ :: Text -- ^ 'plFileId'+ -> PermissionsList+permissionsList pPlFileId_ =+ PermissionsList+ { _plFileId = pPlFileId_+ }++-- | The ID for the file.+plFileId :: Lens' PermissionsList Text+plFileId = lens _plFileId (\ s a -> s{_plFileId = a})++instance GoogleRequest PermissionsList where+ type Rs PermissionsList = PermissionList+ requestClient PermissionsList{..}+ = go _plFileId (Just AltJSON) driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/Patch.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.Drive.Permissions.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 a permission using patch semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.patch@.+module Network.Google.Resource.Drive.Permissions.Patch+ (+ -- * REST Resource+ PermissionsPatchResource++ -- * Creating a Request+ , permissionsPatch+ , PermissionsPatch++ -- * Request Lenses+ , pppPayload+ , pppTransferOwnership+ , pppFileId+ , pppPermissionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.patch@ method which the+-- 'PermissionsPatch' request conforms to.+type PermissionsPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ Capture "permissionId" Text :>+ QueryParam "transferOwnership" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Permission :>+ Patch '[JSON] Permission++-- | Updates a permission using patch semantics.+--+-- /See:/ 'permissionsPatch' smart constructor.+data PermissionsPatch = PermissionsPatch+ { _pppPayload :: !Permission+ , _pppTransferOwnership :: !Bool+ , _pppFileId :: !Text+ , _pppPermissionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pppPayload'+--+-- * 'pppTransferOwnership'+--+-- * 'pppFileId'+--+-- * 'pppPermissionId'+permissionsPatch+ :: Permission -- ^ 'pppPayload'+ -> Text -- ^ 'pppFileId'+ -> Text -- ^ 'pppPermissionId'+ -> PermissionsPatch+permissionsPatch pPppPayload_ pPppFileId_ pPppPermissionId_ =+ PermissionsPatch+ { _pppPayload = pPppPayload_+ , _pppTransferOwnership = False+ , _pppFileId = pPppFileId_+ , _pppPermissionId = pPppPermissionId_+ }++-- | Multipart request metadata.+pppPayload :: Lens' PermissionsPatch Permission+pppPayload+ = lens _pppPayload (\ s a -> s{_pppPayload = a})++-- | Whether changing a role to \'owner\' downgrades the current owners to+-- writers. Does nothing if the specified role is not \'owner\'.+pppTransferOwnership :: Lens' PermissionsPatch Bool+pppTransferOwnership+ = lens _pppTransferOwnership+ (\ s a -> s{_pppTransferOwnership = a})++-- | The ID for the file.+pppFileId :: Lens' PermissionsPatch Text+pppFileId+ = lens _pppFileId (\ s a -> s{_pppFileId = a})++-- | The ID for the permission.+pppPermissionId :: Lens' PermissionsPatch Text+pppPermissionId+ = lens _pppPermissionId+ (\ s a -> s{_pppPermissionId = a})++instance GoogleRequest PermissionsPatch where+ type Rs PermissionsPatch = Permission+ requestClient PermissionsPatch{..}+ = go _pppFileId _pppPermissionId+ (Just _pppTransferOwnership)+ (Just AltJSON)+ _pppPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Permissions/Update.hs view
@@ -0,0 +1,126 @@+{-# 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.Drive.Permissions.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 a permission.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.permissions.update@.+module Network.Google.Resource.Drive.Permissions.Update+ (+ -- * REST Resource+ PermissionsUpdateResource++ -- * Creating a Request+ , permissionsUpdate+ , PermissionsUpdate++ -- * Request Lenses+ , perPayload+ , perTransferOwnership+ , perFileId+ , perPermissionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.permissions.update@ method which the+-- 'PermissionsUpdate' request conforms to.+type PermissionsUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "permissions" :>+ Capture "permissionId" Text :>+ QueryParam "transferOwnership" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Permission :> Put '[JSON] Permission++-- | Updates a permission.+--+-- /See:/ 'permissionsUpdate' smart constructor.+data PermissionsUpdate = PermissionsUpdate+ { _perPayload :: !Permission+ , _perTransferOwnership :: !Bool+ , _perFileId :: !Text+ , _perPermissionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PermissionsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'perPayload'+--+-- * 'perTransferOwnership'+--+-- * 'perFileId'+--+-- * 'perPermissionId'+permissionsUpdate+ :: Permission -- ^ 'perPayload'+ -> Text -- ^ 'perFileId'+ -> Text -- ^ 'perPermissionId'+ -> PermissionsUpdate+permissionsUpdate pPerPayload_ pPerFileId_ pPerPermissionId_ =+ PermissionsUpdate+ { _perPayload = pPerPayload_+ , _perTransferOwnership = False+ , _perFileId = pPerFileId_+ , _perPermissionId = pPerPermissionId_+ }++-- | Multipart request metadata.+perPayload :: Lens' PermissionsUpdate Permission+perPayload+ = lens _perPayload (\ s a -> s{_perPayload = a})++-- | Whether changing a role to \'owner\' downgrades the current owners to+-- writers. Does nothing if the specified role is not \'owner\'.+perTransferOwnership :: Lens' PermissionsUpdate Bool+perTransferOwnership+ = lens _perTransferOwnership+ (\ s a -> s{_perTransferOwnership = a})++-- | The ID for the file.+perFileId :: Lens' PermissionsUpdate Text+perFileId+ = lens _perFileId (\ s a -> s{_perFileId = a})++-- | The ID for the permission.+perPermissionId :: Lens' PermissionsUpdate Text+perPermissionId+ = lens _perPermissionId+ (\ s a -> s{_perPermissionId = a})++instance GoogleRequest PermissionsUpdate where+ type Rs PermissionsUpdate = Permission+ requestClient PermissionsUpdate{..}+ = go _perFileId _perPermissionId+ (Just _perTransferOwnership)+ (Just AltJSON)+ _perPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PermissionsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/Delete.hs view
@@ -0,0 +1,109 @@+{-# 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.Drive.Properties.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 property.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.delete@.+module Network.Google.Resource.Drive.Properties.Delete+ (+ -- * REST Resource+ PropertiesDeleteResource++ -- * Creating a Request+ , propertiesDelete+ , PropertiesDelete++ -- * Request Lenses+ , pdPropertyKey+ , pdVisibility+ , pdFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.delete@ method which the+-- 'PropertiesDelete' request conforms to.+type PropertiesDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ Capture "propertyKey" Text :>+ QueryParam "visibility" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a property.+--+-- /See:/ 'propertiesDelete' smart constructor.+data PropertiesDelete = PropertiesDelete+ { _pdPropertyKey :: !Text+ , _pdVisibility :: !Text+ , _pdFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdPropertyKey'+--+-- * 'pdVisibility'+--+-- * 'pdFileId'+propertiesDelete+ :: Text -- ^ 'pdPropertyKey'+ -> Text -- ^ 'pdFileId'+ -> PropertiesDelete+propertiesDelete pPdPropertyKey_ pPdFileId_ =+ PropertiesDelete+ { _pdPropertyKey = pPdPropertyKey_+ , _pdVisibility = "private"+ , _pdFileId = pPdFileId_+ }++-- | The key of the property.+pdPropertyKey :: Lens' PropertiesDelete Text+pdPropertyKey+ = lens _pdPropertyKey+ (\ s a -> s{_pdPropertyKey = a})++-- | The visibility of the property.+pdVisibility :: Lens' PropertiesDelete Text+pdVisibility+ = lens _pdVisibility (\ s a -> s{_pdVisibility = a})++-- | The ID of the file.+pdFileId :: Lens' PropertiesDelete Text+pdFileId = lens _pdFileId (\ s a -> s{_pdFileId = a})++instance GoogleRequest PropertiesDelete where+ type Rs PropertiesDelete = ()+ requestClient PropertiesDelete{..}+ = go _pdFileId _pdPropertyKey (Just _pdVisibility)+ (Just AltJSON)+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PropertiesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/Get.hs view
@@ -0,0 +1,108 @@+{-# 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.Drive.Properties.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)+--+-- Gets a property by its key.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.get@.+module Network.Google.Resource.Drive.Properties.Get+ (+ -- * REST Resource+ PropertiesGetResource++ -- * Creating a Request+ , propertiesGet+ , PropertiesGet++ -- * Request Lenses+ , pgPropertyKey+ , pgVisibility+ , pgFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.get@ method which the+-- 'PropertiesGet' request conforms to.+type PropertiesGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ Capture "propertyKey" Text :>+ QueryParam "visibility" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Property++-- | Gets a property by its key.+--+-- /See:/ 'propertiesGet' smart constructor.+data PropertiesGet = PropertiesGet+ { _pgPropertyKey :: !Text+ , _pgVisibility :: !Text+ , _pgFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgPropertyKey'+--+-- * 'pgVisibility'+--+-- * 'pgFileId'+propertiesGet+ :: Text -- ^ 'pgPropertyKey'+ -> Text -- ^ 'pgFileId'+ -> PropertiesGet+propertiesGet pPgPropertyKey_ pPgFileId_ =+ PropertiesGet+ { _pgPropertyKey = pPgPropertyKey_+ , _pgVisibility = "private"+ , _pgFileId = pPgFileId_+ }++-- | The key of the property.+pgPropertyKey :: Lens' PropertiesGet Text+pgPropertyKey+ = lens _pgPropertyKey+ (\ s a -> s{_pgPropertyKey = a})++-- | The visibility of the property.+pgVisibility :: Lens' PropertiesGet Text+pgVisibility+ = lens _pgVisibility (\ s a -> s{_pgVisibility = a})++-- | The ID of the file.+pgFileId :: Lens' PropertiesGet Text+pgFileId = lens _pgFileId (\ s a -> s{_pgFileId = a})++instance GoogleRequest PropertiesGet where+ type Rs PropertiesGet = Property+ requestClient PropertiesGet{..}+ = go _pgFileId _pgPropertyKey (Just _pgVisibility)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy PropertiesGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/Insert.hs view
@@ -0,0 +1,95 @@+{-# 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.Drive.Properties.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 a property to a file.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.insert@.+module Network.Google.Resource.Drive.Properties.Insert+ (+ -- * REST Resource+ PropertiesInsertResource++ -- * Creating a Request+ , propertiesInsert+ , PropertiesInsert++ -- * Request Lenses+ , piPayload+ , piFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.insert@ method which the+-- 'PropertiesInsert' request conforms to.+type PropertiesInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Property :> Post '[JSON] Property++-- | Adds a property to a file.+--+-- /See:/ 'propertiesInsert' smart constructor.+data PropertiesInsert = PropertiesInsert+ { _piPayload :: !Property+ , _piFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piPayload'+--+-- * 'piFileId'+propertiesInsert+ :: Property -- ^ 'piPayload'+ -> Text -- ^ 'piFileId'+ -> PropertiesInsert+propertiesInsert pPiPayload_ pPiFileId_ =+ PropertiesInsert+ { _piPayload = pPiPayload_+ , _piFileId = pPiFileId_+ }++-- | Multipart request metadata.+piPayload :: Lens' PropertiesInsert Property+piPayload+ = lens _piPayload (\ s a -> s{_piPayload = a})++-- | The ID of the file.+piFileId :: Lens' PropertiesInsert Text+piFileId = lens _piFileId (\ s a -> s{_piFileId = a})++instance GoogleRequest PropertiesInsert where+ type Rs PropertiesInsert = Property+ requestClient PropertiesInsert{..}+ = go _piFileId (Just AltJSON) _piPayload driveService+ where go+ = buildClient+ (Proxy :: Proxy PropertiesInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/List.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.Drive.Properties.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)+--+-- Lists a file\'s properties.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.list@.+module Network.Google.Resource.Drive.Properties.List+ (+ -- * REST Resource+ PropertiesListResource++ -- * Creating a Request+ , propertiesList+ , PropertiesList++ -- * Request Lenses+ , proFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.list@ method which the+-- 'PropertiesList' request conforms to.+type PropertiesListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ QueryParam "alt" AltJSON :> Get '[JSON] PropertyList++-- | Lists a file\'s properties.+--+-- /See:/ 'propertiesList' smart constructor.+newtype PropertiesList = PropertiesList+ { _proFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'proFileId'+propertiesList+ :: Text -- ^ 'proFileId'+ -> PropertiesList+propertiesList pProFileId_ =+ PropertiesList+ { _proFileId = pProFileId_+ }++-- | The ID of the file.+proFileId :: Lens' PropertiesList Text+proFileId+ = lens _proFileId (\ s a -> s{_proFileId = a})++instance GoogleRequest PropertiesList where+ type Rs PropertiesList = PropertyList+ requestClient PropertiesList{..}+ = go _proFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy PropertiesListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/Patch.hs view
@@ -0,0 +1,122 @@+{-# 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.Drive.Properties.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 a property. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.patch@.+module Network.Google.Resource.Drive.Properties.Patch+ (+ -- * REST Resource+ PropertiesPatchResource++ -- * Creating a Request+ , propertiesPatch+ , PropertiesPatch++ -- * Request Lenses+ , ppPropertyKey+ , ppVisibility+ , ppPayload+ , ppFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.patch@ method which the+-- 'PropertiesPatch' request conforms to.+type PropertiesPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ Capture "propertyKey" Text :>+ QueryParam "visibility" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Property :> Patch '[JSON] Property++-- | Updates a property. This method supports patch semantics.+--+-- /See:/ 'propertiesPatch' smart constructor.+data PropertiesPatch = PropertiesPatch+ { _ppPropertyKey :: !Text+ , _ppVisibility :: !Text+ , _ppPayload :: !Property+ , _ppFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppPropertyKey'+--+-- * 'ppVisibility'+--+-- * 'ppPayload'+--+-- * 'ppFileId'+propertiesPatch+ :: Text -- ^ 'ppPropertyKey'+ -> Property -- ^ 'ppPayload'+ -> Text -- ^ 'ppFileId'+ -> PropertiesPatch+propertiesPatch pPpPropertyKey_ pPpPayload_ pPpFileId_ =+ PropertiesPatch+ { _ppPropertyKey = pPpPropertyKey_+ , _ppVisibility = "private"+ , _ppPayload = pPpPayload_+ , _ppFileId = pPpFileId_+ }++-- | The key of the property.+ppPropertyKey :: Lens' PropertiesPatch Text+ppPropertyKey+ = lens _ppPropertyKey+ (\ s a -> s{_ppPropertyKey = a})++-- | The visibility of the property.+ppVisibility :: Lens' PropertiesPatch Text+ppVisibility+ = lens _ppVisibility (\ s a -> s{_ppVisibility = a})++-- | Multipart request metadata.+ppPayload :: Lens' PropertiesPatch Property+ppPayload+ = lens _ppPayload (\ s a -> s{_ppPayload = a})++-- | The ID of the file.+ppFileId :: Lens' PropertiesPatch Text+ppFileId = lens _ppFileId (\ s a -> s{_ppFileId = a})++instance GoogleRequest PropertiesPatch where+ type Rs PropertiesPatch = Property+ requestClient PropertiesPatch{..}+ = go _ppFileId _ppPropertyKey (Just _ppVisibility)+ (Just AltJSON)+ _ppPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PropertiesPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Properties/Update.hs view
@@ -0,0 +1,122 @@+{-# 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.Drive.Properties.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 a property.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.properties.update@.+module Network.Google.Resource.Drive.Properties.Update+ (+ -- * REST Resource+ PropertiesUpdateResource++ -- * Creating a Request+ , propertiesUpdate+ , PropertiesUpdate++ -- * Request Lenses+ , puPropertyKey+ , puVisibility+ , puPayload+ , puFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.properties.update@ method which the+-- 'PropertiesUpdate' request conforms to.+type PropertiesUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "properties" :>+ Capture "propertyKey" Text :>+ QueryParam "visibility" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Property :> Put '[JSON] Property++-- | Updates a property.+--+-- /See:/ 'propertiesUpdate' smart constructor.+data PropertiesUpdate = PropertiesUpdate+ { _puPropertyKey :: !Text+ , _puVisibility :: !Text+ , _puPayload :: !Property+ , _puFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertiesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puPropertyKey'+--+-- * 'puVisibility'+--+-- * 'puPayload'+--+-- * 'puFileId'+propertiesUpdate+ :: Text -- ^ 'puPropertyKey'+ -> Property -- ^ 'puPayload'+ -> Text -- ^ 'puFileId'+ -> PropertiesUpdate+propertiesUpdate pPuPropertyKey_ pPuPayload_ pPuFileId_ =+ PropertiesUpdate+ { _puPropertyKey = pPuPropertyKey_+ , _puVisibility = "private"+ , _puPayload = pPuPayload_+ , _puFileId = pPuFileId_+ }++-- | The key of the property.+puPropertyKey :: Lens' PropertiesUpdate Text+puPropertyKey+ = lens _puPropertyKey+ (\ s a -> s{_puPropertyKey = a})++-- | The visibility of the property.+puVisibility :: Lens' PropertiesUpdate Text+puVisibility+ = lens _puVisibility (\ s a -> s{_puVisibility = a})++-- | Multipart request metadata.+puPayload :: Lens' PropertiesUpdate Property+puPayload+ = lens _puPayload (\ s a -> s{_puPayload = a})++-- | The ID of the file.+puFileId :: Lens' PropertiesUpdate Text+puFileId = lens _puFileId (\ s a -> s{_puFileId = a})++instance GoogleRequest PropertiesUpdate where+ type Rs PropertiesUpdate = Property+ requestClient PropertiesUpdate{..}+ = go _puFileId _puPropertyKey (Just _puVisibility)+ (Just AltJSON)+ _puPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy PropertiesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Realtime/Get.hs view
@@ -0,0 +1,119 @@+{-# 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.Drive.Realtime.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)+--+-- Exports the contents of the Realtime API data model associated with this+-- file as JSON.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.realtime.get@.+module Network.Google.Resource.Drive.Realtime.Get+ (+ -- * REST Resource+ RealtimeGetResource++ -- * Creating a Request+ , realtimeGet+ , RealtimeGet++ -- * Request Lenses+ , rrFileId+ , rrRevision+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.realtime.get@ method which the+-- 'RealtimeGet' request conforms to.+type RealtimeGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "realtime" :>+ QueryParam "revision" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ()+ :<|>+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "realtime" :>+ QueryParam "revision" (Textual Int32) :>+ QueryParam "alt" AltMedia :>+ Get '[OctetStream] Stream++-- | Exports the contents of the Realtime API data model associated with this+-- file as JSON.+--+-- /See:/ 'realtimeGet' smart constructor.+data RealtimeGet = RealtimeGet+ { _rrFileId :: !Text+ , _rrRevision :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrFileId'+--+-- * 'rrRevision'+realtimeGet+ :: Text -- ^ 'rrFileId'+ -> RealtimeGet+realtimeGet pRrFileId_ =+ RealtimeGet+ { _rrFileId = pRrFileId_+ , _rrRevision = Nothing+ }++-- | The ID of the file that the Realtime API data model is associated with.+rrFileId :: Lens' RealtimeGet Text+rrFileId = lens _rrFileId (\ s a -> s{_rrFileId = a})++-- | The revision of the Realtime API data model to export. Revisions start+-- at 1 (the initial empty data model) and are incremented with each+-- change. If this parameter is excluded, the most recent data model will+-- be returned.+rrRevision :: Lens' RealtimeGet (Maybe Int32)+rrRevision+ = lens _rrRevision (\ s a -> s{_rrRevision = a}) .+ mapping _Coerce++instance GoogleRequest RealtimeGet where+ type Rs RealtimeGet = ()+ requestClient RealtimeGet{..}+ = go _rrFileId _rrRevision (Just AltJSON)+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy RealtimeGetResource)+ mempty++instance GoogleRequest (MediaDownload RealtimeGet)+ where+ type Rs (MediaDownload RealtimeGet) = Stream+ requestClient (MediaDownload RealtimeGet{..})+ = go _rrFileId _rrRevision (Just AltMedia)+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy RealtimeGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Realtime/Update.hs view
@@ -0,0 +1,125 @@+{-# 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.Drive.Realtime.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)+--+-- Overwrites the Realtime API data model associated with this file with+-- the provided JSON data model.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.realtime.update@.+module Network.Google.Resource.Drive.Realtime.Update+ (+ -- * REST Resource+ RealtimeUpdateResource++ -- * Creating a Request+ , realtimeUpdate+ , RealtimeUpdate++ -- * Request Lenses+ , reaBaseRevision+ , reaFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.realtime.update@ method which the+-- 'RealtimeUpdate' request conforms to.+type RealtimeUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "realtime" :>+ QueryParam "baseRevision" Text :>+ QueryParam "alt" AltJSON :> Put '[JSON] ()+ :<|>+ "upload" :>+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "realtime" :>+ QueryParam "baseRevision" Text :>+ QueryParam "alt" AltJSON :>+ QueryParam "uploadType" AltMedia :>+ ReqBody '[OctetStream] RequestBody :> Put '[JSON] ()++-- | Overwrites the Realtime API data model associated with this file with+-- the provided JSON data model.+--+-- /See:/ 'realtimeUpdate' smart constructor.+data RealtimeUpdate = RealtimeUpdate+ { _reaBaseRevision :: !(Maybe Text)+ , _reaFileId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RealtimeUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reaBaseRevision'+--+-- * 'reaFileId'+realtimeUpdate+ :: Text -- ^ 'reaFileId'+ -> RealtimeUpdate+realtimeUpdate pReaFileId_ =+ RealtimeUpdate+ { _reaBaseRevision = Nothing+ , _reaFileId = pReaFileId_+ }++-- | The revision of the model to diff the uploaded model against. If set,+-- the uploaded model is diffed against the provided revision and those+-- differences are merged with any changes made to the model after the+-- provided revision. If not set, the uploaded model replaces the current+-- model on the server.+reaBaseRevision :: Lens' RealtimeUpdate (Maybe Text)+reaBaseRevision+ = lens _reaBaseRevision+ (\ s a -> s{_reaBaseRevision = a})++-- | The ID of the file that the Realtime API data model is associated with.+reaFileId :: Lens' RealtimeUpdate Text+reaFileId+ = lens _reaFileId (\ s a -> s{_reaFileId = a})++instance GoogleRequest RealtimeUpdate where+ type Rs RealtimeUpdate = ()+ requestClient RealtimeUpdate{..}+ = go _reaFileId _reaBaseRevision (Just AltJSON)+ driveService+ where go :<|> _+ = buildClient (Proxy :: Proxy RealtimeUpdateResource)+ mempty++instance GoogleRequest (MediaUpload RealtimeUpdate)+ where+ type Rs (MediaUpload RealtimeUpdate) = ()+ requestClient (MediaUpload RealtimeUpdate{..} body)+ = go _reaFileId _reaBaseRevision (Just AltJSON)+ (Just AltMedia)+ body+ driveService+ where _ :<|> go+ = buildClient (Proxy :: Proxy RealtimeUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/Delete.hs view
@@ -0,0 +1,108 @@+{-# 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.Drive.Replies.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 reply.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.delete@.+module Network.Google.Resource.Drive.Replies.Delete+ (+ -- * REST Resource+ RepliesDeleteResource++ -- * Creating a Request+ , repliesDelete+ , RepliesDelete++ -- * Request Lenses+ , rdReplyId+ , rdFileId+ , rdCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.delete@ method which the+-- 'RepliesDelete' request conforms to.+type RepliesDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ Capture "replyId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes a reply.+--+-- /See:/ 'repliesDelete' smart constructor.+data RepliesDelete = RepliesDelete+ { _rdReplyId :: !Text+ , _rdFileId :: !Text+ , _rdCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdReplyId'+--+-- * 'rdFileId'+--+-- * 'rdCommentId'+repliesDelete+ :: Text -- ^ 'rdReplyId'+ -> Text -- ^ 'rdFileId'+ -> Text -- ^ 'rdCommentId'+ -> RepliesDelete+repliesDelete pRdReplyId_ pRdFileId_ pRdCommentId_ =+ RepliesDelete+ { _rdReplyId = pRdReplyId_+ , _rdFileId = pRdFileId_+ , _rdCommentId = pRdCommentId_+ }++-- | The ID of the reply.+rdReplyId :: Lens' RepliesDelete Text+rdReplyId+ = lens _rdReplyId (\ s a -> s{_rdReplyId = a})++-- | The ID of the file.+rdFileId :: Lens' RepliesDelete Text+rdFileId = lens _rdFileId (\ s a -> s{_rdFileId = a})++-- | The ID of the comment.+rdCommentId :: Lens' RepliesDelete Text+rdCommentId+ = lens _rdCommentId (\ s a -> s{_rdCommentId = a})++instance GoogleRequest RepliesDelete where+ type Rs RepliesDelete = ()+ requestClient RepliesDelete{..}+ = go _rdFileId _rdCommentId _rdReplyId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/Get.hs view
@@ -0,0 +1,122 @@+{-# 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.Drive.Replies.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)+--+-- Gets a reply.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.get@.+module Network.Google.Resource.Drive.Replies.Get+ (+ -- * REST Resource+ RepliesGetResource++ -- * Creating a Request+ , repliesGet+ , RepliesGet++ -- * Request Lenses+ , rgReplyId+ , rgFileId+ , rgCommentId+ , rgIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.get@ method which the+-- 'RepliesGet' request conforms to.+type RepliesGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ Capture "replyId" Text :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] CommentReply++-- | Gets a reply.+--+-- /See:/ 'repliesGet' smart constructor.+data RepliesGet = RepliesGet+ { _rgReplyId :: !Text+ , _rgFileId :: !Text+ , _rgCommentId :: !Text+ , _rgIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgReplyId'+--+-- * 'rgFileId'+--+-- * 'rgCommentId'+--+-- * 'rgIncludeDeleted'+repliesGet+ :: Text -- ^ 'rgReplyId'+ -> Text -- ^ 'rgFileId'+ -> Text -- ^ 'rgCommentId'+ -> RepliesGet+repliesGet pRgReplyId_ pRgFileId_ pRgCommentId_ =+ RepliesGet+ { _rgReplyId = pRgReplyId_+ , _rgFileId = pRgFileId_+ , _rgCommentId = pRgCommentId_+ , _rgIncludeDeleted = False+ }++-- | The ID of the reply.+rgReplyId :: Lens' RepliesGet Text+rgReplyId+ = lens _rgReplyId (\ s a -> s{_rgReplyId = a})++-- | The ID of the file.+rgFileId :: Lens' RepliesGet Text+rgFileId = lens _rgFileId (\ s a -> s{_rgFileId = a})++-- | The ID of the comment.+rgCommentId :: Lens' RepliesGet Text+rgCommentId+ = lens _rgCommentId (\ s a -> s{_rgCommentId = a})++-- | If set, this will succeed when retrieving a deleted reply.+rgIncludeDeleted :: Lens' RepliesGet Bool+rgIncludeDeleted+ = lens _rgIncludeDeleted+ (\ s a -> s{_rgIncludeDeleted = a})++instance GoogleRequest RepliesGet where+ type Rs RepliesGet = CommentReply+ requestClient RepliesGet{..}+ = go _rgFileId _rgCommentId _rgReplyId+ (Just _rgIncludeDeleted)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/Insert.hs view
@@ -0,0 +1,109 @@+{-# 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.Drive.Replies.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 new reply to the given comment.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.insert@.+module Network.Google.Resource.Drive.Replies.Insert+ (+ -- * REST Resource+ RepliesInsertResource++ -- * Creating a Request+ , repliesInsert+ , RepliesInsert++ -- * Request Lenses+ , riPayload+ , riFileId+ , riCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.insert@ method which the+-- 'RepliesInsert' request conforms to.+type RepliesInsertResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CommentReply :>+ Post '[JSON] CommentReply++-- | Creates a new reply to the given comment.+--+-- /See:/ 'repliesInsert' smart constructor.+data RepliesInsert = RepliesInsert+ { _riPayload :: !CommentReply+ , _riFileId :: !Text+ , _riCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riPayload'+--+-- * 'riFileId'+--+-- * 'riCommentId'+repliesInsert+ :: CommentReply -- ^ 'riPayload'+ -> Text -- ^ 'riFileId'+ -> Text -- ^ 'riCommentId'+ -> RepliesInsert+repliesInsert pRiPayload_ pRiFileId_ pRiCommentId_ =+ RepliesInsert+ { _riPayload = pRiPayload_+ , _riFileId = pRiFileId_+ , _riCommentId = pRiCommentId_+ }++-- | Multipart request metadata.+riPayload :: Lens' RepliesInsert CommentReply+riPayload+ = lens _riPayload (\ s a -> s{_riPayload = a})++-- | The ID of the file.+riFileId :: Lens' RepliesInsert Text+riFileId = lens _riFileId (\ s a -> s{_riFileId = a})++-- | The ID of the comment.+riCommentId :: Lens' RepliesInsert Text+riCommentId+ = lens _riCommentId (\ s a -> s{_riCommentId = a})++instance GoogleRequest RepliesInsert where+ type Rs RepliesInsert = CommentReply+ requestClient RepliesInsert{..}+ = go _riFileId _riCommentId (Just AltJSON) _riPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesInsertResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/List.hs view
@@ -0,0 +1,139 @@+{-# 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.Drive.Replies.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)+--+-- Lists all of the replies to a comment.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.list@.+module Network.Google.Resource.Drive.Replies.List+ (+ -- * REST Resource+ RepliesListResource++ -- * Creating a Request+ , repliesList+ , RepliesList++ -- * Request Lenses+ , rlPageToken+ , rlFileId+ , rlCommentId+ , rlMaxResults+ , rlIncludeDeleted+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.list@ method which the+-- 'RepliesList' request conforms to.+type RepliesListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Int32) :>+ QueryParam "includeDeleted" Bool :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] CommentReplyList++-- | Lists all of the replies to a comment.+--+-- /See:/ 'repliesList' smart constructor.+data RepliesList = RepliesList+ { _rlPageToken :: !(Maybe Text)+ , _rlFileId :: !Text+ , _rlCommentId :: !Text+ , _rlMaxResults :: !(Textual Int32)+ , _rlIncludeDeleted :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlPageToken'+--+-- * 'rlFileId'+--+-- * 'rlCommentId'+--+-- * 'rlMaxResults'+--+-- * 'rlIncludeDeleted'+repliesList+ :: Text -- ^ 'rlFileId'+ -> Text -- ^ 'rlCommentId'+ -> RepliesList+repliesList pRlFileId_ pRlCommentId_ =+ RepliesList+ { _rlPageToken = Nothing+ , _rlFileId = pRlFileId_+ , _rlCommentId = pRlCommentId_+ , _rlMaxResults = 20+ , _rlIncludeDeleted = False+ }++-- | The continuation token, used to page through large result sets. To get+-- the next page of results, set this parameter to the value of+-- \"nextPageToken\" from the previous response.+rlPageToken :: Lens' RepliesList (Maybe Text)+rlPageToken+ = lens _rlPageToken (\ s a -> s{_rlPageToken = a})++-- | The ID of the file.+rlFileId :: Lens' RepliesList Text+rlFileId = lens _rlFileId (\ s a -> s{_rlFileId = a})++-- | The ID of the comment.+rlCommentId :: Lens' RepliesList Text+rlCommentId+ = lens _rlCommentId (\ s a -> s{_rlCommentId = a})++-- | The maximum number of replies to include in the response, used for+-- paging.+rlMaxResults :: Lens' RepliesList Int32+rlMaxResults+ = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+ . _Coerce++-- | If set, all replies, including deleted replies (with content stripped)+-- will be returned.+rlIncludeDeleted :: Lens' RepliesList Bool+rlIncludeDeleted+ = lens _rlIncludeDeleted+ (\ s a -> s{_rlIncludeDeleted = a})++instance GoogleRequest RepliesList where+ type Rs RepliesList = CommentReplyList+ requestClient RepliesList{..}+ = go _rlFileId _rlCommentId _rlPageToken+ (Just _rlMaxResults)+ (Just _rlIncludeDeleted)+ (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/Patch.hs view
@@ -0,0 +1,122 @@+{-# 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.Drive.Replies.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 existing reply. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.patch@.+module Network.Google.Resource.Drive.Replies.Patch+ (+ -- * REST Resource+ RepliesPatchResource++ -- * Creating a Request+ , repliesPatch+ , RepliesPatch++ -- * Request Lenses+ , rpPayload+ , rpReplyId+ , rpFileId+ , rpCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.patch@ method which the+-- 'RepliesPatch' request conforms to.+type RepliesPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ Capture "replyId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CommentReply :>+ Patch '[JSON] CommentReply++-- | Updates an existing reply. This method supports patch semantics.+--+-- /See:/ 'repliesPatch' smart constructor.+data RepliesPatch = RepliesPatch+ { _rpPayload :: !CommentReply+ , _rpReplyId :: !Text+ , _rpFileId :: !Text+ , _rpCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpPayload'+--+-- * 'rpReplyId'+--+-- * 'rpFileId'+--+-- * 'rpCommentId'+repliesPatch+ :: CommentReply -- ^ 'rpPayload'+ -> Text -- ^ 'rpReplyId'+ -> Text -- ^ 'rpFileId'+ -> Text -- ^ 'rpCommentId'+ -> RepliesPatch+repliesPatch pRpPayload_ pRpReplyId_ pRpFileId_ pRpCommentId_ =+ RepliesPatch+ { _rpPayload = pRpPayload_+ , _rpReplyId = pRpReplyId_+ , _rpFileId = pRpFileId_+ , _rpCommentId = pRpCommentId_+ }++-- | Multipart request metadata.+rpPayload :: Lens' RepliesPatch CommentReply+rpPayload+ = lens _rpPayload (\ s a -> s{_rpPayload = a})++-- | The ID of the reply.+rpReplyId :: Lens' RepliesPatch Text+rpReplyId+ = lens _rpReplyId (\ s a -> s{_rpReplyId = a})++-- | The ID of the file.+rpFileId :: Lens' RepliesPatch Text+rpFileId = lens _rpFileId (\ s a -> s{_rpFileId = a})++-- | The ID of the comment.+rpCommentId :: Lens' RepliesPatch Text+rpCommentId+ = lens _rpCommentId (\ s a -> s{_rpCommentId = a})++instance GoogleRequest RepliesPatch where+ type Rs RepliesPatch = CommentReply+ requestClient RepliesPatch{..}+ = go _rpFileId _rpCommentId _rpReplyId (Just AltJSON)+ _rpPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Replies/Update.hs view
@@ -0,0 +1,122 @@+{-# 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.Drive.Replies.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 existing reply.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.replies.update@.+module Network.Google.Resource.Drive.Replies.Update+ (+ -- * REST Resource+ RepliesUpdateResource++ -- * Creating a Request+ , repliesUpdate+ , RepliesUpdate++ -- * Request Lenses+ , ruPayload+ , ruReplyId+ , ruFileId+ , ruCommentId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.replies.update@ method which the+-- 'RepliesUpdate' request conforms to.+type RepliesUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "replies" :>+ Capture "replyId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CommentReply :>+ Put '[JSON] CommentReply++-- | Updates an existing reply.+--+-- /See:/ 'repliesUpdate' smart constructor.+data RepliesUpdate = RepliesUpdate+ { _ruPayload :: !CommentReply+ , _ruReplyId :: !Text+ , _ruFileId :: !Text+ , _ruCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepliesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruPayload'+--+-- * 'ruReplyId'+--+-- * 'ruFileId'+--+-- * 'ruCommentId'+repliesUpdate+ :: CommentReply -- ^ 'ruPayload'+ -> Text -- ^ 'ruReplyId'+ -> Text -- ^ 'ruFileId'+ -> Text -- ^ 'ruCommentId'+ -> RepliesUpdate+repliesUpdate pRuPayload_ pRuReplyId_ pRuFileId_ pRuCommentId_ =+ RepliesUpdate+ { _ruPayload = pRuPayload_+ , _ruReplyId = pRuReplyId_+ , _ruFileId = pRuFileId_+ , _ruCommentId = pRuCommentId_+ }++-- | Multipart request metadata.+ruPayload :: Lens' RepliesUpdate CommentReply+ruPayload+ = lens _ruPayload (\ s a -> s{_ruPayload = a})++-- | The ID of the reply.+ruReplyId :: Lens' RepliesUpdate Text+ruReplyId+ = lens _ruReplyId (\ s a -> s{_ruReplyId = a})++-- | The ID of the file.+ruFileId :: Lens' RepliesUpdate Text+ruFileId = lens _ruFileId (\ s a -> s{_ruFileId = a})++-- | The ID of the comment.+ruCommentId :: Lens' RepliesUpdate Text+ruCommentId+ = lens _ruCommentId (\ s a -> s{_ruCommentId = a})++instance GoogleRequest RepliesUpdate where+ type Rs RepliesUpdate = CommentReply+ requestClient RepliesUpdate{..}+ = go _ruFileId _ruCommentId _ruReplyId (Just AltJSON)+ _ruPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy RepliesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Drive/Revisions/Delete.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.Drive.Revisions.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)+--+-- Removes a revision.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.delete@.+module Network.Google.Resource.Drive.Revisions.Delete+ (+ -- * REST Resource+ RevisionsDeleteResource++ -- * Creating a Request+ , revisionsDelete+ , RevisionsDelete++ -- * Request Lenses+ , rFileId+ , rRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.revisions.delete@ method which the+-- 'RevisionsDelete' request conforms to.+type RevisionsDeleteResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "revisions" :>+ Capture "revisionId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Removes a revision.+--+-- /See:/ 'revisionsDelete' smart constructor.+data RevisionsDelete = RevisionsDelete+ { _rFileId :: !Text+ , _rRevisionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rFileId'+--+-- * 'rRevisionId'+revisionsDelete+ :: Text -- ^ 'rFileId'+ -> Text -- ^ 'rRevisionId'+ -> RevisionsDelete+revisionsDelete pRFileId_ pRRevisionId_ =+ RevisionsDelete+ { _rFileId = pRFileId_+ , _rRevisionId = pRRevisionId_+ }++-- | The ID of the file.+rFileId :: Lens' RevisionsDelete Text+rFileId = lens _rFileId (\ s a -> s{_rFileId = a})++-- | The ID of the revision.+rRevisionId :: Lens' RevisionsDelete Text+rRevisionId+ = lens _rRevisionId (\ s a -> s{_rRevisionId = a})++instance GoogleRequest RevisionsDelete where+ type Rs RevisionsDelete = ()+ requestClient RevisionsDelete{..}+ = go _rFileId _rRevisionId (Just AltJSON)+ driveService+ where go+ = buildClient+ (Proxy :: Proxy RevisionsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Drive/Revisions/Get.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.Drive.Revisions.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)+--+-- Gets a specific revision.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.get@.+module Network.Google.Resource.Drive.Revisions.Get+ (+ -- * REST Resource+ RevisionsGetResource++ -- * Creating a Request+ , revisionsGet+ , RevisionsGet++ -- * Request Lenses+ , rggFileId+ , rggRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.revisions.get@ method which the+-- 'RevisionsGet' request conforms to.+type RevisionsGetResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "revisions" :>+ Capture "revisionId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Revision++-- | Gets a specific revision.+--+-- /See:/ 'revisionsGet' smart constructor.+data RevisionsGet = RevisionsGet+ { _rggFileId :: !Text+ , _rggRevisionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rggFileId'+--+-- * 'rggRevisionId'+revisionsGet+ :: Text -- ^ 'rggFileId'+ -> Text -- ^ 'rggRevisionId'+ -> RevisionsGet+revisionsGet pRggFileId_ pRggRevisionId_ =+ RevisionsGet+ { _rggFileId = pRggFileId_+ , _rggRevisionId = pRggRevisionId_+ }++-- | The ID of the file.+rggFileId :: Lens' RevisionsGet Text+rggFileId+ = lens _rggFileId (\ s a -> s{_rggFileId = a})++-- | The ID of the revision.+rggRevisionId :: Lens' RevisionsGet Text+rggRevisionId+ = lens _rggRevisionId+ (\ s a -> s{_rggRevisionId = a})++instance GoogleRequest RevisionsGet where+ type Rs RevisionsGet = Revision+ requestClient RevisionsGet{..}+ = go _rggFileId _rggRevisionId (Just AltJSON)+ driveService+ where go+ = buildClient (Proxy :: Proxy RevisionsGetResource)+ mempty
+ gen/Network/Google/Resource/Drive/Revisions/List.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.Drive.Revisions.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)+--+-- Lists a file\'s revisions.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.list@.+module Network.Google.Resource.Drive.Revisions.List+ (+ -- * REST Resource+ RevisionsListResource++ -- * Creating a Request+ , revisionsList+ , RevisionsList++ -- * Request Lenses+ , rllFileId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.revisions.list@ method which the+-- 'RevisionsList' request conforms to.+type RevisionsListResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "revisions" :>+ QueryParam "alt" AltJSON :> Get '[JSON] RevisionList++-- | Lists a file\'s revisions.+--+-- /See:/ 'revisionsList' smart constructor.+newtype RevisionsList = RevisionsList+ { _rllFileId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rllFileId'+revisionsList+ :: Text -- ^ 'rllFileId'+ -> RevisionsList+revisionsList pRllFileId_ =+ RevisionsList+ { _rllFileId = pRllFileId_+ }++-- | The ID of the file.+rllFileId :: Lens' RevisionsList Text+rllFileId+ = lens _rllFileId (\ s a -> s{_rllFileId = a})++instance GoogleRequest RevisionsList where+ type Rs RevisionsList = RevisionList+ requestClient RevisionsList{..}+ = go _rllFileId (Just AltJSON) driveService+ where go+ = buildClient (Proxy :: Proxy RevisionsListResource)+ mempty
+ gen/Network/Google/Resource/Drive/Revisions/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.Drive.Revisions.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 a revision. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.patch@.+module Network.Google.Resource.Drive.Revisions.Patch+ (+ -- * REST Resource+ RevisionsPatchResource++ -- * Creating a Request+ , revisionsPatch+ , RevisionsPatch++ -- * Request Lenses+ , rppPayload+ , rppFileId+ , rppRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.revisions.patch@ method which the+-- 'RevisionsPatch' request conforms to.+type RevisionsPatchResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "revisions" :>+ Capture "revisionId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Revision :> Patch '[JSON] Revision++-- | Updates a revision. This method supports patch semantics.+--+-- /See:/ 'revisionsPatch' smart constructor.+data RevisionsPatch = RevisionsPatch+ { _rppPayload :: !Revision+ , _rppFileId :: !Text+ , _rppRevisionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rppPayload'+--+-- * 'rppFileId'+--+-- * 'rppRevisionId'+revisionsPatch+ :: Revision -- ^ 'rppPayload'+ -> Text -- ^ 'rppFileId'+ -> Text -- ^ 'rppRevisionId'+ -> RevisionsPatch+revisionsPatch pRppPayload_ pRppFileId_ pRppRevisionId_ =+ RevisionsPatch+ { _rppPayload = pRppPayload_+ , _rppFileId = pRppFileId_+ , _rppRevisionId = pRppRevisionId_+ }++-- | Multipart request metadata.+rppPayload :: Lens' RevisionsPatch Revision+rppPayload+ = lens _rppPayload (\ s a -> s{_rppPayload = a})++-- | The ID for the file.+rppFileId :: Lens' RevisionsPatch Text+rppFileId+ = lens _rppFileId (\ s a -> s{_rppFileId = a})++-- | The ID for the revision.+rppRevisionId :: Lens' RevisionsPatch Text+rppRevisionId+ = lens _rppRevisionId+ (\ s a -> s{_rppRevisionId = a})++instance GoogleRequest RevisionsPatch where+ type Rs RevisionsPatch = Revision+ requestClient RevisionsPatch{..}+ = go _rppFileId _rppRevisionId (Just AltJSON)+ _rppPayload+ driveService+ where go+ = buildClient (Proxy :: Proxy RevisionsPatchResource)+ mempty
+ gen/Network/Google/Resource/Drive/Revisions/Update.hs view
@@ -0,0 +1,111 @@+{-# 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.Drive.Revisions.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 a revision.+--+-- /See:/ <https://developers.google.com/drive/ Drive API Reference> for @drive.revisions.update@.+module Network.Google.Resource.Drive.Revisions.Update+ (+ -- * REST Resource+ RevisionsUpdateResource++ -- * Creating a Request+ , revisionsUpdate+ , RevisionsUpdate++ -- * Request Lenses+ , revPayload+ , revFileId+ , revRevisionId+ ) where++import Network.Google.Drive.Types+import Network.Google.Prelude++-- | A resource alias for @drive.revisions.update@ method which the+-- 'RevisionsUpdate' request conforms to.+type RevisionsUpdateResource =+ "drive" :>+ "v2" :>+ "files" :>+ Capture "fileId" Text :>+ "revisions" :>+ Capture "revisionId" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Revision :> Put '[JSON] Revision++-- | Updates a revision.+--+-- /See:/ 'revisionsUpdate' smart constructor.+data RevisionsUpdate = RevisionsUpdate+ { _revPayload :: !Revision+ , _revFileId :: !Text+ , _revRevisionId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevisionsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'revPayload'+--+-- * 'revFileId'+--+-- * 'revRevisionId'+revisionsUpdate+ :: Revision -- ^ 'revPayload'+ -> Text -- ^ 'revFileId'+ -> Text -- ^ 'revRevisionId'+ -> RevisionsUpdate+revisionsUpdate pRevPayload_ pRevFileId_ pRevRevisionId_ =+ RevisionsUpdate+ { _revPayload = pRevPayload_+ , _revFileId = pRevFileId_+ , _revRevisionId = pRevRevisionId_+ }++-- | Multipart request metadata.+revPayload :: Lens' RevisionsUpdate Revision+revPayload+ = lens _revPayload (\ s a -> s{_revPayload = a})++-- | The ID for the file.+revFileId :: Lens' RevisionsUpdate Text+revFileId+ = lens _revFileId (\ s a -> s{_revFileId = a})++-- | The ID for the revision.+revRevisionId :: Lens' RevisionsUpdate Text+revRevisionId+ = lens _revRevisionId+ (\ s a -> s{_revRevisionId = a})++instance GoogleRequest RevisionsUpdate where+ type Rs RevisionsUpdate = Revision+ requestClient RevisionsUpdate{..}+ = go _revFileId _revRevisionId (Just AltJSON)+ _revPayload+ driveService+ where go+ = buildClient+ (Proxy :: Proxy RevisionsUpdateResource)+ mempty
+ gogol-drive.cabal view
@@ -0,0 +1,105 @@+name: gogol-drive+version: 0.0.1+synopsis: Google Drive 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:+ The API to interact with Drive.+ .+ /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 @v2@+ 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.Drive+ , Network.Google.Drive.Types+ , Network.Google.Resource.Drive.About.Get+ , Network.Google.Resource.Drive.Apps.Get+ , Network.Google.Resource.Drive.Apps.List+ , Network.Google.Resource.Drive.Changes.Get+ , Network.Google.Resource.Drive.Changes.List+ , Network.Google.Resource.Drive.Changes.Watch+ , Network.Google.Resource.Drive.Channels.Stop+ , Network.Google.Resource.Drive.Children.Delete+ , Network.Google.Resource.Drive.Children.Get+ , Network.Google.Resource.Drive.Children.Insert+ , Network.Google.Resource.Drive.Children.List+ , Network.Google.Resource.Drive.Comments.Delete+ , Network.Google.Resource.Drive.Comments.Get+ , Network.Google.Resource.Drive.Comments.Insert+ , Network.Google.Resource.Drive.Comments.List+ , Network.Google.Resource.Drive.Comments.Patch+ , Network.Google.Resource.Drive.Comments.Update+ , Network.Google.Resource.Drive.Files.Copy+ , Network.Google.Resource.Drive.Files.Delete+ , Network.Google.Resource.Drive.Files.EmptyTrash+ , Network.Google.Resource.Drive.Files.GenerateIds+ , Network.Google.Resource.Drive.Files.Get+ , Network.Google.Resource.Drive.Files.Insert+ , Network.Google.Resource.Drive.Files.List+ , Network.Google.Resource.Drive.Files.Patch+ , Network.Google.Resource.Drive.Files.Touch+ , Network.Google.Resource.Drive.Files.Trash+ , Network.Google.Resource.Drive.Files.Untrash+ , Network.Google.Resource.Drive.Files.Update+ , Network.Google.Resource.Drive.Files.Watch+ , Network.Google.Resource.Drive.Parents.Delete+ , Network.Google.Resource.Drive.Parents.Get+ , Network.Google.Resource.Drive.Parents.Insert+ , Network.Google.Resource.Drive.Parents.List+ , Network.Google.Resource.Drive.Permissions.Delete+ , Network.Google.Resource.Drive.Permissions.Get+ , Network.Google.Resource.Drive.Permissions.GetIdForEmail+ , Network.Google.Resource.Drive.Permissions.Insert+ , Network.Google.Resource.Drive.Permissions.List+ , Network.Google.Resource.Drive.Permissions.Patch+ , Network.Google.Resource.Drive.Permissions.Update+ , Network.Google.Resource.Drive.Properties.Delete+ , Network.Google.Resource.Drive.Properties.Get+ , Network.Google.Resource.Drive.Properties.Insert+ , Network.Google.Resource.Drive.Properties.List+ , Network.Google.Resource.Drive.Properties.Patch+ , Network.Google.Resource.Drive.Properties.Update+ , Network.Google.Resource.Drive.Realtime.Get+ , Network.Google.Resource.Drive.Realtime.Update+ , Network.Google.Resource.Drive.Replies.Delete+ , Network.Google.Resource.Drive.Replies.Get+ , Network.Google.Resource.Drive.Replies.Insert+ , Network.Google.Resource.Drive.Replies.List+ , Network.Google.Resource.Drive.Replies.Patch+ , Network.Google.Resource.Drive.Replies.Update+ , Network.Google.Resource.Drive.Revisions.Delete+ , Network.Google.Resource.Drive.Revisions.Get+ , Network.Google.Resource.Drive.Revisions.List+ , Network.Google.Resource.Drive.Revisions.Patch+ , Network.Google.Resource.Drive.Revisions.Update++ other-modules:+ Network.Google.Drive.Types.Product+ , Network.Google.Drive.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5