gogol-books (empty) → 0.0.1
raw patch · 54 files changed
+16417/−0 lines, 54 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/Books.hs +1106/−0
- gen/Network/Google/Books/Types.hs +873/−0
- gen/Network/Google/Books/Types/Product.hs +7012/−0
- gen/Network/Google/Books/Types/Sum.hs +738/−0
- gen/Network/Google/Resource/Books/Bookshelves/Get.hs +104/−0
- gen/Network/Google/Resource/Books/Bookshelves/List.hs +93/−0
- gen/Network/Google/Resource/Books/Bookshelves/Volumes/List.hs +149/−0
- gen/Network/Google/Resource/Books/CloudLoading/AddBook.hs +122/−0
- gen/Network/Google/Resource/Books/CloudLoading/DeleteBook.hs +84/−0
- gen/Network/Google/Resource/Books/CloudLoading/UpdateBook.hs +86/−0
- gen/Network/Google/Resource/Books/Dictionary/ListOfflineMetadata.hs +86/−0
- gen/Network/Google/Resource/Books/Layers/AnnotationData/Get.hs +206/−0
- gen/Network/Google/Resource/Books/Layers/AnnotationData/List.hs +252/−0
- gen/Network/Google/Resource/Books/Layers/Get.hs +120/−0
- gen/Network/Google/Resource/Books/Layers/List.hs +133/−0
- gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/Get.hs +139/−0
- gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/List.hs +275/−0
- gen/Network/Google/Resource/Books/MyConfig/GetUserSettings.hs +69/−0
- gen/Network/Google/Resource/Books/MyConfig/ReleaseDownloadAccess.hs +128/−0
- gen/Network/Google/Resource/Books/MyConfig/RequestAccess.hs +153/−0
- gen/Network/Google/Resource/Books/MyConfig/SyncVolumeLicenses.hs +171/−0
- gen/Network/Google/Resource/Books/MyConfig/UpdateUserSettings.hs +90/−0
- gen/Network/Google/Resource/Books/MyLibrary/Annotations/Delete.hs +98/−0
- gen/Network/Google/Resource/Books/MyLibrary/Annotations/Insert.hs +124/−0
- gen/Network/Google/Resource/Books/MyLibrary/Annotations/List.hs +205/−0
- gen/Network/Google/Resource/Books/MyLibrary/Annotations/Summary.hs +103/−0
- gen/Network/Google/Resource/Books/MyLibrary/Annotations/Update.hs +111/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/AddVolume.hs +127/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/ClearVolumes.hs +99/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Get.hs +98/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/List.hs +83/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/MoveVolume.hs +130/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/RemoveVolume.hs +127/−0
- gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Volumes/List.hs +177/−0
- gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/Get.hs +113/−0
- gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/SetPosition.hs +170/−0
- gen/Network/Google/Resource/Books/Notification/Get.hs +108/−0
- gen/Network/Google/Resource/Books/Onboarding/ListCategories.hs +84/−0
- gen/Network/Google/Resource/Books/Onboarding/ListCategoryVolumes.hs +144/−0
- gen/Network/Google/Resource/Books/Personalizedstream/Get.hs +111/−0
- gen/Network/Google/Resource/Books/PromoOffer/Accept.hs +165/−0
- gen/Network/Google/Resource/Books/PromoOffer/Dismiss.hs +154/−0
- gen/Network/Google/Resource/Books/PromoOffer/Get.hs +141/−0
- gen/Network/Google/Resource/Books/Volumes/Associated/List.hs +140/−0
- gen/Network/Google/Resource/Books/Volumes/Get.hs +140/−0
- gen/Network/Google/Resource/Books/Volumes/List.hs +232/−0
- gen/Network/Google/Resource/Books/Volumes/Mybooks/List.hs +161/−0
- gen/Network/Google/Resource/Books/Volumes/Recommended/List.hs +113/−0
- gen/Network/Google/Resource/Books/Volumes/Recommended/Rate.hs +125/−0
- gen/Network/Google/Resource/Books/Volumes/UserUploaded/List.hs +157/−0
- gogol-books.cabal +91/−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-books++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Books.+++## 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-books` 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/Books.hs view
@@ -0,0 +1,1106 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Books+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lets you search for books and manage your Google Books library.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference>+module Network.Google.Books+ (+ -- * Service Configuration+ booksService++ -- * API Declaration+ , BooksAPI++ -- * Resources++ -- ** books.bookshelves.get+ , module Network.Google.Resource.Books.Bookshelves.Get++ -- ** books.bookshelves.list+ , module Network.Google.Resource.Books.Bookshelves.List++ -- ** books.bookshelves.volumes.list+ , module Network.Google.Resource.Books.Bookshelves.Volumes.List++ -- ** books.cloudloading.addBook+ , module Network.Google.Resource.Books.CloudLoading.AddBook++ -- ** books.cloudloading.deleteBook+ , module Network.Google.Resource.Books.CloudLoading.DeleteBook++ -- ** books.cloudloading.updateBook+ , module Network.Google.Resource.Books.CloudLoading.UpdateBook++ -- ** books.dictionary.listOfflineMetadata+ , module Network.Google.Resource.Books.Dictionary.ListOfflineMetadata++ -- ** books.layers.annotationData.get+ , module Network.Google.Resource.Books.Layers.AnnotationData.Get++ -- ** books.layers.annotationData.list+ , module Network.Google.Resource.Books.Layers.AnnotationData.List++ -- ** books.layers.get+ , module Network.Google.Resource.Books.Layers.Get++ -- ** books.layers.list+ , module Network.Google.Resource.Books.Layers.List++ -- ** books.layers.volumeAnnotations.get+ , module Network.Google.Resource.Books.Layers.VolumeAnnotations.Get++ -- ** books.layers.volumeAnnotations.list+ , module Network.Google.Resource.Books.Layers.VolumeAnnotations.List++ -- ** books.myconfig.getUserSettings+ , module Network.Google.Resource.Books.MyConfig.GetUserSettings++ -- ** books.myconfig.releaseDownloadAccess+ , module Network.Google.Resource.Books.MyConfig.ReleaseDownloadAccess++ -- ** books.myconfig.requestAccess+ , module Network.Google.Resource.Books.MyConfig.RequestAccess++ -- ** books.myconfig.syncVolumeLicenses+ , module Network.Google.Resource.Books.MyConfig.SyncVolumeLicenses++ -- ** books.myconfig.updateUserSettings+ , module Network.Google.Resource.Books.MyConfig.UpdateUserSettings++ -- ** books.mylibrary.annotations.delete+ , module Network.Google.Resource.Books.MyLibrary.Annotations.Delete++ -- ** books.mylibrary.annotations.insert+ , module Network.Google.Resource.Books.MyLibrary.Annotations.Insert++ -- ** books.mylibrary.annotations.list+ , module Network.Google.Resource.Books.MyLibrary.Annotations.List++ -- ** books.mylibrary.annotations.summary+ , module Network.Google.Resource.Books.MyLibrary.Annotations.Summary++ -- ** books.mylibrary.annotations.update+ , module Network.Google.Resource.Books.MyLibrary.Annotations.Update++ -- ** books.mylibrary.bookshelves.addVolume+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.AddVolume++ -- ** books.mylibrary.bookshelves.clearVolumes+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.ClearVolumes++ -- ** books.mylibrary.bookshelves.get+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.Get++ -- ** books.mylibrary.bookshelves.list+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.List++ -- ** books.mylibrary.bookshelves.moveVolume+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.MoveVolume++ -- ** books.mylibrary.bookshelves.removeVolume+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.RemoveVolume++ -- ** books.mylibrary.bookshelves.volumes.list+ , module Network.Google.Resource.Books.MyLibrary.Bookshelves.Volumes.List++ -- ** books.mylibrary.readingpositions.get+ , module Network.Google.Resource.Books.MyLibrary.ReadingPositions.Get++ -- ** books.mylibrary.readingpositions.setPosition+ , module Network.Google.Resource.Books.MyLibrary.ReadingPositions.SetPosition++ -- ** books.notification.get+ , module Network.Google.Resource.Books.Notification.Get++ -- ** books.onboarding.listCategories+ , module Network.Google.Resource.Books.Onboarding.ListCategories++ -- ** books.onboarding.listCategoryVolumes+ , module Network.Google.Resource.Books.Onboarding.ListCategoryVolumes++ -- ** books.personalizedstream.get+ , module Network.Google.Resource.Books.Personalizedstream.Get++ -- ** books.promooffer.accept+ , module Network.Google.Resource.Books.PromoOffer.Accept++ -- ** books.promooffer.dismiss+ , module Network.Google.Resource.Books.PromoOffer.Dismiss++ -- ** books.promooffer.get+ , module Network.Google.Resource.Books.PromoOffer.Get++ -- ** books.volumes.associated.list+ , module Network.Google.Resource.Books.Volumes.Associated.List++ -- ** books.volumes.get+ , module Network.Google.Resource.Books.Volumes.Get++ -- ** books.volumes.list+ , module Network.Google.Resource.Books.Volumes.List++ -- ** books.volumes.mybooks.list+ , module Network.Google.Resource.Books.Volumes.Mybooks.List++ -- ** books.volumes.recommended.list+ , module Network.Google.Resource.Books.Volumes.Recommended.List++ -- ** books.volumes.recommended.rate+ , module Network.Google.Resource.Books.Volumes.Recommended.Rate++ -- ** books.volumes.useruploaded.list+ , module Network.Google.Resource.Books.Volumes.UserUploaded.List++ -- * Types++ -- ** UserSettings+ , UserSettings+ , userSettings+ , usNotification+ , usKind+ , usNotesExport++ -- ** Annotations+ , Annotations+ , annotations+ , aTotalItems+ , aNextPageToken+ , aKind+ , aItems++ -- ** VolumesListProjection+ , VolumesListProjection (..)++ -- ** MyLibraryBookshelvesVolumesListProjection+ , MyLibraryBookshelvesVolumesListProjection (..)++ -- ** VolumesListOrderBy+ , VolumesListOrderBy (..)++ -- ** AnnotationsData+ , AnnotationsData+ , annotationsData+ , adTotalItems+ , adNextPageToken+ , adKind+ , adItems++ -- ** UserSettingsNotificationMoreFromAuthors+ , UserSettingsNotificationMoreFromAuthors+ , userSettingsNotificationMoreFromAuthors+ , usnmfaOptedState++ -- ** Volumeannotations+ , Volumeannotations+ , volumeannotations+ , vTotalItems+ , vNextPageToken+ , vKind+ , vItems+ , vVersion++ -- ** ReviewSource+ , ReviewSource+ , reviewSource+ , rsExtraDescription+ , rsURL+ , rsDescription++ -- ** AnnotationData+ , AnnotationData+ , annotationData+ , annEncodedData+ , annKind+ , annData+ , annSelfLink+ , annAnnotationType+ , annVolumeId+ , annId+ , annUpdated+ , annLayerId++ -- ** Volumeannotation+ , Volumeannotation+ , volumeannotation+ , volSelectedText+ , volAnnotationDataLink+ , volPageIds+ , volKind+ , volData+ , volSelfLink+ , volAnnotationType+ , volAnnotationDataId+ , volContentRanges+ , volVolumeId+ , volId+ , volDeleted+ , volUpdated+ , volLayerId++ -- ** BooksCloudLoadingResource+ , BooksCloudLoadingResource+ , booksCloudLoadingResource+ , bclrProcessingState+ , bclrVolumeId+ , bclrAuthor+ , bclrTitle++ -- ** Annotation+ , Annotation+ , annotation+ , aaSelectedText+ , aaLayerSummary+ , aaHighlightStyle+ , aaClientVersionRanges+ , aaPageIds+ , aaKind+ , aaData+ , aaCreated+ , aaAfterSelectedText+ , aaSelfLink+ , aaCurrentVersionRanges+ , aaVolumeId+ , aaBeforeSelectedText+ , aaId+ , aaDeleted+ , aaUpdated+ , aaLayerId++ -- ** ReviewAuthor+ , ReviewAuthor+ , reviewAuthor+ , raDisplayName++ -- ** GeolayerDataGeoViewport+ , GeolayerDataGeoViewport+ , geolayerDataGeoViewport+ , gdgvHi+ , gdgvLo++ -- ** VolumeUserInfo+ , VolumeUserInfo+ , volumeUserInfo+ , vuiCopy+ , vuiUserUploadedVolumeInfo+ , vuiIsPurchased+ , vuiEntitlementType+ , vuiAcquisitionType+ , vuiRentalState+ , vuiIsPreOrdered+ , vuiReview+ , vuiRentalPeriod+ , vuiUpdated+ , vuiIsUploaded+ , vuiIsInMyBooks+ , vuiReadingPosition++ -- ** Layersummary+ , Layersummary+ , layersummary+ , lAnnotationsDataLink+ , lAnnotationsLink+ , lKind+ , lDataCount+ , lContentVersion+ , lVolumeAnnotationsVersion+ , lAnnotationCount+ , lAnnotationTypes+ , lSelfLink+ , lVolumeId+ , lId+ , lUpdated+ , lLayerId++ -- ** VolumesListLibraryRestrict+ , VolumesListLibraryRestrict (..)++ -- ** VolumeannotationContentRanges+ , VolumeannotationContentRanges+ , volumeannotationContentRanges+ , vcrGbImageRange+ , vcrContentVersion+ , vcrGbTextRange+ , vcrCfiRange++ -- ** VolumeAccessInfo+ , VolumeAccessInfo+ , volumeAccessInfo+ , vaiWebReaderLink+ , vaiCountry+ , vaiDriveImportedContentLink+ , vaiExplicitOfflineLicenseManagement+ , vaiViewability+ , vaiQuoteSharingAllowed+ , vaiEpub+ , vaiPdf+ , vaiTextToSpeechPermission+ , vaiEmbeddable+ , vaiAccessViewStatus+ , vaiDownloadAccess+ , vaiViewOrderURL+ , vaiPublicDomain++ -- ** MyLibraryBookshelvesRemoveVolumeReason+ , MyLibraryBookshelvesRemoveVolumeReason (..)++ -- ** VolumeVolumeInfoImageLinks+ , VolumeVolumeInfoImageLinks+ , volumeVolumeInfoImageLinks+ , vviilThumbnail+ , vviilSmall+ , vviilExtraLarge+ , vviilLarge+ , vviilMedium+ , vviilSmallThumbnail++ -- ** OnboardingListCategoryVolumesMaxAllowedMaturityRating+ , OnboardingListCategoryVolumesMaxAllowedMaturityRating (..)++ -- ** VolumeUserInfoUserUploadedVolumeInfo+ , VolumeUserInfoUserUploadedVolumeInfo+ , volumeUserInfoUserUploadedVolumeInfo+ , vuiuuviProcessingState++ -- ** VolumeUserInfoCopy+ , VolumeUserInfoCopy+ , volumeUserInfoCopy+ , vuicLimitType+ , vuicAllowedCharacterCount+ , vuicUpdated+ , vuicRemainingCharacterCount++ -- ** BooksVolumesRecommendedRateResponse+ , BooksVolumesRecommendedRateResponse+ , booksVolumesRecommendedRateResponse+ , bvrrrConsistencyToken++ -- ** Bookshelf+ , Bookshelf+ , bookshelf+ , bAccess+ , bVolumesLastUpdated+ , bKind+ , bCreated+ , bVolumeCount+ , bSelfLink+ , bId+ , bUpdated+ , bTitle+ , bDescription++ -- ** Notification+ , Notification+ , notification+ , nKind+ , nBody+ , nLinkURL+ , nIconURL+ , nTitle++ -- ** VolumesListDownload+ , VolumesListDownload (..)++ -- ** AnnotationsSummaryLayersItem+ , AnnotationsSummaryLayersItem+ , annotationsSummaryLayersItem+ , asliLimitType+ , asliAllowedCharacterCount+ , asliUpdated+ , asliLayerId+ , asliRemainingCharacterCount++ -- ** VolumeSaleInfoOffersItemRentalDuration+ , VolumeSaleInfoOffersItemRentalDuration+ , volumeSaleInfoOffersItemRentalDuration+ , vsioirdCount+ , vsioirdUnit++ -- ** DictlayerDataDictWordsItemExamplesItem+ , DictlayerDataDictWordsItemExamplesItem+ , dictlayerDataDictWordsItemExamplesItem+ , dddwieiText+ , dddwieiSource++ -- ** OffersItemsItem+ , OffersItemsItem+ , offersItemsItem+ , oiiItems+ , oiiArtURL+ , oiiId+ , oiiGServicesKey++ -- ** AnnotationLayerSummary+ , AnnotationLayerSummary+ , annotationLayerSummary+ , alsLimitType+ , alsAllowedCharacterCount+ , alsRemainingCharacterCount++ -- ** VolumeSearchInfo+ , VolumeSearchInfo+ , volumeSearchInfo+ , vsiTextSnippet++ -- ** AnnotationsSummary+ , AnnotationsSummary+ , annotationsSummary+ , asKind+ , asLayers++ -- ** VolumesGetProjection+ , VolumesGetProjection (..)++ -- ** Category+ , Category+ , category+ , cKind+ , cItems++ -- ** VolumesAssociatedListAssociation+ , VolumesAssociatedListAssociation (..)++ -- ** DiscoveryclustersClustersItemBanner_with_content_container+ , DiscoveryclustersClustersItemBanner_with_content_container+ , discoveryclustersClustersItemBanner_with_content_container+ , dcibFillColorArgb+ , dcibMoreButtonURL+ , dcibTextColorArgb+ , dcibMoreButtonText+ , dcibImageURL+ , dcibMaskColorArgb++ -- ** Volume+ , Volume+ , volume+ , vvUserInfo+ , vvEtag+ , vvAccessInfo+ , vvKind+ , vvSearchInfo+ , vvSelfLink+ , vvLayerInfo+ , vvSaleInfo+ , vvId+ , vvRecommendedInfo+ , vvVolumeInfo++ -- ** GeolayerDataGeoBoundaryItemItem+ , GeolayerDataGeoBoundaryItemItem+ , geolayerDataGeoBoundaryItemItem+ , gdgbiiLatitude+ , gdgbiiLongitude++ -- ** OffersItemsItemItemsItem+ , OffersItemsItemItemsItem+ , offersItemsItemItemsItem+ , oiiiiCanonicalVolumeLink+ , oiiiiCoverURL+ , oiiiiVolumeId+ , oiiiiAuthor+ , oiiiiTitle+ , oiiiiDescription++ -- ** DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , dddwisidieisURL+ , dddwisidieisAttribution++ -- ** GeolayerDataCommon+ , GeolayerDataCommon+ , geolayerDataCommon+ , gdcSnippet+ , gdcSnippetURL+ , gdcLang+ , gdcTitle+ , gdcPreviewImageURL++ -- ** GeolayerDataGeo+ , GeolayerDataGeo+ , geolayerDataGeo+ , gdgMapType+ , gdgCachePolicy+ , gdgViewport+ , gdgBoundary+ , gdgLatitude+ , gdgZoom+ , gdgCountryCode+ , gdgLongitude++ -- ** DictlayerDataDictWordsItem+ , DictlayerDataDictWordsItem+ , dictlayerDataDictWordsItem+ , dddwiSenses+ , dddwiSource+ , dddwiDerivatives+ , dddwiExamples++ -- ** CategoryItemsItem+ , CategoryItemsItem+ , categoryItemsItem+ , ciiName+ , ciiCategoryId+ , ciiBadgeURL++ -- ** DictlayerDataDictWordsItemDerivativesItemSource+ , DictlayerDataDictWordsItemDerivativesItemSource+ , dictlayerDataDictWordsItemDerivativesItemSource+ , dddwidisURL+ , dddwidisAttribution++ -- ** VolumesRecommendedRateRating+ , VolumesRecommendedRateRating (..)++ -- ** GeolayerData+ , GeolayerData+ , geolayerData+ , gdKind+ , gdGeo+ , gdCommon++ -- ** DictlayerDataDictWordsItemSource+ , DictlayerDataDictWordsItemSource+ , dictlayerDataDictWordsItemSource+ , dddwisURL+ , dddwisAttribution++ -- ** DictlayerDataDictWordsItemDerivativesItem+ , DictlayerDataDictWordsItemDerivativesItem+ , dictlayerDataDictWordsItemDerivativesItem+ , dddwidiText+ , dddwidiSource++ -- ** VolumesUserUploadedListProcessingState+ , VolumesUserUploadedListProcessingState (..)++ -- ** MyConfigSyncVolumeLicensesFeatures+ , MyConfigSyncVolumeLicensesFeatures (..)++ -- ** DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , dddwisidieiText+ , dddwisidieiSource++ -- ** DictlayerData+ , DictlayerData+ , dictlayerData+ , ddKind+ , ddDict+ , ddCommon++ -- ** VolumesAssociatedListMaxAllowedMaturityRating+ , VolumesAssociatedListMaxAllowedMaturityRating (..)++ -- ** DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , dictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , dddwisisisURL+ , dddwisisisAttribution++ -- ** VolumesListFilter+ , VolumesListFilter (..)++ -- ** UserSettingsNotification+ , UserSettingsNotification+ , userSettingsNotification+ , usnMoreFromAuthors++ -- ** DictlayerDataDictWordsItemSensesItemSynonymsItem+ , DictlayerDataDictWordsItemSensesItemSynonymsItem+ , dictlayerDataDictWordsItemSensesItemSynonymsItem+ , dddwisisiText+ , dddwisisiSource++ -- ** GeolayerDataGeoViewportLo+ , GeolayerDataGeoViewportLo+ , geolayerDataGeoViewportLo+ , gdgvlLatitude+ , gdgvlLongitude++ -- ** VolumesRecommendedListMaxAllowedMaturityRating+ , VolumesRecommendedListMaxAllowedMaturityRating (..)++ -- ** VolumeSaleInfoOffersItemListPrice+ , VolumeSaleInfoOffersItemListPrice+ , volumeSaleInfoOffersItemListPrice+ , vsioilpCurrencyCode+ , vsioilpAmountInMicros++ -- ** DownloadAccessRestriction+ , DownloadAccessRestriction+ , downloadAccessRestriction+ , darJustAcquired+ , darSignature+ , darKind+ , darMaxDownloadDevices+ , darDownloadsAcquired+ , darReasonCode+ , darVolumeId+ , darRestricted+ , darSource+ , darDeviceAllowed+ , darMessage+ , darNonce++ -- ** DictlayerDataCommon+ , DictlayerDataCommon+ , dictlayerDataCommon+ , ddcTitle++ -- ** DiscoveryclustersClustersItem+ , DiscoveryclustersClustersItem+ , discoveryclustersClustersItem+ , dciBannerWithContentContainer+ , dciUid+ , dciTotalVolumes+ , dciSubTitle+ , dciTitle+ , dciVolumes++ -- ** VolumeSaleInfoRetailPrice+ , VolumeSaleInfoRetailPrice+ , volumeSaleInfoRetailPrice+ , vsirpAmount+ , vsirpCurrencyCode++ -- ** VolumeSaleInfoListPrice+ , VolumeSaleInfoListPrice+ , volumeSaleInfoListPrice+ , vsilpAmount+ , vsilpCurrencyCode++ -- ** DictlayerDataDictWordsItemSensesItemConjugationsItem+ , DictlayerDataDictWordsItemSensesItemConjugationsItem+ , dictlayerDataDictWordsItemSensesItemConjugationsItem+ , dddwisiciValue+ , dddwisiciType++ -- ** Volume2+ , Volume2+ , volume2+ , voloNextPageToken+ , voloKind+ , voloItems++ -- ** Review+ , Review+ , review+ , rRating+ , rKind+ , rContent+ , rDate+ , rVolumeId+ , rAuthor+ , rSource+ , rFullTextURL+ , rTitle+ , rType++ -- ** VolumeUserInfoRentalPeriod+ , VolumeUserInfoRentalPeriod+ , volumeUserInfoRentalPeriod+ , vuirpEndUtcSec+ , vuirpStartUtcSec++ -- ** VolumeSaleInfo+ , VolumeSaleInfo+ , volumeSaleInfo+ , vsiCountry+ , vsiOnSaleDate+ , vsiListPrice+ , vsiRetailPrice+ , vsiOffers+ , vsiBuyLink+ , vsiIsEbook+ , vsiSaleability++ -- ** MyLibraryBookshelvesAddVolumeReason+ , MyLibraryBookshelvesAddVolumeReason (..)++ -- ** Metadata+ , Metadata+ , metadata+ , mKind+ , mItems++ -- ** VolumeLayerInfo+ , VolumeLayerInfo+ , volumeLayerInfo+ , vliLayers++ -- ** VolumeVolumeInfoDimensions+ , VolumeVolumeInfoDimensions+ , volumeVolumeInfoDimensions+ , vvidHeight+ , vvidWidth+ , vvidThickness++ -- ** RequestAccess+ , RequestAccess+ , requestAccess+ , raConcurrentAccess+ , raKind+ , raDownloadAccess++ -- ** AnnotationClientVersionRanges+ , AnnotationClientVersionRanges+ , annotationClientVersionRanges+ , acvrGbImageRange+ , acvrContentVersion+ , acvrImageCfiRange+ , acvrGbTextRange+ , acvrCfiRange++ -- ** VolumesMybooksListAcquireMethod+ , VolumesMybooksListAcquireMethod (..)++ -- ** DictlayerDataDictWordsItemSensesItemDefinitionsItem+ , DictlayerDataDictWordsItemSensesItemDefinitionsItem+ , dictlayerDataDictWordsItemSensesItemDefinitionsItem+ , dddwisidiDefinition+ , dddwisidiExamples++ -- ** VolumeLayerInfoLayersItem+ , VolumeLayerInfoLayersItem+ , volumeLayerInfoLayersItem+ , vliliVolumeAnnotationsVersion+ , vliliLayerId++ -- ** AnnotationCurrentVersionRanges+ , AnnotationCurrentVersionRanges+ , annotationCurrentVersionRanges+ , aGbImageRange+ , aContentVersion+ , aImageCfiRange+ , aGbTextRange+ , aCfiRange++ -- ** PersonalizedstreamGetMaxAllowedMaturityRating+ , PersonalizedstreamGetMaxAllowedMaturityRating (..)++ -- ** VolumesListPrintType+ , VolumesListPrintType (..)++ -- ** VolumeAccessInfoPdf+ , VolumeAccessInfoPdf+ , volumeAccessInfoPdf+ , vaipAcsTokenLink+ , vaipIsAvailable+ , vaipDownloadLink++ -- ** DictlayerDataDictWordsItemExamplesItemSource+ , DictlayerDataDictWordsItemExamplesItemSource+ , dictlayerDataDictWordsItemExamplesItemSource+ , dddwieisURL+ , dddwieisAttribution++ -- ** VolumeAccessInfoEpub+ , VolumeAccessInfoEpub+ , volumeAccessInfoEpub+ , vaieAcsTokenLink+ , vaieIsAvailable+ , vaieDownloadLink++ -- ** ReadingPosition+ , ReadingPosition+ , readingPosition+ , rpEpubCfiPosition+ , rpKind+ , rpGbImagePosition+ , rpPdfPosition+ , rpVolumeId+ , rpUpdated+ , rpGbTextPosition++ -- ** VolumeSaleInfoOffersItem+ , VolumeSaleInfoOffersItem+ , volumeSaleInfoOffersItem+ , vsioiFinskyOfferType+ , vsioiRentalDuration+ , vsioiListPrice+ , vsioiRetailPrice++ -- ** DictlayerDataDict+ , DictlayerDataDict+ , dictlayerDataDict+ , dddSource+ , dddWords++ -- ** DictlayerDataDictWordsItemSensesItem+ , DictlayerDataDictWordsItemSensesItem+ , dictlayerDataDictWordsItemSensesItem+ , dddwisiPronunciationURL+ , dddwisiConjugations+ , dddwisiPronunciation+ , dddwisiSynonyms+ , dddwisiSource+ , dddwisiPartOfSpeech+ , dddwisiDefinitions+ , dddwisiSyllabification++ -- ** VolumeRecommendedInfo+ , VolumeRecommendedInfo+ , volumeRecommendedInfo+ , vriExplanation++ -- ** Offers+ , Offers+ , offers+ , oKind+ , oItems++ -- ** VolumesMybooksListProcessingState+ , VolumesMybooksListProcessingState (..)++ -- ** Discoveryclusters+ , Discoveryclusters+ , discoveryclusters+ , dKind+ , dTotalClusters+ , dClusters++ -- ** UserSettingsNotesExport+ , UserSettingsNotesExport+ , userSettingsNotesExport+ , usneFolderName+ , usneIsEnabled++ -- ** ConcurrentAccessRestriction+ , ConcurrentAccessRestriction+ , concurrentAccessRestriction+ , carMaxConcurrentDevices+ , carSignature+ , carTimeWindowSeconds+ , carKind+ , carReasonCode+ , carVolumeId+ , carRestricted+ , carSource+ , carDeviceAllowed+ , carMessage+ , carNonce++ -- ** Volumes+ , Volumes+ , volumes+ , v1TotalItems+ , v1Kind+ , v1Items++ -- ** Bookshelves+ , Bookshelves+ , bookshelves+ , booKind+ , booItems++ -- ** MyConfigRequestAccessLicenseTypes+ , MyConfigRequestAccessLicenseTypes (..)++ -- ** DictlayerDataDictSource+ , DictlayerDataDictSource+ , dictlayerDataDictSource+ , dddsURL+ , dddsAttribution++ -- ** DownloadAccesses+ , DownloadAccesses+ , downloadAccesses+ , daKind+ , daDownloadAccessList++ -- ** GeolayerDataGeoViewportHi+ , GeolayerDataGeoViewportHi+ , geolayerDataGeoViewportHi+ , gdgvhLatitude+ , gdgvhLongitude++ -- ** MyLibraryReadingPositionsSetPositionAction+ , MyLibraryReadingPositionsSetPositionAction (..)++ -- ** VolumeVolumeInfo+ , VolumeVolumeInfo+ , volumeVolumeInfo+ , vviImageLinks+ , vviAverageRating+ , vviRatingsCount+ , vviCanonicalVolumeLink+ , vviReadingModes+ , vviIndustryIdentifiers+ , vviPrintedPageCount+ , vviMainCategory+ , vviContentVersion+ , vviSamplePageCount+ , vviCategories+ , vviAuthors+ , vviAllowAnonLogging+ , vviSubtitle+ , vviPublishedDate+ , vviMaturityRating+ , vviPreviewLink+ , vviLanguage+ , vviTitle+ , vviPageCount+ , vviDimensions+ , vviInfoLink+ , vviPublisher+ , vviDescription+ , vviPrintType++ -- ** MetadataItemsItem+ , MetadataItemsItem+ , metadataItemsItem+ , miiSize+ , miiVersion+ , miiLanguage+ , miiDownloadURL+ , miiEncryptedKey++ -- ** DictlayerDataDictWordsItemSensesItemSource+ , DictlayerDataDictWordsItemSensesItemSource+ , dictlayerDataDictWordsItemSensesItemSource+ , dddwisisURL+ , dddwisisAttribution++ -- ** VolumeSaleInfoOffersItemRetailPrice+ , VolumeSaleInfoOffersItemRetailPrice+ , volumeSaleInfoOffersItemRetailPrice+ , vsioirpCurrencyCode+ , vsioirpAmountInMicros++ -- ** VolumeVolumeInfoIndustryIdentifiersItem+ , VolumeVolumeInfoIndustryIdentifiersItem+ , volumeVolumeInfoIndustryIdentifiersItem+ , vviiiiIdentifier+ , vviiiiType++ -- ** BooksAnnotationsRange+ , BooksAnnotationsRange+ , booksAnnotationsRange+ , barStartOffSet+ , barEndOffSet+ , barEndPosition+ , barStartPosition++ -- ** Layersummaries+ , Layersummaries+ , layersummaries+ , layTotalItems+ , layKind+ , layItems+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude+import Network.Google.Resource.Books.Bookshelves.Get+import Network.Google.Resource.Books.Bookshelves.List+import Network.Google.Resource.Books.Bookshelves.Volumes.List+import Network.Google.Resource.Books.CloudLoading.AddBook+import Network.Google.Resource.Books.CloudLoading.DeleteBook+import Network.Google.Resource.Books.CloudLoading.UpdateBook+import Network.Google.Resource.Books.Dictionary.ListOfflineMetadata+import Network.Google.Resource.Books.Layers.AnnotationData.Get+import Network.Google.Resource.Books.Layers.AnnotationData.List+import Network.Google.Resource.Books.Layers.Get+import Network.Google.Resource.Books.Layers.List+import Network.Google.Resource.Books.Layers.VolumeAnnotations.Get+import Network.Google.Resource.Books.Layers.VolumeAnnotations.List+import Network.Google.Resource.Books.MyConfig.GetUserSettings+import Network.Google.Resource.Books.MyConfig.ReleaseDownloadAccess+import Network.Google.Resource.Books.MyConfig.RequestAccess+import Network.Google.Resource.Books.MyConfig.SyncVolumeLicenses+import Network.Google.Resource.Books.MyConfig.UpdateUserSettings+import Network.Google.Resource.Books.MyLibrary.Annotations.Delete+import Network.Google.Resource.Books.MyLibrary.Annotations.Insert+import Network.Google.Resource.Books.MyLibrary.Annotations.List+import Network.Google.Resource.Books.MyLibrary.Annotations.Summary+import Network.Google.Resource.Books.MyLibrary.Annotations.Update+import Network.Google.Resource.Books.MyLibrary.Bookshelves.AddVolume+import Network.Google.Resource.Books.MyLibrary.Bookshelves.ClearVolumes+import Network.Google.Resource.Books.MyLibrary.Bookshelves.Get+import Network.Google.Resource.Books.MyLibrary.Bookshelves.List+import Network.Google.Resource.Books.MyLibrary.Bookshelves.MoveVolume+import Network.Google.Resource.Books.MyLibrary.Bookshelves.RemoveVolume+import Network.Google.Resource.Books.MyLibrary.Bookshelves.Volumes.List+import Network.Google.Resource.Books.MyLibrary.ReadingPositions.Get+import Network.Google.Resource.Books.MyLibrary.ReadingPositions.SetPosition+import Network.Google.Resource.Books.Notification.Get+import Network.Google.Resource.Books.Onboarding.ListCategories+import Network.Google.Resource.Books.Onboarding.ListCategoryVolumes+import Network.Google.Resource.Books.Personalizedstream.Get+import Network.Google.Resource.Books.PromoOffer.Accept+import Network.Google.Resource.Books.PromoOffer.Dismiss+import Network.Google.Resource.Books.PromoOffer.Get+import Network.Google.Resource.Books.Volumes.Associated.List+import Network.Google.Resource.Books.Volumes.Get+import Network.Google.Resource.Books.Volumes.List+import Network.Google.Resource.Books.Volumes.Mybooks.List+import Network.Google.Resource.Books.Volumes.Recommended.List+import Network.Google.Resource.Books.Volumes.Recommended.Rate+import Network.Google.Resource.Books.Volumes.UserUploaded.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Books API service.+type BooksAPI =+ NotificationGetResource :<|>+ OnboardingListCategoriesResource+ :<|> OnboardingListCategoryVolumesResource+ :<|> MyLibraryAnnotationsSummaryResource+ :<|> MyLibraryAnnotationsInsertResource+ :<|> MyLibraryAnnotationsListResource+ :<|> MyLibraryAnnotationsDeleteResource+ :<|> MyLibraryAnnotationsUpdateResource+ :<|> MyLibraryReadingPositionsGetResource+ :<|> MyLibraryReadingPositionsSetPositionResource+ :<|> MyLibraryBookshelvesVolumesListResource+ :<|> MyLibraryBookshelvesClearVolumesResource+ :<|> MyLibraryBookshelvesListResource+ :<|> MyLibraryBookshelvesGetResource+ :<|> MyLibraryBookshelvesRemoveVolumeResource+ :<|> MyLibraryBookshelvesAddVolumeResource+ :<|> MyLibraryBookshelvesMoveVolumeResource+ :<|> PromoOfferAcceptResource+ :<|> PromoOfferGetResource+ :<|> PromoOfferDismissResource+ :<|> CloudLoadingAddBookResource+ :<|> CloudLoadingUpdateBookResource+ :<|> CloudLoadingDeleteBookResource+ :<|> LayersVolumeAnnotationsListResource+ :<|> LayersVolumeAnnotationsGetResource+ :<|> LayersAnnotationDataListResource+ :<|> LayersAnnotationDataGetResource+ :<|> LayersListResource+ :<|> LayersGetResource+ :<|> DictionaryListOfflineMetadataResource+ :<|> VolumesUserUploadedListResource+ :<|> VolumesRecommendedListResource+ :<|> VolumesRecommendedRateResource+ :<|> VolumesAssociatedListResource+ :<|> VolumesMybooksListResource+ :<|> VolumesListResource+ :<|> VolumesGetResource+ :<|> BookshelvesVolumesListResource+ :<|> BookshelvesListResource+ :<|> BookshelvesGetResource+ :<|> PersonalizedstreamGetResource+ :<|> MyConfigSyncVolumeLicensesResource+ :<|> MyConfigGetUserSettingsResource+ :<|> MyConfigRequestAccessResource+ :<|> MyConfigUpdateUserSettingsResource+ :<|> MyConfigReleaseDownloadAccessResource
+ gen/Network/Google/Books/Types.hs view
@@ -0,0 +1,873 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Books.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.Books.Types+ (+ -- * Service Configuration+ booksService++ -- * OAuth Scopes+ , booksScope++ -- * UserSettings+ , UserSettings+ , userSettings+ , usNotification+ , usKind+ , usNotesExport++ -- * Annotations+ , Annotations+ , annotations+ , aTotalItems+ , aNextPageToken+ , aKind+ , aItems++ -- * VolumesListProjection+ , VolumesListProjection (..)++ -- * MyLibraryBookshelvesVolumesListProjection+ , MyLibraryBookshelvesVolumesListProjection (..)++ -- * VolumesListOrderBy+ , VolumesListOrderBy (..)++ -- * AnnotationsData+ , AnnotationsData+ , annotationsData+ , adTotalItems+ , adNextPageToken+ , adKind+ , adItems++ -- * UserSettingsNotificationMoreFromAuthors+ , UserSettingsNotificationMoreFromAuthors+ , userSettingsNotificationMoreFromAuthors+ , usnmfaOptedState++ -- * Volumeannotations+ , Volumeannotations+ , volumeannotations+ , vTotalItems+ , vNextPageToken+ , vKind+ , vItems+ , vVersion++ -- * ReviewSource+ , ReviewSource+ , reviewSource+ , rsExtraDescription+ , rsURL+ , rsDescription++ -- * AnnotationData+ , AnnotationData+ , annotationData+ , annEncodedData+ , annKind+ , annData+ , annSelfLink+ , annAnnotationType+ , annVolumeId+ , annId+ , annUpdated+ , annLayerId++ -- * Volumeannotation+ , Volumeannotation+ , volumeannotation+ , volSelectedText+ , volAnnotationDataLink+ , volPageIds+ , volKind+ , volData+ , volSelfLink+ , volAnnotationType+ , volAnnotationDataId+ , volContentRanges+ , volVolumeId+ , volId+ , volDeleted+ , volUpdated+ , volLayerId++ -- * BooksCloudLoadingResource+ , BooksCloudLoadingResource+ , booksCloudLoadingResource+ , bclrProcessingState+ , bclrVolumeId+ , bclrAuthor+ , bclrTitle++ -- * Annotation+ , Annotation+ , annotation+ , aaSelectedText+ , aaLayerSummary+ , aaHighlightStyle+ , aaClientVersionRanges+ , aaPageIds+ , aaKind+ , aaData+ , aaCreated+ , aaAfterSelectedText+ , aaSelfLink+ , aaCurrentVersionRanges+ , aaVolumeId+ , aaBeforeSelectedText+ , aaId+ , aaDeleted+ , aaUpdated+ , aaLayerId++ -- * ReviewAuthor+ , ReviewAuthor+ , reviewAuthor+ , raDisplayName++ -- * GeolayerDataGeoViewport+ , GeolayerDataGeoViewport+ , geolayerDataGeoViewport+ , gdgvHi+ , gdgvLo++ -- * VolumeUserInfo+ , VolumeUserInfo+ , volumeUserInfo+ , vuiCopy+ , vuiUserUploadedVolumeInfo+ , vuiIsPurchased+ , vuiEntitlementType+ , vuiAcquisitionType+ , vuiRentalState+ , vuiIsPreOrdered+ , vuiReview+ , vuiRentalPeriod+ , vuiUpdated+ , vuiIsUploaded+ , vuiIsInMyBooks+ , vuiReadingPosition++ -- * Layersummary+ , Layersummary+ , layersummary+ , lAnnotationsDataLink+ , lAnnotationsLink+ , lKind+ , lDataCount+ , lContentVersion+ , lVolumeAnnotationsVersion+ , lAnnotationCount+ , lAnnotationTypes+ , lSelfLink+ , lVolumeId+ , lId+ , lUpdated+ , lLayerId++ -- * VolumesListLibraryRestrict+ , VolumesListLibraryRestrict (..)++ -- * VolumeannotationContentRanges+ , VolumeannotationContentRanges+ , volumeannotationContentRanges+ , vcrGbImageRange+ , vcrContentVersion+ , vcrGbTextRange+ , vcrCfiRange++ -- * VolumeAccessInfo+ , VolumeAccessInfo+ , volumeAccessInfo+ , vaiWebReaderLink+ , vaiCountry+ , vaiDriveImportedContentLink+ , vaiExplicitOfflineLicenseManagement+ , vaiViewability+ , vaiQuoteSharingAllowed+ , vaiEpub+ , vaiPdf+ , vaiTextToSpeechPermission+ , vaiEmbeddable+ , vaiAccessViewStatus+ , vaiDownloadAccess+ , vaiViewOrderURL+ , vaiPublicDomain++ -- * MyLibraryBookshelvesRemoveVolumeReason+ , MyLibraryBookshelvesRemoveVolumeReason (..)++ -- * VolumeVolumeInfoImageLinks+ , VolumeVolumeInfoImageLinks+ , volumeVolumeInfoImageLinks+ , vviilThumbnail+ , vviilSmall+ , vviilExtraLarge+ , vviilLarge+ , vviilMedium+ , vviilSmallThumbnail++ -- * OnboardingListCategoryVolumesMaxAllowedMaturityRating+ , OnboardingListCategoryVolumesMaxAllowedMaturityRating (..)++ -- * VolumeUserInfoUserUploadedVolumeInfo+ , VolumeUserInfoUserUploadedVolumeInfo+ , volumeUserInfoUserUploadedVolumeInfo+ , vuiuuviProcessingState++ -- * VolumeUserInfoCopy+ , VolumeUserInfoCopy+ , volumeUserInfoCopy+ , vuicLimitType+ , vuicAllowedCharacterCount+ , vuicUpdated+ , vuicRemainingCharacterCount++ -- * BooksVolumesRecommendedRateResponse+ , BooksVolumesRecommendedRateResponse+ , booksVolumesRecommendedRateResponse+ , bvrrrConsistencyToken++ -- * Bookshelf+ , Bookshelf+ , bookshelf+ , bAccess+ , bVolumesLastUpdated+ , bKind+ , bCreated+ , bVolumeCount+ , bSelfLink+ , bId+ , bUpdated+ , bTitle+ , bDescription++ -- * Notification+ , Notification+ , notification+ , nKind+ , nBody+ , nLinkURL+ , nIconURL+ , nTitle++ -- * VolumesListDownload+ , VolumesListDownload (..)++ -- * AnnotationsSummaryLayersItem+ , AnnotationsSummaryLayersItem+ , annotationsSummaryLayersItem+ , asliLimitType+ , asliAllowedCharacterCount+ , asliUpdated+ , asliLayerId+ , asliRemainingCharacterCount++ -- * VolumeSaleInfoOffersItemRentalDuration+ , VolumeSaleInfoOffersItemRentalDuration+ , volumeSaleInfoOffersItemRentalDuration+ , vsioirdCount+ , vsioirdUnit++ -- * DictlayerDataDictWordsItemExamplesItem+ , DictlayerDataDictWordsItemExamplesItem+ , dictlayerDataDictWordsItemExamplesItem+ , dddwieiText+ , dddwieiSource++ -- * OffersItemsItem+ , OffersItemsItem+ , offersItemsItem+ , oiiItems+ , oiiArtURL+ , oiiId+ , oiiGServicesKey++ -- * AnnotationLayerSummary+ , AnnotationLayerSummary+ , annotationLayerSummary+ , alsLimitType+ , alsAllowedCharacterCount+ , alsRemainingCharacterCount++ -- * VolumeSearchInfo+ , VolumeSearchInfo+ , volumeSearchInfo+ , vsiTextSnippet++ -- * AnnotationsSummary+ , AnnotationsSummary+ , annotationsSummary+ , asKind+ , asLayers++ -- * VolumesGetProjection+ , VolumesGetProjection (..)++ -- * Category+ , Category+ , category+ , cKind+ , cItems++ -- * VolumesAssociatedListAssociation+ , VolumesAssociatedListAssociation (..)++ -- * DiscoveryclustersClustersItemBanner_with_content_container+ , DiscoveryclustersClustersItemBanner_with_content_container+ , discoveryclustersClustersItemBanner_with_content_container+ , dcibFillColorArgb+ , dcibMoreButtonURL+ , dcibTextColorArgb+ , dcibMoreButtonText+ , dcibImageURL+ , dcibMaskColorArgb++ -- * Volume+ , Volume+ , volume+ , vvUserInfo+ , vvEtag+ , vvAccessInfo+ , vvKind+ , vvSearchInfo+ , vvSelfLink+ , vvLayerInfo+ , vvSaleInfo+ , vvId+ , vvRecommendedInfo+ , vvVolumeInfo++ -- * GeolayerDataGeoBoundaryItemItem+ , GeolayerDataGeoBoundaryItemItem+ , geolayerDataGeoBoundaryItemItem+ , gdgbiiLatitude+ , gdgbiiLongitude++ -- * OffersItemsItemItemsItem+ , OffersItemsItemItemsItem+ , offersItemsItemItemsItem+ , oiiiiCanonicalVolumeLink+ , oiiiiCoverURL+ , oiiiiVolumeId+ , oiiiiAuthor+ , oiiiiTitle+ , oiiiiDescription++ -- * DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ , dddwisidieisURL+ , dddwisidieisAttribution++ -- * GeolayerDataCommon+ , GeolayerDataCommon+ , geolayerDataCommon+ , gdcSnippet+ , gdcSnippetURL+ , gdcLang+ , gdcTitle+ , gdcPreviewImageURL++ -- * GeolayerDataGeo+ , GeolayerDataGeo+ , geolayerDataGeo+ , gdgMapType+ , gdgCachePolicy+ , gdgViewport+ , gdgBoundary+ , gdgLatitude+ , gdgZoom+ , gdgCountryCode+ , gdgLongitude++ -- * DictlayerDataDictWordsItem+ , DictlayerDataDictWordsItem+ , dictlayerDataDictWordsItem+ , dddwiSenses+ , dddwiSource+ , dddwiDerivatives+ , dddwiExamples++ -- * CategoryItemsItem+ , CategoryItemsItem+ , categoryItemsItem+ , ciiName+ , ciiCategoryId+ , ciiBadgeURL++ -- * DictlayerDataDictWordsItemDerivativesItemSource+ , DictlayerDataDictWordsItemDerivativesItemSource+ , dictlayerDataDictWordsItemDerivativesItemSource+ , dddwidisURL+ , dddwidisAttribution++ -- * VolumesRecommendedRateRating+ , VolumesRecommendedRateRating (..)++ -- * GeolayerData+ , GeolayerData+ , geolayerData+ , gdKind+ , gdGeo+ , gdCommon++ -- * DictlayerDataDictWordsItemSource+ , DictlayerDataDictWordsItemSource+ , dictlayerDataDictWordsItemSource+ , dddwisURL+ , dddwisAttribution++ -- * DictlayerDataDictWordsItemDerivativesItem+ , DictlayerDataDictWordsItemDerivativesItem+ , dictlayerDataDictWordsItemDerivativesItem+ , dddwidiText+ , dddwidiSource++ -- * VolumesUserUploadedListProcessingState+ , VolumesUserUploadedListProcessingState (..)++ -- * MyConfigSyncVolumeLicensesFeatures+ , MyConfigSyncVolumeLicensesFeatures (..)++ -- * DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ , dddwisidieiText+ , dddwisidieiSource++ -- * DictlayerData+ , DictlayerData+ , dictlayerData+ , ddKind+ , ddDict+ , ddCommon++ -- * VolumesAssociatedListMaxAllowedMaturityRating+ , VolumesAssociatedListMaxAllowedMaturityRating (..)++ -- * DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , dictlayerDataDictWordsItemSensesItemSynonymsItemSource+ , dddwisisisURL+ , dddwisisisAttribution++ -- * VolumesListFilter+ , VolumesListFilter (..)++ -- * UserSettingsNotification+ , UserSettingsNotification+ , userSettingsNotification+ , usnMoreFromAuthors++ -- * DictlayerDataDictWordsItemSensesItemSynonymsItem+ , DictlayerDataDictWordsItemSensesItemSynonymsItem+ , dictlayerDataDictWordsItemSensesItemSynonymsItem+ , dddwisisiText+ , dddwisisiSource++ -- * GeolayerDataGeoViewportLo+ , GeolayerDataGeoViewportLo+ , geolayerDataGeoViewportLo+ , gdgvlLatitude+ , gdgvlLongitude++ -- * VolumesRecommendedListMaxAllowedMaturityRating+ , VolumesRecommendedListMaxAllowedMaturityRating (..)++ -- * VolumeSaleInfoOffersItemListPrice+ , VolumeSaleInfoOffersItemListPrice+ , volumeSaleInfoOffersItemListPrice+ , vsioilpCurrencyCode+ , vsioilpAmountInMicros++ -- * DownloadAccessRestriction+ , DownloadAccessRestriction+ , downloadAccessRestriction+ , darJustAcquired+ , darSignature+ , darKind+ , darMaxDownloadDevices+ , darDownloadsAcquired+ , darReasonCode+ , darVolumeId+ , darRestricted+ , darSource+ , darDeviceAllowed+ , darMessage+ , darNonce++ -- * DictlayerDataCommon+ , DictlayerDataCommon+ , dictlayerDataCommon+ , ddcTitle++ -- * DiscoveryclustersClustersItem+ , DiscoveryclustersClustersItem+ , discoveryclustersClustersItem+ , dciBannerWithContentContainer+ , dciUid+ , dciTotalVolumes+ , dciSubTitle+ , dciTitle+ , dciVolumes++ -- * VolumeSaleInfoRetailPrice+ , VolumeSaleInfoRetailPrice+ , volumeSaleInfoRetailPrice+ , vsirpAmount+ , vsirpCurrencyCode++ -- * VolumeSaleInfoListPrice+ , VolumeSaleInfoListPrice+ , volumeSaleInfoListPrice+ , vsilpAmount+ , vsilpCurrencyCode++ -- * DictlayerDataDictWordsItemSensesItemConjugationsItem+ , DictlayerDataDictWordsItemSensesItemConjugationsItem+ , dictlayerDataDictWordsItemSensesItemConjugationsItem+ , dddwisiciValue+ , dddwisiciType++ -- * Volume2+ , Volume2+ , volume2+ , voloNextPageToken+ , voloKind+ , voloItems++ -- * Review+ , Review+ , review+ , rRating+ , rKind+ , rContent+ , rDate+ , rVolumeId+ , rAuthor+ , rSource+ , rFullTextURL+ , rTitle+ , rType++ -- * VolumeUserInfoRentalPeriod+ , VolumeUserInfoRentalPeriod+ , volumeUserInfoRentalPeriod+ , vuirpEndUtcSec+ , vuirpStartUtcSec++ -- * VolumeSaleInfo+ , VolumeSaleInfo+ , volumeSaleInfo+ , vsiCountry+ , vsiOnSaleDate+ , vsiListPrice+ , vsiRetailPrice+ , vsiOffers+ , vsiBuyLink+ , vsiIsEbook+ , vsiSaleability++ -- * MyLibraryBookshelvesAddVolumeReason+ , MyLibraryBookshelvesAddVolumeReason (..)++ -- * Metadata+ , Metadata+ , metadata+ , mKind+ , mItems++ -- * VolumeLayerInfo+ , VolumeLayerInfo+ , volumeLayerInfo+ , vliLayers++ -- * VolumeVolumeInfoDimensions+ , VolumeVolumeInfoDimensions+ , volumeVolumeInfoDimensions+ , vvidHeight+ , vvidWidth+ , vvidThickness++ -- * RequestAccess+ , RequestAccess+ , requestAccess+ , raConcurrentAccess+ , raKind+ , raDownloadAccess++ -- * AnnotationClientVersionRanges+ , AnnotationClientVersionRanges+ , annotationClientVersionRanges+ , acvrGbImageRange+ , acvrContentVersion+ , acvrImageCfiRange+ , acvrGbTextRange+ , acvrCfiRange++ -- * VolumesMybooksListAcquireMethod+ , VolumesMybooksListAcquireMethod (..)++ -- * DictlayerDataDictWordsItemSensesItemDefinitionsItem+ , DictlayerDataDictWordsItemSensesItemDefinitionsItem+ , dictlayerDataDictWordsItemSensesItemDefinitionsItem+ , dddwisidiDefinition+ , dddwisidiExamples++ -- * VolumeLayerInfoLayersItem+ , VolumeLayerInfoLayersItem+ , volumeLayerInfoLayersItem+ , vliliVolumeAnnotationsVersion+ , vliliLayerId++ -- * AnnotationCurrentVersionRanges+ , AnnotationCurrentVersionRanges+ , annotationCurrentVersionRanges+ , aGbImageRange+ , aContentVersion+ , aImageCfiRange+ , aGbTextRange+ , aCfiRange++ -- * PersonalizedstreamGetMaxAllowedMaturityRating+ , PersonalizedstreamGetMaxAllowedMaturityRating (..)++ -- * VolumesListPrintType+ , VolumesListPrintType (..)++ -- * VolumeAccessInfoPdf+ , VolumeAccessInfoPdf+ , volumeAccessInfoPdf+ , vaipAcsTokenLink+ , vaipIsAvailable+ , vaipDownloadLink++ -- * DictlayerDataDictWordsItemExamplesItemSource+ , DictlayerDataDictWordsItemExamplesItemSource+ , dictlayerDataDictWordsItemExamplesItemSource+ , dddwieisURL+ , dddwieisAttribution++ -- * VolumeAccessInfoEpub+ , VolumeAccessInfoEpub+ , volumeAccessInfoEpub+ , vaieAcsTokenLink+ , vaieIsAvailable+ , vaieDownloadLink++ -- * ReadingPosition+ , ReadingPosition+ , readingPosition+ , rpEpubCfiPosition+ , rpKind+ , rpGbImagePosition+ , rpPdfPosition+ , rpVolumeId+ , rpUpdated+ , rpGbTextPosition++ -- * VolumeSaleInfoOffersItem+ , VolumeSaleInfoOffersItem+ , volumeSaleInfoOffersItem+ , vsioiFinskyOfferType+ , vsioiRentalDuration+ , vsioiListPrice+ , vsioiRetailPrice++ -- * DictlayerDataDict+ , DictlayerDataDict+ , dictlayerDataDict+ , dddSource+ , dddWords++ -- * DictlayerDataDictWordsItemSensesItem+ , DictlayerDataDictWordsItemSensesItem+ , dictlayerDataDictWordsItemSensesItem+ , dddwisiPronunciationURL+ , dddwisiConjugations+ , dddwisiPronunciation+ , dddwisiSynonyms+ , dddwisiSource+ , dddwisiPartOfSpeech+ , dddwisiDefinitions+ , dddwisiSyllabification++ -- * VolumeRecommendedInfo+ , VolumeRecommendedInfo+ , volumeRecommendedInfo+ , vriExplanation++ -- * Offers+ , Offers+ , offers+ , oKind+ , oItems++ -- * VolumesMybooksListProcessingState+ , VolumesMybooksListProcessingState (..)++ -- * Discoveryclusters+ , Discoveryclusters+ , discoveryclusters+ , dKind+ , dTotalClusters+ , dClusters++ -- * UserSettingsNotesExport+ , UserSettingsNotesExport+ , userSettingsNotesExport+ , usneFolderName+ , usneIsEnabled++ -- * ConcurrentAccessRestriction+ , ConcurrentAccessRestriction+ , concurrentAccessRestriction+ , carMaxConcurrentDevices+ , carSignature+ , carTimeWindowSeconds+ , carKind+ , carReasonCode+ , carVolumeId+ , carRestricted+ , carSource+ , carDeviceAllowed+ , carMessage+ , carNonce++ -- * Volumes+ , Volumes+ , volumes+ , v1TotalItems+ , v1Kind+ , v1Items++ -- * Bookshelves+ , Bookshelves+ , bookshelves+ , booKind+ , booItems++ -- * MyConfigRequestAccessLicenseTypes+ , MyConfigRequestAccessLicenseTypes (..)++ -- * DictlayerDataDictSource+ , DictlayerDataDictSource+ , dictlayerDataDictSource+ , dddsURL+ , dddsAttribution++ -- * DownloadAccesses+ , DownloadAccesses+ , downloadAccesses+ , daKind+ , daDownloadAccessList++ -- * GeolayerDataGeoViewportHi+ , GeolayerDataGeoViewportHi+ , geolayerDataGeoViewportHi+ , gdgvhLatitude+ , gdgvhLongitude++ -- * MyLibraryReadingPositionsSetPositionAction+ , MyLibraryReadingPositionsSetPositionAction (..)++ -- * VolumeVolumeInfo+ , VolumeVolumeInfo+ , volumeVolumeInfo+ , vviImageLinks+ , vviAverageRating+ , vviRatingsCount+ , vviCanonicalVolumeLink+ , vviReadingModes+ , vviIndustryIdentifiers+ , vviPrintedPageCount+ , vviMainCategory+ , vviContentVersion+ , vviSamplePageCount+ , vviCategories+ , vviAuthors+ , vviAllowAnonLogging+ , vviSubtitle+ , vviPublishedDate+ , vviMaturityRating+ , vviPreviewLink+ , vviLanguage+ , vviTitle+ , vviPageCount+ , vviDimensions+ , vviInfoLink+ , vviPublisher+ , vviDescription+ , vviPrintType++ -- * MetadataItemsItem+ , MetadataItemsItem+ , metadataItemsItem+ , miiSize+ , miiVersion+ , miiLanguage+ , miiDownloadURL+ , miiEncryptedKey++ -- * DictlayerDataDictWordsItemSensesItemSource+ , DictlayerDataDictWordsItemSensesItemSource+ , dictlayerDataDictWordsItemSensesItemSource+ , dddwisisURL+ , dddwisisAttribution++ -- * VolumeSaleInfoOffersItemRetailPrice+ , VolumeSaleInfoOffersItemRetailPrice+ , volumeSaleInfoOffersItemRetailPrice+ , vsioirpCurrencyCode+ , vsioirpAmountInMicros++ -- * VolumeVolumeInfoIndustryIdentifiersItem+ , VolumeVolumeInfoIndustryIdentifiersItem+ , volumeVolumeInfoIndustryIdentifiersItem+ , vviiiiIdentifier+ , vviiiiType++ -- * BooksAnnotationsRange+ , BooksAnnotationsRange+ , booksAnnotationsRange+ , barStartOffSet+ , barEndOffSet+ , barEndPosition+ , barStartPosition++ -- * Layersummaries+ , Layersummaries+ , layersummaries+ , layTotalItems+ , layKind+ , layItems+ ) where++import Network.Google.Books.Types.Product+import Network.Google.Books.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1' of the Books API. This contains the host and root path used as a starting point for constructing service requests.+booksService :: Service+booksService+ = defaultService (ServiceId "books:v1")+ "www.googleapis.com"++-- | Manage your books+booksScope :: OAuthScope+booksScope = "https://www.googleapis.com/auth/books";
+ gen/Network/Google/Books/Types/Product.hs view
@@ -0,0 +1,7012 @@+{-# 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.Books.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.Books.Types.Product where++import Network.Google.Books.Types.Sum+import Network.Google.Prelude++--+-- /See:/ 'userSettings' smart constructor.+data UserSettings = UserSettings+ { _usNotification :: !(Maybe UserSettingsNotification)+ , _usKind :: !Text+ , _usNotesExport :: !(Maybe UserSettingsNotesExport)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usNotification'+--+-- * 'usKind'+--+-- * 'usNotesExport'+userSettings+ :: UserSettings+userSettings =+ UserSettings+ { _usNotification = Nothing+ , _usKind = "books#usersettings"+ , _usNotesExport = Nothing+ }++usNotification :: Lens' UserSettings (Maybe UserSettingsNotification)+usNotification+ = lens _usNotification+ (\ s a -> s{_usNotification = a})++-- | Resource type.+usKind :: Lens' UserSettings Text+usKind = lens _usKind (\ s a -> s{_usKind = a})++-- | User settings in sub-objects, each for different purposes.+usNotesExport :: Lens' UserSettings (Maybe UserSettingsNotesExport)+usNotesExport+ = lens _usNotesExport+ (\ s a -> s{_usNotesExport = a})++instance FromJSON UserSettings where+ parseJSON+ = withObject "UserSettings"+ (\ o ->+ UserSettings <$>+ (o .:? "notification") <*>+ (o .:? "kind" .!= "books#usersettings")+ <*> (o .:? "notesExport"))++instance ToJSON UserSettings where+ toJSON UserSettings{..}+ = object+ (catMaybes+ [("notification" .=) <$> _usNotification,+ Just ("kind" .= _usKind),+ ("notesExport" .=) <$> _usNotesExport])++--+-- /See:/ 'annotations' smart constructor.+data Annotations = Annotations+ { _aTotalItems :: !(Maybe (Textual Int32))+ , _aNextPageToken :: !(Maybe Text)+ , _aKind :: !Text+ , _aItems :: !(Maybe [Annotation])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Annotations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aTotalItems'+--+-- * 'aNextPageToken'+--+-- * 'aKind'+--+-- * 'aItems'+annotations+ :: Annotations+annotations =+ Annotations+ { _aTotalItems = Nothing+ , _aNextPageToken = Nothing+ , _aKind = "books#annotations"+ , _aItems = Nothing+ }++-- | Total number of annotations found. This may be greater than the number+-- of notes returned in this response if results have been paginated.+aTotalItems :: Lens' Annotations (Maybe Int32)+aTotalItems+ = lens _aTotalItems (\ s a -> s{_aTotalItems = a}) .+ mapping _Coerce++-- | Token to pass in for pagination for the next page. This will not be+-- present if this request does not have more results.+aNextPageToken :: Lens' Annotations (Maybe Text)+aNextPageToken+ = lens _aNextPageToken+ (\ s a -> s{_aNextPageToken = a})++-- | Resource type.+aKind :: Lens' Annotations Text+aKind = lens _aKind (\ s a -> s{_aKind = a})++-- | A list of annotations.+aItems :: Lens' Annotations [Annotation]+aItems+ = lens _aItems (\ s a -> s{_aItems = a}) . _Default .+ _Coerce++instance FromJSON Annotations where+ parseJSON+ = withObject "Annotations"+ (\ o ->+ Annotations <$>+ (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "books#annotations")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Annotations where+ toJSON Annotations{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _aTotalItems,+ ("nextPageToken" .=) <$> _aNextPageToken,+ Just ("kind" .= _aKind), ("items" .=) <$> _aItems])++--+-- /See:/ 'annotationsData' smart constructor.+data AnnotationsData = AnnotationsData+ { _adTotalItems :: !(Maybe (Textual Int32))+ , _adNextPageToken :: !(Maybe Text)+ , _adKind :: !Text+ , _adItems :: !(Maybe [AnnotationData])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationsData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adTotalItems'+--+-- * 'adNextPageToken'+--+-- * 'adKind'+--+-- * 'adItems'+annotationsData+ :: AnnotationsData+annotationsData =+ AnnotationsData+ { _adTotalItems = Nothing+ , _adNextPageToken = Nothing+ , _adKind = "books#annotationsdata"+ , _adItems = Nothing+ }++-- | The total number of volume annotations found.+adTotalItems :: Lens' AnnotationsData (Maybe Int32)+adTotalItems+ = lens _adTotalItems (\ s a -> s{_adTotalItems = a})+ . mapping _Coerce++-- | Token to pass in for pagination for the next page. This will not be+-- present if this request does not have more results.+adNextPageToken :: Lens' AnnotationsData (Maybe Text)+adNextPageToken+ = lens _adNextPageToken+ (\ s a -> s{_adNextPageToken = a})++-- | Resource type+adKind :: Lens' AnnotationsData Text+adKind = lens _adKind (\ s a -> s{_adKind = a})++-- | A list of Annotation Data.+adItems :: Lens' AnnotationsData [AnnotationData]+adItems+ = lens _adItems (\ s a -> s{_adItems = a}) . _Default+ . _Coerce++instance FromJSON AnnotationsData where+ parseJSON+ = withObject "AnnotationsData"+ (\ o ->+ AnnotationsData <$>+ (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "books#annotationsdata")+ <*> (o .:? "items" .!= mempty))++instance ToJSON AnnotationsData where+ toJSON AnnotationsData{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _adTotalItems,+ ("nextPageToken" .=) <$> _adNextPageToken,+ Just ("kind" .= _adKind), ("items" .=) <$> _adItems])++--+-- /See:/ 'userSettingsNotificationMoreFromAuthors' smart constructor.+newtype UserSettingsNotificationMoreFromAuthors = UserSettingsNotificationMoreFromAuthors+ { _usnmfaOptedState :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserSettingsNotificationMoreFromAuthors' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usnmfaOptedState'+userSettingsNotificationMoreFromAuthors+ :: UserSettingsNotificationMoreFromAuthors+userSettingsNotificationMoreFromAuthors =+ UserSettingsNotificationMoreFromAuthors+ { _usnmfaOptedState = Nothing+ }++usnmfaOptedState :: Lens' UserSettingsNotificationMoreFromAuthors (Maybe Text)+usnmfaOptedState+ = lens _usnmfaOptedState+ (\ s a -> s{_usnmfaOptedState = a})++instance FromJSON+ UserSettingsNotificationMoreFromAuthors where+ parseJSON+ = withObject+ "UserSettingsNotificationMoreFromAuthors"+ (\ o ->+ UserSettingsNotificationMoreFromAuthors <$>+ (o .:? "opted_state"))++instance ToJSON+ UserSettingsNotificationMoreFromAuthors where+ toJSON UserSettingsNotificationMoreFromAuthors{..}+ = object+ (catMaybes+ [("opted_state" .=) <$> _usnmfaOptedState])++--+-- /See:/ 'volumeannotations' smart constructor.+data Volumeannotations = Volumeannotations+ { _vTotalItems :: !(Maybe (Textual Int32))+ , _vNextPageToken :: !(Maybe Text)+ , _vKind :: !Text+ , _vItems :: !(Maybe [Volumeannotation])+ , _vVersion :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volumeannotations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vTotalItems'+--+-- * 'vNextPageToken'+--+-- * 'vKind'+--+-- * 'vItems'+--+-- * 'vVersion'+volumeannotations+ :: Volumeannotations+volumeannotations =+ Volumeannotations+ { _vTotalItems = Nothing+ , _vNextPageToken = Nothing+ , _vKind = "books#volumeannotations"+ , _vItems = Nothing+ , _vVersion = Nothing+ }++-- | The total number of volume annotations found.+vTotalItems :: Lens' Volumeannotations (Maybe Int32)+vTotalItems+ = lens _vTotalItems (\ s a -> s{_vTotalItems = a}) .+ mapping _Coerce++-- | Token to pass in for pagination for the next page. This will not be+-- present if this request does not have more results.+vNextPageToken :: Lens' Volumeannotations (Maybe Text)+vNextPageToken+ = lens _vNextPageToken+ (\ s a -> s{_vNextPageToken = a})++-- | Resource type+vKind :: Lens' Volumeannotations Text+vKind = lens _vKind (\ s a -> s{_vKind = a})++-- | A list of volume annotations.+vItems :: Lens' Volumeannotations [Volumeannotation]+vItems+ = lens _vItems (\ s a -> s{_vItems = a}) . _Default .+ _Coerce++-- | The version string for all of the volume annotations in this layer (not+-- just the ones in this response). Note: the version string doesn\'t apply+-- to the annotation data, just the information in this response (e.g. the+-- location of annotations in the book).+vVersion :: Lens' Volumeannotations (Maybe Text)+vVersion = lens _vVersion (\ s a -> s{_vVersion = a})++instance FromJSON Volumeannotations where+ parseJSON+ = withObject "Volumeannotations"+ (\ o ->+ Volumeannotations <$>+ (o .:? "totalItems") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "books#volumeannotations")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "version"))++instance ToJSON Volumeannotations where+ toJSON Volumeannotations{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _vTotalItems,+ ("nextPageToken" .=) <$> _vNextPageToken,+ Just ("kind" .= _vKind), ("items" .=) <$> _vItems,+ ("version" .=) <$> _vVersion])++-- | Information regarding the source of this review, when the review is not+-- from a Google Books user.+--+-- /See:/ 'reviewSource' smart constructor.+data ReviewSource = ReviewSource+ { _rsExtraDescription :: !(Maybe Text)+ , _rsURL :: !(Maybe Text)+ , _rsDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReviewSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsExtraDescription'+--+-- * 'rsURL'+--+-- * 'rsDescription'+reviewSource+ :: ReviewSource+reviewSource =+ ReviewSource+ { _rsExtraDescription = Nothing+ , _rsURL = Nothing+ , _rsDescription = Nothing+ }++-- | Extra text about the source of the review.+rsExtraDescription :: Lens' ReviewSource (Maybe Text)+rsExtraDescription+ = lens _rsExtraDescription+ (\ s a -> s{_rsExtraDescription = a})++-- | URL of the source of the review.+rsURL :: Lens' ReviewSource (Maybe Text)+rsURL = lens _rsURL (\ s a -> s{_rsURL = a})++-- | Name of the source.+rsDescription :: Lens' ReviewSource (Maybe Text)+rsDescription+ = lens _rsDescription+ (\ s a -> s{_rsDescription = a})++instance FromJSON ReviewSource where+ parseJSON+ = withObject "ReviewSource"+ (\ o ->+ ReviewSource <$>+ (o .:? "extraDescription") <*> (o .:? "url") <*>+ (o .:? "description"))++instance ToJSON ReviewSource where+ toJSON ReviewSource{..}+ = object+ (catMaybes+ [("extraDescription" .=) <$> _rsExtraDescription,+ ("url" .=) <$> _rsURL,+ ("description" .=) <$> _rsDescription])++--+-- /See:/ 'annotationData' smart constructor.+data AnnotationData = AnnotationData+ { _annEncodedData :: !(Maybe (Textual Word8))+ , _annKind :: !Text+ , _annData :: !(Maybe JSONValue)+ , _annSelfLink :: !(Maybe Text)+ , _annAnnotationType :: !(Maybe Text)+ , _annVolumeId :: !(Maybe Text)+ , _annId :: !(Maybe Text)+ , _annUpdated :: !(Maybe DateTime')+ , _annLayerId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'annEncodedData'+--+-- * 'annKind'+--+-- * 'annData'+--+-- * 'annSelfLink'+--+-- * 'annAnnotationType'+--+-- * 'annVolumeId'+--+-- * 'annId'+--+-- * 'annUpdated'+--+-- * 'annLayerId'+annotationData+ :: AnnotationData+annotationData =+ AnnotationData+ { _annEncodedData = Nothing+ , _annKind = "books#annotationdata"+ , _annData = Nothing+ , _annSelfLink = Nothing+ , _annAnnotationType = Nothing+ , _annVolumeId = Nothing+ , _annId = Nothing+ , _annUpdated = Nothing+ , _annLayerId = Nothing+ }++-- | Base64 encoded data for this annotation data.+annEncodedData :: Lens' AnnotationData (Maybe Word8)+annEncodedData+ = lens _annEncodedData+ (\ s a -> s{_annEncodedData = a})+ . mapping _Coerce++-- | Resource Type+annKind :: Lens' AnnotationData Text+annKind = lens _annKind (\ s a -> s{_annKind = a})++annData :: Lens' AnnotationData (Maybe JSONValue)+annData = lens _annData (\ s a -> s{_annData = a})++-- | URL for this resource. *+annSelfLink :: Lens' AnnotationData (Maybe Text)+annSelfLink+ = lens _annSelfLink (\ s a -> s{_annSelfLink = a})++-- | The type of annotation this data is for.+annAnnotationType :: Lens' AnnotationData (Maybe Text)+annAnnotationType+ = lens _annAnnotationType+ (\ s a -> s{_annAnnotationType = a})++-- | The volume id for this data. *+annVolumeId :: Lens' AnnotationData (Maybe Text)+annVolumeId+ = lens _annVolumeId (\ s a -> s{_annVolumeId = a})++-- | Unique id for this annotation data.+annId :: Lens' AnnotationData (Maybe Text)+annId = lens _annId (\ s a -> s{_annId = a})++-- | Timestamp for the last time this data was updated. (RFC 3339 UTC+-- date-time format).+annUpdated :: Lens' AnnotationData (Maybe UTCTime)+annUpdated+ = lens _annUpdated (\ s a -> s{_annUpdated = a}) .+ mapping _DateTime++-- | The Layer id for this data. *+annLayerId :: Lens' AnnotationData (Maybe Text)+annLayerId+ = lens _annLayerId (\ s a -> s{_annLayerId = a})++instance FromJSON AnnotationData where+ parseJSON+ = withObject "AnnotationData"+ (\ o ->+ AnnotationData <$>+ (o .:? "encoded_data") <*>+ (o .:? "kind" .!= "books#annotationdata")+ <*> (o .:? "data")+ <*> (o .:? "selfLink")+ <*> (o .:? "annotationType")+ <*> (o .:? "volumeId")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "layerId"))++instance ToJSON AnnotationData where+ toJSON AnnotationData{..}+ = object+ (catMaybes+ [("encoded_data" .=) <$> _annEncodedData,+ Just ("kind" .= _annKind), ("data" .=) <$> _annData,+ ("selfLink" .=) <$> _annSelfLink,+ ("annotationType" .=) <$> _annAnnotationType,+ ("volumeId" .=) <$> _annVolumeId,+ ("id" .=) <$> _annId, ("updated" .=) <$> _annUpdated,+ ("layerId" .=) <$> _annLayerId])++--+-- /See:/ 'volumeannotation' smart constructor.+data Volumeannotation = Volumeannotation+ { _volSelectedText :: !(Maybe Text)+ , _volAnnotationDataLink :: !(Maybe Text)+ , _volPageIds :: !(Maybe [Text])+ , _volKind :: !Text+ , _volData :: !(Maybe Text)+ , _volSelfLink :: !(Maybe Text)+ , _volAnnotationType :: !(Maybe Text)+ , _volAnnotationDataId :: !(Maybe Text)+ , _volContentRanges :: !(Maybe VolumeannotationContentRanges)+ , _volVolumeId :: !(Maybe Text)+ , _volId :: !(Maybe Text)+ , _volDeleted :: !(Maybe Bool)+ , _volUpdated :: !(Maybe DateTime')+ , _volLayerId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volumeannotation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'volSelectedText'+--+-- * 'volAnnotationDataLink'+--+-- * 'volPageIds'+--+-- * 'volKind'+--+-- * 'volData'+--+-- * 'volSelfLink'+--+-- * 'volAnnotationType'+--+-- * 'volAnnotationDataId'+--+-- * 'volContentRanges'+--+-- * 'volVolumeId'+--+-- * 'volId'+--+-- * 'volDeleted'+--+-- * 'volUpdated'+--+-- * 'volLayerId'+volumeannotation+ :: Volumeannotation+volumeannotation =+ Volumeannotation+ { _volSelectedText = Nothing+ , _volAnnotationDataLink = Nothing+ , _volPageIds = Nothing+ , _volKind = "books#volumeannotation"+ , _volData = Nothing+ , _volSelfLink = Nothing+ , _volAnnotationType = Nothing+ , _volAnnotationDataId = Nothing+ , _volContentRanges = Nothing+ , _volVolumeId = Nothing+ , _volId = Nothing+ , _volDeleted = Nothing+ , _volUpdated = Nothing+ , _volLayerId = Nothing+ }++-- | Excerpt from the volume.+volSelectedText :: Lens' Volumeannotation (Maybe Text)+volSelectedText+ = lens _volSelectedText+ (\ s a -> s{_volSelectedText = a})++-- | Link to get data for this annotation.+volAnnotationDataLink :: Lens' Volumeannotation (Maybe Text)+volAnnotationDataLink+ = lens _volAnnotationDataLink+ (\ s a -> s{_volAnnotationDataLink = a})++-- | Pages the annotation spans.+volPageIds :: Lens' Volumeannotation [Text]+volPageIds+ = lens _volPageIds (\ s a -> s{_volPageIds = a}) .+ _Default+ . _Coerce++-- | Resource Type+volKind :: Lens' Volumeannotation Text+volKind = lens _volKind (\ s a -> s{_volKind = a})++-- | Data for this annotation.+volData :: Lens' Volumeannotation (Maybe Text)+volData = lens _volData (\ s a -> s{_volData = a})++-- | URL to this resource.+volSelfLink :: Lens' Volumeannotation (Maybe Text)+volSelfLink+ = lens _volSelfLink (\ s a -> s{_volSelfLink = a})++-- | The type of annotation this is.+volAnnotationType :: Lens' Volumeannotation (Maybe Text)+volAnnotationType+ = lens _volAnnotationType+ (\ s a -> s{_volAnnotationType = a})++-- | The annotation data id for this volume annotation.+volAnnotationDataId :: Lens' Volumeannotation (Maybe Text)+volAnnotationDataId+ = lens _volAnnotationDataId+ (\ s a -> s{_volAnnotationDataId = a})++-- | The content ranges to identify the selected text.+volContentRanges :: Lens' Volumeannotation (Maybe VolumeannotationContentRanges)+volContentRanges+ = lens _volContentRanges+ (\ s a -> s{_volContentRanges = a})++-- | The Volume this annotation is for.+volVolumeId :: Lens' Volumeannotation (Maybe Text)+volVolumeId+ = lens _volVolumeId (\ s a -> s{_volVolumeId = a})++-- | Unique id of this volume annotation.+volId :: Lens' Volumeannotation (Maybe Text)+volId = lens _volId (\ s a -> s{_volId = a})++-- | Indicates that this annotation is deleted.+volDeleted :: Lens' Volumeannotation (Maybe Bool)+volDeleted+ = lens _volDeleted (\ s a -> s{_volDeleted = a})++-- | Timestamp for the last time this anntoation was updated. (RFC 3339 UTC+-- date-time format).+volUpdated :: Lens' Volumeannotation (Maybe UTCTime)+volUpdated+ = lens _volUpdated (\ s a -> s{_volUpdated = a}) .+ mapping _DateTime++-- | The Layer this annotation is for.+volLayerId :: Lens' Volumeannotation (Maybe Text)+volLayerId+ = lens _volLayerId (\ s a -> s{_volLayerId = a})++instance FromJSON Volumeannotation where+ parseJSON+ = withObject "Volumeannotation"+ (\ o ->+ Volumeannotation <$>+ (o .:? "selectedText") <*>+ (o .:? "annotationDataLink")+ <*> (o .:? "pageIds" .!= mempty)+ <*> (o .:? "kind" .!= "books#volumeannotation")+ <*> (o .:? "data")+ <*> (o .:? "selfLink")+ <*> (o .:? "annotationType")+ <*> (o .:? "annotationDataId")+ <*> (o .:? "contentRanges")+ <*> (o .:? "volumeId")+ <*> (o .:? "id")+ <*> (o .:? "deleted")+ <*> (o .:? "updated")+ <*> (o .:? "layerId"))++instance ToJSON Volumeannotation where+ toJSON Volumeannotation{..}+ = object+ (catMaybes+ [("selectedText" .=) <$> _volSelectedText,+ ("annotationDataLink" .=) <$> _volAnnotationDataLink,+ ("pageIds" .=) <$> _volPageIds,+ Just ("kind" .= _volKind), ("data" .=) <$> _volData,+ ("selfLink" .=) <$> _volSelfLink,+ ("annotationType" .=) <$> _volAnnotationType,+ ("annotationDataId" .=) <$> _volAnnotationDataId,+ ("contentRanges" .=) <$> _volContentRanges,+ ("volumeId" .=) <$> _volVolumeId,+ ("id" .=) <$> _volId, ("deleted" .=) <$> _volDeleted,+ ("updated" .=) <$> _volUpdated,+ ("layerId" .=) <$> _volLayerId])++--+-- /See:/ 'booksCloudLoadingResource' smart constructor.+data BooksCloudLoadingResource = BooksCloudLoadingResource+ { _bclrProcessingState :: !(Maybe Text)+ , _bclrVolumeId :: !(Maybe Text)+ , _bclrAuthor :: !(Maybe Text)+ , _bclrTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooksCloudLoadingResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bclrProcessingState'+--+-- * 'bclrVolumeId'+--+-- * 'bclrAuthor'+--+-- * 'bclrTitle'+booksCloudLoadingResource+ :: BooksCloudLoadingResource+booksCloudLoadingResource =+ BooksCloudLoadingResource+ { _bclrProcessingState = Nothing+ , _bclrVolumeId = Nothing+ , _bclrAuthor = Nothing+ , _bclrTitle = Nothing+ }++bclrProcessingState :: Lens' BooksCloudLoadingResource (Maybe Text)+bclrProcessingState+ = lens _bclrProcessingState+ (\ s a -> s{_bclrProcessingState = a})++bclrVolumeId :: Lens' BooksCloudLoadingResource (Maybe Text)+bclrVolumeId+ = lens _bclrVolumeId (\ s a -> s{_bclrVolumeId = a})++bclrAuthor :: Lens' BooksCloudLoadingResource (Maybe Text)+bclrAuthor+ = lens _bclrAuthor (\ s a -> s{_bclrAuthor = a})++bclrTitle :: Lens' BooksCloudLoadingResource (Maybe Text)+bclrTitle+ = lens _bclrTitle (\ s a -> s{_bclrTitle = a})++instance FromJSON BooksCloudLoadingResource where+ parseJSON+ = withObject "BooksCloudLoadingResource"+ (\ o ->+ BooksCloudLoadingResource <$>+ (o .:? "processingState") <*> (o .:? "volumeId") <*>+ (o .:? "author")+ <*> (o .:? "title"))++instance ToJSON BooksCloudLoadingResource where+ toJSON BooksCloudLoadingResource{..}+ = object+ (catMaybes+ [("processingState" .=) <$> _bclrProcessingState,+ ("volumeId" .=) <$> _bclrVolumeId,+ ("author" .=) <$> _bclrAuthor,+ ("title" .=) <$> _bclrTitle])++--+-- /See:/ 'annotation' smart constructor.+data Annotation = Annotation+ { _aaSelectedText :: !(Maybe Text)+ , _aaLayerSummary :: !(Maybe AnnotationLayerSummary)+ , _aaHighlightStyle :: !(Maybe Text)+ , _aaClientVersionRanges :: !(Maybe AnnotationClientVersionRanges)+ , _aaPageIds :: !(Maybe [Text])+ , _aaKind :: !Text+ , _aaData :: !(Maybe Text)+ , _aaCreated :: !(Maybe DateTime')+ , _aaAfterSelectedText :: !(Maybe Text)+ , _aaSelfLink :: !(Maybe Text)+ , _aaCurrentVersionRanges :: !(Maybe AnnotationCurrentVersionRanges)+ , _aaVolumeId :: !(Maybe Text)+ , _aaBeforeSelectedText :: !(Maybe Text)+ , _aaId :: !(Maybe Text)+ , _aaDeleted :: !(Maybe Bool)+ , _aaUpdated :: !(Maybe DateTime')+ , _aaLayerId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Annotation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaSelectedText'+--+-- * 'aaLayerSummary'+--+-- * 'aaHighlightStyle'+--+-- * 'aaClientVersionRanges'+--+-- * 'aaPageIds'+--+-- * 'aaKind'+--+-- * 'aaData'+--+-- * 'aaCreated'+--+-- * 'aaAfterSelectedText'+--+-- * 'aaSelfLink'+--+-- * 'aaCurrentVersionRanges'+--+-- * 'aaVolumeId'+--+-- * 'aaBeforeSelectedText'+--+-- * 'aaId'+--+-- * 'aaDeleted'+--+-- * 'aaUpdated'+--+-- * 'aaLayerId'+annotation+ :: Annotation+annotation =+ Annotation+ { _aaSelectedText = Nothing+ , _aaLayerSummary = Nothing+ , _aaHighlightStyle = Nothing+ , _aaClientVersionRanges = Nothing+ , _aaPageIds = Nothing+ , _aaKind = "books#annotation"+ , _aaData = Nothing+ , _aaCreated = Nothing+ , _aaAfterSelectedText = Nothing+ , _aaSelfLink = Nothing+ , _aaCurrentVersionRanges = Nothing+ , _aaVolumeId = Nothing+ , _aaBeforeSelectedText = Nothing+ , _aaId = Nothing+ , _aaDeleted = Nothing+ , _aaUpdated = Nothing+ , _aaLayerId = Nothing+ }++-- | Excerpt from the volume.+aaSelectedText :: Lens' Annotation (Maybe Text)+aaSelectedText+ = lens _aaSelectedText+ (\ s a -> s{_aaSelectedText = a})++aaLayerSummary :: Lens' Annotation (Maybe AnnotationLayerSummary)+aaLayerSummary+ = lens _aaLayerSummary+ (\ s a -> s{_aaLayerSummary = a})++-- | The highlight style for this annotation.+aaHighlightStyle :: Lens' Annotation (Maybe Text)+aaHighlightStyle+ = lens _aaHighlightStyle+ (\ s a -> s{_aaHighlightStyle = a})++-- | Selection ranges sent from the client.+aaClientVersionRanges :: Lens' Annotation (Maybe AnnotationClientVersionRanges)+aaClientVersionRanges+ = lens _aaClientVersionRanges+ (\ s a -> s{_aaClientVersionRanges = a})++-- | Pages that this annotation spans.+aaPageIds :: Lens' Annotation [Text]+aaPageIds+ = lens _aaPageIds (\ s a -> s{_aaPageIds = a}) .+ _Default+ . _Coerce++-- | Resource type.+aaKind :: Lens' Annotation Text+aaKind = lens _aaKind (\ s a -> s{_aaKind = a})++-- | User-created data for this annotation.+aaData :: Lens' Annotation (Maybe Text)+aaData = lens _aaData (\ s a -> s{_aaData = a})++-- | Timestamp for the created time of this annotation.+aaCreated :: Lens' Annotation (Maybe UTCTime)+aaCreated+ = lens _aaCreated (\ s a -> s{_aaCreated = a}) .+ mapping _DateTime++-- | Anchor text after excerpt. For requests, if the user bookmarked a screen+-- that has no flowing text on it, then this field should be empty.+aaAfterSelectedText :: Lens' Annotation (Maybe Text)+aaAfterSelectedText+ = lens _aaAfterSelectedText+ (\ s a -> s{_aaAfterSelectedText = a})++-- | URL to this resource.+aaSelfLink :: Lens' Annotation (Maybe Text)+aaSelfLink+ = lens _aaSelfLink (\ s a -> s{_aaSelfLink = a})++-- | Selection ranges for the most recent content version.+aaCurrentVersionRanges :: Lens' Annotation (Maybe AnnotationCurrentVersionRanges)+aaCurrentVersionRanges+ = lens _aaCurrentVersionRanges+ (\ s a -> s{_aaCurrentVersionRanges = a})++-- | The volume that this annotation belongs to.+aaVolumeId :: Lens' Annotation (Maybe Text)+aaVolumeId+ = lens _aaVolumeId (\ s a -> s{_aaVolumeId = a})++-- | Anchor text before excerpt. For requests, if the user bookmarked a+-- screen that has no flowing text on it, then this field should be empty.+aaBeforeSelectedText :: Lens' Annotation (Maybe Text)+aaBeforeSelectedText+ = lens _aaBeforeSelectedText+ (\ s a -> s{_aaBeforeSelectedText = a})++-- | Id of this annotation, in the form of a GUID.+aaId :: Lens' Annotation (Maybe Text)+aaId = lens _aaId (\ s a -> s{_aaId = a})++-- | Indicates that this annotation is deleted.+aaDeleted :: Lens' Annotation (Maybe Bool)+aaDeleted+ = lens _aaDeleted (\ s a -> s{_aaDeleted = a})++-- | Timestamp for the last time this annotation was modified.+aaUpdated :: Lens' Annotation (Maybe UTCTime)+aaUpdated+ = lens _aaUpdated (\ s a -> s{_aaUpdated = a}) .+ mapping _DateTime++-- | The layer this annotation is for.+aaLayerId :: Lens' Annotation (Maybe Text)+aaLayerId+ = lens _aaLayerId (\ s a -> s{_aaLayerId = a})++instance FromJSON Annotation where+ parseJSON+ = withObject "Annotation"+ (\ o ->+ Annotation <$>+ (o .:? "selectedText") <*> (o .:? "layerSummary") <*>+ (o .:? "highlightStyle")+ <*> (o .:? "clientVersionRanges")+ <*> (o .:? "pageIds" .!= mempty)+ <*> (o .:? "kind" .!= "books#annotation")+ <*> (o .:? "data")+ <*> (o .:? "created")+ <*> (o .:? "afterSelectedText")+ <*> (o .:? "selfLink")+ <*> (o .:? "currentVersionRanges")+ <*> (o .:? "volumeId")+ <*> (o .:? "beforeSelectedText")+ <*> (o .:? "id")+ <*> (o .:? "deleted")+ <*> (o .:? "updated")+ <*> (o .:? "layerId"))++instance ToJSON Annotation where+ toJSON Annotation{..}+ = object+ (catMaybes+ [("selectedText" .=) <$> _aaSelectedText,+ ("layerSummary" .=) <$> _aaLayerSummary,+ ("highlightStyle" .=) <$> _aaHighlightStyle,+ ("clientVersionRanges" .=) <$>+ _aaClientVersionRanges,+ ("pageIds" .=) <$> _aaPageIds,+ Just ("kind" .= _aaKind), ("data" .=) <$> _aaData,+ ("created" .=) <$> _aaCreated,+ ("afterSelectedText" .=) <$> _aaAfterSelectedText,+ ("selfLink" .=) <$> _aaSelfLink,+ ("currentVersionRanges" .=) <$>+ _aaCurrentVersionRanges,+ ("volumeId" .=) <$> _aaVolumeId,+ ("beforeSelectedText" .=) <$> _aaBeforeSelectedText,+ ("id" .=) <$> _aaId, ("deleted" .=) <$> _aaDeleted,+ ("updated" .=) <$> _aaUpdated,+ ("layerId" .=) <$> _aaLayerId])++-- | Author of this review.+--+-- /See:/ 'reviewAuthor' smart constructor.+newtype ReviewAuthor = ReviewAuthor+ { _raDisplayName :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReviewAuthor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raDisplayName'+reviewAuthor+ :: ReviewAuthor+reviewAuthor =+ ReviewAuthor+ { _raDisplayName = Nothing+ }++-- | Name of this person.+raDisplayName :: Lens' ReviewAuthor (Maybe Text)+raDisplayName+ = lens _raDisplayName+ (\ s a -> s{_raDisplayName = a})++instance FromJSON ReviewAuthor where+ parseJSON+ = withObject "ReviewAuthor"+ (\ o -> ReviewAuthor <$> (o .:? "displayName"))++instance ToJSON ReviewAuthor where+ toJSON ReviewAuthor{..}+ = object+ (catMaybes [("displayName" .=) <$> _raDisplayName])++-- | The viewport for showing this location. This is a latitude, longitude+-- rectangle.+--+-- /See:/ 'geolayerDataGeoViewport' smart constructor.+data GeolayerDataGeoViewport = GeolayerDataGeoViewport+ { _gdgvHi :: !(Maybe GeolayerDataGeoViewportHi)+ , _gdgvLo :: !(Maybe GeolayerDataGeoViewportLo)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataGeoViewport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgvHi'+--+-- * 'gdgvLo'+geolayerDataGeoViewport+ :: GeolayerDataGeoViewport+geolayerDataGeoViewport =+ GeolayerDataGeoViewport+ { _gdgvHi = Nothing+ , _gdgvLo = Nothing+ }++gdgvHi :: Lens' GeolayerDataGeoViewport (Maybe GeolayerDataGeoViewportHi)+gdgvHi = lens _gdgvHi (\ s a -> s{_gdgvHi = a})++gdgvLo :: Lens' GeolayerDataGeoViewport (Maybe GeolayerDataGeoViewportLo)+gdgvLo = lens _gdgvLo (\ s a -> s{_gdgvLo = a})++instance FromJSON GeolayerDataGeoViewport where+ parseJSON+ = withObject "GeolayerDataGeoViewport"+ (\ o ->+ GeolayerDataGeoViewport <$>+ (o .:? "hi") <*> (o .:? "lo"))++instance ToJSON GeolayerDataGeoViewport where+ toJSON GeolayerDataGeoViewport{..}+ = object+ (catMaybes+ [("hi" .=) <$> _gdgvHi, ("lo" .=) <$> _gdgvLo])++-- | User specific information related to this volume. (e.g. page this user+-- last read or whether they purchased this book)+--+-- /See:/ 'volumeUserInfo' smart constructor.+data VolumeUserInfo = VolumeUserInfo+ { _vuiCopy :: !(Maybe VolumeUserInfoCopy)+ , _vuiUserUploadedVolumeInfo :: !(Maybe VolumeUserInfoUserUploadedVolumeInfo)+ , _vuiIsPurchased :: !(Maybe Bool)+ , _vuiEntitlementType :: !(Maybe (Textual Int32))+ , _vuiAcquisitionType :: !(Maybe (Textual Int32))+ , _vuiRentalState :: !(Maybe Text)+ , _vuiIsPreOrdered :: !(Maybe Bool)+ , _vuiReview :: !(Maybe Review)+ , _vuiRentalPeriod :: !(Maybe VolumeUserInfoRentalPeriod)+ , _vuiUpdated :: !(Maybe DateTime')+ , _vuiIsUploaded :: !(Maybe Bool)+ , _vuiIsInMyBooks :: !(Maybe Bool)+ , _vuiReadingPosition :: !(Maybe ReadingPosition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeUserInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vuiCopy'+--+-- * 'vuiUserUploadedVolumeInfo'+--+-- * 'vuiIsPurchased'+--+-- * 'vuiEntitlementType'+--+-- * 'vuiAcquisitionType'+--+-- * 'vuiRentalState'+--+-- * 'vuiIsPreOrdered'+--+-- * 'vuiReview'+--+-- * 'vuiRentalPeriod'+--+-- * 'vuiUpdated'+--+-- * 'vuiIsUploaded'+--+-- * 'vuiIsInMyBooks'+--+-- * 'vuiReadingPosition'+volumeUserInfo+ :: VolumeUserInfo+volumeUserInfo =+ VolumeUserInfo+ { _vuiCopy = Nothing+ , _vuiUserUploadedVolumeInfo = Nothing+ , _vuiIsPurchased = Nothing+ , _vuiEntitlementType = Nothing+ , _vuiAcquisitionType = Nothing+ , _vuiRentalState = Nothing+ , _vuiIsPreOrdered = Nothing+ , _vuiReview = Nothing+ , _vuiRentalPeriod = Nothing+ , _vuiUpdated = Nothing+ , _vuiIsUploaded = Nothing+ , _vuiIsInMyBooks = Nothing+ , _vuiReadingPosition = Nothing+ }++-- | Copy\/Paste accounting information.+vuiCopy :: Lens' VolumeUserInfo (Maybe VolumeUserInfoCopy)+vuiCopy = lens _vuiCopy (\ s a -> s{_vuiCopy = a})++vuiUserUploadedVolumeInfo :: Lens' VolumeUserInfo (Maybe VolumeUserInfoUserUploadedVolumeInfo)+vuiUserUploadedVolumeInfo+ = lens _vuiUserUploadedVolumeInfo+ (\ s a -> s{_vuiUserUploadedVolumeInfo = a})++-- | Whether or not this volume was purchased by the authenticated user+-- making the request. (In LITE projection.)+vuiIsPurchased :: Lens' VolumeUserInfo (Maybe Bool)+vuiIsPurchased+ = lens _vuiIsPurchased+ (\ s a -> s{_vuiIsPurchased = a})++-- | Whether this volume is purchased, sample, pd download etc.+vuiEntitlementType :: Lens' VolumeUserInfo (Maybe Int32)+vuiEntitlementType+ = lens _vuiEntitlementType+ (\ s a -> s{_vuiEntitlementType = a})+ . mapping _Coerce++-- | How this volume was acquired.+vuiAcquisitionType :: Lens' VolumeUserInfo (Maybe Int32)+vuiAcquisitionType+ = lens _vuiAcquisitionType+ (\ s a -> s{_vuiAcquisitionType = a})+ . mapping _Coerce++-- | Whether this book is an active or an expired rental.+vuiRentalState :: Lens' VolumeUserInfo (Maybe Text)+vuiRentalState+ = lens _vuiRentalState+ (\ s a -> s{_vuiRentalState = a})++-- | Whether or not this volume was pre-ordered by the authenticated user+-- making the request. (In LITE projection.)+vuiIsPreOrdered :: Lens' VolumeUserInfo (Maybe Bool)+vuiIsPreOrdered+ = lens _vuiIsPreOrdered+ (\ s a -> s{_vuiIsPreOrdered = a})++-- | This user\'s review of this volume, if one exists.+vuiReview :: Lens' VolumeUserInfo (Maybe Review)+vuiReview+ = lens _vuiReview (\ s a -> s{_vuiReview = a})++-- | Period during this book is\/was a valid rental.+vuiRentalPeriod :: Lens' VolumeUserInfo (Maybe VolumeUserInfoRentalPeriod)+vuiRentalPeriod+ = lens _vuiRentalPeriod+ (\ s a -> s{_vuiRentalPeriod = a})++-- | Timestamp when this volume was last modified by a user action, such as a+-- reading position update, volume purchase or writing a review. (RFC 3339+-- UTC date-time format).+vuiUpdated :: Lens' VolumeUserInfo (Maybe UTCTime)+vuiUpdated+ = lens _vuiUpdated (\ s a -> s{_vuiUpdated = a}) .+ mapping _DateTime++-- | Whether or not this volume was user uploaded.+vuiIsUploaded :: Lens' VolumeUserInfo (Maybe Bool)+vuiIsUploaded+ = lens _vuiIsUploaded+ (\ s a -> s{_vuiIsUploaded = a})++-- | Whether or not this volume is currently in \"my books.\"+vuiIsInMyBooks :: Lens' VolumeUserInfo (Maybe Bool)+vuiIsInMyBooks+ = lens _vuiIsInMyBooks+ (\ s a -> s{_vuiIsInMyBooks = a})++-- | The user\'s current reading position in the volume, if one is available.+-- (In LITE projection.)+vuiReadingPosition :: Lens' VolumeUserInfo (Maybe ReadingPosition)+vuiReadingPosition+ = lens _vuiReadingPosition+ (\ s a -> s{_vuiReadingPosition = a})++instance FromJSON VolumeUserInfo where+ parseJSON+ = withObject "VolumeUserInfo"+ (\ o ->+ VolumeUserInfo <$>+ (o .:? "copy") <*> (o .:? "userUploadedVolumeInfo")+ <*> (o .:? "isPurchased")+ <*> (o .:? "entitlementType")+ <*> (o .:? "acquisitionType")+ <*> (o .:? "rentalState")+ <*> (o .:? "isPreordered")+ <*> (o .:? "review")+ <*> (o .:? "rentalPeriod")+ <*> (o .:? "updated")+ <*> (o .:? "isUploaded")+ <*> (o .:? "isInMyBooks")+ <*> (o .:? "readingPosition"))++instance ToJSON VolumeUserInfo where+ toJSON VolumeUserInfo{..}+ = object+ (catMaybes+ [("copy" .=) <$> _vuiCopy,+ ("userUploadedVolumeInfo" .=) <$>+ _vuiUserUploadedVolumeInfo,+ ("isPurchased" .=) <$> _vuiIsPurchased,+ ("entitlementType" .=) <$> _vuiEntitlementType,+ ("acquisitionType" .=) <$> _vuiAcquisitionType,+ ("rentalState" .=) <$> _vuiRentalState,+ ("isPreordered" .=) <$> _vuiIsPreOrdered,+ ("review" .=) <$> _vuiReview,+ ("rentalPeriod" .=) <$> _vuiRentalPeriod,+ ("updated" .=) <$> _vuiUpdated,+ ("isUploaded" .=) <$> _vuiIsUploaded,+ ("isInMyBooks" .=) <$> _vuiIsInMyBooks,+ ("readingPosition" .=) <$> _vuiReadingPosition])++--+-- /See:/ 'layersummary' smart constructor.+data Layersummary = Layersummary+ { _lAnnotationsDataLink :: !(Maybe Text)+ , _lAnnotationsLink :: !(Maybe Text)+ , _lKind :: !Text+ , _lDataCount :: !(Maybe (Textual Int32))+ , _lContentVersion :: !(Maybe Text)+ , _lVolumeAnnotationsVersion :: !(Maybe Text)+ , _lAnnotationCount :: !(Maybe (Textual Int32))+ , _lAnnotationTypes :: !(Maybe [Text])+ , _lSelfLink :: !(Maybe Text)+ , _lVolumeId :: !(Maybe Text)+ , _lId :: !(Maybe Text)+ , _lUpdated :: !(Maybe DateTime')+ , _lLayerId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Layersummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lAnnotationsDataLink'+--+-- * 'lAnnotationsLink'+--+-- * 'lKind'+--+-- * 'lDataCount'+--+-- * 'lContentVersion'+--+-- * 'lVolumeAnnotationsVersion'+--+-- * 'lAnnotationCount'+--+-- * 'lAnnotationTypes'+--+-- * 'lSelfLink'+--+-- * 'lVolumeId'+--+-- * 'lId'+--+-- * 'lUpdated'+--+-- * 'lLayerId'+layersummary+ :: Layersummary+layersummary =+ Layersummary+ { _lAnnotationsDataLink = Nothing+ , _lAnnotationsLink = Nothing+ , _lKind = "books#layersummary"+ , _lDataCount = Nothing+ , _lContentVersion = Nothing+ , _lVolumeAnnotationsVersion = Nothing+ , _lAnnotationCount = Nothing+ , _lAnnotationTypes = Nothing+ , _lSelfLink = Nothing+ , _lVolumeId = Nothing+ , _lId = Nothing+ , _lUpdated = Nothing+ , _lLayerId = Nothing+ }++-- | Link to get data for this annotation.+lAnnotationsDataLink :: Lens' Layersummary (Maybe Text)+lAnnotationsDataLink+ = lens _lAnnotationsDataLink+ (\ s a -> s{_lAnnotationsDataLink = a})++-- | The link to get the annotations for this layer.+lAnnotationsLink :: Lens' Layersummary (Maybe Text)+lAnnotationsLink+ = lens _lAnnotationsLink+ (\ s a -> s{_lAnnotationsLink = a})++-- | Resource Type+lKind :: Lens' Layersummary Text+lKind = lens _lKind (\ s a -> s{_lKind = a})++-- | The number of data items for this layer.+lDataCount :: Lens' Layersummary (Maybe Int32)+lDataCount+ = lens _lDataCount (\ s a -> s{_lDataCount = a}) .+ mapping _Coerce++-- | The content version this resource is for.+lContentVersion :: Lens' Layersummary (Maybe Text)+lContentVersion+ = lens _lContentVersion+ (\ s a -> s{_lContentVersion = a})++-- | The current version of this layer\'s volume annotations. Note that this+-- version applies only to the data in the books.layers.volumeAnnotations.*+-- responses. The actual annotation data is versioned separately.+lVolumeAnnotationsVersion :: Lens' Layersummary (Maybe Text)+lVolumeAnnotationsVersion+ = lens _lVolumeAnnotationsVersion+ (\ s a -> s{_lVolumeAnnotationsVersion = a})++-- | The number of annotations for this layer.+lAnnotationCount :: Lens' Layersummary (Maybe Int32)+lAnnotationCount+ = lens _lAnnotationCount+ (\ s a -> s{_lAnnotationCount = a})+ . mapping _Coerce++-- | The list of annotation types contained for this layer.+lAnnotationTypes :: Lens' Layersummary [Text]+lAnnotationTypes+ = lens _lAnnotationTypes+ (\ s a -> s{_lAnnotationTypes = a})+ . _Default+ . _Coerce++-- | URL to this resource.+lSelfLink :: Lens' Layersummary (Maybe Text)+lSelfLink+ = lens _lSelfLink (\ s a -> s{_lSelfLink = a})++-- | The volume id this resource is for.+lVolumeId :: Lens' Layersummary (Maybe Text)+lVolumeId+ = lens _lVolumeId (\ s a -> s{_lVolumeId = a})++-- | Unique id of this layer summary.+lId :: Lens' Layersummary (Maybe Text)+lId = lens _lId (\ s a -> s{_lId = a})++-- | Timestamp for the last time an item in this layer was updated. (RFC 3339+-- UTC date-time format).+lUpdated :: Lens' Layersummary (Maybe UTCTime)+lUpdated+ = lens _lUpdated (\ s a -> s{_lUpdated = a}) .+ mapping _DateTime++-- | The layer id for this summary.+lLayerId :: Lens' Layersummary (Maybe Text)+lLayerId = lens _lLayerId (\ s a -> s{_lLayerId = a})++instance FromJSON Layersummary where+ parseJSON+ = withObject "Layersummary"+ (\ o ->+ Layersummary <$>+ (o .:? "annotationsDataLink") <*>+ (o .:? "annotationsLink")+ <*> (o .:? "kind" .!= "books#layersummary")+ <*> (o .:? "dataCount")+ <*> (o .:? "contentVersion")+ <*> (o .:? "volumeAnnotationsVersion")+ <*> (o .:? "annotationCount")+ <*> (o .:? "annotationTypes" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "volumeId")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "layerId"))++instance ToJSON Layersummary where+ toJSON Layersummary{..}+ = object+ (catMaybes+ [("annotationsDataLink" .=) <$>+ _lAnnotationsDataLink,+ ("annotationsLink" .=) <$> _lAnnotationsLink,+ Just ("kind" .= _lKind),+ ("dataCount" .=) <$> _lDataCount,+ ("contentVersion" .=) <$> _lContentVersion,+ ("volumeAnnotationsVersion" .=) <$>+ _lVolumeAnnotationsVersion,+ ("annotationCount" .=) <$> _lAnnotationCount,+ ("annotationTypes" .=) <$> _lAnnotationTypes,+ ("selfLink" .=) <$> _lSelfLink,+ ("volumeId" .=) <$> _lVolumeId, ("id" .=) <$> _lId,+ ("updated" .=) <$> _lUpdated,+ ("layerId" .=) <$> _lLayerId])++-- | The content ranges to identify the selected text.+--+-- /See:/ 'volumeannotationContentRanges' smart constructor.+data VolumeannotationContentRanges = VolumeannotationContentRanges+ { _vcrGbImageRange :: !(Maybe BooksAnnotationsRange)+ , _vcrContentVersion :: !(Maybe Text)+ , _vcrGbTextRange :: !(Maybe BooksAnnotationsRange)+ , _vcrCfiRange :: !(Maybe BooksAnnotationsRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeannotationContentRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcrGbImageRange'+--+-- * 'vcrContentVersion'+--+-- * 'vcrGbTextRange'+--+-- * 'vcrCfiRange'+volumeannotationContentRanges+ :: VolumeannotationContentRanges+volumeannotationContentRanges =+ VolumeannotationContentRanges+ { _vcrGbImageRange = Nothing+ , _vcrContentVersion = Nothing+ , _vcrGbTextRange = Nothing+ , _vcrCfiRange = Nothing+ }++-- | Range in GB image format for this annotation for version above.+vcrGbImageRange :: Lens' VolumeannotationContentRanges (Maybe BooksAnnotationsRange)+vcrGbImageRange+ = lens _vcrGbImageRange+ (\ s a -> s{_vcrGbImageRange = a})++-- | Content version applicable to ranges below.+vcrContentVersion :: Lens' VolumeannotationContentRanges (Maybe Text)+vcrContentVersion+ = lens _vcrContentVersion+ (\ s a -> s{_vcrContentVersion = a})++-- | Range in GB text format for this annotation for version above.+vcrGbTextRange :: Lens' VolumeannotationContentRanges (Maybe BooksAnnotationsRange)+vcrGbTextRange+ = lens _vcrGbTextRange+ (\ s a -> s{_vcrGbTextRange = a})++-- | Range in CFI format for this annotation for version above.+vcrCfiRange :: Lens' VolumeannotationContentRanges (Maybe BooksAnnotationsRange)+vcrCfiRange+ = lens _vcrCfiRange (\ s a -> s{_vcrCfiRange = a})++instance FromJSON VolumeannotationContentRanges where+ parseJSON+ = withObject "VolumeannotationContentRanges"+ (\ o ->+ VolumeannotationContentRanges <$>+ (o .:? "gbImageRange") <*> (o .:? "contentVersion")+ <*> (o .:? "gbTextRange")+ <*> (o .:? "cfiRange"))++instance ToJSON VolumeannotationContentRanges where+ toJSON VolumeannotationContentRanges{..}+ = object+ (catMaybes+ [("gbImageRange" .=) <$> _vcrGbImageRange,+ ("contentVersion" .=) <$> _vcrContentVersion,+ ("gbTextRange" .=) <$> _vcrGbTextRange,+ ("cfiRange" .=) <$> _vcrCfiRange])++-- | Any information about a volume related to reading or obtaining that+-- volume text. This information can depend on country (books may be public+-- domain in one country but not in another, e.g.).+--+-- /See:/ 'volumeAccessInfo' smart constructor.+data VolumeAccessInfo = VolumeAccessInfo+ { _vaiWebReaderLink :: !(Maybe Text)+ , _vaiCountry :: !(Maybe Text)+ , _vaiDriveImportedContentLink :: !(Maybe Text)+ , _vaiExplicitOfflineLicenseManagement :: !(Maybe Bool)+ , _vaiViewability :: !(Maybe Text)+ , _vaiQuoteSharingAllowed :: !(Maybe Bool)+ , _vaiEpub :: !(Maybe VolumeAccessInfoEpub)+ , _vaiPdf :: !(Maybe VolumeAccessInfoPdf)+ , _vaiTextToSpeechPermission :: !(Maybe Text)+ , _vaiEmbeddable :: !(Maybe Bool)+ , _vaiAccessViewStatus :: !(Maybe Text)+ , _vaiDownloadAccess :: !(Maybe DownloadAccessRestriction)+ , _vaiViewOrderURL :: !(Maybe Text)+ , _vaiPublicDomain :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeAccessInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vaiWebReaderLink'+--+-- * 'vaiCountry'+--+-- * 'vaiDriveImportedContentLink'+--+-- * 'vaiExplicitOfflineLicenseManagement'+--+-- * 'vaiViewability'+--+-- * 'vaiQuoteSharingAllowed'+--+-- * 'vaiEpub'+--+-- * 'vaiPdf'+--+-- * 'vaiTextToSpeechPermission'+--+-- * 'vaiEmbeddable'+--+-- * 'vaiAccessViewStatus'+--+-- * 'vaiDownloadAccess'+--+-- * 'vaiViewOrderURL'+--+-- * 'vaiPublicDomain'+volumeAccessInfo+ :: VolumeAccessInfo+volumeAccessInfo =+ VolumeAccessInfo+ { _vaiWebReaderLink = Nothing+ , _vaiCountry = Nothing+ , _vaiDriveImportedContentLink = Nothing+ , _vaiExplicitOfflineLicenseManagement = Nothing+ , _vaiViewability = Nothing+ , _vaiQuoteSharingAllowed = Nothing+ , _vaiEpub = Nothing+ , _vaiPdf = Nothing+ , _vaiTextToSpeechPermission = Nothing+ , _vaiEmbeddable = Nothing+ , _vaiAccessViewStatus = Nothing+ , _vaiDownloadAccess = Nothing+ , _vaiViewOrderURL = Nothing+ , _vaiPublicDomain = Nothing+ }++-- | URL to read this volume on the Google Books site. Link will not allow+-- users to read non-viewable volumes.+vaiWebReaderLink :: Lens' VolumeAccessInfo (Maybe Text)+vaiWebReaderLink+ = lens _vaiWebReaderLink+ (\ s a -> s{_vaiWebReaderLink = a})++-- | The two-letter ISO_3166-1 country code for which this access information+-- is valid. (In LITE projection.)+vaiCountry :: Lens' VolumeAccessInfo (Maybe Text)+vaiCountry+ = lens _vaiCountry (\ s a -> s{_vaiCountry = a})++-- | URL to the Google Drive viewer if this volume is uploaded by the user by+-- selecting the file from Google Drive.+vaiDriveImportedContentLink :: Lens' VolumeAccessInfo (Maybe Text)+vaiDriveImportedContentLink+ = lens _vaiDriveImportedContentLink+ (\ s a -> s{_vaiDriveImportedContentLink = a})++-- | Whether this volume requires that the client explicitly request offline+-- download license rather than have it done automatically when loading the+-- content, if the client supports it.+vaiExplicitOfflineLicenseManagement :: Lens' VolumeAccessInfo (Maybe Bool)+vaiExplicitOfflineLicenseManagement+ = lens _vaiExplicitOfflineLicenseManagement+ (\ s a ->+ s{_vaiExplicitOfflineLicenseManagement = a})++-- | The read access of a volume. Possible values are PARTIAL, ALL_PAGES,+-- NO_PAGES or UNKNOWN. This value depends on the country listed above. A+-- value of PARTIAL means that the publisher has allowed some portion of+-- the volume to be viewed publicly, without purchase. This can apply to+-- eBooks as well as non-eBooks. Public domain books will always have a+-- value of ALL_PAGES.+vaiViewability :: Lens' VolumeAccessInfo (Maybe Text)+vaiViewability+ = lens _vaiViewability+ (\ s a -> s{_vaiViewability = a})++-- | Whether quote sharing is allowed for this volume.+vaiQuoteSharingAllowed :: Lens' VolumeAccessInfo (Maybe Bool)+vaiQuoteSharingAllowed+ = lens _vaiQuoteSharingAllowed+ (\ s a -> s{_vaiQuoteSharingAllowed = a})++-- | Information about epub content. (In LITE projection.)+vaiEpub :: Lens' VolumeAccessInfo (Maybe VolumeAccessInfoEpub)+vaiEpub = lens _vaiEpub (\ s a -> s{_vaiEpub = a})++-- | Information about pdf content. (In LITE projection.)+vaiPdf :: Lens' VolumeAccessInfo (Maybe VolumeAccessInfoPdf)+vaiPdf = lens _vaiPdf (\ s a -> s{_vaiPdf = a})++-- | Whether text-to-speech is permitted for this volume. Values can be+-- ALLOWED, ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.+vaiTextToSpeechPermission :: Lens' VolumeAccessInfo (Maybe Text)+vaiTextToSpeechPermission+ = lens _vaiTextToSpeechPermission+ (\ s a -> s{_vaiTextToSpeechPermission = a})++-- | Whether this volume can be embedded in a viewport using the Embedded+-- Viewer API.+vaiEmbeddable :: Lens' VolumeAccessInfo (Maybe Bool)+vaiEmbeddable+ = lens _vaiEmbeddable+ (\ s a -> s{_vaiEmbeddable = a})++-- | Combines the access and viewability of this volume into a single status+-- field for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN,+-- SAMPLE or NONE. (In LITE projection.)+vaiAccessViewStatus :: Lens' VolumeAccessInfo (Maybe Text)+vaiAccessViewStatus+ = lens _vaiAccessViewStatus+ (\ s a -> s{_vaiAccessViewStatus = a})++-- | Information about a volume\'s download license access restrictions.+vaiDownloadAccess :: Lens' VolumeAccessInfo (Maybe DownloadAccessRestriction)+vaiDownloadAccess+ = lens _vaiDownloadAccess+ (\ s a -> s{_vaiDownloadAccess = a})++-- | For ordered but not yet processed orders, we give a URL that can be used+-- to go to the appropriate Google Wallet page.+vaiViewOrderURL :: Lens' VolumeAccessInfo (Maybe Text)+vaiViewOrderURL+ = lens _vaiViewOrderURL+ (\ s a -> s{_vaiViewOrderURL = a})++-- | Whether or not this book is public domain in the country listed above.+vaiPublicDomain :: Lens' VolumeAccessInfo (Maybe Bool)+vaiPublicDomain+ = lens _vaiPublicDomain+ (\ s a -> s{_vaiPublicDomain = a})++instance FromJSON VolumeAccessInfo where+ parseJSON+ = withObject "VolumeAccessInfo"+ (\ o ->+ VolumeAccessInfo <$>+ (o .:? "webReaderLink") <*> (o .:? "country") <*>+ (o .:? "driveImportedContentLink")+ <*> (o .:? "explicitOfflineLicenseManagement")+ <*> (o .:? "viewability")+ <*> (o .:? "quoteSharingAllowed")+ <*> (o .:? "epub")+ <*> (o .:? "pdf")+ <*> (o .:? "textToSpeechPermission")+ <*> (o .:? "embeddable")+ <*> (o .:? "accessViewStatus")+ <*> (o .:? "downloadAccess")+ <*> (o .:? "viewOrderUrl")+ <*> (o .:? "publicDomain"))++instance ToJSON VolumeAccessInfo where+ toJSON VolumeAccessInfo{..}+ = object+ (catMaybes+ [("webReaderLink" .=) <$> _vaiWebReaderLink,+ ("country" .=) <$> _vaiCountry,+ ("driveImportedContentLink" .=) <$>+ _vaiDriveImportedContentLink,+ ("explicitOfflineLicenseManagement" .=) <$>+ _vaiExplicitOfflineLicenseManagement,+ ("viewability" .=) <$> _vaiViewability,+ ("quoteSharingAllowed" .=) <$>+ _vaiQuoteSharingAllowed,+ ("epub" .=) <$> _vaiEpub, ("pdf" .=) <$> _vaiPdf,+ ("textToSpeechPermission" .=) <$>+ _vaiTextToSpeechPermission,+ ("embeddable" .=) <$> _vaiEmbeddable,+ ("accessViewStatus" .=) <$> _vaiAccessViewStatus,+ ("downloadAccess" .=) <$> _vaiDownloadAccess,+ ("viewOrderUrl" .=) <$> _vaiViewOrderURL,+ ("publicDomain" .=) <$> _vaiPublicDomain])++-- | A list of image links for all the sizes that are available. (In LITE+-- projection.)+--+-- /See:/ 'volumeVolumeInfoImageLinks' smart constructor.+data VolumeVolumeInfoImageLinks = VolumeVolumeInfoImageLinks+ { _vviilThumbnail :: !(Maybe Text)+ , _vviilSmall :: !(Maybe Text)+ , _vviilExtraLarge :: !(Maybe Text)+ , _vviilLarge :: !(Maybe Text)+ , _vviilMedium :: !(Maybe Text)+ , _vviilSmallThumbnail :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeVolumeInfoImageLinks' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vviilThumbnail'+--+-- * 'vviilSmall'+--+-- * 'vviilExtraLarge'+--+-- * 'vviilLarge'+--+-- * 'vviilMedium'+--+-- * 'vviilSmallThumbnail'+volumeVolumeInfoImageLinks+ :: VolumeVolumeInfoImageLinks+volumeVolumeInfoImageLinks =+ VolumeVolumeInfoImageLinks+ { _vviilThumbnail = Nothing+ , _vviilSmall = Nothing+ , _vviilExtraLarge = Nothing+ , _vviilLarge = Nothing+ , _vviilMedium = Nothing+ , _vviilSmallThumbnail = Nothing+ }++-- | Image link for thumbnail size (width of ~128 pixels). (In LITE+-- projection)+vviilThumbnail :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilThumbnail+ = lens _vviilThumbnail+ (\ s a -> s{_vviilThumbnail = a})++-- | Image link for small size (width of ~300 pixels). (In LITE projection)+vviilSmall :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilSmall+ = lens _vviilSmall (\ s a -> s{_vviilSmall = a})++-- | Image link for extra large size (width of ~1280 pixels). (In LITE+-- projection)+vviilExtraLarge :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilExtraLarge+ = lens _vviilExtraLarge+ (\ s a -> s{_vviilExtraLarge = a})++-- | Image link for large size (width of ~800 pixels). (In LITE projection)+vviilLarge :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilLarge+ = lens _vviilLarge (\ s a -> s{_vviilLarge = a})++-- | Image link for medium size (width of ~575 pixels). (In LITE projection)+vviilMedium :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilMedium+ = lens _vviilMedium (\ s a -> s{_vviilMedium = a})++-- | Image link for small thumbnail size (width of ~80 pixels). (In LITE+-- projection)+vviilSmallThumbnail :: Lens' VolumeVolumeInfoImageLinks (Maybe Text)+vviilSmallThumbnail+ = lens _vviilSmallThumbnail+ (\ s a -> s{_vviilSmallThumbnail = a})++instance FromJSON VolumeVolumeInfoImageLinks where+ parseJSON+ = withObject "VolumeVolumeInfoImageLinks"+ (\ o ->+ VolumeVolumeInfoImageLinks <$>+ (o .:? "thumbnail") <*> (o .:? "small") <*>+ (o .:? "extraLarge")+ <*> (o .:? "large")+ <*> (o .:? "medium")+ <*> (o .:? "smallThumbnail"))++instance ToJSON VolumeVolumeInfoImageLinks where+ toJSON VolumeVolumeInfoImageLinks{..}+ = object+ (catMaybes+ [("thumbnail" .=) <$> _vviilThumbnail,+ ("small" .=) <$> _vviilSmall,+ ("extraLarge" .=) <$> _vviilExtraLarge,+ ("large" .=) <$> _vviilLarge,+ ("medium" .=) <$> _vviilMedium,+ ("smallThumbnail" .=) <$> _vviilSmallThumbnail])++--+-- /See:/ 'volumeUserInfoUserUploadedVolumeInfo' smart constructor.+newtype VolumeUserInfoUserUploadedVolumeInfo = VolumeUserInfoUserUploadedVolumeInfo+ { _vuiuuviProcessingState :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeUserInfoUserUploadedVolumeInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vuiuuviProcessingState'+volumeUserInfoUserUploadedVolumeInfo+ :: VolumeUserInfoUserUploadedVolumeInfo+volumeUserInfoUserUploadedVolumeInfo =+ VolumeUserInfoUserUploadedVolumeInfo+ { _vuiuuviProcessingState = Nothing+ }++vuiuuviProcessingState :: Lens' VolumeUserInfoUserUploadedVolumeInfo (Maybe Text)+vuiuuviProcessingState+ = lens _vuiuuviProcessingState+ (\ s a -> s{_vuiuuviProcessingState = a})++instance FromJSON+ VolumeUserInfoUserUploadedVolumeInfo where+ parseJSON+ = withObject "VolumeUserInfoUserUploadedVolumeInfo"+ (\ o ->+ VolumeUserInfoUserUploadedVolumeInfo <$>+ (o .:? "processingState"))++instance ToJSON VolumeUserInfoUserUploadedVolumeInfo+ where+ toJSON VolumeUserInfoUserUploadedVolumeInfo{..}+ = object+ (catMaybes+ [("processingState" .=) <$> _vuiuuviProcessingState])++-- | Copy\/Paste accounting information.+--+-- /See:/ 'volumeUserInfoCopy' smart constructor.+data VolumeUserInfoCopy = VolumeUserInfoCopy+ { _vuicLimitType :: !(Maybe Text)+ , _vuicAllowedCharacterCount :: !(Maybe (Textual Int32))+ , _vuicUpdated :: !(Maybe DateTime')+ , _vuicRemainingCharacterCount :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeUserInfoCopy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vuicLimitType'+--+-- * 'vuicAllowedCharacterCount'+--+-- * 'vuicUpdated'+--+-- * 'vuicRemainingCharacterCount'+volumeUserInfoCopy+ :: VolumeUserInfoCopy+volumeUserInfoCopy =+ VolumeUserInfoCopy+ { _vuicLimitType = Nothing+ , _vuicAllowedCharacterCount = Nothing+ , _vuicUpdated = Nothing+ , _vuicRemainingCharacterCount = Nothing+ }++vuicLimitType :: Lens' VolumeUserInfoCopy (Maybe Text)+vuicLimitType+ = lens _vuicLimitType+ (\ s a -> s{_vuicLimitType = a})++vuicAllowedCharacterCount :: Lens' VolumeUserInfoCopy (Maybe Int32)+vuicAllowedCharacterCount+ = lens _vuicAllowedCharacterCount+ (\ s a -> s{_vuicAllowedCharacterCount = a})+ . mapping _Coerce++vuicUpdated :: Lens' VolumeUserInfoCopy (Maybe UTCTime)+vuicUpdated+ = lens _vuicUpdated (\ s a -> s{_vuicUpdated = a}) .+ mapping _DateTime++vuicRemainingCharacterCount :: Lens' VolumeUserInfoCopy (Maybe Int32)+vuicRemainingCharacterCount+ = lens _vuicRemainingCharacterCount+ (\ s a -> s{_vuicRemainingCharacterCount = a})+ . mapping _Coerce++instance FromJSON VolumeUserInfoCopy where+ parseJSON+ = withObject "VolumeUserInfoCopy"+ (\ o ->+ VolumeUserInfoCopy <$>+ (o .:? "limitType") <*>+ (o .:? "allowedCharacterCount")+ <*> (o .:? "updated")+ <*> (o .:? "remainingCharacterCount"))++instance ToJSON VolumeUserInfoCopy where+ toJSON VolumeUserInfoCopy{..}+ = object+ (catMaybes+ [("limitType" .=) <$> _vuicLimitType,+ ("allowedCharacterCount" .=) <$>+ _vuicAllowedCharacterCount,+ ("updated" .=) <$> _vuicUpdated,+ ("remainingCharacterCount" .=) <$>+ _vuicRemainingCharacterCount])++--+-- /See:/ 'booksVolumesRecommendedRateResponse' smart constructor.+newtype BooksVolumesRecommendedRateResponse = BooksVolumesRecommendedRateResponse+ { _bvrrrConsistencyToken :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooksVolumesRecommendedRateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bvrrrConsistencyToken'+booksVolumesRecommendedRateResponse+ :: BooksVolumesRecommendedRateResponse+booksVolumesRecommendedRateResponse =+ BooksVolumesRecommendedRateResponse+ { _bvrrrConsistencyToken = Nothing+ }++bvrrrConsistencyToken :: Lens' BooksVolumesRecommendedRateResponse (Maybe Text)+bvrrrConsistencyToken+ = lens _bvrrrConsistencyToken+ (\ s a -> s{_bvrrrConsistencyToken = a})++instance FromJSON BooksVolumesRecommendedRateResponse+ where+ parseJSON+ = withObject "BooksVolumesRecommendedRateResponse"+ (\ o ->+ BooksVolumesRecommendedRateResponse <$>+ (o .:? "consistency_token"))++instance ToJSON BooksVolumesRecommendedRateResponse+ where+ toJSON BooksVolumesRecommendedRateResponse{..}+ = object+ (catMaybes+ [("consistency_token" .=) <$>+ _bvrrrConsistencyToken])++--+-- /See:/ 'bookshelf' smart constructor.+data Bookshelf = Bookshelf+ { _bAccess :: !(Maybe Text)+ , _bVolumesLastUpdated :: !(Maybe DateTime')+ , _bKind :: !Text+ , _bCreated :: !(Maybe DateTime')+ , _bVolumeCount :: !(Maybe (Textual Int32))+ , _bSelfLink :: !(Maybe Text)+ , _bId :: !(Maybe (Textual Int32))+ , _bUpdated :: !(Maybe DateTime')+ , _bTitle :: !(Maybe Text)+ , _bDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Bookshelf' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bAccess'+--+-- * 'bVolumesLastUpdated'+--+-- * 'bKind'+--+-- * 'bCreated'+--+-- * 'bVolumeCount'+--+-- * 'bSelfLink'+--+-- * 'bId'+--+-- * 'bUpdated'+--+-- * 'bTitle'+--+-- * 'bDescription'+bookshelf+ :: Bookshelf+bookshelf =+ Bookshelf+ { _bAccess = Nothing+ , _bVolumesLastUpdated = Nothing+ , _bKind = "books#bookshelf"+ , _bCreated = Nothing+ , _bVolumeCount = Nothing+ , _bSelfLink = Nothing+ , _bId = Nothing+ , _bUpdated = Nothing+ , _bTitle = Nothing+ , _bDescription = Nothing+ }++-- | Whether this bookshelf is PUBLIC or PRIVATE.+bAccess :: Lens' Bookshelf (Maybe Text)+bAccess = lens _bAccess (\ s a -> s{_bAccess = a})++-- | Last time a volume was added or removed from this bookshelf (formatted+-- UTC timestamp with millisecond resolution).+bVolumesLastUpdated :: Lens' Bookshelf (Maybe UTCTime)+bVolumesLastUpdated+ = lens _bVolumesLastUpdated+ (\ s a -> s{_bVolumesLastUpdated = a})+ . mapping _DateTime++-- | Resource type for bookshelf metadata.+bKind :: Lens' Bookshelf Text+bKind = lens _bKind (\ s a -> s{_bKind = a})++-- | Created time for this bookshelf (formatted UTC timestamp with+-- millisecond resolution).+bCreated :: Lens' Bookshelf (Maybe UTCTime)+bCreated+ = lens _bCreated (\ s a -> s{_bCreated = a}) .+ mapping _DateTime++-- | Number of volumes in this bookshelf.+bVolumeCount :: Lens' Bookshelf (Maybe Int32)+bVolumeCount+ = lens _bVolumeCount (\ s a -> s{_bVolumeCount = a})+ . mapping _Coerce++-- | URL to this resource.+bSelfLink :: Lens' Bookshelf (Maybe Text)+bSelfLink+ = lens _bSelfLink (\ s a -> s{_bSelfLink = a})++-- | Id of this bookshelf, only unique by user.+bId :: Lens' Bookshelf (Maybe Int32)+bId+ = lens _bId (\ s a -> s{_bId = a}) . mapping _Coerce++-- | Last modified time of this bookshelf (formatted UTC timestamp with+-- millisecond resolution).+bUpdated :: Lens' Bookshelf (Maybe UTCTime)+bUpdated+ = lens _bUpdated (\ s a -> s{_bUpdated = a}) .+ mapping _DateTime++-- | Title of this bookshelf.+bTitle :: Lens' Bookshelf (Maybe Text)+bTitle = lens _bTitle (\ s a -> s{_bTitle = a})++-- | Description of this bookshelf.+bDescription :: Lens' Bookshelf (Maybe Text)+bDescription+ = lens _bDescription (\ s a -> s{_bDescription = a})++instance FromJSON Bookshelf where+ parseJSON+ = withObject "Bookshelf"+ (\ o ->+ Bookshelf <$>+ (o .:? "access") <*> (o .:? "volumesLastUpdated") <*>+ (o .:? "kind" .!= "books#bookshelf")+ <*> (o .:? "created")+ <*> (o .:? "volumeCount")+ <*> (o .:? "selfLink")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "title")+ <*> (o .:? "description"))++instance ToJSON Bookshelf where+ toJSON Bookshelf{..}+ = object+ (catMaybes+ [("access" .=) <$> _bAccess,+ ("volumesLastUpdated" .=) <$> _bVolumesLastUpdated,+ Just ("kind" .= _bKind),+ ("created" .=) <$> _bCreated,+ ("volumeCount" .=) <$> _bVolumeCount,+ ("selfLink" .=) <$> _bSelfLink, ("id" .=) <$> _bId,+ ("updated" .=) <$> _bUpdated,+ ("title" .=) <$> _bTitle,+ ("description" .=) <$> _bDescription])++--+-- /See:/ 'notification' smart constructor.+data Notification = Notification+ { _nKind :: !Text+ , _nBody :: !(Maybe Text)+ , _nLinkURL :: !(Maybe Text)+ , _nIconURL :: !(Maybe Text)+ , _nTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Notification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nKind'+--+-- * 'nBody'+--+-- * 'nLinkURL'+--+-- * 'nIconURL'+--+-- * 'nTitle'+notification+ :: Notification+notification =+ Notification+ { _nKind = "books#notification"+ , _nBody = Nothing+ , _nLinkURL = Nothing+ , _nIconURL = Nothing+ , _nTitle = Nothing+ }++-- | Resource type.+nKind :: Lens' Notification Text+nKind = lens _nKind (\ s a -> s{_nKind = a})++nBody :: Lens' Notification (Maybe Text)+nBody = lens _nBody (\ s a -> s{_nBody = a})++nLinkURL :: Lens' Notification (Maybe Text)+nLinkURL = lens _nLinkURL (\ s a -> s{_nLinkURL = a})++nIconURL :: Lens' Notification (Maybe Text)+nIconURL = lens _nIconURL (\ s a -> s{_nIconURL = a})++nTitle :: Lens' Notification (Maybe Text)+nTitle = lens _nTitle (\ s a -> s{_nTitle = a})++instance FromJSON Notification where+ parseJSON+ = withObject "Notification"+ (\ o ->+ Notification <$>+ (o .:? "kind" .!= "books#notification") <*>+ (o .:? "body")+ <*> (o .:? "linkUrl")+ <*> (o .:? "iconUrl")+ <*> (o .:? "title"))++instance ToJSON Notification where+ toJSON Notification{..}+ = object+ (catMaybes+ [Just ("kind" .= _nKind), ("body" .=) <$> _nBody,+ ("linkUrl" .=) <$> _nLinkURL,+ ("iconUrl" .=) <$> _nIconURL,+ ("title" .=) <$> _nTitle])++--+-- /See:/ 'annotationsSummaryLayersItem' smart constructor.+data AnnotationsSummaryLayersItem = AnnotationsSummaryLayersItem+ { _asliLimitType :: !(Maybe Text)+ , _asliAllowedCharacterCount :: !(Maybe (Textual Int32))+ , _asliUpdated :: !(Maybe DateTime')+ , _asliLayerId :: !(Maybe Text)+ , _asliRemainingCharacterCount :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationsSummaryLayersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asliLimitType'+--+-- * 'asliAllowedCharacterCount'+--+-- * 'asliUpdated'+--+-- * 'asliLayerId'+--+-- * 'asliRemainingCharacterCount'+annotationsSummaryLayersItem+ :: AnnotationsSummaryLayersItem+annotationsSummaryLayersItem =+ AnnotationsSummaryLayersItem+ { _asliLimitType = Nothing+ , _asliAllowedCharacterCount = Nothing+ , _asliUpdated = Nothing+ , _asliLayerId = Nothing+ , _asliRemainingCharacterCount = Nothing+ }++asliLimitType :: Lens' AnnotationsSummaryLayersItem (Maybe Text)+asliLimitType+ = lens _asliLimitType+ (\ s a -> s{_asliLimitType = a})++asliAllowedCharacterCount :: Lens' AnnotationsSummaryLayersItem (Maybe Int32)+asliAllowedCharacterCount+ = lens _asliAllowedCharacterCount+ (\ s a -> s{_asliAllowedCharacterCount = a})+ . mapping _Coerce++asliUpdated :: Lens' AnnotationsSummaryLayersItem (Maybe UTCTime)+asliUpdated+ = lens _asliUpdated (\ s a -> s{_asliUpdated = a}) .+ mapping _DateTime++asliLayerId :: Lens' AnnotationsSummaryLayersItem (Maybe Text)+asliLayerId+ = lens _asliLayerId (\ s a -> s{_asliLayerId = a})++asliRemainingCharacterCount :: Lens' AnnotationsSummaryLayersItem (Maybe Int32)+asliRemainingCharacterCount+ = lens _asliRemainingCharacterCount+ (\ s a -> s{_asliRemainingCharacterCount = a})+ . mapping _Coerce++instance FromJSON AnnotationsSummaryLayersItem where+ parseJSON+ = withObject "AnnotationsSummaryLayersItem"+ (\ o ->+ AnnotationsSummaryLayersItem <$>+ (o .:? "limitType") <*>+ (o .:? "allowedCharacterCount")+ <*> (o .:? "updated")+ <*> (o .:? "layerId")+ <*> (o .:? "remainingCharacterCount"))++instance ToJSON AnnotationsSummaryLayersItem where+ toJSON AnnotationsSummaryLayersItem{..}+ = object+ (catMaybes+ [("limitType" .=) <$> _asliLimitType,+ ("allowedCharacterCount" .=) <$>+ _asliAllowedCharacterCount,+ ("updated" .=) <$> _asliUpdated,+ ("layerId" .=) <$> _asliLayerId,+ ("remainingCharacterCount" .=) <$>+ _asliRemainingCharacterCount])++-- | The rental duration (for rental offers only).+--+-- /See:/ 'volumeSaleInfoOffersItemRentalDuration' smart constructor.+data VolumeSaleInfoOffersItemRentalDuration = VolumeSaleInfoOffersItemRentalDuration+ { _vsioirdCount :: !(Maybe (Textual Double))+ , _vsioirdUnit :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoOffersItemRentalDuration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsioirdCount'+--+-- * 'vsioirdUnit'+volumeSaleInfoOffersItemRentalDuration+ :: VolumeSaleInfoOffersItemRentalDuration+volumeSaleInfoOffersItemRentalDuration =+ VolumeSaleInfoOffersItemRentalDuration+ { _vsioirdCount = Nothing+ , _vsioirdUnit = Nothing+ }++vsioirdCount :: Lens' VolumeSaleInfoOffersItemRentalDuration (Maybe Double)+vsioirdCount+ = lens _vsioirdCount (\ s a -> s{_vsioirdCount = a})+ . mapping _Coerce++vsioirdUnit :: Lens' VolumeSaleInfoOffersItemRentalDuration (Maybe Text)+vsioirdUnit+ = lens _vsioirdUnit (\ s a -> s{_vsioirdUnit = a})++instance FromJSON+ VolumeSaleInfoOffersItemRentalDuration where+ parseJSON+ = withObject "VolumeSaleInfoOffersItemRentalDuration"+ (\ o ->+ VolumeSaleInfoOffersItemRentalDuration <$>+ (o .:? "count") <*> (o .:? "unit"))++instance ToJSON+ VolumeSaleInfoOffersItemRentalDuration where+ toJSON VolumeSaleInfoOffersItemRentalDuration{..}+ = object+ (catMaybes+ [("count" .=) <$> _vsioirdCount,+ ("unit" .=) <$> _vsioirdUnit])++--+-- /See:/ 'dictlayerDataDictWordsItemExamplesItem' smart constructor.+data DictlayerDataDictWordsItemExamplesItem = DictlayerDataDictWordsItemExamplesItem+ { _dddwieiText :: !(Maybe Text)+ , _dddwieiSource :: !(Maybe DictlayerDataDictWordsItemExamplesItemSource)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemExamplesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwieiText'+--+-- * 'dddwieiSource'+dictlayerDataDictWordsItemExamplesItem+ :: DictlayerDataDictWordsItemExamplesItem+dictlayerDataDictWordsItemExamplesItem =+ DictlayerDataDictWordsItemExamplesItem+ { _dddwieiText = Nothing+ , _dddwieiSource = Nothing+ }++dddwieiText :: Lens' DictlayerDataDictWordsItemExamplesItem (Maybe Text)+dddwieiText+ = lens _dddwieiText (\ s a -> s{_dddwieiText = a})++dddwieiSource :: Lens' DictlayerDataDictWordsItemExamplesItem (Maybe DictlayerDataDictWordsItemExamplesItemSource)+dddwieiSource+ = lens _dddwieiSource+ (\ s a -> s{_dddwieiSource = a})++instance FromJSON+ DictlayerDataDictWordsItemExamplesItem where+ parseJSON+ = withObject "DictlayerDataDictWordsItemExamplesItem"+ (\ o ->+ DictlayerDataDictWordsItemExamplesItem <$>+ (o .:? "text") <*> (o .:? "source"))++instance ToJSON+ DictlayerDataDictWordsItemExamplesItem where+ toJSON DictlayerDataDictWordsItemExamplesItem{..}+ = object+ (catMaybes+ [("text" .=) <$> _dddwieiText,+ ("source" .=) <$> _dddwieiSource])++--+-- /See:/ 'offersItemsItem' smart constructor.+data OffersItemsItem = OffersItemsItem+ { _oiiItems :: !(Maybe [OffersItemsItemItemsItem])+ , _oiiArtURL :: !(Maybe Text)+ , _oiiId :: !(Maybe Text)+ , _oiiGServicesKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OffersItemsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oiiItems'+--+-- * 'oiiArtURL'+--+-- * 'oiiId'+--+-- * 'oiiGServicesKey'+offersItemsItem+ :: OffersItemsItem+offersItemsItem =+ OffersItemsItem+ { _oiiItems = Nothing+ , _oiiArtURL = Nothing+ , _oiiId = Nothing+ , _oiiGServicesKey = Nothing+ }++oiiItems :: Lens' OffersItemsItem [OffersItemsItemItemsItem]+oiiItems+ = lens _oiiItems (\ s a -> s{_oiiItems = a}) .+ _Default+ . _Coerce++oiiArtURL :: Lens' OffersItemsItem (Maybe Text)+oiiArtURL+ = lens _oiiArtURL (\ s a -> s{_oiiArtURL = a})++oiiId :: Lens' OffersItemsItem (Maybe Text)+oiiId = lens _oiiId (\ s a -> s{_oiiId = a})++oiiGServicesKey :: Lens' OffersItemsItem (Maybe Text)+oiiGServicesKey+ = lens _oiiGServicesKey+ (\ s a -> s{_oiiGServicesKey = a})++instance FromJSON OffersItemsItem where+ parseJSON+ = withObject "OffersItemsItem"+ (\ o ->+ OffersItemsItem <$>+ (o .:? "items" .!= mempty) <*> (o .:? "artUrl") <*>+ (o .:? "id")+ <*> (o .:? "gservicesKey"))++instance ToJSON OffersItemsItem where+ toJSON OffersItemsItem{..}+ = object+ (catMaybes+ [("items" .=) <$> _oiiItems,+ ("artUrl" .=) <$> _oiiArtURL, ("id" .=) <$> _oiiId,+ ("gservicesKey" .=) <$> _oiiGServicesKey])++--+-- /See:/ 'annotationLayerSummary' smart constructor.+data AnnotationLayerSummary = AnnotationLayerSummary+ { _alsLimitType :: !(Maybe Text)+ , _alsAllowedCharacterCount :: !(Maybe (Textual Int32))+ , _alsRemainingCharacterCount :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationLayerSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alsLimitType'+--+-- * 'alsAllowedCharacterCount'+--+-- * 'alsRemainingCharacterCount'+annotationLayerSummary+ :: AnnotationLayerSummary+annotationLayerSummary =+ AnnotationLayerSummary+ { _alsLimitType = Nothing+ , _alsAllowedCharacterCount = Nothing+ , _alsRemainingCharacterCount = Nothing+ }++-- | Type of limitation on this layer. \"limited\" or \"unlimited\" for the+-- \"copy\" layer.+alsLimitType :: Lens' AnnotationLayerSummary (Maybe Text)+alsLimitType+ = lens _alsLimitType (\ s a -> s{_alsLimitType = a})++-- | Maximum allowed characters on this layer, especially for the \"copy\"+-- layer.+alsAllowedCharacterCount :: Lens' AnnotationLayerSummary (Maybe Int32)+alsAllowedCharacterCount+ = lens _alsAllowedCharacterCount+ (\ s a -> s{_alsAllowedCharacterCount = a})+ . mapping _Coerce++-- | Remaining allowed characters on this layer, especially for the \"copy\"+-- layer.+alsRemainingCharacterCount :: Lens' AnnotationLayerSummary (Maybe Int32)+alsRemainingCharacterCount+ = lens _alsRemainingCharacterCount+ (\ s a -> s{_alsRemainingCharacterCount = a})+ . mapping _Coerce++instance FromJSON AnnotationLayerSummary where+ parseJSON+ = withObject "AnnotationLayerSummary"+ (\ o ->+ AnnotationLayerSummary <$>+ (o .:? "limitType") <*>+ (o .:? "allowedCharacterCount")+ <*> (o .:? "remainingCharacterCount"))++instance ToJSON AnnotationLayerSummary where+ toJSON AnnotationLayerSummary{..}+ = object+ (catMaybes+ [("limitType" .=) <$> _alsLimitType,+ ("allowedCharacterCount" .=) <$>+ _alsAllowedCharacterCount,+ ("remainingCharacterCount" .=) <$>+ _alsRemainingCharacterCount])++-- | Search result information related to this volume.+--+-- /See:/ 'volumeSearchInfo' smart constructor.+newtype VolumeSearchInfo = VolumeSearchInfo+ { _vsiTextSnippet :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSearchInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiTextSnippet'+volumeSearchInfo+ :: VolumeSearchInfo+volumeSearchInfo =+ VolumeSearchInfo+ { _vsiTextSnippet = Nothing+ }++-- | A text snippet containing the search query.+vsiTextSnippet :: Lens' VolumeSearchInfo (Maybe Text)+vsiTextSnippet+ = lens _vsiTextSnippet+ (\ s a -> s{_vsiTextSnippet = a})++instance FromJSON VolumeSearchInfo where+ parseJSON+ = withObject "VolumeSearchInfo"+ (\ o -> VolumeSearchInfo <$> (o .:? "textSnippet"))++instance ToJSON VolumeSearchInfo where+ toJSON VolumeSearchInfo{..}+ = object+ (catMaybes [("textSnippet" .=) <$> _vsiTextSnippet])++--+-- /See:/ 'annotationsSummary' smart constructor.+data AnnotationsSummary = AnnotationsSummary+ { _asKind :: !Text+ , _asLayers :: !(Maybe [AnnotationsSummaryLayersItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationsSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asKind'+--+-- * 'asLayers'+annotationsSummary+ :: AnnotationsSummary+annotationsSummary =+ AnnotationsSummary+ { _asKind = "books#annotationsSummary"+ , _asLayers = Nothing+ }++asKind :: Lens' AnnotationsSummary Text+asKind = lens _asKind (\ s a -> s{_asKind = a})++asLayers :: Lens' AnnotationsSummary [AnnotationsSummaryLayersItem]+asLayers+ = lens _asLayers (\ s a -> s{_asLayers = a}) .+ _Default+ . _Coerce++instance FromJSON AnnotationsSummary where+ parseJSON+ = withObject "AnnotationsSummary"+ (\ o ->+ AnnotationsSummary <$>+ (o .:? "kind" .!= "books#annotationsSummary") <*>+ (o .:? "layers" .!= mempty))++instance ToJSON AnnotationsSummary where+ toJSON AnnotationsSummary{..}+ = object+ (catMaybes+ [Just ("kind" .= _asKind),+ ("layers" .=) <$> _asLayers])++--+-- /See:/ 'category' smart constructor.+data Category = Category+ { _cKind :: !Text+ , _cItems :: !(Maybe [CategoryItemsItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Category' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cKind'+--+-- * 'cItems'+category+ :: Category+category =+ Category+ { _cKind = "onboarding#category"+ , _cItems = Nothing+ }++-- | Resource type.+cKind :: Lens' Category Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | A list of onboarding categories.+cItems :: Lens' Category [CategoryItemsItem]+cItems+ = lens _cItems (\ s a -> s{_cItems = a}) . _Default .+ _Coerce++instance FromJSON Category where+ parseJSON+ = withObject "Category"+ (\ o ->+ Category <$>+ (o .:? "kind" .!= "onboarding#category") <*>+ (o .:? "items" .!= mempty))++instance ToJSON Category where+ toJSON Category{..}+ = object+ (catMaybes+ [Just ("kind" .= _cKind), ("items" .=) <$> _cItems])++--+-- /See:/ 'discoveryclustersClustersItemBanner_with_content_container' smart constructor.+data DiscoveryclustersClustersItemBanner_with_content_container = DiscoveryclustersClustersItemBanner_with_content_container+ { _dcibFillColorArgb :: !(Maybe Text)+ , _dcibMoreButtonURL :: !(Maybe Text)+ , _dcibTextColorArgb :: !(Maybe Text)+ , _dcibMoreButtonText :: !(Maybe Text)+ , _dcibImageURL :: !(Maybe Text)+ , _dcibMaskColorArgb :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiscoveryclustersClustersItemBanner_with_content_container' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcibFillColorArgb'+--+-- * 'dcibMoreButtonURL'+--+-- * 'dcibTextColorArgb'+--+-- * 'dcibMoreButtonText'+--+-- * 'dcibImageURL'+--+-- * 'dcibMaskColorArgb'+discoveryclustersClustersItemBanner_with_content_container+ :: DiscoveryclustersClustersItemBanner_with_content_container+discoveryclustersClustersItemBanner_with_content_container =+ DiscoveryclustersClustersItemBanner_with_content_container+ { _dcibFillColorArgb = Nothing+ , _dcibMoreButtonURL = Nothing+ , _dcibTextColorArgb = Nothing+ , _dcibMoreButtonText = Nothing+ , _dcibImageURL = Nothing+ , _dcibMaskColorArgb = Nothing+ }++dcibFillColorArgb :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibFillColorArgb+ = lens _dcibFillColorArgb+ (\ s a -> s{_dcibFillColorArgb = a})++dcibMoreButtonURL :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibMoreButtonURL+ = lens _dcibMoreButtonURL+ (\ s a -> s{_dcibMoreButtonURL = a})++dcibTextColorArgb :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibTextColorArgb+ = lens _dcibTextColorArgb+ (\ s a -> s{_dcibTextColorArgb = a})++dcibMoreButtonText :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibMoreButtonText+ = lens _dcibMoreButtonText+ (\ s a -> s{_dcibMoreButtonText = a})++dcibImageURL :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibImageURL+ = lens _dcibImageURL (\ s a -> s{_dcibImageURL = a})++dcibMaskColorArgb :: Lens' DiscoveryclustersClustersItemBanner_with_content_container (Maybe Text)+dcibMaskColorArgb+ = lens _dcibMaskColorArgb+ (\ s a -> s{_dcibMaskColorArgb = a})++instance FromJSON+ DiscoveryclustersClustersItemBanner_with_content_container+ where+ parseJSON+ = withObject+ "DiscoveryclustersClustersItemBannerWithContentContainer"+ (\ o ->+ DiscoveryclustersClustersItemBanner_with_content_container+ <$>+ (o .:? "fillColorArgb") <*> (o .:? "moreButtonUrl")+ <*> (o .:? "textColorArgb")+ <*> (o .:? "moreButtonText")+ <*> (o .:? "imageUrl")+ <*> (o .:? "maskColorArgb"))++instance ToJSON+ DiscoveryclustersClustersItemBanner_with_content_container+ where+ toJSON+ DiscoveryclustersClustersItemBanner_with_content_container{..}+ = object+ (catMaybes+ [("fillColorArgb" .=) <$> _dcibFillColorArgb,+ ("moreButtonUrl" .=) <$> _dcibMoreButtonURL,+ ("textColorArgb" .=) <$> _dcibTextColorArgb,+ ("moreButtonText" .=) <$> _dcibMoreButtonText,+ ("imageUrl" .=) <$> _dcibImageURL,+ ("maskColorArgb" .=) <$> _dcibMaskColorArgb])++--+-- /See:/ 'volume' smart constructor.+data Volume = Volume+ { _vvUserInfo :: !(Maybe VolumeUserInfo)+ , _vvEtag :: !(Maybe Text)+ , _vvAccessInfo :: !(Maybe VolumeAccessInfo)+ , _vvKind :: !Text+ , _vvSearchInfo :: !(Maybe VolumeSearchInfo)+ , _vvSelfLink :: !(Maybe Text)+ , _vvLayerInfo :: !(Maybe VolumeLayerInfo)+ , _vvSaleInfo :: !(Maybe VolumeSaleInfo)+ , _vvId :: !(Maybe Text)+ , _vvRecommendedInfo :: !(Maybe VolumeRecommendedInfo)+ , _vvVolumeInfo :: !(Maybe VolumeVolumeInfo)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vvUserInfo'+--+-- * 'vvEtag'+--+-- * 'vvAccessInfo'+--+-- * 'vvKind'+--+-- * 'vvSearchInfo'+--+-- * 'vvSelfLink'+--+-- * 'vvLayerInfo'+--+-- * 'vvSaleInfo'+--+-- * 'vvId'+--+-- * 'vvRecommendedInfo'+--+-- * 'vvVolumeInfo'+volume+ :: Volume+volume =+ Volume+ { _vvUserInfo = Nothing+ , _vvEtag = Nothing+ , _vvAccessInfo = Nothing+ , _vvKind = "books#volume"+ , _vvSearchInfo = Nothing+ , _vvSelfLink = Nothing+ , _vvLayerInfo = Nothing+ , _vvSaleInfo = Nothing+ , _vvId = Nothing+ , _vvRecommendedInfo = Nothing+ , _vvVolumeInfo = Nothing+ }++-- | User specific information related to this volume. (e.g. page this user+-- last read or whether they purchased this book)+vvUserInfo :: Lens' Volume (Maybe VolumeUserInfo)+vvUserInfo+ = lens _vvUserInfo (\ s a -> s{_vvUserInfo = a})++-- | Opaque identifier for a specific version of a volume resource. (In LITE+-- projection)+vvEtag :: Lens' Volume (Maybe Text)+vvEtag = lens _vvEtag (\ s a -> s{_vvEtag = a})++-- | Any information about a volume related to reading or obtaining that+-- volume text. This information can depend on country (books may be public+-- domain in one country but not in another, e.g.).+vvAccessInfo :: Lens' Volume (Maybe VolumeAccessInfo)+vvAccessInfo+ = lens _vvAccessInfo (\ s a -> s{_vvAccessInfo = a})++-- | Resource type for a volume. (In LITE projection.)+vvKind :: Lens' Volume Text+vvKind = lens _vvKind (\ s a -> s{_vvKind = a})++-- | Search result information related to this volume.+vvSearchInfo :: Lens' Volume (Maybe VolumeSearchInfo)+vvSearchInfo+ = lens _vvSearchInfo (\ s a -> s{_vvSearchInfo = a})++-- | URL to this resource. (In LITE projection.)+vvSelfLink :: Lens' Volume (Maybe Text)+vvSelfLink+ = lens _vvSelfLink (\ s a -> s{_vvSelfLink = a})++-- | What layers exist in this volume and high level information about them.+vvLayerInfo :: Lens' Volume (Maybe VolumeLayerInfo)+vvLayerInfo+ = lens _vvLayerInfo (\ s a -> s{_vvLayerInfo = a})++-- | Any information about a volume related to the eBookstore and\/or+-- purchaseability. This information can depend on the country where the+-- request originates from (i.e. books may not be for sale in certain+-- countries).+vvSaleInfo :: Lens' Volume (Maybe VolumeSaleInfo)+vvSaleInfo+ = lens _vvSaleInfo (\ s a -> s{_vvSaleInfo = a})++-- | Unique identifier for a volume. (In LITE projection.)+vvId :: Lens' Volume (Maybe Text)+vvId = lens _vvId (\ s a -> s{_vvId = a})++-- | Recommendation related information for this volume.+vvRecommendedInfo :: Lens' Volume (Maybe VolumeRecommendedInfo)+vvRecommendedInfo+ = lens _vvRecommendedInfo+ (\ s a -> s{_vvRecommendedInfo = a})++-- | General volume information.+vvVolumeInfo :: Lens' Volume (Maybe VolumeVolumeInfo)+vvVolumeInfo+ = lens _vvVolumeInfo (\ s a -> s{_vvVolumeInfo = a})++instance FromJSON Volume where+ parseJSON+ = withObject "Volume"+ (\ o ->+ Volume <$>+ (o .:? "userInfo") <*> (o .:? "etag") <*>+ (o .:? "accessInfo")+ <*> (o .:? "kind" .!= "books#volume")+ <*> (o .:? "searchInfo")+ <*> (o .:? "selfLink")+ <*> (o .:? "layerInfo")+ <*> (o .:? "saleInfo")+ <*> (o .:? "id")+ <*> (o .:? "recommendedInfo")+ <*> (o .:? "volumeInfo"))++instance ToJSON Volume where+ toJSON Volume{..}+ = object+ (catMaybes+ [("userInfo" .=) <$> _vvUserInfo,+ ("etag" .=) <$> _vvEtag,+ ("accessInfo" .=) <$> _vvAccessInfo,+ Just ("kind" .= _vvKind),+ ("searchInfo" .=) <$> _vvSearchInfo,+ ("selfLink" .=) <$> _vvSelfLink,+ ("layerInfo" .=) <$> _vvLayerInfo,+ ("saleInfo" .=) <$> _vvSaleInfo, ("id" .=) <$> _vvId,+ ("recommendedInfo" .=) <$> _vvRecommendedInfo,+ ("volumeInfo" .=) <$> _vvVolumeInfo])++--+-- /See:/ 'geolayerDataGeoBoundaryItemItem' smart constructor.+data GeolayerDataGeoBoundaryItemItem = GeolayerDataGeoBoundaryItemItem+ { _gdgbiiLatitude :: !(Maybe (Textual Word32))+ , _gdgbiiLongitude :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataGeoBoundaryItemItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgbiiLatitude'+--+-- * 'gdgbiiLongitude'+geolayerDataGeoBoundaryItemItem+ :: GeolayerDataGeoBoundaryItemItem+geolayerDataGeoBoundaryItemItem =+ GeolayerDataGeoBoundaryItemItem+ { _gdgbiiLatitude = Nothing+ , _gdgbiiLongitude = Nothing+ }++gdgbiiLatitude :: Lens' GeolayerDataGeoBoundaryItemItem (Maybe Word32)+gdgbiiLatitude+ = lens _gdgbiiLatitude+ (\ s a -> s{_gdgbiiLatitude = a})+ . mapping _Coerce++gdgbiiLongitude :: Lens' GeolayerDataGeoBoundaryItemItem (Maybe Word32)+gdgbiiLongitude+ = lens _gdgbiiLongitude+ (\ s a -> s{_gdgbiiLongitude = a})+ . mapping _Coerce++instance FromJSON GeolayerDataGeoBoundaryItemItem+ where+ parseJSON+ = withObject "GeolayerDataGeoBoundaryItemItem"+ (\ o ->+ GeolayerDataGeoBoundaryItemItem <$>+ (o .:? "latitude") <*> (o .:? "longitude"))++instance ToJSON GeolayerDataGeoBoundaryItemItem where+ toJSON GeolayerDataGeoBoundaryItemItem{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _gdgbiiLatitude,+ ("longitude" .=) <$> _gdgbiiLongitude])++--+-- /See:/ 'offersItemsItemItemsItem' smart constructor.+data OffersItemsItemItemsItem = OffersItemsItemItemsItem+ { _oiiiiCanonicalVolumeLink :: !(Maybe Text)+ , _oiiiiCoverURL :: !(Maybe Text)+ , _oiiiiVolumeId :: !(Maybe Text)+ , _oiiiiAuthor :: !(Maybe Text)+ , _oiiiiTitle :: !(Maybe Text)+ , _oiiiiDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OffersItemsItemItemsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oiiiiCanonicalVolumeLink'+--+-- * 'oiiiiCoverURL'+--+-- * 'oiiiiVolumeId'+--+-- * 'oiiiiAuthor'+--+-- * 'oiiiiTitle'+--+-- * 'oiiiiDescription'+offersItemsItemItemsItem+ :: OffersItemsItemItemsItem+offersItemsItemItemsItem =+ OffersItemsItemItemsItem+ { _oiiiiCanonicalVolumeLink = Nothing+ , _oiiiiCoverURL = Nothing+ , _oiiiiVolumeId = Nothing+ , _oiiiiAuthor = Nothing+ , _oiiiiTitle = Nothing+ , _oiiiiDescription = Nothing+ }++oiiiiCanonicalVolumeLink :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiCanonicalVolumeLink+ = lens _oiiiiCanonicalVolumeLink+ (\ s a -> s{_oiiiiCanonicalVolumeLink = a})++oiiiiCoverURL :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiCoverURL+ = lens _oiiiiCoverURL+ (\ s a -> s{_oiiiiCoverURL = a})++oiiiiVolumeId :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiVolumeId+ = lens _oiiiiVolumeId+ (\ s a -> s{_oiiiiVolumeId = a})++oiiiiAuthor :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiAuthor+ = lens _oiiiiAuthor (\ s a -> s{_oiiiiAuthor = a})++oiiiiTitle :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiTitle+ = lens _oiiiiTitle (\ s a -> s{_oiiiiTitle = a})++oiiiiDescription :: Lens' OffersItemsItemItemsItem (Maybe Text)+oiiiiDescription+ = lens _oiiiiDescription+ (\ s a -> s{_oiiiiDescription = a})++instance FromJSON OffersItemsItemItemsItem where+ parseJSON+ = withObject "OffersItemsItemItemsItem"+ (\ o ->+ OffersItemsItemItemsItem <$>+ (o .:? "canonicalVolumeLink") <*> (o .:? "coverUrl")+ <*> (o .:? "volumeId")+ <*> (o .:? "author")+ <*> (o .:? "title")+ <*> (o .:? "description"))++instance ToJSON OffersItemsItemItemsItem where+ toJSON OffersItemsItemItemsItem{..}+ = object+ (catMaybes+ [("canonicalVolumeLink" .=) <$>+ _oiiiiCanonicalVolumeLink,+ ("coverUrl" .=) <$> _oiiiiCoverURL,+ ("volumeId" .=) <$> _oiiiiVolumeId,+ ("author" .=) <$> _oiiiiAuthor,+ ("title" .=) <$> _oiiiiTitle,+ ("description" .=) <$> _oiiiiDescription])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource' smart constructor.+data DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource = DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ { _dddwisidieisURL :: !(Maybe Text)+ , _dddwisidieisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisidieisURL'+--+-- * 'dddwisidieisAttribution'+dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ :: DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource =+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ { _dddwisidieisURL = Nothing+ , _dddwisidieisAttribution = Nothing+ }++dddwisidieisURL :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource (Maybe Text)+dddwisidieisURL+ = lens _dddwisidieisURL+ (\ s a -> s{_dddwisidieisURL = a})++dddwisidieisAttribution :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource (Maybe Text)+dddwisidieisAttribution+ = lens _dddwisidieisAttribution+ (\ s a -> s{_dddwisidieisAttribution = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ <$> (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwisidieisURL,+ ("attribution" .=) <$> _dddwisidieisAttribution])++--+-- /See:/ 'geolayerDataCommon' smart constructor.+data GeolayerDataCommon = GeolayerDataCommon+ { _gdcSnippet :: !(Maybe Text)+ , _gdcSnippetURL :: !(Maybe Text)+ , _gdcLang :: !(Maybe Text)+ , _gdcTitle :: !(Maybe Text)+ , _gdcPreviewImageURL :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataCommon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcSnippet'+--+-- * 'gdcSnippetURL'+--+-- * 'gdcLang'+--+-- * 'gdcTitle'+--+-- * 'gdcPreviewImageURL'+geolayerDataCommon+ :: GeolayerDataCommon+geolayerDataCommon =+ GeolayerDataCommon+ { _gdcSnippet = Nothing+ , _gdcSnippetURL = Nothing+ , _gdcLang = Nothing+ , _gdcTitle = Nothing+ , _gdcPreviewImageURL = Nothing+ }++-- | The description for this location.+gdcSnippet :: Lens' GeolayerDataCommon (Maybe Text)+gdcSnippet+ = lens _gdcSnippet (\ s a -> s{_gdcSnippet = a})++-- | The URL for information for this location. Ex: wikipedia link.+gdcSnippetURL :: Lens' GeolayerDataCommon (Maybe Text)+gdcSnippetURL+ = lens _gdcSnippetURL+ (\ s a -> s{_gdcSnippetURL = a})++-- | The language of the information url and description.+gdcLang :: Lens' GeolayerDataCommon (Maybe Text)+gdcLang = lens _gdcLang (\ s a -> s{_gdcLang = a})++-- | The display title and localized canonical name to use when searching for+-- this entity on Google search.+gdcTitle :: Lens' GeolayerDataCommon (Maybe Text)+gdcTitle = lens _gdcTitle (\ s a -> s{_gdcTitle = a})++-- | The URL for the preview image information.+gdcPreviewImageURL :: Lens' GeolayerDataCommon (Maybe Text)+gdcPreviewImageURL+ = lens _gdcPreviewImageURL+ (\ s a -> s{_gdcPreviewImageURL = a})++instance FromJSON GeolayerDataCommon where+ parseJSON+ = withObject "GeolayerDataCommon"+ (\ o ->+ GeolayerDataCommon <$>+ (o .:? "snippet") <*> (o .:? "snippetUrl") <*>+ (o .:? "lang")+ <*> (o .:? "title")+ <*> (o .:? "previewImageUrl"))++instance ToJSON GeolayerDataCommon where+ toJSON GeolayerDataCommon{..}+ = object+ (catMaybes+ [("snippet" .=) <$> _gdcSnippet,+ ("snippetUrl" .=) <$> _gdcSnippetURL,+ ("lang" .=) <$> _gdcLang, ("title" .=) <$> _gdcTitle,+ ("previewImageUrl" .=) <$> _gdcPreviewImageURL])++--+-- /See:/ 'geolayerDataGeo' smart constructor.+data GeolayerDataGeo = GeolayerDataGeo+ { _gdgMapType :: !(Maybe Text)+ , _gdgCachePolicy :: !(Maybe Text)+ , _gdgViewport :: !(Maybe GeolayerDataGeoViewport)+ , _gdgBoundary :: !(Maybe [[GeolayerDataGeoBoundaryItemItem]])+ , _gdgLatitude :: !(Maybe (Textual Double))+ , _gdgZoom :: !(Maybe (Textual Int32))+ , _gdgCountryCode :: !(Maybe Text)+ , _gdgLongitude :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataGeo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgMapType'+--+-- * 'gdgCachePolicy'+--+-- * 'gdgViewport'+--+-- * 'gdgBoundary'+--+-- * 'gdgLatitude'+--+-- * 'gdgZoom'+--+-- * 'gdgCountryCode'+--+-- * 'gdgLongitude'+geolayerDataGeo+ :: GeolayerDataGeo+geolayerDataGeo =+ GeolayerDataGeo+ { _gdgMapType = Nothing+ , _gdgCachePolicy = Nothing+ , _gdgViewport = Nothing+ , _gdgBoundary = Nothing+ , _gdgLatitude = Nothing+ , _gdgZoom = Nothing+ , _gdgCountryCode = Nothing+ , _gdgLongitude = Nothing+ }++-- | The type of map that should be used for this location. EX: HYBRID,+-- ROADMAP, SATELLITE, TERRAIN+gdgMapType :: Lens' GeolayerDataGeo (Maybe Text)+gdgMapType+ = lens _gdgMapType (\ s a -> s{_gdgMapType = a})++-- | The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED,+-- NEVER+gdgCachePolicy :: Lens' GeolayerDataGeo (Maybe Text)+gdgCachePolicy+ = lens _gdgCachePolicy+ (\ s a -> s{_gdgCachePolicy = a})++-- | The viewport for showing this location. This is a latitude, longitude+-- rectangle.+gdgViewport :: Lens' GeolayerDataGeo (Maybe GeolayerDataGeoViewport)+gdgViewport+ = lens _gdgViewport (\ s a -> s{_gdgViewport = a})++-- | The boundary of the location as a set of loops containing pairs of+-- latitude, longitude coordinates.+gdgBoundary :: Lens' GeolayerDataGeo [[GeolayerDataGeoBoundaryItemItem]]+gdgBoundary+ = lens _gdgBoundary (\ s a -> s{_gdgBoundary = a}) .+ _Default+ . _Coerce++-- | The latitude of the location.+gdgLatitude :: Lens' GeolayerDataGeo (Maybe Double)+gdgLatitude+ = lens _gdgLatitude (\ s a -> s{_gdgLatitude = a}) .+ mapping _Coerce++-- | The Zoom level to use for the map. Zoom levels between 0 (the lowest+-- zoom level, in which the entire world can be seen on one map) to 21++-- (down to individual buildings). See:+-- https:\/\/developers.google.com\/maps\/documentation\/staticmaps\/#Zoomlevels+gdgZoom :: Lens' GeolayerDataGeo (Maybe Int32)+gdgZoom+ = lens _gdgZoom (\ s a -> s{_gdgZoom = a}) .+ mapping _Coerce++-- | The country code of the location.+gdgCountryCode :: Lens' GeolayerDataGeo (Maybe Text)+gdgCountryCode+ = lens _gdgCountryCode+ (\ s a -> s{_gdgCountryCode = a})++-- | The longitude of the location.+gdgLongitude :: Lens' GeolayerDataGeo (Maybe Double)+gdgLongitude+ = lens _gdgLongitude (\ s a -> s{_gdgLongitude = a})+ . mapping _Coerce++instance FromJSON GeolayerDataGeo where+ parseJSON+ = withObject "GeolayerDataGeo"+ (\ o ->+ GeolayerDataGeo <$>+ (o .:? "mapType") <*> (o .:? "cachePolicy") <*>+ (o .:? "viewport")+ <*> (o .:? "boundary" .!= mempty)+ <*> (o .:? "latitude")+ <*> (o .:? "zoom")+ <*> (o .:? "countryCode")+ <*> (o .:? "longitude"))++instance ToJSON GeolayerDataGeo where+ toJSON GeolayerDataGeo{..}+ = object+ (catMaybes+ [("mapType" .=) <$> _gdgMapType,+ ("cachePolicy" .=) <$> _gdgCachePolicy,+ ("viewport" .=) <$> _gdgViewport,+ ("boundary" .=) <$> _gdgBoundary,+ ("latitude" .=) <$> _gdgLatitude,+ ("zoom" .=) <$> _gdgZoom,+ ("countryCode" .=) <$> _gdgCountryCode,+ ("longitude" .=) <$> _gdgLongitude])++--+-- /See:/ 'dictlayerDataDictWordsItem' smart constructor.+data DictlayerDataDictWordsItem = DictlayerDataDictWordsItem+ { _dddwiSenses :: !(Maybe [DictlayerDataDictWordsItemSensesItem])+ , _dddwiSource :: !(Maybe DictlayerDataDictWordsItemSource)+ , _dddwiDerivatives :: !(Maybe [DictlayerDataDictWordsItemDerivativesItem])+ , _dddwiExamples :: !(Maybe [DictlayerDataDictWordsItemExamplesItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwiSenses'+--+-- * 'dddwiSource'+--+-- * 'dddwiDerivatives'+--+-- * 'dddwiExamples'+dictlayerDataDictWordsItem+ :: DictlayerDataDictWordsItem+dictlayerDataDictWordsItem =+ DictlayerDataDictWordsItem+ { _dddwiSenses = Nothing+ , _dddwiSource = Nothing+ , _dddwiDerivatives = Nothing+ , _dddwiExamples = Nothing+ }++dddwiSenses :: Lens' DictlayerDataDictWordsItem [DictlayerDataDictWordsItemSensesItem]+dddwiSenses+ = lens _dddwiSenses (\ s a -> s{_dddwiSenses = a}) .+ _Default+ . _Coerce++-- | The words with different meanings but not related words, e.g. \"go\"+-- (game) and \"go\" (verb).+dddwiSource :: Lens' DictlayerDataDictWordsItem (Maybe DictlayerDataDictWordsItemSource)+dddwiSource+ = lens _dddwiSource (\ s a -> s{_dddwiSource = a})++dddwiDerivatives :: Lens' DictlayerDataDictWordsItem [DictlayerDataDictWordsItemDerivativesItem]+dddwiDerivatives+ = lens _dddwiDerivatives+ (\ s a -> s{_dddwiDerivatives = a})+ . _Default+ . _Coerce++dddwiExamples :: Lens' DictlayerDataDictWordsItem [DictlayerDataDictWordsItemExamplesItem]+dddwiExamples+ = lens _dddwiExamples+ (\ s a -> s{_dddwiExamples = a})+ . _Default+ . _Coerce++instance FromJSON DictlayerDataDictWordsItem where+ parseJSON+ = withObject "DictlayerDataDictWordsItem"+ (\ o ->+ DictlayerDataDictWordsItem <$>+ (o .:? "senses" .!= mempty) <*> (o .:? "source") <*>+ (o .:? "derivatives" .!= mempty)+ <*> (o .:? "examples" .!= mempty))++instance ToJSON DictlayerDataDictWordsItem where+ toJSON DictlayerDataDictWordsItem{..}+ = object+ (catMaybes+ [("senses" .=) <$> _dddwiSenses,+ ("source" .=) <$> _dddwiSource,+ ("derivatives" .=) <$> _dddwiDerivatives,+ ("examples" .=) <$> _dddwiExamples])++--+-- /See:/ 'categoryItemsItem' smart constructor.+data CategoryItemsItem = CategoryItemsItem+ { _ciiName :: !(Maybe Text)+ , _ciiCategoryId :: !(Maybe Text)+ , _ciiBadgeURL :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CategoryItemsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciiName'+--+-- * 'ciiCategoryId'+--+-- * 'ciiBadgeURL'+categoryItemsItem+ :: CategoryItemsItem+categoryItemsItem =+ CategoryItemsItem+ { _ciiName = Nothing+ , _ciiCategoryId = Nothing+ , _ciiBadgeURL = Nothing+ }++ciiName :: Lens' CategoryItemsItem (Maybe Text)+ciiName = lens _ciiName (\ s a -> s{_ciiName = a})++ciiCategoryId :: Lens' CategoryItemsItem (Maybe Text)+ciiCategoryId+ = lens _ciiCategoryId+ (\ s a -> s{_ciiCategoryId = a})++ciiBadgeURL :: Lens' CategoryItemsItem (Maybe Text)+ciiBadgeURL+ = lens _ciiBadgeURL (\ s a -> s{_ciiBadgeURL = a})++instance FromJSON CategoryItemsItem where+ parseJSON+ = withObject "CategoryItemsItem"+ (\ o ->+ CategoryItemsItem <$>+ (o .:? "name") <*> (o .:? "categoryId") <*>+ (o .:? "badgeUrl"))++instance ToJSON CategoryItemsItem where+ toJSON CategoryItemsItem{..}+ = object+ (catMaybes+ [("name" .=) <$> _ciiName,+ ("categoryId" .=) <$> _ciiCategoryId,+ ("badgeUrl" .=) <$> _ciiBadgeURL])++--+-- /See:/ 'dictlayerDataDictWordsItemDerivativesItemSource' smart constructor.+data DictlayerDataDictWordsItemDerivativesItemSource = DictlayerDataDictWordsItemDerivativesItemSource+ { _dddwidisURL :: !(Maybe Text)+ , _dddwidisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemDerivativesItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwidisURL'+--+-- * 'dddwidisAttribution'+dictlayerDataDictWordsItemDerivativesItemSource+ :: DictlayerDataDictWordsItemDerivativesItemSource+dictlayerDataDictWordsItemDerivativesItemSource =+ DictlayerDataDictWordsItemDerivativesItemSource+ { _dddwidisURL = Nothing+ , _dddwidisAttribution = Nothing+ }++dddwidisURL :: Lens' DictlayerDataDictWordsItemDerivativesItemSource (Maybe Text)+dddwidisURL+ = lens _dddwidisURL (\ s a -> s{_dddwidisURL = a})++dddwidisAttribution :: Lens' DictlayerDataDictWordsItemDerivativesItemSource (Maybe Text)+dddwidisAttribution+ = lens _dddwidisAttribution+ (\ s a -> s{_dddwidisAttribution = a})++instance FromJSON+ DictlayerDataDictWordsItemDerivativesItemSource where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemDerivativesItemSource"+ (\ o ->+ DictlayerDataDictWordsItemDerivativesItemSource <$>+ (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON+ DictlayerDataDictWordsItemDerivativesItemSource where+ toJSON+ DictlayerDataDictWordsItemDerivativesItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwidisURL,+ ("attribution" .=) <$> _dddwidisAttribution])++--+-- /See:/ 'geolayerData' smart constructor.+data GeolayerData = GeolayerData+ { _gdKind :: !Text+ , _gdGeo :: !(Maybe GeolayerDataGeo)+ , _gdCommon :: !(Maybe GeolayerDataCommon)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdKind'+--+-- * 'gdGeo'+--+-- * 'gdCommon'+geolayerData+ :: GeolayerData+geolayerData =+ GeolayerData+ { _gdKind = "books#geolayerdata"+ , _gdGeo = Nothing+ , _gdCommon = Nothing+ }++gdKind :: Lens' GeolayerData Text+gdKind = lens _gdKind (\ s a -> s{_gdKind = a})++gdGeo :: Lens' GeolayerData (Maybe GeolayerDataGeo)+gdGeo = lens _gdGeo (\ s a -> s{_gdGeo = a})++gdCommon :: Lens' GeolayerData (Maybe GeolayerDataCommon)+gdCommon = lens _gdCommon (\ s a -> s{_gdCommon = a})++instance FromJSON GeolayerData where+ parseJSON+ = withObject "GeolayerData"+ (\ o ->+ GeolayerData <$>+ (o .:? "kind" .!= "books#geolayerdata") <*>+ (o .:? "geo")+ <*> (o .:? "common"))++instance ToJSON GeolayerData where+ toJSON GeolayerData{..}+ = object+ (catMaybes+ [Just ("kind" .= _gdKind), ("geo" .=) <$> _gdGeo,+ ("common" .=) <$> _gdCommon])++-- | The words with different meanings but not related words, e.g. \"go\"+-- (game) and \"go\" (verb).+--+-- /See:/ 'dictlayerDataDictWordsItemSource' smart constructor.+data DictlayerDataDictWordsItemSource = DictlayerDataDictWordsItemSource+ { _dddwisURL :: !(Maybe Text)+ , _dddwisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisURL'+--+-- * 'dddwisAttribution'+dictlayerDataDictWordsItemSource+ :: DictlayerDataDictWordsItemSource+dictlayerDataDictWordsItemSource =+ DictlayerDataDictWordsItemSource+ { _dddwisURL = Nothing+ , _dddwisAttribution = Nothing+ }++dddwisURL :: Lens' DictlayerDataDictWordsItemSource (Maybe Text)+dddwisURL+ = lens _dddwisURL (\ s a -> s{_dddwisURL = a})++dddwisAttribution :: Lens' DictlayerDataDictWordsItemSource (Maybe Text)+dddwisAttribution+ = lens _dddwisAttribution+ (\ s a -> s{_dddwisAttribution = a})++instance FromJSON DictlayerDataDictWordsItemSource+ where+ parseJSON+ = withObject "DictlayerDataDictWordsItemSource"+ (\ o ->+ DictlayerDataDictWordsItemSource <$>+ (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON DictlayerDataDictWordsItemSource+ where+ toJSON DictlayerDataDictWordsItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwisURL,+ ("attribution" .=) <$> _dddwisAttribution])++--+-- /See:/ 'dictlayerDataDictWordsItemDerivativesItem' smart constructor.+data DictlayerDataDictWordsItemDerivativesItem = DictlayerDataDictWordsItemDerivativesItem+ { _dddwidiText :: !(Maybe Text)+ , _dddwidiSource :: !(Maybe DictlayerDataDictWordsItemDerivativesItemSource)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemDerivativesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwidiText'+--+-- * 'dddwidiSource'+dictlayerDataDictWordsItemDerivativesItem+ :: DictlayerDataDictWordsItemDerivativesItem+dictlayerDataDictWordsItemDerivativesItem =+ DictlayerDataDictWordsItemDerivativesItem+ { _dddwidiText = Nothing+ , _dddwidiSource = Nothing+ }++dddwidiText :: Lens' DictlayerDataDictWordsItemDerivativesItem (Maybe Text)+dddwidiText+ = lens _dddwidiText (\ s a -> s{_dddwidiText = a})++dddwidiSource :: Lens' DictlayerDataDictWordsItemDerivativesItem (Maybe DictlayerDataDictWordsItemDerivativesItemSource)+dddwidiSource+ = lens _dddwidiSource+ (\ s a -> s{_dddwidiSource = a})++instance FromJSON+ DictlayerDataDictWordsItemDerivativesItem where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemDerivativesItem"+ (\ o ->+ DictlayerDataDictWordsItemDerivativesItem <$>+ (o .:? "text") <*> (o .:? "source"))++instance ToJSON+ DictlayerDataDictWordsItemDerivativesItem where+ toJSON DictlayerDataDictWordsItemDerivativesItem{..}+ = object+ (catMaybes+ [("text" .=) <$> _dddwidiText,+ ("source" .=) <$> _dddwidiSource])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem' smart constructor.+data DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem = DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ { _dddwisidieiText :: !(Maybe Text)+ , _dddwisidieiSource :: !(Maybe DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisidieiText'+--+-- * 'dddwisidieiSource'+dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ :: DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+dictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem =+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ { _dddwisidieiText = Nothing+ , _dddwisidieiSource = Nothing+ }++dddwisidieiText :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem (Maybe Text)+dddwisidieiText+ = lens _dddwisidieiText+ (\ s a -> s{_dddwisidieiText = a})++dddwisidieiSource :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem (Maybe DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItemSource)+dddwisidieiSource+ = lens _dddwisidieiSource+ (\ s a -> s{_dddwisidieiSource = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ <$> (o .:? "text") <*> (o .:? "source"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem{..}+ = object+ (catMaybes+ [("text" .=) <$> _dddwisidieiText,+ ("source" .=) <$> _dddwisidieiSource])++--+-- /See:/ 'dictlayerData' smart constructor.+data DictlayerData = DictlayerData+ { _ddKind :: !Text+ , _ddDict :: !(Maybe DictlayerDataDict)+ , _ddCommon :: !(Maybe DictlayerDataCommon)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddKind'+--+-- * 'ddDict'+--+-- * 'ddCommon'+dictlayerData+ :: DictlayerData+dictlayerData =+ DictlayerData+ { _ddKind = "books#dictlayerdata"+ , _ddDict = Nothing+ , _ddCommon = Nothing+ }++ddKind :: Lens' DictlayerData Text+ddKind = lens _ddKind (\ s a -> s{_ddKind = a})++ddDict :: Lens' DictlayerData (Maybe DictlayerDataDict)+ddDict = lens _ddDict (\ s a -> s{_ddDict = a})++ddCommon :: Lens' DictlayerData (Maybe DictlayerDataCommon)+ddCommon = lens _ddCommon (\ s a -> s{_ddCommon = a})++instance FromJSON DictlayerData where+ parseJSON+ = withObject "DictlayerData"+ (\ o ->+ DictlayerData <$>+ (o .:? "kind" .!= "books#dictlayerdata") <*>+ (o .:? "dict")+ <*> (o .:? "common"))++instance ToJSON DictlayerData where+ toJSON DictlayerData{..}+ = object+ (catMaybes+ [Just ("kind" .= _ddKind), ("dict" .=) <$> _ddDict,+ ("common" .=) <$> _ddCommon])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemSynonymsItemSource' smart constructor.+data DictlayerDataDictWordsItemSensesItemSynonymsItemSource = DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ { _dddwisisisURL :: !(Maybe Text)+ , _dddwisisisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemSynonymsItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisisisURL'+--+-- * 'dddwisisisAttribution'+dictlayerDataDictWordsItemSensesItemSynonymsItemSource+ :: DictlayerDataDictWordsItemSensesItemSynonymsItemSource+dictlayerDataDictWordsItemSensesItemSynonymsItemSource =+ DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ { _dddwisisisURL = Nothing+ , _dddwisisisAttribution = Nothing+ }++dddwisisisURL :: Lens' DictlayerDataDictWordsItemSensesItemSynonymsItemSource (Maybe Text)+dddwisisisURL+ = lens _dddwisisisURL+ (\ s a -> s{_dddwisisisURL = a})++dddwisisisAttribution :: Lens' DictlayerDataDictWordsItemSensesItemSynonymsItemSource (Maybe Text)+dddwisisisAttribution+ = lens _dddwisisisAttribution+ (\ s a -> s{_dddwisisisAttribution = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemSynonymsItemSource"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ <$> (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItemSource+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwisisisURL,+ ("attribution" .=) <$> _dddwisisisAttribution])++--+-- /See:/ 'userSettingsNotification' smart constructor.+newtype UserSettingsNotification = UserSettingsNotification+ { _usnMoreFromAuthors :: Maybe UserSettingsNotificationMoreFromAuthors+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserSettingsNotification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usnMoreFromAuthors'+userSettingsNotification+ :: UserSettingsNotification+userSettingsNotification =+ UserSettingsNotification+ { _usnMoreFromAuthors = Nothing+ }++usnMoreFromAuthors :: Lens' UserSettingsNotification (Maybe UserSettingsNotificationMoreFromAuthors)+usnMoreFromAuthors+ = lens _usnMoreFromAuthors+ (\ s a -> s{_usnMoreFromAuthors = a})++instance FromJSON UserSettingsNotification where+ parseJSON+ = withObject "UserSettingsNotification"+ (\ o ->+ UserSettingsNotification <$>+ (o .:? "moreFromAuthors"))++instance ToJSON UserSettingsNotification where+ toJSON UserSettingsNotification{..}+ = object+ (catMaybes+ [("moreFromAuthors" .=) <$> _usnMoreFromAuthors])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemSynonymsItem' smart constructor.+data DictlayerDataDictWordsItemSensesItemSynonymsItem = DictlayerDataDictWordsItemSensesItemSynonymsItem+ { _dddwisisiText :: !(Maybe Text)+ , _dddwisisiSource :: !(Maybe DictlayerDataDictWordsItemSensesItemSynonymsItemSource)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemSynonymsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisisiText'+--+-- * 'dddwisisiSource'+dictlayerDataDictWordsItemSensesItemSynonymsItem+ :: DictlayerDataDictWordsItemSensesItemSynonymsItem+dictlayerDataDictWordsItemSensesItemSynonymsItem =+ DictlayerDataDictWordsItemSensesItemSynonymsItem+ { _dddwisisiText = Nothing+ , _dddwisisiSource = Nothing+ }++dddwisisiText :: Lens' DictlayerDataDictWordsItemSensesItemSynonymsItem (Maybe Text)+dddwisisiText+ = lens _dddwisisiText+ (\ s a -> s{_dddwisisiText = a})++dddwisisiSource :: Lens' DictlayerDataDictWordsItemSensesItemSynonymsItem (Maybe DictlayerDataDictWordsItemSensesItemSynonymsItemSource)+dddwisisiSource+ = lens _dddwisisiSource+ (\ s a -> s{_dddwisisiSource = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItem+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemSynonymsItem"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemSynonymsItem <$>+ (o .:? "text") <*> (o .:? "source"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItem+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemSynonymsItem{..}+ = object+ (catMaybes+ [("text" .=) <$> _dddwisisiText,+ ("source" .=) <$> _dddwisisiSource])++--+-- /See:/ 'geolayerDataGeoViewportLo' smart constructor.+data GeolayerDataGeoViewportLo = GeolayerDataGeoViewportLo+ { _gdgvlLatitude :: !(Maybe (Textual Double))+ , _gdgvlLongitude :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataGeoViewportLo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgvlLatitude'+--+-- * 'gdgvlLongitude'+geolayerDataGeoViewportLo+ :: GeolayerDataGeoViewportLo+geolayerDataGeoViewportLo =+ GeolayerDataGeoViewportLo+ { _gdgvlLatitude = Nothing+ , _gdgvlLongitude = Nothing+ }++gdgvlLatitude :: Lens' GeolayerDataGeoViewportLo (Maybe Double)+gdgvlLatitude+ = lens _gdgvlLatitude+ (\ s a -> s{_gdgvlLatitude = a})+ . mapping _Coerce++gdgvlLongitude :: Lens' GeolayerDataGeoViewportLo (Maybe Double)+gdgvlLongitude+ = lens _gdgvlLongitude+ (\ s a -> s{_gdgvlLongitude = a})+ . mapping _Coerce++instance FromJSON GeolayerDataGeoViewportLo where+ parseJSON+ = withObject "GeolayerDataGeoViewportLo"+ (\ o ->+ GeolayerDataGeoViewportLo <$>+ (o .:? "latitude") <*> (o .:? "longitude"))++instance ToJSON GeolayerDataGeoViewportLo where+ toJSON GeolayerDataGeoViewportLo{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _gdgvlLatitude,+ ("longitude" .=) <$> _gdgvlLongitude])++-- | Offer list (=undiscounted) price in Micros.+--+-- /See:/ 'volumeSaleInfoOffersItemListPrice' smart constructor.+data VolumeSaleInfoOffersItemListPrice = VolumeSaleInfoOffersItemListPrice+ { _vsioilpCurrencyCode :: !(Maybe Text)+ , _vsioilpAmountInMicros :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoOffersItemListPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsioilpCurrencyCode'+--+-- * 'vsioilpAmountInMicros'+volumeSaleInfoOffersItemListPrice+ :: VolumeSaleInfoOffersItemListPrice+volumeSaleInfoOffersItemListPrice =+ VolumeSaleInfoOffersItemListPrice+ { _vsioilpCurrencyCode = Nothing+ , _vsioilpAmountInMicros = Nothing+ }++vsioilpCurrencyCode :: Lens' VolumeSaleInfoOffersItemListPrice (Maybe Text)+vsioilpCurrencyCode+ = lens _vsioilpCurrencyCode+ (\ s a -> s{_vsioilpCurrencyCode = a})++vsioilpAmountInMicros :: Lens' VolumeSaleInfoOffersItemListPrice (Maybe Double)+vsioilpAmountInMicros+ = lens _vsioilpAmountInMicros+ (\ s a -> s{_vsioilpAmountInMicros = a})+ . mapping _Coerce++instance FromJSON VolumeSaleInfoOffersItemListPrice+ where+ parseJSON+ = withObject "VolumeSaleInfoOffersItemListPrice"+ (\ o ->+ VolumeSaleInfoOffersItemListPrice <$>+ (o .:? "currencyCode") <*> (o .:? "amountInMicros"))++instance ToJSON VolumeSaleInfoOffersItemListPrice+ where+ toJSON VolumeSaleInfoOffersItemListPrice{..}+ = object+ (catMaybes+ [("currencyCode" .=) <$> _vsioilpCurrencyCode,+ ("amountInMicros" .=) <$> _vsioilpAmountInMicros])++--+-- /See:/ 'downloadAccessRestriction' smart constructor.+data DownloadAccessRestriction = DownloadAccessRestriction+ { _darJustAcquired :: !(Maybe Bool)+ , _darSignature :: !(Maybe Text)+ , _darKind :: !Text+ , _darMaxDownloadDevices :: !(Maybe (Textual Int32))+ , _darDownloadsAcquired :: !(Maybe (Textual Int32))+ , _darReasonCode :: !(Maybe Text)+ , _darVolumeId :: !(Maybe Text)+ , _darRestricted :: !(Maybe Bool)+ , _darSource :: !(Maybe Text)+ , _darDeviceAllowed :: !(Maybe Bool)+ , _darMessage :: !(Maybe Text)+ , _darNonce :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadAccessRestriction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'darJustAcquired'+--+-- * 'darSignature'+--+-- * 'darKind'+--+-- * 'darMaxDownloadDevices'+--+-- * 'darDownloadsAcquired'+--+-- * 'darReasonCode'+--+-- * 'darVolumeId'+--+-- * 'darRestricted'+--+-- * 'darSource'+--+-- * 'darDeviceAllowed'+--+-- * 'darMessage'+--+-- * 'darNonce'+downloadAccessRestriction+ :: DownloadAccessRestriction+downloadAccessRestriction =+ DownloadAccessRestriction+ { _darJustAcquired = Nothing+ , _darSignature = Nothing+ , _darKind = "books#downloadAccessRestriction"+ , _darMaxDownloadDevices = Nothing+ , _darDownloadsAcquired = Nothing+ , _darReasonCode = Nothing+ , _darVolumeId = Nothing+ , _darRestricted = Nothing+ , _darSource = Nothing+ , _darDeviceAllowed = Nothing+ , _darMessage = Nothing+ , _darNonce = Nothing+ }++-- | If deviceAllowed, whether access was just acquired with this request.+darJustAcquired :: Lens' DownloadAccessRestriction (Maybe Bool)+darJustAcquired+ = lens _darJustAcquired+ (\ s a -> s{_darJustAcquired = a})++-- | Response signature.+darSignature :: Lens' DownloadAccessRestriction (Maybe Text)+darSignature+ = lens _darSignature (\ s a -> s{_darSignature = a})++-- | Resource type.+darKind :: Lens' DownloadAccessRestriction Text+darKind = lens _darKind (\ s a -> s{_darKind = a})++-- | If restricted, the maximum number of content download licenses for this+-- volume.+darMaxDownloadDevices :: Lens' DownloadAccessRestriction (Maybe Int32)+darMaxDownloadDevices+ = lens _darMaxDownloadDevices+ (\ s a -> s{_darMaxDownloadDevices = a})+ . mapping _Coerce++-- | If restricted, the number of content download licenses already acquired+-- (including the requesting client, if licensed).+darDownloadsAcquired :: Lens' DownloadAccessRestriction (Maybe Int32)+darDownloadsAcquired+ = lens _darDownloadsAcquired+ (\ s a -> s{_darDownloadsAcquired = a})+ . mapping _Coerce++-- | Error\/warning reason code. Additional codes may be added in the future.+-- 0 OK 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200+-- WARNING_USED_LAST_ACCESS+darReasonCode :: Lens' DownloadAccessRestriction (Maybe Text)+darReasonCode+ = lens _darReasonCode+ (\ s a -> s{_darReasonCode = a})++-- | Identifies the volume for which this entry applies.+darVolumeId :: Lens' DownloadAccessRestriction (Maybe Text)+darVolumeId+ = lens _darVolumeId (\ s a -> s{_darVolumeId = a})++-- | Whether this volume has any download access restrictions.+darRestricted :: Lens' DownloadAccessRestriction (Maybe Bool)+darRestricted+ = lens _darRestricted+ (\ s a -> s{_darRestricted = a})++-- | Client app identifier for verification. Download access and+-- client-validation only.+darSource :: Lens' DownloadAccessRestriction (Maybe Text)+darSource+ = lens _darSource (\ s a -> s{_darSource = a})++-- | If restricted, whether access is granted for this (user, device,+-- volume).+darDeviceAllowed :: Lens' DownloadAccessRestriction (Maybe Bool)+darDeviceAllowed+ = lens _darDeviceAllowed+ (\ s a -> s{_darDeviceAllowed = a})++-- | Error\/warning message.+darMessage :: Lens' DownloadAccessRestriction (Maybe Text)+darMessage+ = lens _darMessage (\ s a -> s{_darMessage = a})++-- | Client nonce for verification. Download access and client-validation+-- only.+darNonce :: Lens' DownloadAccessRestriction (Maybe Text)+darNonce = lens _darNonce (\ s a -> s{_darNonce = a})++instance FromJSON DownloadAccessRestriction where+ parseJSON+ = withObject "DownloadAccessRestriction"+ (\ o ->+ DownloadAccessRestriction <$>+ (o .:? "justAcquired") <*> (o .:? "signature") <*>+ (o .:? "kind" .!= "books#downloadAccessRestriction")+ <*> (o .:? "maxDownloadDevices")+ <*> (o .:? "downloadsAcquired")+ <*> (o .:? "reasonCode")+ <*> (o .:? "volumeId")+ <*> (o .:? "restricted")+ <*> (o .:? "source")+ <*> (o .:? "deviceAllowed")+ <*> (o .:? "message")+ <*> (o .:? "nonce"))++instance ToJSON DownloadAccessRestriction where+ toJSON DownloadAccessRestriction{..}+ = object+ (catMaybes+ [("justAcquired" .=) <$> _darJustAcquired,+ ("signature" .=) <$> _darSignature,+ Just ("kind" .= _darKind),+ ("maxDownloadDevices" .=) <$> _darMaxDownloadDevices,+ ("downloadsAcquired" .=) <$> _darDownloadsAcquired,+ ("reasonCode" .=) <$> _darReasonCode,+ ("volumeId" .=) <$> _darVolumeId,+ ("restricted" .=) <$> _darRestricted,+ ("source" .=) <$> _darSource,+ ("deviceAllowed" .=) <$> _darDeviceAllowed,+ ("message" .=) <$> _darMessage,+ ("nonce" .=) <$> _darNonce])++--+-- /See:/ 'dictlayerDataCommon' smart constructor.+newtype DictlayerDataCommon = DictlayerDataCommon+ { _ddcTitle :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataCommon' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddcTitle'+dictlayerDataCommon+ :: DictlayerDataCommon+dictlayerDataCommon =+ DictlayerDataCommon+ { _ddcTitle = Nothing+ }++-- | The display title and localized canonical name to use when searching for+-- this entity on Google search.+ddcTitle :: Lens' DictlayerDataCommon (Maybe Text)+ddcTitle = lens _ddcTitle (\ s a -> s{_ddcTitle = a})++instance FromJSON DictlayerDataCommon where+ parseJSON+ = withObject "DictlayerDataCommon"+ (\ o -> DictlayerDataCommon <$> (o .:? "title"))++instance ToJSON DictlayerDataCommon where+ toJSON DictlayerDataCommon{..}+ = object (catMaybes [("title" .=) <$> _ddcTitle])++--+-- /See:/ 'discoveryclustersClustersItem' smart constructor.+data DiscoveryclustersClustersItem = DiscoveryclustersClustersItem+ { _dciBannerWithContentContainer :: !(Maybe DiscoveryclustersClustersItemBanner_with_content_container)+ , _dciUid :: !(Maybe Text)+ , _dciTotalVolumes :: !(Maybe (Textual Int32))+ , _dciSubTitle :: !(Maybe Text)+ , _dciTitle :: !(Maybe Text)+ , _dciVolumes :: !(Maybe [Volume])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiscoveryclustersClustersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dciBannerWithContentContainer'+--+-- * 'dciUid'+--+-- * 'dciTotalVolumes'+--+-- * 'dciSubTitle'+--+-- * 'dciTitle'+--+-- * 'dciVolumes'+discoveryclustersClustersItem+ :: DiscoveryclustersClustersItem+discoveryclustersClustersItem =+ DiscoveryclustersClustersItem+ { _dciBannerWithContentContainer = Nothing+ , _dciUid = Nothing+ , _dciTotalVolumes = Nothing+ , _dciSubTitle = Nothing+ , _dciTitle = Nothing+ , _dciVolumes = Nothing+ }++dciBannerWithContentContainer :: Lens' DiscoveryclustersClustersItem (Maybe DiscoveryclustersClustersItemBanner_with_content_container)+dciBannerWithContentContainer+ = lens _dciBannerWithContentContainer+ (\ s a -> s{_dciBannerWithContentContainer = a})++dciUid :: Lens' DiscoveryclustersClustersItem (Maybe Text)+dciUid = lens _dciUid (\ s a -> s{_dciUid = a})++dciTotalVolumes :: Lens' DiscoveryclustersClustersItem (Maybe Int32)+dciTotalVolumes+ = lens _dciTotalVolumes+ (\ s a -> s{_dciTotalVolumes = a})+ . mapping _Coerce++dciSubTitle :: Lens' DiscoveryclustersClustersItem (Maybe Text)+dciSubTitle+ = lens _dciSubTitle (\ s a -> s{_dciSubTitle = a})++dciTitle :: Lens' DiscoveryclustersClustersItem (Maybe Text)+dciTitle = lens _dciTitle (\ s a -> s{_dciTitle = a})++dciVolumes :: Lens' DiscoveryclustersClustersItem [Volume]+dciVolumes+ = lens _dciVolumes (\ s a -> s{_dciVolumes = a}) .+ _Default+ . _Coerce++instance FromJSON DiscoveryclustersClustersItem where+ parseJSON+ = withObject "DiscoveryclustersClustersItem"+ (\ o ->+ DiscoveryclustersClustersItem <$>+ (o .:? "banner_with_content_container") <*>+ (o .:? "uid")+ <*> (o .:? "totalVolumes")+ <*> (o .:? "subTitle")+ <*> (o .:? "title")+ <*> (o .:? "volumes" .!= mempty))++instance ToJSON DiscoveryclustersClustersItem where+ toJSON DiscoveryclustersClustersItem{..}+ = object+ (catMaybes+ [("banner_with_content_container" .=) <$>+ _dciBannerWithContentContainer,+ ("uid" .=) <$> _dciUid,+ ("totalVolumes" .=) <$> _dciTotalVolumes,+ ("subTitle" .=) <$> _dciSubTitle,+ ("title" .=) <$> _dciTitle,+ ("volumes" .=) <$> _dciVolumes])++-- | The actual selling price of the book. This is the same as the suggested+-- retail or list price unless there are offers or discounts on this+-- volume. (In LITE projection.)+--+-- /See:/ 'volumeSaleInfoRetailPrice' smart constructor.+data VolumeSaleInfoRetailPrice = VolumeSaleInfoRetailPrice+ { _vsirpAmount :: !(Maybe (Textual Double))+ , _vsirpCurrencyCode :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoRetailPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsirpAmount'+--+-- * 'vsirpCurrencyCode'+volumeSaleInfoRetailPrice+ :: VolumeSaleInfoRetailPrice+volumeSaleInfoRetailPrice =+ VolumeSaleInfoRetailPrice+ { _vsirpAmount = Nothing+ , _vsirpCurrencyCode = Nothing+ }++-- | Amount in the currency listed below. (In LITE projection.)+vsirpAmount :: Lens' VolumeSaleInfoRetailPrice (Maybe Double)+vsirpAmount+ = lens _vsirpAmount (\ s a -> s{_vsirpAmount = a}) .+ mapping _Coerce++-- | An ISO 4217, three-letter currency code. (In LITE projection.)+vsirpCurrencyCode :: Lens' VolumeSaleInfoRetailPrice (Maybe Text)+vsirpCurrencyCode+ = lens _vsirpCurrencyCode+ (\ s a -> s{_vsirpCurrencyCode = a})++instance FromJSON VolumeSaleInfoRetailPrice where+ parseJSON+ = withObject "VolumeSaleInfoRetailPrice"+ (\ o ->+ VolumeSaleInfoRetailPrice <$>+ (o .:? "amount") <*> (o .:? "currencyCode"))++instance ToJSON VolumeSaleInfoRetailPrice where+ toJSON VolumeSaleInfoRetailPrice{..}+ = object+ (catMaybes+ [("amount" .=) <$> _vsirpAmount,+ ("currencyCode" .=) <$> _vsirpCurrencyCode])++-- | Suggested retail price. (In LITE projection.)+--+-- /See:/ 'volumeSaleInfoListPrice' smart constructor.+data VolumeSaleInfoListPrice = VolumeSaleInfoListPrice+ { _vsilpAmount :: !(Maybe (Textual Double))+ , _vsilpCurrencyCode :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoListPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsilpAmount'+--+-- * 'vsilpCurrencyCode'+volumeSaleInfoListPrice+ :: VolumeSaleInfoListPrice+volumeSaleInfoListPrice =+ VolumeSaleInfoListPrice+ { _vsilpAmount = Nothing+ , _vsilpCurrencyCode = Nothing+ }++-- | Amount in the currency listed below. (In LITE projection.)+vsilpAmount :: Lens' VolumeSaleInfoListPrice (Maybe Double)+vsilpAmount+ = lens _vsilpAmount (\ s a -> s{_vsilpAmount = a}) .+ mapping _Coerce++-- | An ISO 4217, three-letter currency code. (In LITE projection.)+vsilpCurrencyCode :: Lens' VolumeSaleInfoListPrice (Maybe Text)+vsilpCurrencyCode+ = lens _vsilpCurrencyCode+ (\ s a -> s{_vsilpCurrencyCode = a})++instance FromJSON VolumeSaleInfoListPrice where+ parseJSON+ = withObject "VolumeSaleInfoListPrice"+ (\ o ->+ VolumeSaleInfoListPrice <$>+ (o .:? "amount") <*> (o .:? "currencyCode"))++instance ToJSON VolumeSaleInfoListPrice where+ toJSON VolumeSaleInfoListPrice{..}+ = object+ (catMaybes+ [("amount" .=) <$> _vsilpAmount,+ ("currencyCode" .=) <$> _vsilpCurrencyCode])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemConjugationsItem' smart constructor.+data DictlayerDataDictWordsItemSensesItemConjugationsItem = DictlayerDataDictWordsItemSensesItemConjugationsItem+ { _dddwisiciValue :: !(Maybe Text)+ , _dddwisiciType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemConjugationsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisiciValue'+--+-- * 'dddwisiciType'+dictlayerDataDictWordsItemSensesItemConjugationsItem+ :: DictlayerDataDictWordsItemSensesItemConjugationsItem+dictlayerDataDictWordsItemSensesItemConjugationsItem =+ DictlayerDataDictWordsItemSensesItemConjugationsItem+ { _dddwisiciValue = Nothing+ , _dddwisiciType = Nothing+ }++dddwisiciValue :: Lens' DictlayerDataDictWordsItemSensesItemConjugationsItem (Maybe Text)+dddwisiciValue+ = lens _dddwisiciValue+ (\ s a -> s{_dddwisiciValue = a})++dddwisiciType :: Lens' DictlayerDataDictWordsItemSensesItemConjugationsItem (Maybe Text)+dddwisiciType+ = lens _dddwisiciType+ (\ s a -> s{_dddwisiciType = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemConjugationsItem+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemConjugationsItem"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemConjugationsItem+ <$> (o .:? "value") <*> (o .:? "type"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemConjugationsItem+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemConjugationsItem{..}+ = object+ (catMaybes+ [("value" .=) <$> _dddwisiciValue,+ ("type" .=) <$> _dddwisiciType])++--+-- /See:/ 'volume2' smart constructor.+data Volume2 = Volume2+ { _voloNextPageToken :: !(Maybe Text)+ , _voloKind :: !Text+ , _voloItems :: !(Maybe [Volume])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volume2' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'voloNextPageToken'+--+-- * 'voloKind'+--+-- * 'voloItems'+volume2+ :: Volume2+volume2 =+ Volume2+ { _voloNextPageToken = Nothing+ , _voloKind = "onboarding#volume"+ , _voloItems = Nothing+ }++voloNextPageToken :: Lens' Volume2 (Maybe Text)+voloNextPageToken+ = lens _voloNextPageToken+ (\ s a -> s{_voloNextPageToken = a})++-- | Resource type.+voloKind :: Lens' Volume2 Text+voloKind = lens _voloKind (\ s a -> s{_voloKind = a})++-- | A list of volumes.+voloItems :: Lens' Volume2 [Volume]+voloItems+ = lens _voloItems (\ s a -> s{_voloItems = a}) .+ _Default+ . _Coerce++instance FromJSON Volume2 where+ parseJSON+ = withObject "Volume2"+ (\ o ->+ Volume2 <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "onboarding#volume")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Volume2 where+ toJSON Volume2{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _voloNextPageToken,+ Just ("kind" .= _voloKind),+ ("items" .=) <$> _voloItems])++--+-- /See:/ 'review' smart constructor.+data Review = Review+ { _rRating :: !(Maybe Text)+ , _rKind :: !Text+ , _rContent :: !(Maybe Text)+ , _rDate :: !(Maybe Text)+ , _rVolumeId :: !(Maybe Text)+ , _rAuthor :: !(Maybe ReviewAuthor)+ , _rSource :: !(Maybe ReviewSource)+ , _rFullTextURL :: !(Maybe Text)+ , _rTitle :: !(Maybe Text)+ , _rType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Review' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rRating'+--+-- * 'rKind'+--+-- * 'rContent'+--+-- * 'rDate'+--+-- * 'rVolumeId'+--+-- * 'rAuthor'+--+-- * 'rSource'+--+-- * 'rFullTextURL'+--+-- * 'rTitle'+--+-- * 'rType'+review+ :: Review+review =+ Review+ { _rRating = Nothing+ , _rKind = "books#review"+ , _rContent = Nothing+ , _rDate = Nothing+ , _rVolumeId = Nothing+ , _rAuthor = Nothing+ , _rSource = Nothing+ , _rFullTextURL = Nothing+ , _rTitle = Nothing+ , _rType = Nothing+ }++-- | Star rating for this review. Possible values are ONE, TWO, THREE, FOUR,+-- FIVE or NOT_RATED.+rRating :: Lens' Review (Maybe Text)+rRating = lens _rRating (\ s a -> s{_rRating = a})++-- | Resource type for a review.+rKind :: Lens' Review Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++-- | Review text.+rContent :: Lens' Review (Maybe Text)+rContent = lens _rContent (\ s a -> s{_rContent = a})++-- | Date of this review.+rDate :: Lens' Review (Maybe Text)+rDate = lens _rDate (\ s a -> s{_rDate = a})++-- | Volume that this review is for.+rVolumeId :: Lens' Review (Maybe Text)+rVolumeId+ = lens _rVolumeId (\ s a -> s{_rVolumeId = a})++-- | Author of this review.+rAuthor :: Lens' Review (Maybe ReviewAuthor)+rAuthor = lens _rAuthor (\ s a -> s{_rAuthor = a})++-- | Information regarding the source of this review, when the review is not+-- from a Google Books user.+rSource :: Lens' Review (Maybe ReviewSource)+rSource = lens _rSource (\ s a -> s{_rSource = a})++-- | URL for the full review text, for reviews gathered from the web.+rFullTextURL :: Lens' Review (Maybe Text)+rFullTextURL+ = lens _rFullTextURL (\ s a -> s{_rFullTextURL = a})++-- | Title for this review.+rTitle :: Lens' Review (Maybe Text)+rTitle = lens _rTitle (\ s a -> s{_rTitle = a})++-- | Source type for this review. Possible values are EDITORIAL, WEB_USER or+-- GOOGLE_USER.+rType :: Lens' Review (Maybe Text)+rType = lens _rType (\ s a -> s{_rType = a})++instance FromJSON Review where+ parseJSON+ = withObject "Review"+ (\ o ->+ Review <$>+ (o .:? "rating") <*>+ (o .:? "kind" .!= "books#review")+ <*> (o .:? "content")+ <*> (o .:? "date")+ <*> (o .:? "volumeId")+ <*> (o .:? "author")+ <*> (o .:? "source")+ <*> (o .:? "fullTextUrl")+ <*> (o .:? "title")+ <*> (o .:? "type"))++instance ToJSON Review where+ toJSON Review{..}+ = object+ (catMaybes+ [("rating" .=) <$> _rRating, Just ("kind" .= _rKind),+ ("content" .=) <$> _rContent, ("date" .=) <$> _rDate,+ ("volumeId" .=) <$> _rVolumeId,+ ("author" .=) <$> _rAuthor,+ ("source" .=) <$> _rSource,+ ("fullTextUrl" .=) <$> _rFullTextURL,+ ("title" .=) <$> _rTitle, ("type" .=) <$> _rType])++-- | Period during this book is\/was a valid rental.+--+-- /See:/ 'volumeUserInfoRentalPeriod' smart constructor.+data VolumeUserInfoRentalPeriod = VolumeUserInfoRentalPeriod+ { _vuirpEndUtcSec :: !(Maybe (Textual Int64))+ , _vuirpStartUtcSec :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeUserInfoRentalPeriod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vuirpEndUtcSec'+--+-- * 'vuirpStartUtcSec'+volumeUserInfoRentalPeriod+ :: VolumeUserInfoRentalPeriod+volumeUserInfoRentalPeriod =+ VolumeUserInfoRentalPeriod+ { _vuirpEndUtcSec = Nothing+ , _vuirpStartUtcSec = Nothing+ }++vuirpEndUtcSec :: Lens' VolumeUserInfoRentalPeriod (Maybe Int64)+vuirpEndUtcSec+ = lens _vuirpEndUtcSec+ (\ s a -> s{_vuirpEndUtcSec = a})+ . mapping _Coerce++vuirpStartUtcSec :: Lens' VolumeUserInfoRentalPeriod (Maybe Int64)+vuirpStartUtcSec+ = lens _vuirpStartUtcSec+ (\ s a -> s{_vuirpStartUtcSec = a})+ . mapping _Coerce++instance FromJSON VolumeUserInfoRentalPeriod where+ parseJSON+ = withObject "VolumeUserInfoRentalPeriod"+ (\ o ->+ VolumeUserInfoRentalPeriod <$>+ (o .:? "endUtcSec") <*> (o .:? "startUtcSec"))++instance ToJSON VolumeUserInfoRentalPeriod where+ toJSON VolumeUserInfoRentalPeriod{..}+ = object+ (catMaybes+ [("endUtcSec" .=) <$> _vuirpEndUtcSec,+ ("startUtcSec" .=) <$> _vuirpStartUtcSec])++-- | Any information about a volume related to the eBookstore and\/or+-- purchaseability. This information can depend on the country where the+-- request originates from (i.e. books may not be for sale in certain+-- countries).+--+-- /See:/ 'volumeSaleInfo' smart constructor.+data VolumeSaleInfo = VolumeSaleInfo+ { _vsiCountry :: !(Maybe Text)+ , _vsiOnSaleDate :: !(Maybe DateTime')+ , _vsiListPrice :: !(Maybe VolumeSaleInfoListPrice)+ , _vsiRetailPrice :: !(Maybe VolumeSaleInfoRetailPrice)+ , _vsiOffers :: !(Maybe [VolumeSaleInfoOffersItem])+ , _vsiBuyLink :: !(Maybe Text)+ , _vsiIsEbook :: !(Maybe Bool)+ , _vsiSaleability :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsiCountry'+--+-- * 'vsiOnSaleDate'+--+-- * 'vsiListPrice'+--+-- * 'vsiRetailPrice'+--+-- * 'vsiOffers'+--+-- * 'vsiBuyLink'+--+-- * 'vsiIsEbook'+--+-- * 'vsiSaleability'+volumeSaleInfo+ :: VolumeSaleInfo+volumeSaleInfo =+ VolumeSaleInfo+ { _vsiCountry = Nothing+ , _vsiOnSaleDate = Nothing+ , _vsiListPrice = Nothing+ , _vsiRetailPrice = Nothing+ , _vsiOffers = Nothing+ , _vsiBuyLink = Nothing+ , _vsiIsEbook = Nothing+ , _vsiSaleability = Nothing+ }++-- | The two-letter ISO_3166-1 country code for which this sale information+-- is valid. (In LITE projection.)+vsiCountry :: Lens' VolumeSaleInfo (Maybe Text)+vsiCountry+ = lens _vsiCountry (\ s a -> s{_vsiCountry = a})++-- | The date on which this book is available for sale.+vsiOnSaleDate :: Lens' VolumeSaleInfo (Maybe UTCTime)+vsiOnSaleDate+ = lens _vsiOnSaleDate+ (\ s a -> s{_vsiOnSaleDate = a})+ . mapping _DateTime++-- | Suggested retail price. (In LITE projection.)+vsiListPrice :: Lens' VolumeSaleInfo (Maybe VolumeSaleInfoListPrice)+vsiListPrice+ = lens _vsiListPrice (\ s a -> s{_vsiListPrice = a})++-- | The actual selling price of the book. This is the same as the suggested+-- retail or list price unless there are offers or discounts on this+-- volume. (In LITE projection.)+vsiRetailPrice :: Lens' VolumeSaleInfo (Maybe VolumeSaleInfoRetailPrice)+vsiRetailPrice+ = lens _vsiRetailPrice+ (\ s a -> s{_vsiRetailPrice = a})++-- | Offers available for this volume (sales and rentals).+vsiOffers :: Lens' VolumeSaleInfo [VolumeSaleInfoOffersItem]+vsiOffers+ = lens _vsiOffers (\ s a -> s{_vsiOffers = a}) .+ _Default+ . _Coerce++-- | URL to purchase this volume on the Google Books site. (In LITE+-- projection)+vsiBuyLink :: Lens' VolumeSaleInfo (Maybe Text)+vsiBuyLink+ = lens _vsiBuyLink (\ s a -> s{_vsiBuyLink = a})++-- | Whether or not this volume is an eBook (can be added to the My eBooks+-- shelf).+vsiIsEbook :: Lens' VolumeSaleInfo (Maybe Bool)+vsiIsEbook+ = lens _vsiIsEbook (\ s a -> s{_vsiIsEbook = a})++-- | Whether or not this book is available for sale or offered for free in+-- the Google eBookstore for the country listed above. Possible values are+-- FOR_SALE, FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or+-- FOR_PREORDER.+vsiSaleability :: Lens' VolumeSaleInfo (Maybe Text)+vsiSaleability+ = lens _vsiSaleability+ (\ s a -> s{_vsiSaleability = a})++instance FromJSON VolumeSaleInfo where+ parseJSON+ = withObject "VolumeSaleInfo"+ (\ o ->+ VolumeSaleInfo <$>+ (o .:? "country") <*> (o .:? "onSaleDate") <*>+ (o .:? "listPrice")+ <*> (o .:? "retailPrice")+ <*> (o .:? "offers" .!= mempty)+ <*> (o .:? "buyLink")+ <*> (o .:? "isEbook")+ <*> (o .:? "saleability"))++instance ToJSON VolumeSaleInfo where+ toJSON VolumeSaleInfo{..}+ = object+ (catMaybes+ [("country" .=) <$> _vsiCountry,+ ("onSaleDate" .=) <$> _vsiOnSaleDate,+ ("listPrice" .=) <$> _vsiListPrice,+ ("retailPrice" .=) <$> _vsiRetailPrice,+ ("offers" .=) <$> _vsiOffers,+ ("buyLink" .=) <$> _vsiBuyLink,+ ("isEbook" .=) <$> _vsiIsEbook,+ ("saleability" .=) <$> _vsiSaleability])++--+-- /See:/ 'metadata' smart constructor.+data Metadata = Metadata+ { _mKind :: !Text+ , _mItems :: !(Maybe [MetadataItemsItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mKind'+--+-- * 'mItems'+metadata+ :: Metadata+metadata =+ Metadata+ { _mKind = "dictionary#metadata"+ , _mItems = Nothing+ }++-- | Resource type.+mKind :: Lens' Metadata Text+mKind = lens _mKind (\ s a -> s{_mKind = a})++-- | A list of offline dictionary metadata.+mItems :: Lens' Metadata [MetadataItemsItem]+mItems+ = lens _mItems (\ s a -> s{_mItems = a}) . _Default .+ _Coerce++instance FromJSON Metadata where+ parseJSON+ = withObject "Metadata"+ (\ o ->+ Metadata <$>+ (o .:? "kind" .!= "dictionary#metadata") <*>+ (o .:? "items" .!= mempty))++instance ToJSON Metadata where+ toJSON Metadata{..}+ = object+ (catMaybes+ [Just ("kind" .= _mKind), ("items" .=) <$> _mItems])++-- | What layers exist in this volume and high level information about them.+--+-- /See:/ 'volumeLayerInfo' smart constructor.+newtype VolumeLayerInfo = VolumeLayerInfo+ { _vliLayers :: Maybe [VolumeLayerInfoLayersItem]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeLayerInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vliLayers'+volumeLayerInfo+ :: VolumeLayerInfo+volumeLayerInfo =+ VolumeLayerInfo+ { _vliLayers = Nothing+ }++-- | A layer should appear here if and only if the layer exists for this+-- book.+vliLayers :: Lens' VolumeLayerInfo [VolumeLayerInfoLayersItem]+vliLayers+ = lens _vliLayers (\ s a -> s{_vliLayers = a}) .+ _Default+ . _Coerce++instance FromJSON VolumeLayerInfo where+ parseJSON+ = withObject "VolumeLayerInfo"+ (\ o ->+ VolumeLayerInfo <$> (o .:? "layers" .!= mempty))++instance ToJSON VolumeLayerInfo where+ toJSON VolumeLayerInfo{..}+ = object (catMaybes [("layers" .=) <$> _vliLayers])++-- | Physical dimensions of this volume.+--+-- /See:/ 'volumeVolumeInfoDimensions' smart constructor.+data VolumeVolumeInfoDimensions = VolumeVolumeInfoDimensions+ { _vvidHeight :: !(Maybe Text)+ , _vvidWidth :: !(Maybe Text)+ , _vvidThickness :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeVolumeInfoDimensions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vvidHeight'+--+-- * 'vvidWidth'+--+-- * 'vvidThickness'+volumeVolumeInfoDimensions+ :: VolumeVolumeInfoDimensions+volumeVolumeInfoDimensions =+ VolumeVolumeInfoDimensions+ { _vvidHeight = Nothing+ , _vvidWidth = Nothing+ , _vvidThickness = Nothing+ }++-- | Height or length of this volume (in cm).+vvidHeight :: Lens' VolumeVolumeInfoDimensions (Maybe Text)+vvidHeight+ = lens _vvidHeight (\ s a -> s{_vvidHeight = a})++-- | Width of this volume (in cm).+vvidWidth :: Lens' VolumeVolumeInfoDimensions (Maybe Text)+vvidWidth+ = lens _vvidWidth (\ s a -> s{_vvidWidth = a})++-- | Thickness of this volume (in cm).+vvidThickness :: Lens' VolumeVolumeInfoDimensions (Maybe Text)+vvidThickness+ = lens _vvidThickness+ (\ s a -> s{_vvidThickness = a})++instance FromJSON VolumeVolumeInfoDimensions where+ parseJSON+ = withObject "VolumeVolumeInfoDimensions"+ (\ o ->+ VolumeVolumeInfoDimensions <$>+ (o .:? "height") <*> (o .:? "width") <*>+ (o .:? "thickness"))++instance ToJSON VolumeVolumeInfoDimensions where+ toJSON VolumeVolumeInfoDimensions{..}+ = object+ (catMaybes+ [("height" .=) <$> _vvidHeight,+ ("width" .=) <$> _vvidWidth,+ ("thickness" .=) <$> _vvidThickness])++--+-- /See:/ 'requestAccess' smart constructor.+data RequestAccess = RequestAccess+ { _raConcurrentAccess :: !(Maybe ConcurrentAccessRestriction)+ , _raKind :: !Text+ , _raDownloadAccess :: !(Maybe DownloadAccessRestriction)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raConcurrentAccess'+--+-- * 'raKind'+--+-- * 'raDownloadAccess'+requestAccess+ :: RequestAccess+requestAccess =+ RequestAccess+ { _raConcurrentAccess = Nothing+ , _raKind = "books#requestAccess"+ , _raDownloadAccess = Nothing+ }++-- | A concurrent access response.+raConcurrentAccess :: Lens' RequestAccess (Maybe ConcurrentAccessRestriction)+raConcurrentAccess+ = lens _raConcurrentAccess+ (\ s a -> s{_raConcurrentAccess = a})++-- | Resource type.+raKind :: Lens' RequestAccess Text+raKind = lens _raKind (\ s a -> s{_raKind = a})++-- | A download access response.+raDownloadAccess :: Lens' RequestAccess (Maybe DownloadAccessRestriction)+raDownloadAccess+ = lens _raDownloadAccess+ (\ s a -> s{_raDownloadAccess = a})++instance FromJSON RequestAccess where+ parseJSON+ = withObject "RequestAccess"+ (\ o ->+ RequestAccess <$>+ (o .:? "concurrentAccess") <*>+ (o .:? "kind" .!= "books#requestAccess")+ <*> (o .:? "downloadAccess"))++instance ToJSON RequestAccess where+ toJSON RequestAccess{..}+ = object+ (catMaybes+ [("concurrentAccess" .=) <$> _raConcurrentAccess,+ Just ("kind" .= _raKind),+ ("downloadAccess" .=) <$> _raDownloadAccess])++-- | Selection ranges sent from the client.+--+-- /See:/ 'annotationClientVersionRanges' smart constructor.+data AnnotationClientVersionRanges = AnnotationClientVersionRanges+ { _acvrGbImageRange :: !(Maybe BooksAnnotationsRange)+ , _acvrContentVersion :: !(Maybe Text)+ , _acvrImageCfiRange :: !(Maybe BooksAnnotationsRange)+ , _acvrGbTextRange :: !(Maybe BooksAnnotationsRange)+ , _acvrCfiRange :: !(Maybe BooksAnnotationsRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationClientVersionRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acvrGbImageRange'+--+-- * 'acvrContentVersion'+--+-- * 'acvrImageCfiRange'+--+-- * 'acvrGbTextRange'+--+-- * 'acvrCfiRange'+annotationClientVersionRanges+ :: AnnotationClientVersionRanges+annotationClientVersionRanges =+ AnnotationClientVersionRanges+ { _acvrGbImageRange = Nothing+ , _acvrContentVersion = Nothing+ , _acvrImageCfiRange = Nothing+ , _acvrGbTextRange = Nothing+ , _acvrCfiRange = Nothing+ }++-- | Range in GB image format for this annotation sent by client.+acvrGbImageRange :: Lens' AnnotationClientVersionRanges (Maybe BooksAnnotationsRange)+acvrGbImageRange+ = lens _acvrGbImageRange+ (\ s a -> s{_acvrGbImageRange = a})++-- | Content version the client sent in.+acvrContentVersion :: Lens' AnnotationClientVersionRanges (Maybe Text)+acvrContentVersion+ = lens _acvrContentVersion+ (\ s a -> s{_acvrContentVersion = a})++-- | Range in image CFI format for this annotation sent by client.+acvrImageCfiRange :: Lens' AnnotationClientVersionRanges (Maybe BooksAnnotationsRange)+acvrImageCfiRange+ = lens _acvrImageCfiRange+ (\ s a -> s{_acvrImageCfiRange = a})++-- | Range in GB text format for this annotation sent by client.+acvrGbTextRange :: Lens' AnnotationClientVersionRanges (Maybe BooksAnnotationsRange)+acvrGbTextRange+ = lens _acvrGbTextRange+ (\ s a -> s{_acvrGbTextRange = a})++-- | Range in CFI format for this annotation sent by client.+acvrCfiRange :: Lens' AnnotationClientVersionRanges (Maybe BooksAnnotationsRange)+acvrCfiRange+ = lens _acvrCfiRange (\ s a -> s{_acvrCfiRange = a})++instance FromJSON AnnotationClientVersionRanges where+ parseJSON+ = withObject "AnnotationClientVersionRanges"+ (\ o ->+ AnnotationClientVersionRanges <$>+ (o .:? "gbImageRange") <*> (o .:? "contentVersion")+ <*> (o .:? "imageCfiRange")+ <*> (o .:? "gbTextRange")+ <*> (o .:? "cfiRange"))++instance ToJSON AnnotationClientVersionRanges where+ toJSON AnnotationClientVersionRanges{..}+ = object+ (catMaybes+ [("gbImageRange" .=) <$> _acvrGbImageRange,+ ("contentVersion" .=) <$> _acvrContentVersion,+ ("imageCfiRange" .=) <$> _acvrImageCfiRange,+ ("gbTextRange" .=) <$> _acvrGbTextRange,+ ("cfiRange" .=) <$> _acvrCfiRange])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemDefinitionsItem' smart constructor.+data DictlayerDataDictWordsItemSensesItemDefinitionsItem = DictlayerDataDictWordsItemSensesItemDefinitionsItem+ { _dddwisidiDefinition :: !(Maybe Text)+ , _dddwisidiExamples :: !(Maybe [DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemDefinitionsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisidiDefinition'+--+-- * 'dddwisidiExamples'+dictlayerDataDictWordsItemSensesItemDefinitionsItem+ :: DictlayerDataDictWordsItemSensesItemDefinitionsItem+dictlayerDataDictWordsItemSensesItemDefinitionsItem =+ DictlayerDataDictWordsItemSensesItemDefinitionsItem+ { _dddwisidiDefinition = Nothing+ , _dddwisidiExamples = Nothing+ }++dddwisidiDefinition :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItem (Maybe Text)+dddwisidiDefinition+ = lens _dddwisidiDefinition+ (\ s a -> s{_dddwisidiDefinition = a})++dddwisidiExamples :: Lens' DictlayerDataDictWordsItemSensesItemDefinitionsItem [DictlayerDataDictWordsItemSensesItemDefinitionsItemExamplesItem]+dddwisidiExamples+ = lens _dddwisidiExamples+ (\ s a -> s{_dddwisidiExamples = a})+ . _Default+ . _Coerce++instance FromJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItem+ where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemDefinitionsItem"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemDefinitionsItem+ <$>+ (o .:? "definition") <*>+ (o .:? "examples" .!= mempty))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItem+ where+ toJSON+ DictlayerDataDictWordsItemSensesItemDefinitionsItem{..}+ = object+ (catMaybes+ [("definition" .=) <$> _dddwisidiDefinition,+ ("examples" .=) <$> _dddwisidiExamples])++--+-- /See:/ 'volumeLayerInfoLayersItem' smart constructor.+data VolumeLayerInfoLayersItem = VolumeLayerInfoLayersItem+ { _vliliVolumeAnnotationsVersion :: !(Maybe Text)+ , _vliliLayerId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeLayerInfoLayersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vliliVolumeAnnotationsVersion'+--+-- * 'vliliLayerId'+volumeLayerInfoLayersItem+ :: VolumeLayerInfoLayersItem+volumeLayerInfoLayersItem =+ VolumeLayerInfoLayersItem+ { _vliliVolumeAnnotationsVersion = Nothing+ , _vliliLayerId = Nothing+ }++-- | The current version of this layer\'s volume annotations. Note that this+-- version applies only to the data in the books.layers.volumeAnnotations.*+-- responses. The actual annotation data is versioned separately.+vliliVolumeAnnotationsVersion :: Lens' VolumeLayerInfoLayersItem (Maybe Text)+vliliVolumeAnnotationsVersion+ = lens _vliliVolumeAnnotationsVersion+ (\ s a -> s{_vliliVolumeAnnotationsVersion = a})++-- | The layer id of this layer (e.g. \"geo\").+vliliLayerId :: Lens' VolumeLayerInfoLayersItem (Maybe Text)+vliliLayerId+ = lens _vliliLayerId (\ s a -> s{_vliliLayerId = a})++instance FromJSON VolumeLayerInfoLayersItem where+ parseJSON+ = withObject "VolumeLayerInfoLayersItem"+ (\ o ->+ VolumeLayerInfoLayersItem <$>+ (o .:? "volumeAnnotationsVersion") <*>+ (o .:? "layerId"))++instance ToJSON VolumeLayerInfoLayersItem where+ toJSON VolumeLayerInfoLayersItem{..}+ = object+ (catMaybes+ [("volumeAnnotationsVersion" .=) <$>+ _vliliVolumeAnnotationsVersion,+ ("layerId" .=) <$> _vliliLayerId])++-- | Selection ranges for the most recent content version.+--+-- /See:/ 'annotationCurrentVersionRanges' smart constructor.+data AnnotationCurrentVersionRanges = AnnotationCurrentVersionRanges+ { _aGbImageRange :: !(Maybe BooksAnnotationsRange)+ , _aContentVersion :: !(Maybe Text)+ , _aImageCfiRange :: !(Maybe BooksAnnotationsRange)+ , _aGbTextRange :: !(Maybe BooksAnnotationsRange)+ , _aCfiRange :: !(Maybe BooksAnnotationsRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AnnotationCurrentVersionRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aGbImageRange'+--+-- * 'aContentVersion'+--+-- * 'aImageCfiRange'+--+-- * 'aGbTextRange'+--+-- * 'aCfiRange'+annotationCurrentVersionRanges+ :: AnnotationCurrentVersionRanges+annotationCurrentVersionRanges =+ AnnotationCurrentVersionRanges+ { _aGbImageRange = Nothing+ , _aContentVersion = Nothing+ , _aImageCfiRange = Nothing+ , _aGbTextRange = Nothing+ , _aCfiRange = Nothing+ }++-- | Range in GB image format for this annotation for version above.+aGbImageRange :: Lens' AnnotationCurrentVersionRanges (Maybe BooksAnnotationsRange)+aGbImageRange+ = lens _aGbImageRange+ (\ s a -> s{_aGbImageRange = a})++-- | Content version applicable to ranges below.+aContentVersion :: Lens' AnnotationCurrentVersionRanges (Maybe Text)+aContentVersion+ = lens _aContentVersion+ (\ s a -> s{_aContentVersion = a})++-- | Range in image CFI format for this annotation for version above.+aImageCfiRange :: Lens' AnnotationCurrentVersionRanges (Maybe BooksAnnotationsRange)+aImageCfiRange+ = lens _aImageCfiRange+ (\ s a -> s{_aImageCfiRange = a})++-- | Range in GB text format for this annotation for version above.+aGbTextRange :: Lens' AnnotationCurrentVersionRanges (Maybe BooksAnnotationsRange)+aGbTextRange+ = lens _aGbTextRange (\ s a -> s{_aGbTextRange = a})++-- | Range in CFI format for this annotation for version above.+aCfiRange :: Lens' AnnotationCurrentVersionRanges (Maybe BooksAnnotationsRange)+aCfiRange+ = lens _aCfiRange (\ s a -> s{_aCfiRange = a})++instance FromJSON AnnotationCurrentVersionRanges+ where+ parseJSON+ = withObject "AnnotationCurrentVersionRanges"+ (\ o ->+ AnnotationCurrentVersionRanges <$>+ (o .:? "gbImageRange") <*> (o .:? "contentVersion")+ <*> (o .:? "imageCfiRange")+ <*> (o .:? "gbTextRange")+ <*> (o .:? "cfiRange"))++instance ToJSON AnnotationCurrentVersionRanges where+ toJSON AnnotationCurrentVersionRanges{..}+ = object+ (catMaybes+ [("gbImageRange" .=) <$> _aGbImageRange,+ ("contentVersion" .=) <$> _aContentVersion,+ ("imageCfiRange" .=) <$> _aImageCfiRange,+ ("gbTextRange" .=) <$> _aGbTextRange,+ ("cfiRange" .=) <$> _aCfiRange])++-- | Information about pdf content. (In LITE projection.)+--+-- /See:/ 'volumeAccessInfoPdf' smart constructor.+data VolumeAccessInfoPdf = VolumeAccessInfoPdf+ { _vaipAcsTokenLink :: !(Maybe Text)+ , _vaipIsAvailable :: !(Maybe Bool)+ , _vaipDownloadLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeAccessInfoPdf' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vaipAcsTokenLink'+--+-- * 'vaipIsAvailable'+--+-- * 'vaipDownloadLink'+volumeAccessInfoPdf+ :: VolumeAccessInfoPdf+volumeAccessInfoPdf =+ VolumeAccessInfoPdf+ { _vaipAcsTokenLink = Nothing+ , _vaipIsAvailable = Nothing+ , _vaipDownloadLink = Nothing+ }++-- | URL to retrieve ACS token for pdf download. (In LITE projection.)+vaipAcsTokenLink :: Lens' VolumeAccessInfoPdf (Maybe Text)+vaipAcsTokenLink+ = lens _vaipAcsTokenLink+ (\ s a -> s{_vaipAcsTokenLink = a})++-- | Is a scanned image pdf available either as public domain or for+-- purchase. (In LITE projection.)+vaipIsAvailable :: Lens' VolumeAccessInfoPdf (Maybe Bool)+vaipIsAvailable+ = lens _vaipIsAvailable+ (\ s a -> s{_vaipIsAvailable = a})++-- | URL to download pdf. (In LITE projection.)+vaipDownloadLink :: Lens' VolumeAccessInfoPdf (Maybe Text)+vaipDownloadLink+ = lens _vaipDownloadLink+ (\ s a -> s{_vaipDownloadLink = a})++instance FromJSON VolumeAccessInfoPdf where+ parseJSON+ = withObject "VolumeAccessInfoPdf"+ (\ o ->+ VolumeAccessInfoPdf <$>+ (o .:? "acsTokenLink") <*> (o .:? "isAvailable") <*>+ (o .:? "downloadLink"))++instance ToJSON VolumeAccessInfoPdf where+ toJSON VolumeAccessInfoPdf{..}+ = object+ (catMaybes+ [("acsTokenLink" .=) <$> _vaipAcsTokenLink,+ ("isAvailable" .=) <$> _vaipIsAvailable,+ ("downloadLink" .=) <$> _vaipDownloadLink])++--+-- /See:/ 'dictlayerDataDictWordsItemExamplesItemSource' smart constructor.+data DictlayerDataDictWordsItemExamplesItemSource = DictlayerDataDictWordsItemExamplesItemSource+ { _dddwieisURL :: !(Maybe Text)+ , _dddwieisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemExamplesItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwieisURL'+--+-- * 'dddwieisAttribution'+dictlayerDataDictWordsItemExamplesItemSource+ :: DictlayerDataDictWordsItemExamplesItemSource+dictlayerDataDictWordsItemExamplesItemSource =+ DictlayerDataDictWordsItemExamplesItemSource+ { _dddwieisURL = Nothing+ , _dddwieisAttribution = Nothing+ }++dddwieisURL :: Lens' DictlayerDataDictWordsItemExamplesItemSource (Maybe Text)+dddwieisURL+ = lens _dddwieisURL (\ s a -> s{_dddwieisURL = a})++dddwieisAttribution :: Lens' DictlayerDataDictWordsItemExamplesItemSource (Maybe Text)+dddwieisAttribution+ = lens _dddwieisAttribution+ (\ s a -> s{_dddwieisAttribution = a})++instance FromJSON+ DictlayerDataDictWordsItemExamplesItemSource where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemExamplesItemSource"+ (\ o ->+ DictlayerDataDictWordsItemExamplesItemSource <$>+ (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON+ DictlayerDataDictWordsItemExamplesItemSource where+ toJSON+ DictlayerDataDictWordsItemExamplesItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwieisURL,+ ("attribution" .=) <$> _dddwieisAttribution])++-- | Information about epub content. (In LITE projection.)+--+-- /See:/ 'volumeAccessInfoEpub' smart constructor.+data VolumeAccessInfoEpub = VolumeAccessInfoEpub+ { _vaieAcsTokenLink :: !(Maybe Text)+ , _vaieIsAvailable :: !(Maybe Bool)+ , _vaieDownloadLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeAccessInfoEpub' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vaieAcsTokenLink'+--+-- * 'vaieIsAvailable'+--+-- * 'vaieDownloadLink'+volumeAccessInfoEpub+ :: VolumeAccessInfoEpub+volumeAccessInfoEpub =+ VolumeAccessInfoEpub+ { _vaieAcsTokenLink = Nothing+ , _vaieIsAvailable = Nothing+ , _vaieDownloadLink = Nothing+ }++-- | URL to retrieve ACS token for epub download. (In LITE projection.)+vaieAcsTokenLink :: Lens' VolumeAccessInfoEpub (Maybe Text)+vaieAcsTokenLink+ = lens _vaieAcsTokenLink+ (\ s a -> s{_vaieAcsTokenLink = a})++-- | Is a flowing text epub available either as public domain or for+-- purchase. (In LITE projection.)+vaieIsAvailable :: Lens' VolumeAccessInfoEpub (Maybe Bool)+vaieIsAvailable+ = lens _vaieIsAvailable+ (\ s a -> s{_vaieIsAvailable = a})++-- | URL to download epub. (In LITE projection.)+vaieDownloadLink :: Lens' VolumeAccessInfoEpub (Maybe Text)+vaieDownloadLink+ = lens _vaieDownloadLink+ (\ s a -> s{_vaieDownloadLink = a})++instance FromJSON VolumeAccessInfoEpub where+ parseJSON+ = withObject "VolumeAccessInfoEpub"+ (\ o ->+ VolumeAccessInfoEpub <$>+ (o .:? "acsTokenLink") <*> (o .:? "isAvailable") <*>+ (o .:? "downloadLink"))++instance ToJSON VolumeAccessInfoEpub where+ toJSON VolumeAccessInfoEpub{..}+ = object+ (catMaybes+ [("acsTokenLink" .=) <$> _vaieAcsTokenLink,+ ("isAvailable" .=) <$> _vaieIsAvailable,+ ("downloadLink" .=) <$> _vaieDownloadLink])++--+-- /See:/ 'readingPosition' smart constructor.+data ReadingPosition = ReadingPosition+ { _rpEpubCfiPosition :: !(Maybe Text)+ , _rpKind :: !Text+ , _rpGbImagePosition :: !(Maybe Text)+ , _rpPdfPosition :: !(Maybe Text)+ , _rpVolumeId :: !(Maybe Text)+ , _rpUpdated :: !(Maybe DateTime')+ , _rpGbTextPosition :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReadingPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpEpubCfiPosition'+--+-- * 'rpKind'+--+-- * 'rpGbImagePosition'+--+-- * 'rpPdfPosition'+--+-- * 'rpVolumeId'+--+-- * 'rpUpdated'+--+-- * 'rpGbTextPosition'+readingPosition+ :: ReadingPosition+readingPosition =+ ReadingPosition+ { _rpEpubCfiPosition = Nothing+ , _rpKind = "books#readingPosition"+ , _rpGbImagePosition = Nothing+ , _rpPdfPosition = Nothing+ , _rpVolumeId = Nothing+ , _rpUpdated = Nothing+ , _rpGbTextPosition = Nothing+ }++-- | Position in an EPUB as a CFI.+rpEpubCfiPosition :: Lens' ReadingPosition (Maybe Text)+rpEpubCfiPosition+ = lens _rpEpubCfiPosition+ (\ s a -> s{_rpEpubCfiPosition = a})++-- | Resource type for a reading position.+rpKind :: Lens' ReadingPosition Text+rpKind = lens _rpKind (\ s a -> s{_rpKind = a})++-- | Position in a volume for image-based content.+rpGbImagePosition :: Lens' ReadingPosition (Maybe Text)+rpGbImagePosition+ = lens _rpGbImagePosition+ (\ s a -> s{_rpGbImagePosition = a})++-- | Position in a PDF file.+rpPdfPosition :: Lens' ReadingPosition (Maybe Text)+rpPdfPosition+ = lens _rpPdfPosition+ (\ s a -> s{_rpPdfPosition = a})++-- | Volume id associated with this reading position.+rpVolumeId :: Lens' ReadingPosition (Maybe Text)+rpVolumeId+ = lens _rpVolumeId (\ s a -> s{_rpVolumeId = a})++-- | Timestamp when this reading position was last updated (formatted UTC+-- timestamp with millisecond resolution).+rpUpdated :: Lens' ReadingPosition (Maybe UTCTime)+rpUpdated+ = lens _rpUpdated (\ s a -> s{_rpUpdated = a}) .+ mapping _DateTime++-- | Position in a volume for text-based content.+rpGbTextPosition :: Lens' ReadingPosition (Maybe Text)+rpGbTextPosition+ = lens _rpGbTextPosition+ (\ s a -> s{_rpGbTextPosition = a})++instance FromJSON ReadingPosition where+ parseJSON+ = withObject "ReadingPosition"+ (\ o ->+ ReadingPosition <$>+ (o .:? "epubCfiPosition") <*>+ (o .:? "kind" .!= "books#readingPosition")+ <*> (o .:? "gbImagePosition")+ <*> (o .:? "pdfPosition")+ <*> (o .:? "volumeId")+ <*> (o .:? "updated")+ <*> (o .:? "gbTextPosition"))++instance ToJSON ReadingPosition where+ toJSON ReadingPosition{..}+ = object+ (catMaybes+ [("epubCfiPosition" .=) <$> _rpEpubCfiPosition,+ Just ("kind" .= _rpKind),+ ("gbImagePosition" .=) <$> _rpGbImagePosition,+ ("pdfPosition" .=) <$> _rpPdfPosition,+ ("volumeId" .=) <$> _rpVolumeId,+ ("updated" .=) <$> _rpUpdated,+ ("gbTextPosition" .=) <$> _rpGbTextPosition])++--+-- /See:/ 'volumeSaleInfoOffersItem' smart constructor.+data VolumeSaleInfoOffersItem = VolumeSaleInfoOffersItem+ { _vsioiFinskyOfferType :: !(Maybe (Textual Int32))+ , _vsioiRentalDuration :: !(Maybe VolumeSaleInfoOffersItemRentalDuration)+ , _vsioiListPrice :: !(Maybe VolumeSaleInfoOffersItemListPrice)+ , _vsioiRetailPrice :: !(Maybe VolumeSaleInfoOffersItemRetailPrice)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoOffersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsioiFinskyOfferType'+--+-- * 'vsioiRentalDuration'+--+-- * 'vsioiListPrice'+--+-- * 'vsioiRetailPrice'+volumeSaleInfoOffersItem+ :: VolumeSaleInfoOffersItem+volumeSaleInfoOffersItem =+ VolumeSaleInfoOffersItem+ { _vsioiFinskyOfferType = Nothing+ , _vsioiRentalDuration = Nothing+ , _vsioiListPrice = Nothing+ , _vsioiRetailPrice = Nothing+ }++-- | The finsky offer type (e.g., PURCHASE=0 RENTAL=3)+vsioiFinskyOfferType :: Lens' VolumeSaleInfoOffersItem (Maybe Int32)+vsioiFinskyOfferType+ = lens _vsioiFinskyOfferType+ (\ s a -> s{_vsioiFinskyOfferType = a})+ . mapping _Coerce++-- | The rental duration (for rental offers only).+vsioiRentalDuration :: Lens' VolumeSaleInfoOffersItem (Maybe VolumeSaleInfoOffersItemRentalDuration)+vsioiRentalDuration+ = lens _vsioiRentalDuration+ (\ s a -> s{_vsioiRentalDuration = a})++-- | Offer list (=undiscounted) price in Micros.+vsioiListPrice :: Lens' VolumeSaleInfoOffersItem (Maybe VolumeSaleInfoOffersItemListPrice)+vsioiListPrice+ = lens _vsioiListPrice+ (\ s a -> s{_vsioiListPrice = a})++-- | Offer retail (=discounted) price in Micros+vsioiRetailPrice :: Lens' VolumeSaleInfoOffersItem (Maybe VolumeSaleInfoOffersItemRetailPrice)+vsioiRetailPrice+ = lens _vsioiRetailPrice+ (\ s a -> s{_vsioiRetailPrice = a})++instance FromJSON VolumeSaleInfoOffersItem where+ parseJSON+ = withObject "VolumeSaleInfoOffersItem"+ (\ o ->+ VolumeSaleInfoOffersItem <$>+ (o .:? "finskyOfferType") <*>+ (o .:? "rentalDuration")+ <*> (o .:? "listPrice")+ <*> (o .:? "retailPrice"))++instance ToJSON VolumeSaleInfoOffersItem where+ toJSON VolumeSaleInfoOffersItem{..}+ = object+ (catMaybes+ [("finskyOfferType" .=) <$> _vsioiFinskyOfferType,+ ("rentalDuration" .=) <$> _vsioiRentalDuration,+ ("listPrice" .=) <$> _vsioiListPrice,+ ("retailPrice" .=) <$> _vsioiRetailPrice])++--+-- /See:/ 'dictlayerDataDict' smart constructor.+data DictlayerDataDict = DictlayerDataDict+ { _dddSource :: !(Maybe DictlayerDataDictSource)+ , _dddWords :: !(Maybe [DictlayerDataDictWordsItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDict' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddSource'+--+-- * 'dddWords'+dictlayerDataDict+ :: DictlayerDataDict+dictlayerDataDict =+ DictlayerDataDict+ { _dddSource = Nothing+ , _dddWords = Nothing+ }++-- | The source, url and attribution for this dictionary data.+dddSource :: Lens' DictlayerDataDict (Maybe DictlayerDataDictSource)+dddSource+ = lens _dddSource (\ s a -> s{_dddSource = a})++dddWords :: Lens' DictlayerDataDict [DictlayerDataDictWordsItem]+dddWords+ = lens _dddWords (\ s a -> s{_dddWords = a}) .+ _Default+ . _Coerce++instance FromJSON DictlayerDataDict where+ parseJSON+ = withObject "DictlayerDataDict"+ (\ o ->+ DictlayerDataDict <$>+ (o .:? "source") <*> (o .:? "words" .!= mempty))++instance ToJSON DictlayerDataDict where+ toJSON DictlayerDataDict{..}+ = object+ (catMaybes+ [("source" .=) <$> _dddSource,+ ("words" .=) <$> _dddWords])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItem' smart constructor.+data DictlayerDataDictWordsItemSensesItem = DictlayerDataDictWordsItemSensesItem+ { _dddwisiPronunciationURL :: !(Maybe Text)+ , _dddwisiConjugations :: !(Maybe [DictlayerDataDictWordsItemSensesItemConjugationsItem])+ , _dddwisiPronunciation :: !(Maybe Text)+ , _dddwisiSynonyms :: !(Maybe [DictlayerDataDictWordsItemSensesItemSynonymsItem])+ , _dddwisiSource :: !(Maybe DictlayerDataDictWordsItemSensesItemSource)+ , _dddwisiPartOfSpeech :: !(Maybe Text)+ , _dddwisiDefinitions :: !(Maybe [DictlayerDataDictWordsItemSensesItemDefinitionsItem])+ , _dddwisiSyllabification :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisiPronunciationURL'+--+-- * 'dddwisiConjugations'+--+-- * 'dddwisiPronunciation'+--+-- * 'dddwisiSynonyms'+--+-- * 'dddwisiSource'+--+-- * 'dddwisiPartOfSpeech'+--+-- * 'dddwisiDefinitions'+--+-- * 'dddwisiSyllabification'+dictlayerDataDictWordsItemSensesItem+ :: DictlayerDataDictWordsItemSensesItem+dictlayerDataDictWordsItemSensesItem =+ DictlayerDataDictWordsItemSensesItem+ { _dddwisiPronunciationURL = Nothing+ , _dddwisiConjugations = Nothing+ , _dddwisiPronunciation = Nothing+ , _dddwisiSynonyms = Nothing+ , _dddwisiSource = Nothing+ , _dddwisiPartOfSpeech = Nothing+ , _dddwisiDefinitions = Nothing+ , _dddwisiSyllabification = Nothing+ }++dddwisiPronunciationURL :: Lens' DictlayerDataDictWordsItemSensesItem (Maybe Text)+dddwisiPronunciationURL+ = lens _dddwisiPronunciationURL+ (\ s a -> s{_dddwisiPronunciationURL = a})++dddwisiConjugations :: Lens' DictlayerDataDictWordsItemSensesItem [DictlayerDataDictWordsItemSensesItemConjugationsItem]+dddwisiConjugations+ = lens _dddwisiConjugations+ (\ s a -> s{_dddwisiConjugations = a})+ . _Default+ . _Coerce++dddwisiPronunciation :: Lens' DictlayerDataDictWordsItemSensesItem (Maybe Text)+dddwisiPronunciation+ = lens _dddwisiPronunciation+ (\ s a -> s{_dddwisiPronunciation = a})++dddwisiSynonyms :: Lens' DictlayerDataDictWordsItemSensesItem [DictlayerDataDictWordsItemSensesItemSynonymsItem]+dddwisiSynonyms+ = lens _dddwisiSynonyms+ (\ s a -> s{_dddwisiSynonyms = a})+ . _Default+ . _Coerce++dddwisiSource :: Lens' DictlayerDataDictWordsItemSensesItem (Maybe DictlayerDataDictWordsItemSensesItemSource)+dddwisiSource+ = lens _dddwisiSource+ (\ s a -> s{_dddwisiSource = a})++dddwisiPartOfSpeech :: Lens' DictlayerDataDictWordsItemSensesItem (Maybe Text)+dddwisiPartOfSpeech+ = lens _dddwisiPartOfSpeech+ (\ s a -> s{_dddwisiPartOfSpeech = a})++dddwisiDefinitions :: Lens' DictlayerDataDictWordsItemSensesItem [DictlayerDataDictWordsItemSensesItemDefinitionsItem]+dddwisiDefinitions+ = lens _dddwisiDefinitions+ (\ s a -> s{_dddwisiDefinitions = a})+ . _Default+ . _Coerce++dddwisiSyllabification :: Lens' DictlayerDataDictWordsItemSensesItem (Maybe Text)+dddwisiSyllabification+ = lens _dddwisiSyllabification+ (\ s a -> s{_dddwisiSyllabification = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItem where+ parseJSON+ = withObject "DictlayerDataDictWordsItemSensesItem"+ (\ o ->+ DictlayerDataDictWordsItemSensesItem <$>+ (o .:? "pronunciationUrl") <*>+ (o .:? "conjugations" .!= mempty)+ <*> (o .:? "pronunciation")+ <*> (o .:? "synonyms" .!= mempty)+ <*> (o .:? "source")+ <*> (o .:? "partOfSpeech")+ <*> (o .:? "definitions" .!= mempty)+ <*> (o .:? "syllabification"))++instance ToJSON DictlayerDataDictWordsItemSensesItem+ where+ toJSON DictlayerDataDictWordsItemSensesItem{..}+ = object+ (catMaybes+ [("pronunciationUrl" .=) <$>+ _dddwisiPronunciationURL,+ ("conjugations" .=) <$> _dddwisiConjugations,+ ("pronunciation" .=) <$> _dddwisiPronunciation,+ ("synonyms" .=) <$> _dddwisiSynonyms,+ ("source" .=) <$> _dddwisiSource,+ ("partOfSpeech" .=) <$> _dddwisiPartOfSpeech,+ ("definitions" .=) <$> _dddwisiDefinitions,+ ("syllabification" .=) <$> _dddwisiSyllabification])++-- | Recommendation related information for this volume.+--+-- /See:/ 'volumeRecommendedInfo' smart constructor.+newtype VolumeRecommendedInfo = VolumeRecommendedInfo+ { _vriExplanation :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeRecommendedInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vriExplanation'+volumeRecommendedInfo+ :: VolumeRecommendedInfo+volumeRecommendedInfo =+ VolumeRecommendedInfo+ { _vriExplanation = Nothing+ }++-- | A text explaining why this volume is recommended.+vriExplanation :: Lens' VolumeRecommendedInfo (Maybe Text)+vriExplanation+ = lens _vriExplanation+ (\ s a -> s{_vriExplanation = a})++instance FromJSON VolumeRecommendedInfo where+ parseJSON+ = withObject "VolumeRecommendedInfo"+ (\ o ->+ VolumeRecommendedInfo <$> (o .:? "explanation"))++instance ToJSON VolumeRecommendedInfo where+ toJSON VolumeRecommendedInfo{..}+ = object+ (catMaybes [("explanation" .=) <$> _vriExplanation])++--+-- /See:/ 'offers' smart constructor.+data Offers = Offers+ { _oKind :: !Text+ , _oItems :: !(Maybe [OffersItemsItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Offers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oKind'+--+-- * 'oItems'+offers+ :: Offers+offers =+ Offers+ { _oKind = "promooffer#offers"+ , _oItems = Nothing+ }++-- | Resource type.+oKind :: Lens' Offers Text+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | A list of offers.+oItems :: Lens' Offers [OffersItemsItem]+oItems+ = lens _oItems (\ s a -> s{_oItems = a}) . _Default .+ _Coerce++instance FromJSON Offers where+ parseJSON+ = withObject "Offers"+ (\ o ->+ Offers <$>+ (o .:? "kind" .!= "promooffer#offers") <*>+ (o .:? "items" .!= mempty))++instance ToJSON Offers where+ toJSON Offers{..}+ = object+ (catMaybes+ [Just ("kind" .= _oKind), ("items" .=) <$> _oItems])++--+-- /See:/ 'discoveryclusters' smart constructor.+data Discoveryclusters = Discoveryclusters+ { _dKind :: !Text+ , _dTotalClusters :: !(Maybe (Textual Int32))+ , _dClusters :: !(Maybe [DiscoveryclustersClustersItem])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Discoveryclusters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dKind'+--+-- * 'dTotalClusters'+--+-- * 'dClusters'+discoveryclusters+ :: Discoveryclusters+discoveryclusters =+ Discoveryclusters+ { _dKind = "books#discovery#clusters"+ , _dTotalClusters = Nothing+ , _dClusters = Nothing+ }++-- | Resorce type.+dKind :: Lens' Discoveryclusters Text+dKind = lens _dKind (\ s a -> s{_dKind = a})++dTotalClusters :: Lens' Discoveryclusters (Maybe Int32)+dTotalClusters+ = lens _dTotalClusters+ (\ s a -> s{_dTotalClusters = a})+ . mapping _Coerce++dClusters :: Lens' Discoveryclusters [DiscoveryclustersClustersItem]+dClusters+ = lens _dClusters (\ s a -> s{_dClusters = a}) .+ _Default+ . _Coerce++instance FromJSON Discoveryclusters where+ parseJSON+ = withObject "Discoveryclusters"+ (\ o ->+ Discoveryclusters <$>+ (o .:? "kind" .!= "books#discovery#clusters") <*>+ (o .:? "totalClusters")+ <*> (o .:? "clusters" .!= mempty))++instance ToJSON Discoveryclusters where+ toJSON Discoveryclusters{..}+ = object+ (catMaybes+ [Just ("kind" .= _dKind),+ ("totalClusters" .=) <$> _dTotalClusters,+ ("clusters" .=) <$> _dClusters])++-- | User settings in sub-objects, each for different purposes.+--+-- /See:/ 'userSettingsNotesExport' smart constructor.+data UserSettingsNotesExport = UserSettingsNotesExport+ { _usneFolderName :: !(Maybe Text)+ , _usneIsEnabled :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserSettingsNotesExport' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usneFolderName'+--+-- * 'usneIsEnabled'+userSettingsNotesExport+ :: UserSettingsNotesExport+userSettingsNotesExport =+ UserSettingsNotesExport+ { _usneFolderName = Nothing+ , _usneIsEnabled = Nothing+ }++usneFolderName :: Lens' UserSettingsNotesExport (Maybe Text)+usneFolderName+ = lens _usneFolderName+ (\ s a -> s{_usneFolderName = a})++usneIsEnabled :: Lens' UserSettingsNotesExport (Maybe Bool)+usneIsEnabled+ = lens _usneIsEnabled+ (\ s a -> s{_usneIsEnabled = a})++instance FromJSON UserSettingsNotesExport where+ parseJSON+ = withObject "UserSettingsNotesExport"+ (\ o ->+ UserSettingsNotesExport <$>+ (o .:? "folderName") <*> (o .:? "isEnabled"))++instance ToJSON UserSettingsNotesExport where+ toJSON UserSettingsNotesExport{..}+ = object+ (catMaybes+ [("folderName" .=) <$> _usneFolderName,+ ("isEnabled" .=) <$> _usneIsEnabled])++--+-- /See:/ 'concurrentAccessRestriction' smart constructor.+data ConcurrentAccessRestriction = ConcurrentAccessRestriction+ { _carMaxConcurrentDevices :: !(Maybe (Textual Int32))+ , _carSignature :: !(Maybe Text)+ , _carTimeWindowSeconds :: !(Maybe (Textual Int32))+ , _carKind :: !Text+ , _carReasonCode :: !(Maybe Text)+ , _carVolumeId :: !(Maybe Text)+ , _carRestricted :: !(Maybe Bool)+ , _carSource :: !(Maybe Text)+ , _carDeviceAllowed :: !(Maybe Bool)+ , _carMessage :: !(Maybe Text)+ , _carNonce :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConcurrentAccessRestriction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'carMaxConcurrentDevices'+--+-- * 'carSignature'+--+-- * 'carTimeWindowSeconds'+--+-- * 'carKind'+--+-- * 'carReasonCode'+--+-- * 'carVolumeId'+--+-- * 'carRestricted'+--+-- * 'carSource'+--+-- * 'carDeviceAllowed'+--+-- * 'carMessage'+--+-- * 'carNonce'+concurrentAccessRestriction+ :: ConcurrentAccessRestriction+concurrentAccessRestriction =+ ConcurrentAccessRestriction+ { _carMaxConcurrentDevices = Nothing+ , _carSignature = Nothing+ , _carTimeWindowSeconds = Nothing+ , _carKind = "books#concurrentAccessRestriction"+ , _carReasonCode = Nothing+ , _carVolumeId = Nothing+ , _carRestricted = Nothing+ , _carSource = Nothing+ , _carDeviceAllowed = Nothing+ , _carMessage = Nothing+ , _carNonce = Nothing+ }++-- | The maximum number of concurrent access licenses for this volume.+carMaxConcurrentDevices :: Lens' ConcurrentAccessRestriction (Maybe Int32)+carMaxConcurrentDevices+ = lens _carMaxConcurrentDevices+ (\ s a -> s{_carMaxConcurrentDevices = a})+ . mapping _Coerce++-- | Response signature.+carSignature :: Lens' ConcurrentAccessRestriction (Maybe Text)+carSignature+ = lens _carSignature (\ s a -> s{_carSignature = a})++-- | Time in seconds for license auto-expiration.+carTimeWindowSeconds :: Lens' ConcurrentAccessRestriction (Maybe Int32)+carTimeWindowSeconds+ = lens _carTimeWindowSeconds+ (\ s a -> s{_carTimeWindowSeconds = a})+ . mapping _Coerce++-- | Resource type.+carKind :: Lens' ConcurrentAccessRestriction Text+carKind = lens _carKind (\ s a -> s{_carKind = a})++-- | Error\/warning reason code.+carReasonCode :: Lens' ConcurrentAccessRestriction (Maybe Text)+carReasonCode+ = lens _carReasonCode+ (\ s a -> s{_carReasonCode = a})++-- | Identifies the volume for which this entry applies.+carVolumeId :: Lens' ConcurrentAccessRestriction (Maybe Text)+carVolumeId+ = lens _carVolumeId (\ s a -> s{_carVolumeId = a})++-- | Whether this volume has any concurrent access restrictions.+carRestricted :: Lens' ConcurrentAccessRestriction (Maybe Bool)+carRestricted+ = lens _carRestricted+ (\ s a -> s{_carRestricted = a})++-- | Client app identifier for verification. Download access and+-- client-validation only.+carSource :: Lens' ConcurrentAccessRestriction (Maybe Text)+carSource+ = lens _carSource (\ s a -> s{_carSource = a})++-- | Whether access is granted for this (user, device, volume).+carDeviceAllowed :: Lens' ConcurrentAccessRestriction (Maybe Bool)+carDeviceAllowed+ = lens _carDeviceAllowed+ (\ s a -> s{_carDeviceAllowed = a})++-- | Error\/warning message.+carMessage :: Lens' ConcurrentAccessRestriction (Maybe Text)+carMessage+ = lens _carMessage (\ s a -> s{_carMessage = a})++-- | Client nonce for verification. Download access and client-validation+-- only.+carNonce :: Lens' ConcurrentAccessRestriction (Maybe Text)+carNonce = lens _carNonce (\ s a -> s{_carNonce = a})++instance FromJSON ConcurrentAccessRestriction where+ parseJSON+ = withObject "ConcurrentAccessRestriction"+ (\ o ->+ ConcurrentAccessRestriction <$>+ (o .:? "maxConcurrentDevices") <*>+ (o .:? "signature")+ <*> (o .:? "timeWindowSeconds")+ <*>+ (o .:? "kind" .!=+ "books#concurrentAccessRestriction")+ <*> (o .:? "reasonCode")+ <*> (o .:? "volumeId")+ <*> (o .:? "restricted")+ <*> (o .:? "source")+ <*> (o .:? "deviceAllowed")+ <*> (o .:? "message")+ <*> (o .:? "nonce"))++instance ToJSON ConcurrentAccessRestriction where+ toJSON ConcurrentAccessRestriction{..}+ = object+ (catMaybes+ [("maxConcurrentDevices" .=) <$>+ _carMaxConcurrentDevices,+ ("signature" .=) <$> _carSignature,+ ("timeWindowSeconds" .=) <$> _carTimeWindowSeconds,+ Just ("kind" .= _carKind),+ ("reasonCode" .=) <$> _carReasonCode,+ ("volumeId" .=) <$> _carVolumeId,+ ("restricted" .=) <$> _carRestricted,+ ("source" .=) <$> _carSource,+ ("deviceAllowed" .=) <$> _carDeviceAllowed,+ ("message" .=) <$> _carMessage,+ ("nonce" .=) <$> _carNonce])++--+-- /See:/ 'volumes' smart constructor.+data Volumes = Volumes+ { _v1TotalItems :: !(Maybe (Textual Int32))+ , _v1Kind :: !Text+ , _v1Items :: !(Maybe [Volume])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Volumes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'v1TotalItems'+--+-- * 'v1Kind'+--+-- * 'v1Items'+volumes+ :: Volumes+volumes =+ Volumes+ { _v1TotalItems = Nothing+ , _v1Kind = "books#volumes"+ , _v1Items = Nothing+ }++-- | Total number of volumes found. This might be greater than the number of+-- volumes returned in this response if results have been paginated.+v1TotalItems :: Lens' Volumes (Maybe Int32)+v1TotalItems+ = lens _v1TotalItems (\ s a -> s{_v1TotalItems = a})+ . mapping _Coerce++-- | Resource type.+v1Kind :: Lens' Volumes Text+v1Kind = lens _v1Kind (\ s a -> s{_v1Kind = a})++-- | A list of volumes.+v1Items :: Lens' Volumes [Volume]+v1Items+ = lens _v1Items (\ s a -> s{_v1Items = a}) . _Default+ . _Coerce++instance FromJSON Volumes where+ parseJSON+ = withObject "Volumes"+ (\ o ->+ Volumes <$>+ (o .:? "totalItems") <*>+ (o .:? "kind" .!= "books#volumes")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Volumes where+ toJSON Volumes{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _v1TotalItems,+ Just ("kind" .= _v1Kind), ("items" .=) <$> _v1Items])++--+-- /See:/ 'bookshelves' smart constructor.+data Bookshelves = Bookshelves+ { _booKind :: !Text+ , _booItems :: !(Maybe [Bookshelf])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Bookshelves' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'booKind'+--+-- * 'booItems'+bookshelves+ :: Bookshelves+bookshelves =+ Bookshelves+ { _booKind = "books#bookshelves"+ , _booItems = Nothing+ }++-- | Resource type.+booKind :: Lens' Bookshelves Text+booKind = lens _booKind (\ s a -> s{_booKind = a})++-- | A list of bookshelves.+booItems :: Lens' Bookshelves [Bookshelf]+booItems+ = lens _booItems (\ s a -> s{_booItems = a}) .+ _Default+ . _Coerce++instance FromJSON Bookshelves where+ parseJSON+ = withObject "Bookshelves"+ (\ o ->+ Bookshelves <$>+ (o .:? "kind" .!= "books#bookshelves") <*>+ (o .:? "items" .!= mempty))++instance ToJSON Bookshelves where+ toJSON Bookshelves{..}+ = object+ (catMaybes+ [Just ("kind" .= _booKind),+ ("items" .=) <$> _booItems])++-- | The source, url and attribution for this dictionary data.+--+-- /See:/ 'dictlayerDataDictSource' smart constructor.+data DictlayerDataDictSource = DictlayerDataDictSource+ { _dddsURL :: !(Maybe Text)+ , _dddsAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddsURL'+--+-- * 'dddsAttribution'+dictlayerDataDictSource+ :: DictlayerDataDictSource+dictlayerDataDictSource =+ DictlayerDataDictSource+ { _dddsURL = Nothing+ , _dddsAttribution = Nothing+ }++dddsURL :: Lens' DictlayerDataDictSource (Maybe Text)+dddsURL = lens _dddsURL (\ s a -> s{_dddsURL = a})++dddsAttribution :: Lens' DictlayerDataDictSource (Maybe Text)+dddsAttribution+ = lens _dddsAttribution+ (\ s a -> s{_dddsAttribution = a})++instance FromJSON DictlayerDataDictSource where+ parseJSON+ = withObject "DictlayerDataDictSource"+ (\ o ->+ DictlayerDataDictSource <$>+ (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON DictlayerDataDictSource where+ toJSON DictlayerDataDictSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddsURL,+ ("attribution" .=) <$> _dddsAttribution])++--+-- /See:/ 'downloadAccesses' smart constructor.+data DownloadAccesses = DownloadAccesses+ { _daKind :: !Text+ , _daDownloadAccessList :: !(Maybe [DownloadAccessRestriction])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadAccesses' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daKind'+--+-- * 'daDownloadAccessList'+downloadAccesses+ :: DownloadAccesses+downloadAccesses =+ DownloadAccesses+ { _daKind = "books#downloadAccesses"+ , _daDownloadAccessList = Nothing+ }++-- | Resource type.+daKind :: Lens' DownloadAccesses Text+daKind = lens _daKind (\ s a -> s{_daKind = a})++-- | A list of download access responses.+daDownloadAccessList :: Lens' DownloadAccesses [DownloadAccessRestriction]+daDownloadAccessList+ = lens _daDownloadAccessList+ (\ s a -> s{_daDownloadAccessList = a})+ . _Default+ . _Coerce++instance FromJSON DownloadAccesses where+ parseJSON+ = withObject "DownloadAccesses"+ (\ o ->+ DownloadAccesses <$>+ (o .:? "kind" .!= "books#downloadAccesses") <*>+ (o .:? "downloadAccessList" .!= mempty))++instance ToJSON DownloadAccesses where+ toJSON DownloadAccesses{..}+ = object+ (catMaybes+ [Just ("kind" .= _daKind),+ ("downloadAccessList" .=) <$> _daDownloadAccessList])++--+-- /See:/ 'geolayerDataGeoViewportHi' smart constructor.+data GeolayerDataGeoViewportHi = GeolayerDataGeoViewportHi+ { _gdgvhLatitude :: !(Maybe (Textual Double))+ , _gdgvhLongitude :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GeolayerDataGeoViewportHi' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgvhLatitude'+--+-- * 'gdgvhLongitude'+geolayerDataGeoViewportHi+ :: GeolayerDataGeoViewportHi+geolayerDataGeoViewportHi =+ GeolayerDataGeoViewportHi+ { _gdgvhLatitude = Nothing+ , _gdgvhLongitude = Nothing+ }++gdgvhLatitude :: Lens' GeolayerDataGeoViewportHi (Maybe Double)+gdgvhLatitude+ = lens _gdgvhLatitude+ (\ s a -> s{_gdgvhLatitude = a})+ . mapping _Coerce++gdgvhLongitude :: Lens' GeolayerDataGeoViewportHi (Maybe Double)+gdgvhLongitude+ = lens _gdgvhLongitude+ (\ s a -> s{_gdgvhLongitude = a})+ . mapping _Coerce++instance FromJSON GeolayerDataGeoViewportHi where+ parseJSON+ = withObject "GeolayerDataGeoViewportHi"+ (\ o ->+ GeolayerDataGeoViewportHi <$>+ (o .:? "latitude") <*> (o .:? "longitude"))++instance ToJSON GeolayerDataGeoViewportHi where+ toJSON GeolayerDataGeoViewportHi{..}+ = object+ (catMaybes+ [("latitude" .=) <$> _gdgvhLatitude,+ ("longitude" .=) <$> _gdgvhLongitude])++-- | General volume information.+--+-- /See:/ 'volumeVolumeInfo' smart constructor.+data VolumeVolumeInfo = VolumeVolumeInfo+ { _vviImageLinks :: !(Maybe VolumeVolumeInfoImageLinks)+ , _vviAverageRating :: !(Maybe (Textual Double))+ , _vviRatingsCount :: !(Maybe (Textual Int32))+ , _vviCanonicalVolumeLink :: !(Maybe Text)+ , _vviReadingModes :: !(Maybe JSONValue)+ , _vviIndustryIdentifiers :: !(Maybe [VolumeVolumeInfoIndustryIdentifiersItem])+ , _vviPrintedPageCount :: !(Maybe (Textual Int32))+ , _vviMainCategory :: !(Maybe Text)+ , _vviContentVersion :: !(Maybe Text)+ , _vviSamplePageCount :: !(Maybe (Textual Int32))+ , _vviCategories :: !(Maybe [Text])+ , _vviAuthors :: !(Maybe [Text])+ , _vviAllowAnonLogging :: !(Maybe Bool)+ , _vviSubtitle :: !(Maybe Text)+ , _vviPublishedDate :: !(Maybe Text)+ , _vviMaturityRating :: !(Maybe Text)+ , _vviPreviewLink :: !(Maybe Text)+ , _vviLanguage :: !(Maybe Text)+ , _vviTitle :: !(Maybe Text)+ , _vviPageCount :: !(Maybe (Textual Int32))+ , _vviDimensions :: !(Maybe VolumeVolumeInfoDimensions)+ , _vviInfoLink :: !(Maybe Text)+ , _vviPublisher :: !(Maybe Text)+ , _vviDescription :: !(Maybe Text)+ , _vviPrintType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeVolumeInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vviImageLinks'+--+-- * 'vviAverageRating'+--+-- * 'vviRatingsCount'+--+-- * 'vviCanonicalVolumeLink'+--+-- * 'vviReadingModes'+--+-- * 'vviIndustryIdentifiers'+--+-- * 'vviPrintedPageCount'+--+-- * 'vviMainCategory'+--+-- * 'vviContentVersion'+--+-- * 'vviSamplePageCount'+--+-- * 'vviCategories'+--+-- * 'vviAuthors'+--+-- * 'vviAllowAnonLogging'+--+-- * 'vviSubtitle'+--+-- * 'vviPublishedDate'+--+-- * 'vviMaturityRating'+--+-- * 'vviPreviewLink'+--+-- * 'vviLanguage'+--+-- * 'vviTitle'+--+-- * 'vviPageCount'+--+-- * 'vviDimensions'+--+-- * 'vviInfoLink'+--+-- * 'vviPublisher'+--+-- * 'vviDescription'+--+-- * 'vviPrintType'+volumeVolumeInfo+ :: VolumeVolumeInfo+volumeVolumeInfo =+ VolumeVolumeInfo+ { _vviImageLinks = Nothing+ , _vviAverageRating = Nothing+ , _vviRatingsCount = Nothing+ , _vviCanonicalVolumeLink = Nothing+ , _vviReadingModes = Nothing+ , _vviIndustryIdentifiers = Nothing+ , _vviPrintedPageCount = Nothing+ , _vviMainCategory = Nothing+ , _vviContentVersion = Nothing+ , _vviSamplePageCount = Nothing+ , _vviCategories = Nothing+ , _vviAuthors = Nothing+ , _vviAllowAnonLogging = Nothing+ , _vviSubtitle = Nothing+ , _vviPublishedDate = Nothing+ , _vviMaturityRating = Nothing+ , _vviPreviewLink = Nothing+ , _vviLanguage = Nothing+ , _vviTitle = Nothing+ , _vviPageCount = Nothing+ , _vviDimensions = Nothing+ , _vviInfoLink = Nothing+ , _vviPublisher = Nothing+ , _vviDescription = Nothing+ , _vviPrintType = Nothing+ }++-- | A list of image links for all the sizes that are available. (In LITE+-- projection.)+vviImageLinks :: Lens' VolumeVolumeInfo (Maybe VolumeVolumeInfoImageLinks)+vviImageLinks+ = lens _vviImageLinks+ (\ s a -> s{_vviImageLinks = a})++-- | The mean review rating for this volume. (min = 1.0, max = 5.0)+vviAverageRating :: Lens' VolumeVolumeInfo (Maybe Double)+vviAverageRating+ = lens _vviAverageRating+ (\ s a -> s{_vviAverageRating = a})+ . mapping _Coerce++-- | The number of review ratings for this volume.+vviRatingsCount :: Lens' VolumeVolumeInfo (Maybe Int32)+vviRatingsCount+ = lens _vviRatingsCount+ (\ s a -> s{_vviRatingsCount = a})+ . mapping _Coerce++-- | Canonical URL for a volume. (In LITE projection.)+vviCanonicalVolumeLink :: Lens' VolumeVolumeInfo (Maybe Text)+vviCanonicalVolumeLink+ = lens _vviCanonicalVolumeLink+ (\ s a -> s{_vviCanonicalVolumeLink = a})++-- | The reading modes available for this volume.+vviReadingModes :: Lens' VolumeVolumeInfo (Maybe JSONValue)+vviReadingModes+ = lens _vviReadingModes+ (\ s a -> s{_vviReadingModes = a})++-- | Industry standard identifiers for this volume.+vviIndustryIdentifiers :: Lens' VolumeVolumeInfo [VolumeVolumeInfoIndustryIdentifiersItem]+vviIndustryIdentifiers+ = lens _vviIndustryIdentifiers+ (\ s a -> s{_vviIndustryIdentifiers = a})+ . _Default+ . _Coerce++-- | Total number of printed pages in generated pdf representation.+vviPrintedPageCount :: Lens' VolumeVolumeInfo (Maybe Int32)+vviPrintedPageCount+ = lens _vviPrintedPageCount+ (\ s a -> s{_vviPrintedPageCount = a})+ . mapping _Coerce++-- | The main category to which this volume belongs. It will be the category+-- from the categories list returned below that has the highest weight.+vviMainCategory :: Lens' VolumeVolumeInfo (Maybe Text)+vviMainCategory+ = lens _vviMainCategory+ (\ s a -> s{_vviMainCategory = a})++-- | An identifier for the version of the volume content (text & images). (In+-- LITE projection)+vviContentVersion :: Lens' VolumeVolumeInfo (Maybe Text)+vviContentVersion+ = lens _vviContentVersion+ (\ s a -> s{_vviContentVersion = a})++-- | Total number of sample pages as per publisher metadata.+vviSamplePageCount :: Lens' VolumeVolumeInfo (Maybe Int32)+vviSamplePageCount+ = lens _vviSamplePageCount+ (\ s a -> s{_vviSamplePageCount = a})+ . mapping _Coerce++-- | A list of subject categories, such as \"Fiction\", \"Suspense\", etc.+vviCategories :: Lens' VolumeVolumeInfo [Text]+vviCategories+ = lens _vviCategories+ (\ s a -> s{_vviCategories = a})+ . _Default+ . _Coerce++-- | The names of the authors and\/or editors for this volume. (In LITE+-- projection)+vviAuthors :: Lens' VolumeVolumeInfo [Text]+vviAuthors+ = lens _vviAuthors (\ s a -> s{_vviAuthors = a}) .+ _Default+ . _Coerce++-- | Whether anonymous logging should be allowed.+vviAllowAnonLogging :: Lens' VolumeVolumeInfo (Maybe Bool)+vviAllowAnonLogging+ = lens _vviAllowAnonLogging+ (\ s a -> s{_vviAllowAnonLogging = a})++-- | Volume subtitle. (In LITE projection.)+vviSubtitle :: Lens' VolumeVolumeInfo (Maybe Text)+vviSubtitle+ = lens _vviSubtitle (\ s a -> s{_vviSubtitle = a})++-- | Date of publication. (In LITE projection.)+vviPublishedDate :: Lens' VolumeVolumeInfo (Maybe Text)+vviPublishedDate+ = lens _vviPublishedDate+ (\ s a -> s{_vviPublishedDate = a})++vviMaturityRating :: Lens' VolumeVolumeInfo (Maybe Text)+vviMaturityRating+ = lens _vviMaturityRating+ (\ s a -> s{_vviMaturityRating = a})++-- | URL to preview this volume on the Google Books site.+vviPreviewLink :: Lens' VolumeVolumeInfo (Maybe Text)+vviPreviewLink+ = lens _vviPreviewLink+ (\ s a -> s{_vviPreviewLink = a})++-- | Best language for this volume (based on content). It is the two-letter+-- ISO 639-1 code such as \'fr\', \'en\', etc.+vviLanguage :: Lens' VolumeVolumeInfo (Maybe Text)+vviLanguage+ = lens _vviLanguage (\ s a -> s{_vviLanguage = a})++-- | Volume title. (In LITE projection.)+vviTitle :: Lens' VolumeVolumeInfo (Maybe Text)+vviTitle = lens _vviTitle (\ s a -> s{_vviTitle = a})++-- | Total number of pages as per publisher metadata.+vviPageCount :: Lens' VolumeVolumeInfo (Maybe Int32)+vviPageCount+ = lens _vviPageCount (\ s a -> s{_vviPageCount = a})+ . mapping _Coerce++-- | Physical dimensions of this volume.+vviDimensions :: Lens' VolumeVolumeInfo (Maybe VolumeVolumeInfoDimensions)+vviDimensions+ = lens _vviDimensions+ (\ s a -> s{_vviDimensions = a})++-- | URL to view information about this volume on the Google Books site. (In+-- LITE projection)+vviInfoLink :: Lens' VolumeVolumeInfo (Maybe Text)+vviInfoLink+ = lens _vviInfoLink (\ s a -> s{_vviInfoLink = a})++-- | Publisher of this volume. (In LITE projection.)+vviPublisher :: Lens' VolumeVolumeInfo (Maybe Text)+vviPublisher+ = lens _vviPublisher (\ s a -> s{_vviPublisher = a})++-- | A synopsis of the volume. The text of the description is formatted in+-- HTML and includes simple formatting elements, such as b, i, and br tags.+-- (In LITE projection.)+vviDescription :: Lens' VolumeVolumeInfo (Maybe Text)+vviDescription+ = lens _vviDescription+ (\ s a -> s{_vviDescription = a})++-- | Type of publication of this volume. Possible values are BOOK or+-- MAGAZINE.+vviPrintType :: Lens' VolumeVolumeInfo (Maybe Text)+vviPrintType+ = lens _vviPrintType (\ s a -> s{_vviPrintType = a})++instance FromJSON VolumeVolumeInfo where+ parseJSON+ = withObject "VolumeVolumeInfo"+ (\ o ->+ VolumeVolumeInfo <$>+ (o .:? "imageLinks") <*> (o .:? "averageRating") <*>+ (o .:? "ratingsCount")+ <*> (o .:? "canonicalVolumeLink")+ <*> (o .:? "readingModes")+ <*> (o .:? "industryIdentifiers" .!= mempty)+ <*> (o .:? "printedPageCount")+ <*> (o .:? "mainCategory")+ <*> (o .:? "contentVersion")+ <*> (o .:? "samplePageCount")+ <*> (o .:? "categories" .!= mempty)+ <*> (o .:? "authors" .!= mempty)+ <*> (o .:? "allowAnonLogging")+ <*> (o .:? "subtitle")+ <*> (o .:? "publishedDate")+ <*> (o .:? "maturityRating")+ <*> (o .:? "previewLink")+ <*> (o .:? "language")+ <*> (o .:? "title")+ <*> (o .:? "pageCount")+ <*> (o .:? "dimensions")+ <*> (o .:? "infoLink")+ <*> (o .:? "publisher")+ <*> (o .:? "description")+ <*> (o .:? "printType"))++instance ToJSON VolumeVolumeInfo where+ toJSON VolumeVolumeInfo{..}+ = object+ (catMaybes+ [("imageLinks" .=) <$> _vviImageLinks,+ ("averageRating" .=) <$> _vviAverageRating,+ ("ratingsCount" .=) <$> _vviRatingsCount,+ ("canonicalVolumeLink" .=) <$>+ _vviCanonicalVolumeLink,+ ("readingModes" .=) <$> _vviReadingModes,+ ("industryIdentifiers" .=) <$>+ _vviIndustryIdentifiers,+ ("printedPageCount" .=) <$> _vviPrintedPageCount,+ ("mainCategory" .=) <$> _vviMainCategory,+ ("contentVersion" .=) <$> _vviContentVersion,+ ("samplePageCount" .=) <$> _vviSamplePageCount,+ ("categories" .=) <$> _vviCategories,+ ("authors" .=) <$> _vviAuthors,+ ("allowAnonLogging" .=) <$> _vviAllowAnonLogging,+ ("subtitle" .=) <$> _vviSubtitle,+ ("publishedDate" .=) <$> _vviPublishedDate,+ ("maturityRating" .=) <$> _vviMaturityRating,+ ("previewLink" .=) <$> _vviPreviewLink,+ ("language" .=) <$> _vviLanguage,+ ("title" .=) <$> _vviTitle,+ ("pageCount" .=) <$> _vviPageCount,+ ("dimensions" .=) <$> _vviDimensions,+ ("infoLink" .=) <$> _vviInfoLink,+ ("publisher" .=) <$> _vviPublisher,+ ("description" .=) <$> _vviDescription,+ ("printType" .=) <$> _vviPrintType])++--+-- /See:/ 'metadataItemsItem' smart constructor.+data MetadataItemsItem = MetadataItemsItem+ { _miiSize :: !(Maybe (Textual Int64))+ , _miiVersion :: !(Maybe (Textual Int64))+ , _miiLanguage :: !(Maybe Text)+ , _miiDownloadURL :: !(Maybe Text)+ , _miiEncryptedKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetadataItemsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'miiSize'+--+-- * 'miiVersion'+--+-- * 'miiLanguage'+--+-- * 'miiDownloadURL'+--+-- * 'miiEncryptedKey'+metadataItemsItem+ :: MetadataItemsItem+metadataItemsItem =+ MetadataItemsItem+ { _miiSize = Nothing+ , _miiVersion = Nothing+ , _miiLanguage = Nothing+ , _miiDownloadURL = Nothing+ , _miiEncryptedKey = Nothing+ }++miiSize :: Lens' MetadataItemsItem (Maybe Int64)+miiSize+ = lens _miiSize (\ s a -> s{_miiSize = a}) .+ mapping _Coerce++miiVersion :: Lens' MetadataItemsItem (Maybe Int64)+miiVersion+ = lens _miiVersion (\ s a -> s{_miiVersion = a}) .+ mapping _Coerce++miiLanguage :: Lens' MetadataItemsItem (Maybe Text)+miiLanguage+ = lens _miiLanguage (\ s a -> s{_miiLanguage = a})++miiDownloadURL :: Lens' MetadataItemsItem (Maybe Text)+miiDownloadURL+ = lens _miiDownloadURL+ (\ s a -> s{_miiDownloadURL = a})++miiEncryptedKey :: Lens' MetadataItemsItem (Maybe Text)+miiEncryptedKey+ = lens _miiEncryptedKey+ (\ s a -> s{_miiEncryptedKey = a})++instance FromJSON MetadataItemsItem where+ parseJSON+ = withObject "MetadataItemsItem"+ (\ o ->+ MetadataItemsItem <$>+ (o .:? "size") <*> (o .:? "version") <*>+ (o .:? "language")+ <*> (o .:? "download_url")+ <*> (o .:? "encrypted_key"))++instance ToJSON MetadataItemsItem where+ toJSON MetadataItemsItem{..}+ = object+ (catMaybes+ [("size" .=) <$> _miiSize,+ ("version" .=) <$> _miiVersion,+ ("language" .=) <$> _miiLanguage,+ ("download_url" .=) <$> _miiDownloadURL,+ ("encrypted_key" .=) <$> _miiEncryptedKey])++--+-- /See:/ 'dictlayerDataDictWordsItemSensesItemSource' smart constructor.+data DictlayerDataDictWordsItemSensesItemSource = DictlayerDataDictWordsItemSensesItemSource+ { _dddwisisURL :: !(Maybe Text)+ , _dddwisisAttribution :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictlayerDataDictWordsItemSensesItemSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddwisisURL'+--+-- * 'dddwisisAttribution'+dictlayerDataDictWordsItemSensesItemSource+ :: DictlayerDataDictWordsItemSensesItemSource+dictlayerDataDictWordsItemSensesItemSource =+ DictlayerDataDictWordsItemSensesItemSource+ { _dddwisisURL = Nothing+ , _dddwisisAttribution = Nothing+ }++dddwisisURL :: Lens' DictlayerDataDictWordsItemSensesItemSource (Maybe Text)+dddwisisURL+ = lens _dddwisisURL (\ s a -> s{_dddwisisURL = a})++dddwisisAttribution :: Lens' DictlayerDataDictWordsItemSensesItemSource (Maybe Text)+dddwisisAttribution+ = lens _dddwisisAttribution+ (\ s a -> s{_dddwisisAttribution = a})++instance FromJSON+ DictlayerDataDictWordsItemSensesItemSource where+ parseJSON+ = withObject+ "DictlayerDataDictWordsItemSensesItemSource"+ (\ o ->+ DictlayerDataDictWordsItemSensesItemSource <$>+ (o .:? "url") <*> (o .:? "attribution"))++instance ToJSON+ DictlayerDataDictWordsItemSensesItemSource where+ toJSON DictlayerDataDictWordsItemSensesItemSource{..}+ = object+ (catMaybes+ [("url" .=) <$> _dddwisisURL,+ ("attribution" .=) <$> _dddwisisAttribution])++-- | Offer retail (=discounted) price in Micros+--+-- /See:/ 'volumeSaleInfoOffersItemRetailPrice' smart constructor.+data VolumeSaleInfoOffersItemRetailPrice = VolumeSaleInfoOffersItemRetailPrice+ { _vsioirpCurrencyCode :: !(Maybe Text)+ , _vsioirpAmountInMicros :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeSaleInfoOffersItemRetailPrice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsioirpCurrencyCode'+--+-- * 'vsioirpAmountInMicros'+volumeSaleInfoOffersItemRetailPrice+ :: VolumeSaleInfoOffersItemRetailPrice+volumeSaleInfoOffersItemRetailPrice =+ VolumeSaleInfoOffersItemRetailPrice+ { _vsioirpCurrencyCode = Nothing+ , _vsioirpAmountInMicros = Nothing+ }++vsioirpCurrencyCode :: Lens' VolumeSaleInfoOffersItemRetailPrice (Maybe Text)+vsioirpCurrencyCode+ = lens _vsioirpCurrencyCode+ (\ s a -> s{_vsioirpCurrencyCode = a})++vsioirpAmountInMicros :: Lens' VolumeSaleInfoOffersItemRetailPrice (Maybe Double)+vsioirpAmountInMicros+ = lens _vsioirpAmountInMicros+ (\ s a -> s{_vsioirpAmountInMicros = a})+ . mapping _Coerce++instance FromJSON VolumeSaleInfoOffersItemRetailPrice+ where+ parseJSON+ = withObject "VolumeSaleInfoOffersItemRetailPrice"+ (\ o ->+ VolumeSaleInfoOffersItemRetailPrice <$>+ (o .:? "currencyCode") <*> (o .:? "amountInMicros"))++instance ToJSON VolumeSaleInfoOffersItemRetailPrice+ where+ toJSON VolumeSaleInfoOffersItemRetailPrice{..}+ = object+ (catMaybes+ [("currencyCode" .=) <$> _vsioirpCurrencyCode,+ ("amountInMicros" .=) <$> _vsioirpAmountInMicros])++--+-- /See:/ 'volumeVolumeInfoIndustryIdentifiersItem' smart constructor.+data VolumeVolumeInfoIndustryIdentifiersItem = VolumeVolumeInfoIndustryIdentifiersItem+ { _vviiiiIdentifier :: !(Maybe Text)+ , _vviiiiType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeVolumeInfoIndustryIdentifiersItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vviiiiIdentifier'+--+-- * 'vviiiiType'+volumeVolumeInfoIndustryIdentifiersItem+ :: VolumeVolumeInfoIndustryIdentifiersItem+volumeVolumeInfoIndustryIdentifiersItem =+ VolumeVolumeInfoIndustryIdentifiersItem+ { _vviiiiIdentifier = Nothing+ , _vviiiiType = Nothing+ }++-- | Industry specific volume identifier.+vviiiiIdentifier :: Lens' VolumeVolumeInfoIndustryIdentifiersItem (Maybe Text)+vviiiiIdentifier+ = lens _vviiiiIdentifier+ (\ s a -> s{_vviiiiIdentifier = a})++-- | Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.+vviiiiType :: Lens' VolumeVolumeInfoIndustryIdentifiersItem (Maybe Text)+vviiiiType+ = lens _vviiiiType (\ s a -> s{_vviiiiType = a})++instance FromJSON+ VolumeVolumeInfoIndustryIdentifiersItem where+ parseJSON+ = withObject+ "VolumeVolumeInfoIndustryIdentifiersItem"+ (\ o ->+ VolumeVolumeInfoIndustryIdentifiersItem <$>+ (o .:? "identifier") <*> (o .:? "type"))++instance ToJSON+ VolumeVolumeInfoIndustryIdentifiersItem where+ toJSON VolumeVolumeInfoIndustryIdentifiersItem{..}+ = object+ (catMaybes+ [("identifier" .=) <$> _vviiiiIdentifier,+ ("type" .=) <$> _vviiiiType])++--+-- /See:/ 'booksAnnotationsRange' smart constructor.+data BooksAnnotationsRange = BooksAnnotationsRange+ { _barStartOffSet :: !(Maybe Text)+ , _barEndOffSet :: !(Maybe Text)+ , _barEndPosition :: !(Maybe Text)+ , _barStartPosition :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooksAnnotationsRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'barStartOffSet'+--+-- * 'barEndOffSet'+--+-- * 'barEndPosition'+--+-- * 'barStartPosition'+booksAnnotationsRange+ :: BooksAnnotationsRange+booksAnnotationsRange =+ BooksAnnotationsRange+ { _barStartOffSet = Nothing+ , _barEndOffSet = Nothing+ , _barEndPosition = Nothing+ , _barStartPosition = Nothing+ }++-- | The offset from the starting position.+barStartOffSet :: Lens' BooksAnnotationsRange (Maybe Text)+barStartOffSet+ = lens _barStartOffSet+ (\ s a -> s{_barStartOffSet = a})++-- | The offset from the ending position.+barEndOffSet :: Lens' BooksAnnotationsRange (Maybe Text)+barEndOffSet+ = lens _barEndOffSet (\ s a -> s{_barEndOffSet = a})++-- | The ending position for the range.+barEndPosition :: Lens' BooksAnnotationsRange (Maybe Text)+barEndPosition+ = lens _barEndPosition+ (\ s a -> s{_barEndPosition = a})++-- | The starting position for the range.+barStartPosition :: Lens' BooksAnnotationsRange (Maybe Text)+barStartPosition+ = lens _barStartPosition+ (\ s a -> s{_barStartPosition = a})++instance FromJSON BooksAnnotationsRange where+ parseJSON+ = withObject "BooksAnnotationsRange"+ (\ o ->+ BooksAnnotationsRange <$>+ (o .:? "startOffset") <*> (o .:? "endOffset") <*>+ (o .:? "endPosition")+ <*> (o .:? "startPosition"))++instance ToJSON BooksAnnotationsRange where+ toJSON BooksAnnotationsRange{..}+ = object+ (catMaybes+ [("startOffset" .=) <$> _barStartOffSet,+ ("endOffset" .=) <$> _barEndOffSet,+ ("endPosition" .=) <$> _barEndPosition,+ ("startPosition" .=) <$> _barStartPosition])++--+-- /See:/ 'layersummaries' smart constructor.+data Layersummaries = Layersummaries+ { _layTotalItems :: !(Maybe (Textual Int32))+ , _layKind :: !Text+ , _layItems :: !(Maybe [Layersummary])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Layersummaries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'layTotalItems'+--+-- * 'layKind'+--+-- * 'layItems'+layersummaries+ :: Layersummaries+layersummaries =+ Layersummaries+ { _layTotalItems = Nothing+ , _layKind = "books#layersummaries"+ , _layItems = Nothing+ }++-- | The total number of layer summaries found.+layTotalItems :: Lens' Layersummaries (Maybe Int32)+layTotalItems+ = lens _layTotalItems+ (\ s a -> s{_layTotalItems = a})+ . mapping _Coerce++-- | Resource type.+layKind :: Lens' Layersummaries Text+layKind = lens _layKind (\ s a -> s{_layKind = a})++-- | A list of layer summary items.+layItems :: Lens' Layersummaries [Layersummary]+layItems+ = lens _layItems (\ s a -> s{_layItems = a}) .+ _Default+ . _Coerce++instance FromJSON Layersummaries where+ parseJSON+ = withObject "Layersummaries"+ (\ o ->+ Layersummaries <$>+ (o .:? "totalItems") <*>+ (o .:? "kind" .!= "books#layersummaries")+ <*> (o .:? "items" .!= mempty))++instance ToJSON Layersummaries where+ toJSON Layersummaries{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _layTotalItems,+ Just ("kind" .= _layKind),+ ("items" .=) <$> _layItems])
+ gen/Network/Google/Books/Types/Sum.hs view
@@ -0,0 +1,738 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Books.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.Books.Types.Sum where++import Network.Google.Prelude++-- | Restrict information returned to a set of selected fields.+data VolumesListProjection+ = Full+ -- ^ @full@+ -- Includes all volume data.+ | Lite+ -- ^ @lite@+ -- Includes a subset of fields in volumeInfo and accessInfo.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListProjection++instance FromText VolumesListProjection where+ fromText = \case+ "full" -> Just Full+ "lite" -> Just Lite+ _ -> Nothing++instance ToText VolumesListProjection where+ toText = \case+ Full -> "full"+ Lite -> "lite"++instance FromJSON VolumesListProjection where+ parseJSON = parseJSONText "VolumesListProjection"++instance ToJSON VolumesListProjection where+ toJSON = toJSONText++-- | Restrict information returned to a set of selected fields.+data MyLibraryBookshelvesVolumesListProjection+ = MLBVLPFull+ -- ^ @full@+ -- Includes all volume data.+ | MLBVLPLite+ -- ^ @lite@+ -- Includes a subset of fields in volumeInfo and accessInfo.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyLibraryBookshelvesVolumesListProjection++instance FromText MyLibraryBookshelvesVolumesListProjection where+ fromText = \case+ "full" -> Just MLBVLPFull+ "lite" -> Just MLBVLPLite+ _ -> Nothing++instance ToText MyLibraryBookshelvesVolumesListProjection where+ toText = \case+ MLBVLPFull -> "full"+ MLBVLPLite -> "lite"++instance FromJSON MyLibraryBookshelvesVolumesListProjection where+ parseJSON = parseJSONText "MyLibraryBookshelvesVolumesListProjection"++instance ToJSON MyLibraryBookshelvesVolumesListProjection where+ toJSON = toJSONText++-- | Sort search results.+data VolumesListOrderBy+ = Newest+ -- ^ @newest@+ -- Most recently published.+ | Relevance+ -- ^ @relevance@+ -- Relevance to search terms.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListOrderBy++instance FromText VolumesListOrderBy where+ fromText = \case+ "newest" -> Just Newest+ "relevance" -> Just Relevance+ _ -> Nothing++instance ToText VolumesListOrderBy where+ toText = \case+ Newest -> "newest"+ Relevance -> "relevance"++instance FromJSON VolumesListOrderBy where+ parseJSON = parseJSONText "VolumesListOrderBy"++instance ToJSON VolumesListOrderBy where+ toJSON = toJSONText++-- | Restrict search to this user\'s library.+data VolumesListLibraryRestrict+ = MyLibrary+ -- ^ @my-library@+ -- Restrict to the user\'s library, any shelf.+ | NoRestrict+ -- ^ @no-restrict@+ -- Do not restrict based on user\'s library.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListLibraryRestrict++instance FromText VolumesListLibraryRestrict where+ fromText = \case+ "my-library" -> Just MyLibrary+ "no-restrict" -> Just NoRestrict+ _ -> Nothing++instance ToText VolumesListLibraryRestrict where+ toText = \case+ MyLibrary -> "my-library"+ NoRestrict -> "no-restrict"++instance FromJSON VolumesListLibraryRestrict where+ parseJSON = parseJSONText "VolumesListLibraryRestrict"++instance ToJSON VolumesListLibraryRestrict where+ toJSON = toJSONText++-- | The reason for which the book is removed from the library.+data MyLibraryBookshelvesRemoveVolumeReason+ = Onboarding+ -- ^ @ONBOARDING@+ -- Samples removed from the Onboarding flow.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyLibraryBookshelvesRemoveVolumeReason++instance FromText MyLibraryBookshelvesRemoveVolumeReason where+ fromText = \case+ "ONBOARDING" -> Just Onboarding+ _ -> Nothing++instance ToText MyLibraryBookshelvesRemoveVolumeReason where+ toText = \case+ Onboarding -> "ONBOARDING"++instance FromJSON MyLibraryBookshelvesRemoveVolumeReason where+ parseJSON = parseJSONText "MyLibraryBookshelvesRemoveVolumeReason"++instance ToJSON MyLibraryBookshelvesRemoveVolumeReason where+ toJSON = toJSONText++-- | The maximum allowed maturity rating of returned volumes. Books with a+-- higher maturity rating are filtered out.+data OnboardingListCategoryVolumesMaxAllowedMaturityRating+ = Mature+ -- ^ @mature@+ -- Show books which are rated mature or lower.+ | NotMature+ -- ^ @not-mature@+ -- Show books which are rated not mature.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable OnboardingListCategoryVolumesMaxAllowedMaturityRating++instance FromText OnboardingListCategoryVolumesMaxAllowedMaturityRating where+ fromText = \case+ "mature" -> Just Mature+ "not-mature" -> Just NotMature+ _ -> Nothing++instance ToText OnboardingListCategoryVolumesMaxAllowedMaturityRating where+ toText = \case+ Mature -> "mature"+ NotMature -> "not-mature"++instance FromJSON OnboardingListCategoryVolumesMaxAllowedMaturityRating where+ parseJSON = parseJSONText "OnboardingListCategoryVolumesMaxAllowedMaturityRating"++instance ToJSON OnboardingListCategoryVolumesMaxAllowedMaturityRating where+ toJSON = toJSONText++-- | Restrict to volumes by download availability.+data VolumesListDownload+ = Epub+ -- ^ @epub@+ -- All volumes with epub.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListDownload++instance FromText VolumesListDownload where+ fromText = \case+ "epub" -> Just Epub+ _ -> Nothing++instance ToText VolumesListDownload where+ toText = \case+ Epub -> "epub"++instance FromJSON VolumesListDownload where+ parseJSON = parseJSONText "VolumesListDownload"++instance ToJSON VolumesListDownload where+ toJSON = toJSONText++-- | Restrict information returned to a set of selected fields.+data VolumesGetProjection+ = VGPFull+ -- ^ @full@+ -- Includes all volume data.+ | VGPLite+ -- ^ @lite@+ -- Includes a subset of fields in volumeInfo and accessInfo.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesGetProjection++instance FromText VolumesGetProjection where+ fromText = \case+ "full" -> Just VGPFull+ "lite" -> Just VGPLite+ _ -> Nothing++instance ToText VolumesGetProjection where+ toText = \case+ VGPFull -> "full"+ VGPLite -> "lite"++instance FromJSON VolumesGetProjection where+ parseJSON = parseJSONText "VolumesGetProjection"++instance ToJSON VolumesGetProjection where+ toJSON = toJSONText++-- | Association type.+data VolumesAssociatedListAssociation+ = EndOfSample+ -- ^ @end-of-sample@+ -- Recommendations for display end-of-sample.+ | EndOfVolume+ -- ^ @end-of-volume@+ -- Recommendations for display end-of-volume.+ | RelatedForPlay+ -- ^ @related-for-play@+ -- Related volumes for Play Store.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesAssociatedListAssociation++instance FromText VolumesAssociatedListAssociation where+ fromText = \case+ "end-of-sample" -> Just EndOfSample+ "end-of-volume" -> Just EndOfVolume+ "related-for-play" -> Just RelatedForPlay+ _ -> Nothing++instance ToText VolumesAssociatedListAssociation where+ toText = \case+ EndOfSample -> "end-of-sample"+ EndOfVolume -> "end-of-volume"+ RelatedForPlay -> "related-for-play"++instance FromJSON VolumesAssociatedListAssociation where+ parseJSON = parseJSONText "VolumesAssociatedListAssociation"++instance ToJSON VolumesAssociatedListAssociation where+ toJSON = toJSONText++-- | Rating to be given to the volume.+data VolumesRecommendedRateRating+ = HaveIt+ -- ^ @HAVE_IT@+ -- Rating indicating a dismissal due to ownership.+ | NotInterested+ -- ^ @NOT_INTERESTED@+ -- Rating indicating a negative dismissal of a volume.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesRecommendedRateRating++instance FromText VolumesRecommendedRateRating where+ fromText = \case+ "HAVE_IT" -> Just HaveIt+ "NOT_INTERESTED" -> Just NotInterested+ _ -> Nothing++instance ToText VolumesRecommendedRateRating where+ toText = \case+ HaveIt -> "HAVE_IT"+ NotInterested -> "NOT_INTERESTED"++instance FromJSON VolumesRecommendedRateRating where+ parseJSON = parseJSONText "VolumesRecommendedRateRating"++instance ToJSON VolumesRecommendedRateRating where+ toJSON = toJSONText++-- | The processing state of the user uploaded volumes to be returned.+data VolumesUserUploadedListProcessingState+ = CompletedFailed+ -- ^ @COMPLETED_FAILED@+ -- The volume processing hase failed.+ | CompletedSuccess+ -- ^ @COMPLETED_SUCCESS@+ -- The volume processing was completed.+ | Running+ -- ^ @RUNNING@+ -- The volume processing is not completed.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesUserUploadedListProcessingState++instance FromText VolumesUserUploadedListProcessingState where+ fromText = \case+ "COMPLETED_FAILED" -> Just CompletedFailed+ "COMPLETED_SUCCESS" -> Just CompletedSuccess+ "RUNNING" -> Just Running+ _ -> Nothing++instance ToText VolumesUserUploadedListProcessingState where+ toText = \case+ CompletedFailed -> "COMPLETED_FAILED"+ CompletedSuccess -> "COMPLETED_SUCCESS"+ Running -> "RUNNING"++instance FromJSON VolumesUserUploadedListProcessingState where+ parseJSON = parseJSONText "VolumesUserUploadedListProcessingState"++instance ToJSON VolumesUserUploadedListProcessingState where+ toJSON = toJSONText++-- | List of features supported by the client, i.e., \'RENTALS\'+data MyConfigSyncVolumeLicensesFeatures+ = Rentals+ -- ^ @RENTALS@+ -- Client supports rentals.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyConfigSyncVolumeLicensesFeatures++instance FromText MyConfigSyncVolumeLicensesFeatures where+ fromText = \case+ "RENTALS" -> Just Rentals+ _ -> Nothing++instance ToText MyConfigSyncVolumeLicensesFeatures where+ toText = \case+ Rentals -> "RENTALS"++instance FromJSON MyConfigSyncVolumeLicensesFeatures where+ parseJSON = parseJSONText "MyConfigSyncVolumeLicensesFeatures"++instance ToJSON MyConfigSyncVolumeLicensesFeatures where+ toJSON = toJSONText++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+data VolumesAssociatedListMaxAllowedMaturityRating+ = VALMAMRMature+ -- ^ @mature@+ -- Show books which are rated mature or lower.+ | VALMAMRNotMature+ -- ^ @not-mature@+ -- Show books which are rated not mature.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesAssociatedListMaxAllowedMaturityRating++instance FromText VolumesAssociatedListMaxAllowedMaturityRating where+ fromText = \case+ "mature" -> Just VALMAMRMature+ "not-mature" -> Just VALMAMRNotMature+ _ -> Nothing++instance ToText VolumesAssociatedListMaxAllowedMaturityRating where+ toText = \case+ VALMAMRMature -> "mature"+ VALMAMRNotMature -> "not-mature"++instance FromJSON VolumesAssociatedListMaxAllowedMaturityRating where+ parseJSON = parseJSONText "VolumesAssociatedListMaxAllowedMaturityRating"++instance ToJSON VolumesAssociatedListMaxAllowedMaturityRating where+ toJSON = toJSONText++-- | Filter search results.+data VolumesListFilter+ = VLFEbooks+ -- ^ @ebooks@+ -- All Google eBooks.+ | VLFFreeEbooks+ -- ^ @free-ebooks@+ -- Google eBook with full volume text viewability.+ | VLFFull+ -- ^ @full@+ -- Public can view entire volume text.+ | VLFPaidEbooks+ -- ^ @paid-ebooks@+ -- Google eBook with a price.+ | VLFPartial+ -- ^ @partial@+ -- Public able to see parts of text.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListFilter++instance FromText VolumesListFilter where+ fromText = \case+ "ebooks" -> Just VLFEbooks+ "free-ebooks" -> Just VLFFreeEbooks+ "full" -> Just VLFFull+ "paid-ebooks" -> Just VLFPaidEbooks+ "partial" -> Just VLFPartial+ _ -> Nothing++instance ToText VolumesListFilter where+ toText = \case+ VLFEbooks -> "ebooks"+ VLFFreeEbooks -> "free-ebooks"+ VLFFull -> "full"+ VLFPaidEbooks -> "paid-ebooks"+ VLFPartial -> "partial"++instance FromJSON VolumesListFilter where+ parseJSON = parseJSONText "VolumesListFilter"++instance ToJSON VolumesListFilter where+ toJSON = toJSONText++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+data VolumesRecommendedListMaxAllowedMaturityRating+ = VRLMAMRMature+ -- ^ @mature@+ -- Show books which are rated mature or lower.+ | VRLMAMRNotMature+ -- ^ @not-mature@+ -- Show books which are rated not mature.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesRecommendedListMaxAllowedMaturityRating++instance FromText VolumesRecommendedListMaxAllowedMaturityRating where+ fromText = \case+ "mature" -> Just VRLMAMRMature+ "not-mature" -> Just VRLMAMRNotMature+ _ -> Nothing++instance ToText VolumesRecommendedListMaxAllowedMaturityRating where+ toText = \case+ VRLMAMRMature -> "mature"+ VRLMAMRNotMature -> "not-mature"++instance FromJSON VolumesRecommendedListMaxAllowedMaturityRating where+ parseJSON = parseJSONText "VolumesRecommendedListMaxAllowedMaturityRating"++instance ToJSON VolumesRecommendedListMaxAllowedMaturityRating where+ toJSON = toJSONText++-- | The reason for which the book is added to the library.+data MyLibraryBookshelvesAddVolumeReason+ = MLBAVRIosPrex+ -- ^ @IOS_PREX@+ -- Volumes added from the PREX flow on iOS.+ | MLBAVRIosSearch+ -- ^ @IOS_SEARCH@+ -- Volumes added from the Search flow on iOS.+ | MLBAVROnboarding+ -- ^ @ONBOARDING@+ -- Volumes added from the Onboarding flow.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyLibraryBookshelvesAddVolumeReason++instance FromText MyLibraryBookshelvesAddVolumeReason where+ fromText = \case+ "IOS_PREX" -> Just MLBAVRIosPrex+ "IOS_SEARCH" -> Just MLBAVRIosSearch+ "ONBOARDING" -> Just MLBAVROnboarding+ _ -> Nothing++instance ToText MyLibraryBookshelvesAddVolumeReason where+ toText = \case+ MLBAVRIosPrex -> "IOS_PREX"+ MLBAVRIosSearch -> "IOS_SEARCH"+ MLBAVROnboarding -> "ONBOARDING"++instance FromJSON MyLibraryBookshelvesAddVolumeReason where+ parseJSON = parseJSONText "MyLibraryBookshelvesAddVolumeReason"++instance ToJSON MyLibraryBookshelvesAddVolumeReason where+ toJSON = toJSONText++-- | How the book was aquired+data VolumesMybooksListAcquireMethod+ = PreOrdered+ -- ^ @PREORDERED@+ -- Preordered books (not yet available)+ | PreviouslyRented+ -- ^ @PREVIOUSLY_RENTED@+ -- User-rented books past their expiration time+ | PublicDomain+ -- ^ @PUBLIC_DOMAIN@+ -- Public domain books+ | Purchased+ -- ^ @PURCHASED@+ -- Purchased books+ | Rented+ -- ^ @RENTED@+ -- User-rented books+ | Sample+ -- ^ @SAMPLE@+ -- Sample books+ | Uploaded+ -- ^ @UPLOADED@+ -- User uploaded books+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesMybooksListAcquireMethod++instance FromText VolumesMybooksListAcquireMethod where+ fromText = \case+ "PREORDERED" -> Just PreOrdered+ "PREVIOUSLY_RENTED" -> Just PreviouslyRented+ "PUBLIC_DOMAIN" -> Just PublicDomain+ "PURCHASED" -> Just Purchased+ "RENTED" -> Just Rented+ "SAMPLE" -> Just Sample+ "UPLOADED" -> Just Uploaded+ _ -> Nothing++instance ToText VolumesMybooksListAcquireMethod where+ toText = \case+ PreOrdered -> "PREORDERED"+ PreviouslyRented -> "PREVIOUSLY_RENTED"+ PublicDomain -> "PUBLIC_DOMAIN"+ Purchased -> "PURCHASED"+ Rented -> "RENTED"+ Sample -> "SAMPLE"+ Uploaded -> "UPLOADED"++instance FromJSON VolumesMybooksListAcquireMethod where+ parseJSON = parseJSONText "VolumesMybooksListAcquireMethod"++instance ToJSON VolumesMybooksListAcquireMethod where+ toJSON = toJSONText++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+data PersonalizedstreamGetMaxAllowedMaturityRating+ = PGMAMRMature+ -- ^ @mature@+ -- Show books which are rated mature or lower.+ | PGMAMRNotMature+ -- ^ @not-mature@+ -- Show books which are rated not mature.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PersonalizedstreamGetMaxAllowedMaturityRating++instance FromText PersonalizedstreamGetMaxAllowedMaturityRating where+ fromText = \case+ "mature" -> Just PGMAMRMature+ "not-mature" -> Just PGMAMRNotMature+ _ -> Nothing++instance ToText PersonalizedstreamGetMaxAllowedMaturityRating where+ toText = \case+ PGMAMRMature -> "mature"+ PGMAMRNotMature -> "not-mature"++instance FromJSON PersonalizedstreamGetMaxAllowedMaturityRating where+ parseJSON = parseJSONText "PersonalizedstreamGetMaxAllowedMaturityRating"++instance ToJSON PersonalizedstreamGetMaxAllowedMaturityRating where+ toJSON = toJSONText++-- | Restrict to books or magazines.+data VolumesListPrintType+ = All+ -- ^ @all@+ -- All volume content types.+ | Books+ -- ^ @books@+ -- Just books.+ | Magazines+ -- ^ @magazines@+ -- Just magazines.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesListPrintType++instance FromText VolumesListPrintType where+ fromText = \case+ "all" -> Just All+ "books" -> Just Books+ "magazines" -> Just Magazines+ _ -> Nothing++instance ToText VolumesListPrintType where+ toText = \case+ All -> "all"+ Books -> "books"+ Magazines -> "magazines"++instance FromJSON VolumesListPrintType where+ parseJSON = parseJSONText "VolumesListPrintType"++instance ToJSON VolumesListPrintType where+ toJSON = toJSONText++-- | The processing state of the user uploaded volumes to be returned.+-- Applicable only if the UPLOADED is specified in the acquireMethod.+data VolumesMybooksListProcessingState+ = VMLPSCompletedFailed+ -- ^ @COMPLETED_FAILED@+ -- The volume processing hase failed.+ | VMLPSCompletedSuccess+ -- ^ @COMPLETED_SUCCESS@+ -- The volume processing was completed.+ | VMLPSRunning+ -- ^ @RUNNING@+ -- The volume processing is not completed.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable VolumesMybooksListProcessingState++instance FromText VolumesMybooksListProcessingState where+ fromText = \case+ "COMPLETED_FAILED" -> Just VMLPSCompletedFailed+ "COMPLETED_SUCCESS" -> Just VMLPSCompletedSuccess+ "RUNNING" -> Just VMLPSRunning+ _ -> Nothing++instance ToText VolumesMybooksListProcessingState where+ toText = \case+ VMLPSCompletedFailed -> "COMPLETED_FAILED"+ VMLPSCompletedSuccess -> "COMPLETED_SUCCESS"+ VMLPSRunning -> "RUNNING"++instance FromJSON VolumesMybooksListProcessingState where+ parseJSON = parseJSONText "VolumesMybooksListProcessingState"++instance ToJSON VolumesMybooksListProcessingState where+ toJSON = toJSONText++-- | The type of access license to request. If not specified, the default is+-- BOTH.+data MyConfigRequestAccessLicenseTypes+ = Both+ -- ^ @BOTH@+ -- Both concurrent and download licenses.+ | Concurrent+ -- ^ @CONCURRENT@+ -- Concurrent access license.+ | Download+ -- ^ @DOWNLOAD@+ -- Offline download access license.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyConfigRequestAccessLicenseTypes++instance FromText MyConfigRequestAccessLicenseTypes where+ fromText = \case+ "BOTH" -> Just Both+ "CONCURRENT" -> Just Concurrent+ "DOWNLOAD" -> Just Download+ _ -> Nothing++instance ToText MyConfigRequestAccessLicenseTypes where+ toText = \case+ Both -> "BOTH"+ Concurrent -> "CONCURRENT"+ Download -> "DOWNLOAD"++instance FromJSON MyConfigRequestAccessLicenseTypes where+ parseJSON = parseJSONText "MyConfigRequestAccessLicenseTypes"++instance ToJSON MyConfigRequestAccessLicenseTypes where+ toJSON = toJSONText++-- | Action that caused this reading position to be set.+data MyLibraryReadingPositionsSetPositionAction+ = Bookmark+ -- ^ @bookmark@+ -- User chose bookmark within volume.+ | Chapter+ -- ^ @chapter@+ -- User selected chapter from list.+ | NextPage+ -- ^ @next-page@+ -- Next page event.+ | PrevPage+ -- ^ @prev-page@+ -- Previous page event.+ | Scroll+ -- ^ @scroll@+ -- User navigated to page.+ | Search+ -- ^ @search@+ -- User chose search results within volume.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable MyLibraryReadingPositionsSetPositionAction++instance FromText MyLibraryReadingPositionsSetPositionAction where+ fromText = \case+ "bookmark" -> Just Bookmark+ "chapter" -> Just Chapter+ "next-page" -> Just NextPage+ "prev-page" -> Just PrevPage+ "scroll" -> Just Scroll+ "search" -> Just Search+ _ -> Nothing++instance ToText MyLibraryReadingPositionsSetPositionAction where+ toText = \case+ Bookmark -> "bookmark"+ Chapter -> "chapter"+ NextPage -> "next-page"+ PrevPage -> "prev-page"+ Scroll -> "scroll"+ Search -> "search"++instance FromJSON MyLibraryReadingPositionsSetPositionAction where+ parseJSON = parseJSONText "MyLibraryReadingPositionsSetPositionAction"++instance ToJSON MyLibraryReadingPositionsSetPositionAction where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Books/Bookshelves/Get.hs view
@@ -0,0 +1,104 @@+{-# 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.Books.Bookshelves.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)+--+-- Retrieves metadata for a specific bookshelf for the specified user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.bookshelves.get@.+module Network.Google.Resource.Books.Bookshelves.Get+ (+ -- * REST Resource+ BookshelvesGetResource++ -- * Creating a Request+ , bookshelvesGet+ , BookshelvesGet++ -- * Request Lenses+ , bgUserId+ , bgShelf+ , bgSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.bookshelves.get@ method which the+-- 'BookshelvesGet' request conforms to.+type BookshelvesGetResource =+ "books" :>+ "v1" :>+ "users" :>+ Capture "userId" Text :>+ "bookshelves" :>+ Capture "shelf" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Bookshelf++-- | Retrieves metadata for a specific bookshelf for the specified user.+--+-- /See:/ 'bookshelvesGet' smart constructor.+data BookshelvesGet = BookshelvesGet+ { _bgUserId :: !Text+ , _bgShelf :: !Text+ , _bgSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BookshelvesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgUserId'+--+-- * 'bgShelf'+--+-- * 'bgSource'+bookshelvesGet+ :: Text -- ^ 'bgUserId'+ -> Text -- ^ 'bgShelf'+ -> BookshelvesGet+bookshelvesGet pBgUserId_ pBgShelf_ =+ BookshelvesGet+ { _bgUserId = pBgUserId_+ , _bgShelf = pBgShelf_+ , _bgSource = Nothing+ }++-- | ID of user for whom to retrieve bookshelves.+bgUserId :: Lens' BookshelvesGet Text+bgUserId = lens _bgUserId (\ s a -> s{_bgUserId = a})++-- | ID of bookshelf to retrieve.+bgShelf :: Lens' BookshelvesGet Text+bgShelf = lens _bgShelf (\ s a -> s{_bgShelf = a})++-- | String to identify the originator of this request.+bgSource :: Lens' BookshelvesGet (Maybe Text)+bgSource = lens _bgSource (\ s a -> s{_bgSource = a})++instance GoogleRequest BookshelvesGet where+ type Rs BookshelvesGet = Bookshelf+ requestClient BookshelvesGet{..}+ = go _bgUserId _bgShelf _bgSource (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy BookshelvesGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Bookshelves/List.hs view
@@ -0,0 +1,93 @@+{-# 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.Books.Bookshelves.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)+--+-- Retrieves a list of public bookshelves for the specified user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.bookshelves.list@.+module Network.Google.Resource.Books.Bookshelves.List+ (+ -- * REST Resource+ BookshelvesListResource++ -- * Creating a Request+ , bookshelvesList+ , BookshelvesList++ -- * Request Lenses+ , blUserId+ , blSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.bookshelves.list@ method which the+-- 'BookshelvesList' request conforms to.+type BookshelvesListResource =+ "books" :>+ "v1" :>+ "users" :>+ Capture "userId" Text :>+ "bookshelves" :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Bookshelves++-- | Retrieves a list of public bookshelves for the specified user.+--+-- /See:/ 'bookshelvesList' smart constructor.+data BookshelvesList = BookshelvesList+ { _blUserId :: !Text+ , _blSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BookshelvesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blUserId'+--+-- * 'blSource'+bookshelvesList+ :: Text -- ^ 'blUserId'+ -> BookshelvesList+bookshelvesList pBlUserId_ =+ BookshelvesList+ { _blUserId = pBlUserId_+ , _blSource = Nothing+ }++-- | ID of user for whom to retrieve bookshelves.+blUserId :: Lens' BookshelvesList Text+blUserId = lens _blUserId (\ s a -> s{_blUserId = a})++-- | String to identify the originator of this request.+blSource :: Lens' BookshelvesList (Maybe Text)+blSource = lens _blSource (\ s a -> s{_blSource = a})++instance GoogleRequest BookshelvesList where+ type Rs BookshelvesList = Bookshelves+ requestClient BookshelvesList{..}+ = go _blUserId _blSource (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy :: Proxy BookshelvesListResource)+ mempty
+ gen/Network/Google/Resource/Books/Bookshelves/Volumes/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.Books.Bookshelves.Volumes.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)+--+-- Retrieves volumes in a specific bookshelf for the specified user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.bookshelves.volumes.list@.+module Network.Google.Resource.Books.Bookshelves.Volumes.List+ (+ -- * REST Resource+ BookshelvesVolumesListResource++ -- * Creating a Request+ , bookshelvesVolumesList+ , BookshelvesVolumesList++ -- * Request Lenses+ , bvlUserId+ , bvlShelf+ , bvlSource+ , bvlStartIndex+ , bvlMaxResults+ , bvlShowPreOrders+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.bookshelves.volumes.list@ method which the+-- 'BookshelvesVolumesList' request conforms to.+type BookshelvesVolumesListResource =+ "books" :>+ "v1" :>+ "users" :>+ Capture "userId" Text :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "volumes" :>+ QueryParam "source" Text :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "showPreorders" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Retrieves volumes in a specific bookshelf for the specified user.+--+-- /See:/ 'bookshelvesVolumesList' smart constructor.+data BookshelvesVolumesList = BookshelvesVolumesList+ { _bvlUserId :: !Text+ , _bvlShelf :: !Text+ , _bvlSource :: !(Maybe Text)+ , _bvlStartIndex :: !(Maybe (Textual Word32))+ , _bvlMaxResults :: !(Maybe (Textual Word32))+ , _bvlShowPreOrders :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BookshelvesVolumesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bvlUserId'+--+-- * 'bvlShelf'+--+-- * 'bvlSource'+--+-- * 'bvlStartIndex'+--+-- * 'bvlMaxResults'+--+-- * 'bvlShowPreOrders'+bookshelvesVolumesList+ :: Text -- ^ 'bvlUserId'+ -> Text -- ^ 'bvlShelf'+ -> BookshelvesVolumesList+bookshelvesVolumesList pBvlUserId_ pBvlShelf_ =+ BookshelvesVolumesList+ { _bvlUserId = pBvlUserId_+ , _bvlShelf = pBvlShelf_+ , _bvlSource = Nothing+ , _bvlStartIndex = Nothing+ , _bvlMaxResults = Nothing+ , _bvlShowPreOrders = Nothing+ }++-- | ID of user for whom to retrieve bookshelf volumes.+bvlUserId :: Lens' BookshelvesVolumesList Text+bvlUserId+ = lens _bvlUserId (\ s a -> s{_bvlUserId = a})++-- | ID of bookshelf to retrieve volumes.+bvlShelf :: Lens' BookshelvesVolumesList Text+bvlShelf = lens _bvlShelf (\ s a -> s{_bvlShelf = a})++-- | String to identify the originator of this request.+bvlSource :: Lens' BookshelvesVolumesList (Maybe Text)+bvlSource+ = lens _bvlSource (\ s a -> s{_bvlSource = a})++-- | Index of the first element to return (starts at 0)+bvlStartIndex :: Lens' BookshelvesVolumesList (Maybe Word32)+bvlStartIndex+ = lens _bvlStartIndex+ (\ s a -> s{_bvlStartIndex = a})+ . mapping _Coerce++-- | Maximum number of results to return+bvlMaxResults :: Lens' BookshelvesVolumesList (Maybe Word32)+bvlMaxResults+ = lens _bvlMaxResults+ (\ s a -> s{_bvlMaxResults = a})+ . mapping _Coerce++-- | Set to true to show pre-ordered books. Defaults to false.+bvlShowPreOrders :: Lens' BookshelvesVolumesList (Maybe Bool)+bvlShowPreOrders+ = lens _bvlShowPreOrders+ (\ s a -> s{_bvlShowPreOrders = a})++instance GoogleRequest BookshelvesVolumesList where+ type Rs BookshelvesVolumesList = Volumes+ requestClient BookshelvesVolumesList{..}+ = go _bvlUserId _bvlShelf _bvlSource _bvlStartIndex+ _bvlMaxResults+ _bvlShowPreOrders+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy BookshelvesVolumesListResource)+ mempty
+ gen/Network/Google/Resource/Books/CloudLoading/AddBook.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.Books.CloudLoading.AddBook+-- 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)+--+-- -- |+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.cloudloading.addBook@.+module Network.Google.Resource.Books.CloudLoading.AddBook+ (+ -- * REST Resource+ CloudLoadingAddBookResource++ -- * Creating a Request+ , cloudLoadingAddBook+ , CloudLoadingAddBook++ -- * Request Lenses+ , clabMimeType+ , clabUploadClientToken+ , clabName+ , clabDriveDocumentId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.cloudloading.addBook@ method which the+-- 'CloudLoadingAddBook' request conforms to.+type CloudLoadingAddBookResource =+ "books" :>+ "v1" :>+ "cloudloading" :>+ "addBook" :>+ QueryParam "mime_type" Text :>+ QueryParam "upload_client_token" Text :>+ QueryParam "name" Text :>+ QueryParam "drive_document_id" Text :>+ QueryParam "alt" AltJSON :>+ Post '[JSON] BooksCloudLoadingResource++-- |+--+-- /See:/ 'cloudLoadingAddBook' smart constructor.+data CloudLoadingAddBook = CloudLoadingAddBook+ { _clabMimeType :: !(Maybe Text)+ , _clabUploadClientToken :: !(Maybe Text)+ , _clabName :: !(Maybe Text)+ , _clabDriveDocumentId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudLoadingAddBook' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clabMimeType'+--+-- * 'clabUploadClientToken'+--+-- * 'clabName'+--+-- * 'clabDriveDocumentId'+cloudLoadingAddBook+ :: CloudLoadingAddBook+cloudLoadingAddBook =+ CloudLoadingAddBook+ { _clabMimeType = Nothing+ , _clabUploadClientToken = Nothing+ , _clabName = Nothing+ , _clabDriveDocumentId = Nothing+ }++-- | The document MIME type. It can be set only if the drive_document_id is+-- set.+clabMimeType :: Lens' CloudLoadingAddBook (Maybe Text)+clabMimeType+ = lens _clabMimeType (\ s a -> s{_clabMimeType = a})++clabUploadClientToken :: Lens' CloudLoadingAddBook (Maybe Text)+clabUploadClientToken+ = lens _clabUploadClientToken+ (\ s a -> s{_clabUploadClientToken = a})++-- | The document name. It can be set only if the drive_document_id is set.+clabName :: Lens' CloudLoadingAddBook (Maybe Text)+clabName = lens _clabName (\ s a -> s{_clabName = a})++-- | A drive document id. The upload_client_token must not be set.+clabDriveDocumentId :: Lens' CloudLoadingAddBook (Maybe Text)+clabDriveDocumentId+ = lens _clabDriveDocumentId+ (\ s a -> s{_clabDriveDocumentId = a})++instance GoogleRequest CloudLoadingAddBook where+ type Rs CloudLoadingAddBook =+ BooksCloudLoadingResource+ requestClient CloudLoadingAddBook{..}+ = go _clabMimeType _clabUploadClientToken _clabName+ _clabDriveDocumentId+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy CloudLoadingAddBookResource)+ mempty
+ gen/Network/Google/Resource/Books/CloudLoading/DeleteBook.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.Books.CloudLoading.DeleteBook+-- 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)+--+-- Remove the book and its contents+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.cloudloading.deleteBook@.+module Network.Google.Resource.Books.CloudLoading.DeleteBook+ (+ -- * REST Resource+ CloudLoadingDeleteBookResource++ -- * Creating a Request+ , cloudLoadingDeleteBook+ , CloudLoadingDeleteBook++ -- * Request Lenses+ , cldbVolumeId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.cloudloading.deleteBook@ method which the+-- 'CloudLoadingDeleteBook' request conforms to.+type CloudLoadingDeleteBookResource =+ "books" :>+ "v1" :>+ "cloudloading" :>+ "deleteBook" :>+ QueryParam "volumeId" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Remove the book and its contents+--+-- /See:/ 'cloudLoadingDeleteBook' smart constructor.+newtype CloudLoadingDeleteBook = CloudLoadingDeleteBook+ { _cldbVolumeId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudLoadingDeleteBook' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldbVolumeId'+cloudLoadingDeleteBook+ :: Text -- ^ 'cldbVolumeId'+ -> CloudLoadingDeleteBook+cloudLoadingDeleteBook pCldbVolumeId_ =+ CloudLoadingDeleteBook+ { _cldbVolumeId = pCldbVolumeId_+ }++-- | The id of the book to be removed.+cldbVolumeId :: Lens' CloudLoadingDeleteBook Text+cldbVolumeId+ = lens _cldbVolumeId (\ s a -> s{_cldbVolumeId = a})++instance GoogleRequest CloudLoadingDeleteBook where+ type Rs CloudLoadingDeleteBook = ()+ requestClient CloudLoadingDeleteBook{..}+ = go (Just _cldbVolumeId) (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy :: Proxy CloudLoadingDeleteBookResource)+ mempty
+ gen/Network/Google/Resource/Books/CloudLoading/UpdateBook.hs view
@@ -0,0 +1,86 @@+{-# 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.Books.CloudLoading.UpdateBook+-- 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)+--+-- -- |+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.cloudloading.updateBook@.+module Network.Google.Resource.Books.CloudLoading.UpdateBook+ (+ -- * REST Resource+ CloudLoadingUpdateBookResource++ -- * Creating a Request+ , cloudLoadingUpdateBook+ , CloudLoadingUpdateBook++ -- * Request Lenses+ , clubPayload+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.cloudloading.updateBook@ method which the+-- 'CloudLoadingUpdateBook' request conforms to.+type CloudLoadingUpdateBookResource =+ "books" :>+ "v1" :>+ "cloudloading" :>+ "updateBook" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BooksCloudLoadingResource :>+ Post '[JSON] BooksCloudLoadingResource++-- |+--+-- /See:/ 'cloudLoadingUpdateBook' smart constructor.+newtype CloudLoadingUpdateBook = CloudLoadingUpdateBook+ { _clubPayload :: BooksCloudLoadingResource+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudLoadingUpdateBook' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clubPayload'+cloudLoadingUpdateBook+ :: BooksCloudLoadingResource -- ^ 'clubPayload'+ -> CloudLoadingUpdateBook+cloudLoadingUpdateBook pClubPayload_ =+ CloudLoadingUpdateBook+ { _clubPayload = pClubPayload_+ }++-- | Multipart request metadata.+clubPayload :: Lens' CloudLoadingUpdateBook BooksCloudLoadingResource+clubPayload+ = lens _clubPayload (\ s a -> s{_clubPayload = a})++instance GoogleRequest CloudLoadingUpdateBook where+ type Rs CloudLoadingUpdateBook =+ BooksCloudLoadingResource+ requestClient CloudLoadingUpdateBook{..}+ = go (Just AltJSON) _clubPayload booksService+ where go+ = buildClient+ (Proxy :: Proxy CloudLoadingUpdateBookResource)+ mempty
+ gen/Network/Google/Resource/Books/Dictionary/ListOfflineMetadata.hs view
@@ -0,0 +1,86 @@+{-# 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.Books.Dictionary.ListOfflineMetadata+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of offline dictionary metadata available+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.dictionary.listOfflineMetadata@.+module Network.Google.Resource.Books.Dictionary.ListOfflineMetadata+ (+ -- * REST Resource+ DictionaryListOfflineMetadataResource++ -- * Creating a Request+ , dictionaryListOfflineMetadata+ , DictionaryListOfflineMetadata++ -- * Request Lenses+ , dlomCpksver+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.dictionary.listOfflineMetadata@ method which the+-- 'DictionaryListOfflineMetadata' request conforms to.+type DictionaryListOfflineMetadataResource =+ "books" :>+ "v1" :>+ "dictionary" :>+ "listOfflineMetadata" :>+ QueryParam "cpksver" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Metadata++-- | Returns a list of offline dictionary metadata available+--+-- /See:/ 'dictionaryListOfflineMetadata' smart constructor.+newtype DictionaryListOfflineMetadata = DictionaryListOfflineMetadata+ { _dlomCpksver :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DictionaryListOfflineMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlomCpksver'+dictionaryListOfflineMetadata+ :: Text -- ^ 'dlomCpksver'+ -> DictionaryListOfflineMetadata+dictionaryListOfflineMetadata pDlomCpksver_ =+ DictionaryListOfflineMetadata+ { _dlomCpksver = pDlomCpksver_+ }++-- | The device\/version ID from which to request the data.+dlomCpksver :: Lens' DictionaryListOfflineMetadata Text+dlomCpksver+ = lens _dlomCpksver (\ s a -> s{_dlomCpksver = a})++instance GoogleRequest DictionaryListOfflineMetadata+ where+ type Rs DictionaryListOfflineMetadata = Metadata+ requestClient DictionaryListOfflineMetadata{..}+ = go (Just _dlomCpksver) (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy ::+ Proxy DictionaryListOfflineMetadataResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/AnnotationData/Get.hs view
@@ -0,0 +1,206 @@+{-# 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.Books.Layers.AnnotationData.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 annotation data.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.annotationData.get@.+module Network.Google.Resource.Books.Layers.AnnotationData.Get+ (+ -- * REST Resource+ LayersAnnotationDataGetResource++ -- * Creating a Request+ , layersAnnotationDataGet+ , LayersAnnotationDataGet++ -- * Request Lenses+ , ladgW+ , ladgScale+ , ladgLocale+ , ladgContentVersion+ , ladgAllowWebDefinitions+ , ladgAnnotationDataId+ , ladgVolumeId+ , ladgSource+ , ladgH+ , ladgLayerId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.annotationData.get@ method which the+-- 'LayersAnnotationDataGet' request conforms to.+type LayersAnnotationDataGetResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layers" :>+ Capture "layerId" Text :>+ "data" :>+ Capture "annotationDataId" Text :>+ QueryParam "contentVersion" Text :>+ QueryParam "w" (Textual Int32) :>+ QueryParam "scale" (Textual Int32) :>+ QueryParam "locale" Text :>+ QueryParam "allowWebDefinitions" Bool :>+ QueryParam "source" Text :>+ QueryParam "h" (Textual Int32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AnnotationData++-- | Gets the annotation data.+--+-- /See:/ 'layersAnnotationDataGet' smart constructor.+data LayersAnnotationDataGet = LayersAnnotationDataGet+ { _ladgW :: !(Maybe (Textual Int32))+ , _ladgScale :: !(Maybe (Textual Int32))+ , _ladgLocale :: !(Maybe Text)+ , _ladgContentVersion :: !Text+ , _ladgAllowWebDefinitions :: !(Maybe Bool)+ , _ladgAnnotationDataId :: !Text+ , _ladgVolumeId :: !Text+ , _ladgSource :: !(Maybe Text)+ , _ladgH :: !(Maybe (Textual Int32))+ , _ladgLayerId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersAnnotationDataGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ladgW'+--+-- * 'ladgScale'+--+-- * 'ladgLocale'+--+-- * 'ladgContentVersion'+--+-- * 'ladgAllowWebDefinitions'+--+-- * 'ladgAnnotationDataId'+--+-- * 'ladgVolumeId'+--+-- * 'ladgSource'+--+-- * 'ladgH'+--+-- * 'ladgLayerId'+layersAnnotationDataGet+ :: Text -- ^ 'ladgContentVersion'+ -> Text -- ^ 'ladgAnnotationDataId'+ -> Text -- ^ 'ladgVolumeId'+ -> Text -- ^ 'ladgLayerId'+ -> LayersAnnotationDataGet+layersAnnotationDataGet pLadgContentVersion_ pLadgAnnotationDataId_ pLadgVolumeId_ pLadgLayerId_ =+ LayersAnnotationDataGet+ { _ladgW = Nothing+ , _ladgScale = Nothing+ , _ladgLocale = Nothing+ , _ladgContentVersion = pLadgContentVersion_+ , _ladgAllowWebDefinitions = Nothing+ , _ladgAnnotationDataId = pLadgAnnotationDataId_+ , _ladgVolumeId = pLadgVolumeId_+ , _ladgSource = Nothing+ , _ladgH = Nothing+ , _ladgLayerId = pLadgLayerId_+ }++-- | The requested pixel width for any images. If width is provided height+-- must also be provided.+ladgW :: Lens' LayersAnnotationDataGet (Maybe Int32)+ladgW+ = lens _ladgW (\ s a -> s{_ladgW = a}) .+ mapping _Coerce++-- | The requested scale for the image.+ladgScale :: Lens' LayersAnnotationDataGet (Maybe Int32)+ladgScale+ = lens _ladgScale (\ s a -> s{_ladgScale = a}) .+ mapping _Coerce++-- | The locale information for the data. ISO-639-1 language and ISO-3166-1+-- country code. Ex: \'en_US\'.+ladgLocale :: Lens' LayersAnnotationDataGet (Maybe Text)+ladgLocale+ = lens _ladgLocale (\ s a -> s{_ladgLocale = a})++-- | The content version for the volume you are trying to retrieve.+ladgContentVersion :: Lens' LayersAnnotationDataGet Text+ladgContentVersion+ = lens _ladgContentVersion+ (\ s a -> s{_ladgContentVersion = a})++-- | For the dictionary layer. Whether or not to allow web definitions.+ladgAllowWebDefinitions :: Lens' LayersAnnotationDataGet (Maybe Bool)+ladgAllowWebDefinitions+ = lens _ladgAllowWebDefinitions+ (\ s a -> s{_ladgAllowWebDefinitions = a})++-- | The ID of the annotation data to retrieve.+ladgAnnotationDataId :: Lens' LayersAnnotationDataGet Text+ladgAnnotationDataId+ = lens _ladgAnnotationDataId+ (\ s a -> s{_ladgAnnotationDataId = a})++-- | The volume to retrieve annotations for.+ladgVolumeId :: Lens' LayersAnnotationDataGet Text+ladgVolumeId+ = lens _ladgVolumeId (\ s a -> s{_ladgVolumeId = a})++-- | String to identify the originator of this request.+ladgSource :: Lens' LayersAnnotationDataGet (Maybe Text)+ladgSource+ = lens _ladgSource (\ s a -> s{_ladgSource = a})++-- | The requested pixel height for any images. If height is provided width+-- must also be provided.+ladgH :: Lens' LayersAnnotationDataGet (Maybe Int32)+ladgH+ = lens _ladgH (\ s a -> s{_ladgH = a}) .+ mapping _Coerce++-- | The ID for the layer to get the annotations.+ladgLayerId :: Lens' LayersAnnotationDataGet Text+ladgLayerId+ = lens _ladgLayerId (\ s a -> s{_ladgLayerId = a})++instance GoogleRequest LayersAnnotationDataGet where+ type Rs LayersAnnotationDataGet = AnnotationData+ requestClient LayersAnnotationDataGet{..}+ = go _ladgVolumeId _ladgLayerId _ladgAnnotationDataId+ (Just _ladgContentVersion)+ _ladgW+ _ladgScale+ _ladgLocale+ _ladgAllowWebDefinitions+ _ladgSource+ _ladgH+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy LayersAnnotationDataGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/AnnotationData/List.hs view
@@ -0,0 +1,252 @@+{-# 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.Books.Layers.AnnotationData.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)+--+-- Gets the annotation data for a volume and layer.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.annotationData.list@.+module Network.Google.Resource.Books.Layers.AnnotationData.List+ (+ -- * REST Resource+ LayersAnnotationDataListResource++ -- * Creating a Request+ , layersAnnotationDataList+ , LayersAnnotationDataList++ -- * Request Lenses+ , ladlW+ , ladlScale+ , ladlLocale+ , ladlContentVersion+ , ladlUpdatedMax+ , ladlUpdatedMin+ , ladlAnnotationDataId+ , ladlVolumeId+ , ladlSource+ , ladlH+ , ladlPageToken+ , ladlLayerId+ , ladlMaxResults+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.annotationData.list@ method which the+-- 'LayersAnnotationDataList' request conforms to.+type LayersAnnotationDataListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layers" :>+ Capture "layerId" Text :>+ "data" :>+ QueryParam "contentVersion" Text :>+ QueryParam "w" (Textual Int32) :>+ QueryParam "scale" (Textual Int32) :>+ QueryParam "locale" Text :>+ QueryParam "updatedMax" Text :>+ QueryParam "updatedMin" Text :>+ QueryParams "annotationDataId" Text :>+ QueryParam "source" Text :>+ QueryParam "h" (Textual Int32) :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32)+ :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AnnotationsData++-- | Gets the annotation data for a volume and layer.+--+-- /See:/ 'layersAnnotationDataList' smart constructor.+data LayersAnnotationDataList = LayersAnnotationDataList+ { _ladlW :: !(Maybe (Textual Int32))+ , _ladlScale :: !(Maybe (Textual Int32))+ , _ladlLocale :: !(Maybe Text)+ , _ladlContentVersion :: !Text+ , _ladlUpdatedMax :: !(Maybe Text)+ , _ladlUpdatedMin :: !(Maybe Text)+ , _ladlAnnotationDataId :: !(Maybe [Text])+ , _ladlVolumeId :: !Text+ , _ladlSource :: !(Maybe Text)+ , _ladlH :: !(Maybe (Textual Int32))+ , _ladlPageToken :: !(Maybe Text)+ , _ladlLayerId :: !Text+ , _ladlMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersAnnotationDataList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ladlW'+--+-- * 'ladlScale'+--+-- * 'ladlLocale'+--+-- * 'ladlContentVersion'+--+-- * 'ladlUpdatedMax'+--+-- * 'ladlUpdatedMin'+--+-- * 'ladlAnnotationDataId'+--+-- * 'ladlVolumeId'+--+-- * 'ladlSource'+--+-- * 'ladlH'+--+-- * 'ladlPageToken'+--+-- * 'ladlLayerId'+--+-- * 'ladlMaxResults'+layersAnnotationDataList+ :: Text -- ^ 'ladlContentVersion'+ -> Text -- ^ 'ladlVolumeId'+ -> Text -- ^ 'ladlLayerId'+ -> LayersAnnotationDataList+layersAnnotationDataList pLadlContentVersion_ pLadlVolumeId_ pLadlLayerId_ =+ LayersAnnotationDataList+ { _ladlW = Nothing+ , _ladlScale = Nothing+ , _ladlLocale = Nothing+ , _ladlContentVersion = pLadlContentVersion_+ , _ladlUpdatedMax = Nothing+ , _ladlUpdatedMin = Nothing+ , _ladlAnnotationDataId = Nothing+ , _ladlVolumeId = pLadlVolumeId_+ , _ladlSource = Nothing+ , _ladlH = Nothing+ , _ladlPageToken = Nothing+ , _ladlLayerId = pLadlLayerId_+ , _ladlMaxResults = Nothing+ }++-- | The requested pixel width for any images. If width is provided height+-- must also be provided.+ladlW :: Lens' LayersAnnotationDataList (Maybe Int32)+ladlW+ = lens _ladlW (\ s a -> s{_ladlW = a}) .+ mapping _Coerce++-- | The requested scale for the image.+ladlScale :: Lens' LayersAnnotationDataList (Maybe Int32)+ladlScale+ = lens _ladlScale (\ s a -> s{_ladlScale = a}) .+ mapping _Coerce++-- | The locale information for the data. ISO-639-1 language and ISO-3166-1+-- country code. Ex: \'en_US\'.+ladlLocale :: Lens' LayersAnnotationDataList (Maybe Text)+ladlLocale+ = lens _ladlLocale (\ s a -> s{_ladlLocale = a})++-- | The content version for the requested volume.+ladlContentVersion :: Lens' LayersAnnotationDataList Text+ladlContentVersion+ = lens _ladlContentVersion+ (\ s a -> s{_ladlContentVersion = a})++-- | RFC 3339 timestamp to restrict to items updated prior to this timestamp+-- (exclusive).+ladlUpdatedMax :: Lens' LayersAnnotationDataList (Maybe Text)+ladlUpdatedMax+ = lens _ladlUpdatedMax+ (\ s a -> s{_ladlUpdatedMax = a})++-- | RFC 3339 timestamp to restrict to items updated since this timestamp+-- (inclusive).+ladlUpdatedMin :: Lens' LayersAnnotationDataList (Maybe Text)+ladlUpdatedMin+ = lens _ladlUpdatedMin+ (\ s a -> s{_ladlUpdatedMin = a})++-- | The list of Annotation Data Ids to retrieve. Pagination is ignored if+-- this is set.+ladlAnnotationDataId :: Lens' LayersAnnotationDataList [Text]+ladlAnnotationDataId+ = lens _ladlAnnotationDataId+ (\ s a -> s{_ladlAnnotationDataId = a})+ . _Default+ . _Coerce++-- | The volume to retrieve annotation data for.+ladlVolumeId :: Lens' LayersAnnotationDataList Text+ladlVolumeId+ = lens _ladlVolumeId (\ s a -> s{_ladlVolumeId = a})++-- | String to identify the originator of this request.+ladlSource :: Lens' LayersAnnotationDataList (Maybe Text)+ladlSource+ = lens _ladlSource (\ s a -> s{_ladlSource = a})++-- | The requested pixel height for any images. If height is provided width+-- must also be provided.+ladlH :: Lens' LayersAnnotationDataList (Maybe Int32)+ladlH+ = lens _ladlH (\ s a -> s{_ladlH = a}) .+ mapping _Coerce++-- | The value of the nextToken from the previous page.+ladlPageToken :: Lens' LayersAnnotationDataList (Maybe Text)+ladlPageToken+ = lens _ladlPageToken+ (\ s a -> s{_ladlPageToken = a})++-- | The ID for the layer to get the annotation data.+ladlLayerId :: Lens' LayersAnnotationDataList Text+ladlLayerId+ = lens _ladlLayerId (\ s a -> s{_ladlLayerId = a})++-- | Maximum number of results to return+ladlMaxResults :: Lens' LayersAnnotationDataList (Maybe Word32)+ladlMaxResults+ = lens _ladlMaxResults+ (\ s a -> s{_ladlMaxResults = a})+ . mapping _Coerce++instance GoogleRequest LayersAnnotationDataList where+ type Rs LayersAnnotationDataList = AnnotationsData+ requestClient LayersAnnotationDataList{..}+ = go _ladlVolumeId _ladlLayerId+ (Just _ladlContentVersion)+ _ladlW+ _ladlScale+ _ladlLocale+ _ladlUpdatedMax+ _ladlUpdatedMin+ (_ladlAnnotationDataId ^. _Default)+ _ladlSource+ _ladlH+ _ladlPageToken+ _ladlMaxResults+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy LayersAnnotationDataListResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/Get.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Books.Layers.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 layer summary for a volume.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.get@.+module Network.Google.Resource.Books.Layers.Get+ (+ -- * REST Resource+ LayersGetResource++ -- * Creating a Request+ , layersGet+ , LayersGet++ -- * Request Lenses+ , lgContentVersion+ , lgVolumeId+ , lgSource+ , lgSummaryId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.get@ method which the+-- 'LayersGet' request conforms to.+type LayersGetResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layersummary" :>+ Capture "summaryId" Text :>+ QueryParam "contentVersion" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Layersummary++-- | Gets the layer summary for a volume.+--+-- /See:/ 'layersGet' smart constructor.+data LayersGet = LayersGet+ { _lgContentVersion :: !(Maybe Text)+ , _lgVolumeId :: !Text+ , _lgSource :: !(Maybe Text)+ , _lgSummaryId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgContentVersion'+--+-- * 'lgVolumeId'+--+-- * 'lgSource'+--+-- * 'lgSummaryId'+layersGet+ :: Text -- ^ 'lgVolumeId'+ -> Text -- ^ 'lgSummaryId'+ -> LayersGet+layersGet pLgVolumeId_ pLgSummaryId_ =+ LayersGet+ { _lgContentVersion = Nothing+ , _lgVolumeId = pLgVolumeId_+ , _lgSource = Nothing+ , _lgSummaryId = pLgSummaryId_+ }++-- | The content version for the requested volume.+lgContentVersion :: Lens' LayersGet (Maybe Text)+lgContentVersion+ = lens _lgContentVersion+ (\ s a -> s{_lgContentVersion = a})++-- | The volume to retrieve layers for.+lgVolumeId :: Lens' LayersGet Text+lgVolumeId+ = lens _lgVolumeId (\ s a -> s{_lgVolumeId = a})++-- | String to identify the originator of this request.+lgSource :: Lens' LayersGet (Maybe Text)+lgSource = lens _lgSource (\ s a -> s{_lgSource = a})++-- | The ID for the layer to get the summary for.+lgSummaryId :: Lens' LayersGet Text+lgSummaryId+ = lens _lgSummaryId (\ s a -> s{_lgSummaryId = a})++instance GoogleRequest LayersGet where+ type Rs LayersGet = Layersummary+ requestClient LayersGet{..}+ = go _lgVolumeId _lgSummaryId _lgContentVersion+ _lgSource+ (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy LayersGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/List.hs view
@@ -0,0 +1,133 @@+{-# 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.Books.Layers.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)+--+-- List the layer summaries for a volume.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.list@.+module Network.Google.Resource.Books.Layers.List+ (+ -- * REST Resource+ LayersListResource++ -- * Creating a Request+ , layersList+ , LayersList++ -- * Request Lenses+ , llContentVersion+ , llVolumeId+ , llSource+ , llPageToken+ , llMaxResults+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.list@ method which the+-- 'LayersList' request conforms to.+type LayersListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layersummary" :>+ QueryParam "contentVersion" Text :>+ QueryParam "source" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Layersummaries++-- | List the layer summaries for a volume.+--+-- /See:/ 'layersList' smart constructor.+data LayersList = LayersList+ { _llContentVersion :: !(Maybe Text)+ , _llVolumeId :: !Text+ , _llSource :: !(Maybe Text)+ , _llPageToken :: !(Maybe Text)+ , _llMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'llContentVersion'+--+-- * 'llVolumeId'+--+-- * 'llSource'+--+-- * 'llPageToken'+--+-- * 'llMaxResults'+layersList+ :: Text -- ^ 'llVolumeId'+ -> LayersList+layersList pLlVolumeId_ =+ LayersList+ { _llContentVersion = Nothing+ , _llVolumeId = pLlVolumeId_+ , _llSource = Nothing+ , _llPageToken = Nothing+ , _llMaxResults = Nothing+ }++-- | The content version for the requested volume.+llContentVersion :: Lens' LayersList (Maybe Text)+llContentVersion+ = lens _llContentVersion+ (\ s a -> s{_llContentVersion = a})++-- | The volume to retrieve layers for.+llVolumeId :: Lens' LayersList Text+llVolumeId+ = lens _llVolumeId (\ s a -> s{_llVolumeId = a})++-- | String to identify the originator of this request.+llSource :: Lens' LayersList (Maybe Text)+llSource = lens _llSource (\ s a -> s{_llSource = a})++-- | The value of the nextToken from the previous page.+llPageToken :: Lens' LayersList (Maybe Text)+llPageToken+ = lens _llPageToken (\ s a -> s{_llPageToken = a})++-- | Maximum number of results to return+llMaxResults :: Lens' LayersList (Maybe Word32)+llMaxResults+ = lens _llMaxResults (\ s a -> s{_llMaxResults = a})+ . mapping _Coerce++instance GoogleRequest LayersList where+ type Rs LayersList = Layersummaries+ requestClient LayersList{..}+ = go _llVolumeId _llContentVersion _llSource+ _llPageToken+ _llMaxResults+ (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy LayersListResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/Get.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.Books.Layers.VolumeAnnotations.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 volume annotation.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.volumeAnnotations.get@.+module Network.Google.Resource.Books.Layers.VolumeAnnotations.Get+ (+ -- * REST Resource+ LayersVolumeAnnotationsGetResource++ -- * Creating a Request+ , layersVolumeAnnotationsGet+ , LayersVolumeAnnotationsGet++ -- * Request Lenses+ , lvagLocale+ , lvagAnnotationId+ , lvagVolumeId+ , lvagSource+ , lvagLayerId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.volumeAnnotations.get@ method which the+-- 'LayersVolumeAnnotationsGet' request conforms to.+type LayersVolumeAnnotationsGetResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layers" :>+ Capture "layerId" Text :>+ "annotations" :>+ Capture "annotationId" Text :>+ QueryParam "locale" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Volumeannotation++-- | Gets the volume annotation.+--+-- /See:/ 'layersVolumeAnnotationsGet' smart constructor.+data LayersVolumeAnnotationsGet = LayersVolumeAnnotationsGet+ { _lvagLocale :: !(Maybe Text)+ , _lvagAnnotationId :: !Text+ , _lvagVolumeId :: !Text+ , _lvagSource :: !(Maybe Text)+ , _lvagLayerId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersVolumeAnnotationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvagLocale'+--+-- * 'lvagAnnotationId'+--+-- * 'lvagVolumeId'+--+-- * 'lvagSource'+--+-- * 'lvagLayerId'+layersVolumeAnnotationsGet+ :: Text -- ^ 'lvagAnnotationId'+ -> Text -- ^ 'lvagVolumeId'+ -> Text -- ^ 'lvagLayerId'+ -> LayersVolumeAnnotationsGet+layersVolumeAnnotationsGet pLvagAnnotationId_ pLvagVolumeId_ pLvagLayerId_ =+ LayersVolumeAnnotationsGet+ { _lvagLocale = Nothing+ , _lvagAnnotationId = pLvagAnnotationId_+ , _lvagVolumeId = pLvagVolumeId_+ , _lvagSource = Nothing+ , _lvagLayerId = pLvagLayerId_+ }++-- | The locale information for the data. ISO-639-1 language and ISO-3166-1+-- country code. Ex: \'en_US\'.+lvagLocale :: Lens' LayersVolumeAnnotationsGet (Maybe Text)+lvagLocale+ = lens _lvagLocale (\ s a -> s{_lvagLocale = a})++-- | The ID of the volume annotation to retrieve.+lvagAnnotationId :: Lens' LayersVolumeAnnotationsGet Text+lvagAnnotationId+ = lens _lvagAnnotationId+ (\ s a -> s{_lvagAnnotationId = a})++-- | The volume to retrieve annotations for.+lvagVolumeId :: Lens' LayersVolumeAnnotationsGet Text+lvagVolumeId+ = lens _lvagVolumeId (\ s a -> s{_lvagVolumeId = a})++-- | String to identify the originator of this request.+lvagSource :: Lens' LayersVolumeAnnotationsGet (Maybe Text)+lvagSource+ = lens _lvagSource (\ s a -> s{_lvagSource = a})++-- | The ID for the layer to get the annotations.+lvagLayerId :: Lens' LayersVolumeAnnotationsGet Text+lvagLayerId+ = lens _lvagLayerId (\ s a -> s{_lvagLayerId = a})++instance GoogleRequest LayersVolumeAnnotationsGet+ where+ type Rs LayersVolumeAnnotationsGet = Volumeannotation+ requestClient LayersVolumeAnnotationsGet{..}+ = go _lvagVolumeId _lvagLayerId _lvagAnnotationId+ _lvagLocale+ _lvagSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy LayersVolumeAnnotationsGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/List.hs view
@@ -0,0 +1,275 @@+{-# 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.Books.Layers.VolumeAnnotations.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)+--+-- Gets the volume annotations for a volume and layer.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.layers.volumeAnnotations.list@.+module Network.Google.Resource.Books.Layers.VolumeAnnotations.List+ (+ -- * REST Resource+ LayersVolumeAnnotationsListResource++ -- * Creating a Request+ , layersVolumeAnnotationsList+ , LayersVolumeAnnotationsList++ -- * Request Lenses+ , lvalStartOffSet+ , lvalLocale+ , lvalContentVersion+ , lvalShowDeleted+ , lvalVolumeAnnotationsVersion+ , lvalUpdatedMax+ , lvalUpdatedMin+ , lvalEndOffSet+ , lvalVolumeId+ , lvalSource+ , lvalPageToken+ , lvalEndPosition+ , lvalLayerId+ , lvalMaxResults+ , lvalStartPosition+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.layers.volumeAnnotations.list@ method which the+-- 'LayersVolumeAnnotationsList' request conforms to.+type LayersVolumeAnnotationsListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "layers" :>+ Capture "layerId" Text :>+ QueryParam "contentVersion" Text :>+ QueryParam "startOffset" Text :>+ QueryParam "locale" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "volumeAnnotationsVersion" Text :>+ QueryParam "updatedMax" Text :>+ QueryParam "updatedMin" Text :>+ QueryParam "endOffset" Text :>+ QueryParam "source" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "endPosition" Text :>+ QueryParam "maxResults" (Textual Word32)+ :>+ QueryParam "startPosition" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Volumeannotations++-- | Gets the volume annotations for a volume and layer.+--+-- /See:/ 'layersVolumeAnnotationsList' smart constructor.+data LayersVolumeAnnotationsList = LayersVolumeAnnotationsList+ { _lvalStartOffSet :: !(Maybe Text)+ , _lvalLocale :: !(Maybe Text)+ , _lvalContentVersion :: !Text+ , _lvalShowDeleted :: !(Maybe Bool)+ , _lvalVolumeAnnotationsVersion :: !(Maybe Text)+ , _lvalUpdatedMax :: !(Maybe Text)+ , _lvalUpdatedMin :: !(Maybe Text)+ , _lvalEndOffSet :: !(Maybe Text)+ , _lvalVolumeId :: !Text+ , _lvalSource :: !(Maybe Text)+ , _lvalPageToken :: !(Maybe Text)+ , _lvalEndPosition :: !(Maybe Text)+ , _lvalLayerId :: !Text+ , _lvalMaxResults :: !(Maybe (Textual Word32))+ , _lvalStartPosition :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LayersVolumeAnnotationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvalStartOffSet'+--+-- * 'lvalLocale'+--+-- * 'lvalContentVersion'+--+-- * 'lvalShowDeleted'+--+-- * 'lvalVolumeAnnotationsVersion'+--+-- * 'lvalUpdatedMax'+--+-- * 'lvalUpdatedMin'+--+-- * 'lvalEndOffSet'+--+-- * 'lvalVolumeId'+--+-- * 'lvalSource'+--+-- * 'lvalPageToken'+--+-- * 'lvalEndPosition'+--+-- * 'lvalLayerId'+--+-- * 'lvalMaxResults'+--+-- * 'lvalStartPosition'+layersVolumeAnnotationsList+ :: Text -- ^ 'lvalContentVersion'+ -> Text -- ^ 'lvalVolumeId'+ -> Text -- ^ 'lvalLayerId'+ -> LayersVolumeAnnotationsList+layersVolumeAnnotationsList pLvalContentVersion_ pLvalVolumeId_ pLvalLayerId_ =+ LayersVolumeAnnotationsList+ { _lvalStartOffSet = Nothing+ , _lvalLocale = Nothing+ , _lvalContentVersion = pLvalContentVersion_+ , _lvalShowDeleted = Nothing+ , _lvalVolumeAnnotationsVersion = Nothing+ , _lvalUpdatedMax = Nothing+ , _lvalUpdatedMin = Nothing+ , _lvalEndOffSet = Nothing+ , _lvalVolumeId = pLvalVolumeId_+ , _lvalSource = Nothing+ , _lvalPageToken = Nothing+ , _lvalEndPosition = Nothing+ , _lvalLayerId = pLvalLayerId_+ , _lvalMaxResults = Nothing+ , _lvalStartPosition = Nothing+ }++-- | The start offset to start retrieving data from.+lvalStartOffSet :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalStartOffSet+ = lens _lvalStartOffSet+ (\ s a -> s{_lvalStartOffSet = a})++-- | The locale information for the data. ISO-639-1 language and ISO-3166-1+-- country code. Ex: \'en_US\'.+lvalLocale :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalLocale+ = lens _lvalLocale (\ s a -> s{_lvalLocale = a})++-- | The content version for the requested volume.+lvalContentVersion :: Lens' LayersVolumeAnnotationsList Text+lvalContentVersion+ = lens _lvalContentVersion+ (\ s a -> s{_lvalContentVersion = a})++-- | Set to true to return deleted annotations. updatedMin must be in the+-- request to use this. Defaults to false.+lvalShowDeleted :: Lens' LayersVolumeAnnotationsList (Maybe Bool)+lvalShowDeleted+ = lens _lvalShowDeleted+ (\ s a -> s{_lvalShowDeleted = a})++-- | The version of the volume annotations that you are requesting.+lvalVolumeAnnotationsVersion :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalVolumeAnnotationsVersion+ = lens _lvalVolumeAnnotationsVersion+ (\ s a -> s{_lvalVolumeAnnotationsVersion = a})++-- | RFC 3339 timestamp to restrict to items updated prior to this timestamp+-- (exclusive).+lvalUpdatedMax :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalUpdatedMax+ = lens _lvalUpdatedMax+ (\ s a -> s{_lvalUpdatedMax = a})++-- | RFC 3339 timestamp to restrict to items updated since this timestamp+-- (inclusive).+lvalUpdatedMin :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalUpdatedMin+ = lens _lvalUpdatedMin+ (\ s a -> s{_lvalUpdatedMin = a})++-- | The end offset to end retrieving data from.+lvalEndOffSet :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalEndOffSet+ = lens _lvalEndOffSet+ (\ s a -> s{_lvalEndOffSet = a})++-- | The volume to retrieve annotations for.+lvalVolumeId :: Lens' LayersVolumeAnnotationsList Text+lvalVolumeId+ = lens _lvalVolumeId (\ s a -> s{_lvalVolumeId = a})++-- | String to identify the originator of this request.+lvalSource :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalSource+ = lens _lvalSource (\ s a -> s{_lvalSource = a})++-- | The value of the nextToken from the previous page.+lvalPageToken :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalPageToken+ = lens _lvalPageToken+ (\ s a -> s{_lvalPageToken = a})++-- | The end position to end retrieving data from.+lvalEndPosition :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalEndPosition+ = lens _lvalEndPosition+ (\ s a -> s{_lvalEndPosition = a})++-- | The ID for the layer to get the annotations.+lvalLayerId :: Lens' LayersVolumeAnnotationsList Text+lvalLayerId+ = lens _lvalLayerId (\ s a -> s{_lvalLayerId = a})++-- | Maximum number of results to return+lvalMaxResults :: Lens' LayersVolumeAnnotationsList (Maybe Word32)+lvalMaxResults+ = lens _lvalMaxResults+ (\ s a -> s{_lvalMaxResults = a})+ . mapping _Coerce++-- | The start position to start retrieving data from.+lvalStartPosition :: Lens' LayersVolumeAnnotationsList (Maybe Text)+lvalStartPosition+ = lens _lvalStartPosition+ (\ s a -> s{_lvalStartPosition = a})++instance GoogleRequest LayersVolumeAnnotationsList+ where+ type Rs LayersVolumeAnnotationsList =+ Volumeannotations+ requestClient LayersVolumeAnnotationsList{..}+ = go _lvalVolumeId _lvalLayerId+ (Just _lvalContentVersion)+ _lvalStartOffSet+ _lvalLocale+ _lvalShowDeleted+ _lvalVolumeAnnotationsVersion+ _lvalUpdatedMax+ _lvalUpdatedMin+ _lvalEndOffSet+ _lvalSource+ _lvalPageToken+ _lvalEndPosition+ _lvalMaxResults+ _lvalStartPosition+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy LayersVolumeAnnotationsListResource)+ mempty
+ gen/Network/Google/Resource/Books/MyConfig/GetUserSettings.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.Books.MyConfig.GetUserSettings+-- 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 current settings for the user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.myconfig.getUserSettings@.+module Network.Google.Resource.Books.MyConfig.GetUserSettings+ (+ -- * REST Resource+ MyConfigGetUserSettingsResource++ -- * Creating a Request+ , myConfigGetUserSettings+ , MyConfigGetUserSettings++ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.myconfig.getUserSettings@ method which the+-- 'MyConfigGetUserSettings' request conforms to.+type MyConfigGetUserSettingsResource =+ "books" :>+ "v1" :>+ "myconfig" :>+ "getUserSettings" :>+ QueryParam "alt" AltJSON :> Get '[JSON] UserSettings++-- | Gets the current settings for the user.+--+-- /See:/ 'myConfigGetUserSettings' smart constructor.+data MyConfigGetUserSettings =+ MyConfigGetUserSettings+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyConfigGetUserSettings' with the minimum fields required to make a request.+--+myConfigGetUserSettings+ :: MyConfigGetUserSettings+myConfigGetUserSettings = MyConfigGetUserSettings++instance GoogleRequest MyConfigGetUserSettings where+ type Rs MyConfigGetUserSettings = UserSettings+ requestClient MyConfigGetUserSettings{}+ = go (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy :: Proxy MyConfigGetUserSettingsResource)+ mempty
+ gen/Network/Google/Resource/Books/MyConfig/ReleaseDownloadAccess.hs view
@@ -0,0 +1,128 @@+{-# 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.Books.MyConfig.ReleaseDownloadAccess+-- 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)+--+-- Release downloaded content access restriction.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.myconfig.releaseDownloadAccess@.+module Network.Google.Resource.Books.MyConfig.ReleaseDownloadAccess+ (+ -- * REST Resource+ MyConfigReleaseDownloadAccessResource++ -- * Creating a Request+ , myConfigReleaseDownloadAccess+ , MyConfigReleaseDownloadAccess++ -- * Request Lenses+ , mcrdaCpksver+ , mcrdaLocale+ , mcrdaVolumeIds+ , mcrdaSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.myconfig.releaseDownloadAccess@ method which the+-- 'MyConfigReleaseDownloadAccess' request conforms to.+type MyConfigReleaseDownloadAccessResource =+ "books" :>+ "v1" :>+ "myconfig" :>+ "releaseDownloadAccess" :>+ QueryParams "volumeIds" Text :>+ QueryParam "cpksver" Text :>+ QueryParam "locale" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ Post '[JSON] DownloadAccesses++-- | Release downloaded content access restriction.+--+-- /See:/ 'myConfigReleaseDownloadAccess' smart constructor.+data MyConfigReleaseDownloadAccess = MyConfigReleaseDownloadAccess+ { _mcrdaCpksver :: !Text+ , _mcrdaLocale :: !(Maybe Text)+ , _mcrdaVolumeIds :: ![Text]+ , _mcrdaSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyConfigReleaseDownloadAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcrdaCpksver'+--+-- * 'mcrdaLocale'+--+-- * 'mcrdaVolumeIds'+--+-- * 'mcrdaSource'+myConfigReleaseDownloadAccess+ :: Text -- ^ 'mcrdaCpksver'+ -> [Text] -- ^ 'mcrdaVolumeIds'+ -> MyConfigReleaseDownloadAccess+myConfigReleaseDownloadAccess pMcrdaCpksver_ pMcrdaVolumeIds_ =+ MyConfigReleaseDownloadAccess+ { _mcrdaCpksver = pMcrdaCpksver_+ , _mcrdaLocale = Nothing+ , _mcrdaVolumeIds = _Coerce # pMcrdaVolumeIds_+ , _mcrdaSource = Nothing+ }++-- | The device\/version ID from which to release the restriction.+mcrdaCpksver :: Lens' MyConfigReleaseDownloadAccess Text+mcrdaCpksver+ = lens _mcrdaCpksver (\ s a -> s{_mcrdaCpksver = a})++-- | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.+mcrdaLocale :: Lens' MyConfigReleaseDownloadAccess (Maybe Text)+mcrdaLocale+ = lens _mcrdaLocale (\ s a -> s{_mcrdaLocale = a})++-- | The volume(s) to release restrictions for.+mcrdaVolumeIds :: Lens' MyConfigReleaseDownloadAccess [Text]+mcrdaVolumeIds+ = lens _mcrdaVolumeIds+ (\ s a -> s{_mcrdaVolumeIds = a})+ . _Coerce++-- | String to identify the originator of this request.+mcrdaSource :: Lens' MyConfigReleaseDownloadAccess (Maybe Text)+mcrdaSource+ = lens _mcrdaSource (\ s a -> s{_mcrdaSource = a})++instance GoogleRequest MyConfigReleaseDownloadAccess+ where+ type Rs MyConfigReleaseDownloadAccess =+ DownloadAccesses+ requestClient MyConfigReleaseDownloadAccess{..}+ = go _mcrdaVolumeIds (Just _mcrdaCpksver)+ _mcrdaLocale+ _mcrdaSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyConfigReleaseDownloadAccessResource)+ mempty
+ gen/Network/Google/Resource/Books/MyConfig/RequestAccess.hs view
@@ -0,0 +1,153 @@+{-# 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.Books.MyConfig.RequestAccess+-- 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)+--+-- Request concurrent and download access restrictions.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.myconfig.requestAccess@.+module Network.Google.Resource.Books.MyConfig.RequestAccess+ (+ -- * REST Resource+ MyConfigRequestAccessResource++ -- * Creating a Request+ , myConfigRequestAccess+ , MyConfigRequestAccess++ -- * Request Lenses+ , mcraCpksver+ , mcraLocale+ , mcraLicenseTypes+ , mcraVolumeId+ , mcraSource+ , mcraNonce+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.myconfig.requestAccess@ method which the+-- 'MyConfigRequestAccess' request conforms to.+type MyConfigRequestAccessResource =+ "books" :>+ "v1" :>+ "myconfig" :>+ "requestAccess" :>+ QueryParam "source" Text :>+ QueryParam "volumeId" Text :>+ QueryParam "nonce" Text :>+ QueryParam "cpksver" Text :>+ QueryParam "locale" Text :>+ QueryParam "licenseTypes"+ MyConfigRequestAccessLicenseTypes+ :>+ QueryParam "alt" AltJSON :>+ Post '[JSON] RequestAccess++-- | Request concurrent and download access restrictions.+--+-- /See:/ 'myConfigRequestAccess' smart constructor.+data MyConfigRequestAccess = MyConfigRequestAccess+ { _mcraCpksver :: !Text+ , _mcraLocale :: !(Maybe Text)+ , _mcraLicenseTypes :: !(Maybe MyConfigRequestAccessLicenseTypes)+ , _mcraVolumeId :: !Text+ , _mcraSource :: !Text+ , _mcraNonce :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyConfigRequestAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcraCpksver'+--+-- * 'mcraLocale'+--+-- * 'mcraLicenseTypes'+--+-- * 'mcraVolumeId'+--+-- * 'mcraSource'+--+-- * 'mcraNonce'+myConfigRequestAccess+ :: Text -- ^ 'mcraCpksver'+ -> Text -- ^ 'mcraVolumeId'+ -> Text -- ^ 'mcraSource'+ -> Text -- ^ 'mcraNonce'+ -> MyConfigRequestAccess+myConfigRequestAccess pMcraCpksver_ pMcraVolumeId_ pMcraSource_ pMcraNonce_ =+ MyConfigRequestAccess+ { _mcraCpksver = pMcraCpksver_+ , _mcraLocale = Nothing+ , _mcraLicenseTypes = Nothing+ , _mcraVolumeId = pMcraVolumeId_+ , _mcraSource = pMcraSource_+ , _mcraNonce = pMcraNonce_+ }++-- | The device\/version ID from which to request the restrictions.+mcraCpksver :: Lens' MyConfigRequestAccess Text+mcraCpksver+ = lens _mcraCpksver (\ s a -> s{_mcraCpksver = a})++-- | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.+mcraLocale :: Lens' MyConfigRequestAccess (Maybe Text)+mcraLocale+ = lens _mcraLocale (\ s a -> s{_mcraLocale = a})++-- | The type of access license to request. If not specified, the default is+-- BOTH.+mcraLicenseTypes :: Lens' MyConfigRequestAccess (Maybe MyConfigRequestAccessLicenseTypes)+mcraLicenseTypes+ = lens _mcraLicenseTypes+ (\ s a -> s{_mcraLicenseTypes = a})++-- | The volume to request concurrent\/download restrictions for.+mcraVolumeId :: Lens' MyConfigRequestAccess Text+mcraVolumeId+ = lens _mcraVolumeId (\ s a -> s{_mcraVolumeId = a})++-- | String to identify the originator of this request.+mcraSource :: Lens' MyConfigRequestAccess Text+mcraSource+ = lens _mcraSource (\ s a -> s{_mcraSource = a})++-- | The client nonce value.+mcraNonce :: Lens' MyConfigRequestAccess Text+mcraNonce+ = lens _mcraNonce (\ s a -> s{_mcraNonce = a})++instance GoogleRequest MyConfigRequestAccess where+ type Rs MyConfigRequestAccess = RequestAccess+ requestClient MyConfigRequestAccess{..}+ = go (Just _mcraSource) (Just _mcraVolumeId)+ (Just _mcraNonce)+ (Just _mcraCpksver)+ _mcraLocale+ _mcraLicenseTypes+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyConfigRequestAccessResource)+ mempty
+ gen/Network/Google/Resource/Books/MyConfig/SyncVolumeLicenses.hs view
@@ -0,0 +1,171 @@+{-# 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.Books.MyConfig.SyncVolumeLicenses+-- 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)+--+-- Request downloaded content access for specified volumes on the My eBooks+-- shelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.myconfig.syncVolumeLicenses@.+module Network.Google.Resource.Books.MyConfig.SyncVolumeLicenses+ (+ -- * REST Resource+ MyConfigSyncVolumeLicensesResource++ -- * Creating a Request+ , myConfigSyncVolumeLicenses+ , MyConfigSyncVolumeLicenses++ -- * Request Lenses+ , mcsvlCpksver+ , mcsvlLocale+ , mcsvlVolumeIds+ , mcsvlFeatures+ , mcsvlSource+ , mcsvlShowPreOrders+ , mcsvlNonce+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.myconfig.syncVolumeLicenses@ method which the+-- 'MyConfigSyncVolumeLicenses' request conforms to.+type MyConfigSyncVolumeLicensesResource =+ "books" :>+ "v1" :>+ "myconfig" :>+ "syncVolumeLicenses" :>+ QueryParam "source" Text :>+ QueryParam "nonce" Text :>+ QueryParam "cpksver" Text :>+ QueryParam "locale" Text :>+ QueryParams "volumeIds" Text :>+ QueryParams "features"+ MyConfigSyncVolumeLicensesFeatures+ :>+ QueryParam "showPreorders" Bool :>+ QueryParam "alt" AltJSON :> Post '[JSON] Volumes++-- | Request downloaded content access for specified volumes on the My eBooks+-- shelf.+--+-- /See:/ 'myConfigSyncVolumeLicenses' smart constructor.+data MyConfigSyncVolumeLicenses = MyConfigSyncVolumeLicenses+ { _mcsvlCpksver :: !Text+ , _mcsvlLocale :: !(Maybe Text)+ , _mcsvlVolumeIds :: !(Maybe [Text])+ , _mcsvlFeatures :: !(Maybe [MyConfigSyncVolumeLicensesFeatures])+ , _mcsvlSource :: !Text+ , _mcsvlShowPreOrders :: !(Maybe Bool)+ , _mcsvlNonce :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyConfigSyncVolumeLicenses' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcsvlCpksver'+--+-- * 'mcsvlLocale'+--+-- * 'mcsvlVolumeIds'+--+-- * 'mcsvlFeatures'+--+-- * 'mcsvlSource'+--+-- * 'mcsvlShowPreOrders'+--+-- * 'mcsvlNonce'+myConfigSyncVolumeLicenses+ :: Text -- ^ 'mcsvlCpksver'+ -> Text -- ^ 'mcsvlSource'+ -> Text -- ^ 'mcsvlNonce'+ -> MyConfigSyncVolumeLicenses+myConfigSyncVolumeLicenses pMcsvlCpksver_ pMcsvlSource_ pMcsvlNonce_ =+ MyConfigSyncVolumeLicenses+ { _mcsvlCpksver = pMcsvlCpksver_+ , _mcsvlLocale = Nothing+ , _mcsvlVolumeIds = Nothing+ , _mcsvlFeatures = Nothing+ , _mcsvlSource = pMcsvlSource_+ , _mcsvlShowPreOrders = Nothing+ , _mcsvlNonce = pMcsvlNonce_+ }++-- | The device\/version ID from which to release the restriction.+mcsvlCpksver :: Lens' MyConfigSyncVolumeLicenses Text+mcsvlCpksver+ = lens _mcsvlCpksver (\ s a -> s{_mcsvlCpksver = a})++-- | ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.+mcsvlLocale :: Lens' MyConfigSyncVolumeLicenses (Maybe Text)+mcsvlLocale+ = lens _mcsvlLocale (\ s a -> s{_mcsvlLocale = a})++-- | The volume(s) to request download restrictions for.+mcsvlVolumeIds :: Lens' MyConfigSyncVolumeLicenses [Text]+mcsvlVolumeIds+ = lens _mcsvlVolumeIds+ (\ s a -> s{_mcsvlVolumeIds = a})+ . _Default+ . _Coerce++-- | List of features supported by the client, i.e., \'RENTALS\'+mcsvlFeatures :: Lens' MyConfigSyncVolumeLicenses [MyConfigSyncVolumeLicensesFeatures]+mcsvlFeatures+ = lens _mcsvlFeatures+ (\ s a -> s{_mcsvlFeatures = a})+ . _Default+ . _Coerce++-- | String to identify the originator of this request.+mcsvlSource :: Lens' MyConfigSyncVolumeLicenses Text+mcsvlSource+ = lens _mcsvlSource (\ s a -> s{_mcsvlSource = a})++-- | Set to true to show pre-ordered books. Defaults to false.+mcsvlShowPreOrders :: Lens' MyConfigSyncVolumeLicenses (Maybe Bool)+mcsvlShowPreOrders+ = lens _mcsvlShowPreOrders+ (\ s a -> s{_mcsvlShowPreOrders = a})++-- | The client nonce value.+mcsvlNonce :: Lens' MyConfigSyncVolumeLicenses Text+mcsvlNonce+ = lens _mcsvlNonce (\ s a -> s{_mcsvlNonce = a})++instance GoogleRequest MyConfigSyncVolumeLicenses+ where+ type Rs MyConfigSyncVolumeLicenses = Volumes+ requestClient MyConfigSyncVolumeLicenses{..}+ = go (Just _mcsvlSource) (Just _mcsvlNonce)+ (Just _mcsvlCpksver)+ _mcsvlLocale+ (_mcsvlVolumeIds ^. _Default)+ (_mcsvlFeatures ^. _Default)+ _mcsvlShowPreOrders+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyConfigSyncVolumeLicensesResource)+ mempty
+ gen/Network/Google/Resource/Books/MyConfig/UpdateUserSettings.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Books.MyConfig.UpdateUserSettings+-- 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)+--+-- Sets the settings for the user. If a sub-object is specified, it will+-- overwrite the existing sub-object stored in the server. Unspecified+-- sub-objects will retain the existing value.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.myconfig.updateUserSettings@.+module Network.Google.Resource.Books.MyConfig.UpdateUserSettings+ (+ -- * REST Resource+ MyConfigUpdateUserSettingsResource++ -- * Creating a Request+ , myConfigUpdateUserSettings+ , MyConfigUpdateUserSettings++ -- * Request Lenses+ , mcuusPayload+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.myconfig.updateUserSettings@ method which the+-- 'MyConfigUpdateUserSettings' request conforms to.+type MyConfigUpdateUserSettingsResource =+ "books" :>+ "v1" :>+ "myconfig" :>+ "updateUserSettings" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] UserSettings :>+ Post '[JSON] UserSettings++-- | Sets the settings for the user. If a sub-object is specified, it will+-- overwrite the existing sub-object stored in the server. Unspecified+-- sub-objects will retain the existing value.+--+-- /See:/ 'myConfigUpdateUserSettings' smart constructor.+newtype MyConfigUpdateUserSettings = MyConfigUpdateUserSettings+ { _mcuusPayload :: UserSettings+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyConfigUpdateUserSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcuusPayload'+myConfigUpdateUserSettings+ :: UserSettings -- ^ 'mcuusPayload'+ -> MyConfigUpdateUserSettings+myConfigUpdateUserSettings pMcuusPayload_ =+ MyConfigUpdateUserSettings+ { _mcuusPayload = pMcuusPayload_+ }++-- | Multipart request metadata.+mcuusPayload :: Lens' MyConfigUpdateUserSettings UserSettings+mcuusPayload+ = lens _mcuusPayload (\ s a -> s{_mcuusPayload = a})++instance GoogleRequest MyConfigUpdateUserSettings+ where+ type Rs MyConfigUpdateUserSettings = UserSettings+ requestClient MyConfigUpdateUserSettings{..}+ = go (Just AltJSON) _mcuusPayload booksService+ where go+ = buildClient+ (Proxy :: Proxy MyConfigUpdateUserSettingsResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Annotations/Delete.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.Books.MyLibrary.Annotations.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an annotation.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.annotations.delete@.+module Network.Google.Resource.Books.MyLibrary.Annotations.Delete+ (+ -- * REST Resource+ MyLibraryAnnotationsDeleteResource++ -- * Creating a Request+ , myLibraryAnnotationsDelete+ , MyLibraryAnnotationsDelete++ -- * Request Lenses+ , mladAnnotationId+ , mladSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.annotations.delete@ method which the+-- 'MyLibraryAnnotationsDelete' request conforms to.+type MyLibraryAnnotationsDeleteResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "annotations" :>+ Capture "annotationId" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes an annotation.+--+-- /See:/ 'myLibraryAnnotationsDelete' smart constructor.+data MyLibraryAnnotationsDelete = MyLibraryAnnotationsDelete+ { _mladAnnotationId :: !Text+ , _mladSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryAnnotationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mladAnnotationId'+--+-- * 'mladSource'+myLibraryAnnotationsDelete+ :: Text -- ^ 'mladAnnotationId'+ -> MyLibraryAnnotationsDelete+myLibraryAnnotationsDelete pMladAnnotationId_ =+ MyLibraryAnnotationsDelete+ { _mladAnnotationId = pMladAnnotationId_+ , _mladSource = Nothing+ }++-- | The ID for the annotation to delete.+mladAnnotationId :: Lens' MyLibraryAnnotationsDelete Text+mladAnnotationId+ = lens _mladAnnotationId+ (\ s a -> s{_mladAnnotationId = a})++-- | String to identify the originator of this request.+mladSource :: Lens' MyLibraryAnnotationsDelete (Maybe Text)+mladSource+ = lens _mladSource (\ s a -> s{_mladSource = a})++instance GoogleRequest MyLibraryAnnotationsDelete+ where+ type Rs MyLibraryAnnotationsDelete = ()+ requestClient MyLibraryAnnotationsDelete{..}+ = go _mladAnnotationId _mladSource (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryAnnotationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Annotations/Insert.hs view
@@ -0,0 +1,124 @@+{-# 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.Books.MyLibrary.Annotations.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 new annotation.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.annotations.insert@.+module Network.Google.Resource.Books.MyLibrary.Annotations.Insert+ (+ -- * REST Resource+ MyLibraryAnnotationsInsertResource++ -- * Creating a Request+ , myLibraryAnnotationsInsert+ , MyLibraryAnnotationsInsert++ -- * Request Lenses+ , mlaiCountry+ , mlaiPayload+ , mlaiShowOnlySummaryInResponse+ , mlaiSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.annotations.insert@ method which the+-- 'MyLibraryAnnotationsInsert' request conforms to.+type MyLibraryAnnotationsInsertResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "annotations" :>+ QueryParam "country" Text :>+ QueryParam "showOnlySummaryInResponse" Bool :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Annotation :> Post '[JSON] Annotation++-- | Inserts a new annotation.+--+-- /See:/ 'myLibraryAnnotationsInsert' smart constructor.+data MyLibraryAnnotationsInsert = MyLibraryAnnotationsInsert+ { _mlaiCountry :: !(Maybe Text)+ , _mlaiPayload :: !Annotation+ , _mlaiShowOnlySummaryInResponse :: !(Maybe Bool)+ , _mlaiSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryAnnotationsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlaiCountry'+--+-- * 'mlaiPayload'+--+-- * 'mlaiShowOnlySummaryInResponse'+--+-- * 'mlaiSource'+myLibraryAnnotationsInsert+ :: Annotation -- ^ 'mlaiPayload'+ -> MyLibraryAnnotationsInsert+myLibraryAnnotationsInsert pMlaiPayload_ =+ MyLibraryAnnotationsInsert+ { _mlaiCountry = Nothing+ , _mlaiPayload = pMlaiPayload_+ , _mlaiShowOnlySummaryInResponse = Nothing+ , _mlaiSource = Nothing+ }++-- | ISO-3166-1 code to override the IP-based location.+mlaiCountry :: Lens' MyLibraryAnnotationsInsert (Maybe Text)+mlaiCountry+ = lens _mlaiCountry (\ s a -> s{_mlaiCountry = a})++-- | Multipart request metadata.+mlaiPayload :: Lens' MyLibraryAnnotationsInsert Annotation+mlaiPayload+ = lens _mlaiPayload (\ s a -> s{_mlaiPayload = a})++-- | Requests that only the summary of the specified layer be provided in the+-- response.+mlaiShowOnlySummaryInResponse :: Lens' MyLibraryAnnotationsInsert (Maybe Bool)+mlaiShowOnlySummaryInResponse+ = lens _mlaiShowOnlySummaryInResponse+ (\ s a -> s{_mlaiShowOnlySummaryInResponse = a})++-- | String to identify the originator of this request.+mlaiSource :: Lens' MyLibraryAnnotationsInsert (Maybe Text)+mlaiSource+ = lens _mlaiSource (\ s a -> s{_mlaiSource = a})++instance GoogleRequest MyLibraryAnnotationsInsert+ where+ type Rs MyLibraryAnnotationsInsert = Annotation+ requestClient MyLibraryAnnotationsInsert{..}+ = go _mlaiCountry _mlaiShowOnlySummaryInResponse+ _mlaiSource+ (Just AltJSON)+ _mlaiPayload+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryAnnotationsInsertResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Annotations/List.hs view
@@ -0,0 +1,205 @@+{-# 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.Books.MyLibrary.Annotations.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)+--+-- Retrieves a list of annotations, possibly filtered.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.annotations.list@.+module Network.Google.Resource.Books.MyLibrary.Annotations.List+ (+ -- * REST Resource+ MyLibraryAnnotationsListResource++ -- * Creating a Request+ , myLibraryAnnotationsList+ , MyLibraryAnnotationsList++ -- * Request Lenses+ , mlalContentVersion+ , mlalShowDeleted+ , mlalUpdatedMax+ , mlalUpdatedMin+ , mlalLayerIds+ , mlalVolumeId+ , mlalSource+ , mlalPageToken+ , mlalLayerId+ , mlalMaxResults+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.annotations.list@ method which the+-- 'MyLibraryAnnotationsList' request conforms to.+type MyLibraryAnnotationsListResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "annotations" :>+ QueryParam "contentVersion" Text :>+ QueryParam "showDeleted" Bool :>+ QueryParam "updatedMax" Text :>+ QueryParam "updatedMin" Text :>+ QueryParams "layerIds" Text :>+ QueryParam "volumeId" Text :>+ QueryParam "source" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "layerId" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Annotations++-- | Retrieves a list of annotations, possibly filtered.+--+-- /See:/ 'myLibraryAnnotationsList' smart constructor.+data MyLibraryAnnotationsList = MyLibraryAnnotationsList+ { _mlalContentVersion :: !(Maybe Text)+ , _mlalShowDeleted :: !(Maybe Bool)+ , _mlalUpdatedMax :: !(Maybe Text)+ , _mlalUpdatedMin :: !(Maybe Text)+ , _mlalLayerIds :: !(Maybe [Text])+ , _mlalVolumeId :: !(Maybe Text)+ , _mlalSource :: !(Maybe Text)+ , _mlalPageToken :: !(Maybe Text)+ , _mlalLayerId :: !(Maybe Text)+ , _mlalMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryAnnotationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlalContentVersion'+--+-- * 'mlalShowDeleted'+--+-- * 'mlalUpdatedMax'+--+-- * 'mlalUpdatedMin'+--+-- * 'mlalLayerIds'+--+-- * 'mlalVolumeId'+--+-- * 'mlalSource'+--+-- * 'mlalPageToken'+--+-- * 'mlalLayerId'+--+-- * 'mlalMaxResults'+myLibraryAnnotationsList+ :: MyLibraryAnnotationsList+myLibraryAnnotationsList =+ MyLibraryAnnotationsList+ { _mlalContentVersion = Nothing+ , _mlalShowDeleted = Nothing+ , _mlalUpdatedMax = Nothing+ , _mlalUpdatedMin = Nothing+ , _mlalLayerIds = Nothing+ , _mlalVolumeId = Nothing+ , _mlalSource = Nothing+ , _mlalPageToken = Nothing+ , _mlalLayerId = Nothing+ , _mlalMaxResults = Nothing+ }++-- | The content version for the requested volume.+mlalContentVersion :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalContentVersion+ = lens _mlalContentVersion+ (\ s a -> s{_mlalContentVersion = a})++-- | Set to true to return deleted annotations. updatedMin must be in the+-- request to use this. Defaults to false.+mlalShowDeleted :: Lens' MyLibraryAnnotationsList (Maybe Bool)+mlalShowDeleted+ = lens _mlalShowDeleted+ (\ s a -> s{_mlalShowDeleted = a})++-- | RFC 3339 timestamp to restrict to items updated prior to this timestamp+-- (exclusive).+mlalUpdatedMax :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalUpdatedMax+ = lens _mlalUpdatedMax+ (\ s a -> s{_mlalUpdatedMax = a})++-- | RFC 3339 timestamp to restrict to items updated since this timestamp+-- (inclusive).+mlalUpdatedMin :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalUpdatedMin+ = lens _mlalUpdatedMin+ (\ s a -> s{_mlalUpdatedMin = a})++-- | The layer ID(s) to limit annotation by.+mlalLayerIds :: Lens' MyLibraryAnnotationsList [Text]+mlalLayerIds+ = lens _mlalLayerIds (\ s a -> s{_mlalLayerIds = a})+ . _Default+ . _Coerce++-- | The volume to restrict annotations to.+mlalVolumeId :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalVolumeId+ = lens _mlalVolumeId (\ s a -> s{_mlalVolumeId = a})++-- | String to identify the originator of this request.+mlalSource :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalSource+ = lens _mlalSource (\ s a -> s{_mlalSource = a})++-- | The value of the nextToken from the previous page.+mlalPageToken :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalPageToken+ = lens _mlalPageToken+ (\ s a -> s{_mlalPageToken = a})++-- | The layer ID to limit annotation by.+mlalLayerId :: Lens' MyLibraryAnnotationsList (Maybe Text)+mlalLayerId+ = lens _mlalLayerId (\ s a -> s{_mlalLayerId = a})++-- | Maximum number of results to return+mlalMaxResults :: Lens' MyLibraryAnnotationsList (Maybe Word32)+mlalMaxResults+ = lens _mlalMaxResults+ (\ s a -> s{_mlalMaxResults = a})+ . mapping _Coerce++instance GoogleRequest MyLibraryAnnotationsList where+ type Rs MyLibraryAnnotationsList = Annotations+ requestClient MyLibraryAnnotationsList{..}+ = go _mlalContentVersion _mlalShowDeleted+ _mlalUpdatedMax+ _mlalUpdatedMin+ (_mlalLayerIds ^. _Default)+ _mlalVolumeId+ _mlalSource+ _mlalPageToken+ _mlalLayerId+ _mlalMaxResults+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryAnnotationsListResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Annotations/Summary.hs view
@@ -0,0 +1,103 @@+{-# 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.Books.MyLibrary.Annotations.Summary+-- 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 summary of specified layers.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.annotations.summary@.+module Network.Google.Resource.Books.MyLibrary.Annotations.Summary+ (+ -- * REST Resource+ MyLibraryAnnotationsSummaryResource++ -- * Creating a Request+ , myLibraryAnnotationsSummary+ , MyLibraryAnnotationsSummary++ -- * Request Lenses+ , mlasLayerIds+ , mlasVolumeId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.annotations.summary@ method which the+-- 'MyLibraryAnnotationsSummary' request conforms to.+type MyLibraryAnnotationsSummaryResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "annotations" :>+ "summary" :>+ QueryParams "layerIds" Text :>+ QueryParam "volumeId" Text :>+ QueryParam "alt" AltJSON :>+ Post '[JSON] AnnotationsSummary++-- | Gets the summary of specified layers.+--+-- /See:/ 'myLibraryAnnotationsSummary' smart constructor.+data MyLibraryAnnotationsSummary = MyLibraryAnnotationsSummary+ { _mlasLayerIds :: ![Text]+ , _mlasVolumeId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryAnnotationsSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlasLayerIds'+--+-- * 'mlasVolumeId'+myLibraryAnnotationsSummary+ :: [Text] -- ^ 'mlasLayerIds'+ -> Text -- ^ 'mlasVolumeId'+ -> MyLibraryAnnotationsSummary+myLibraryAnnotationsSummary pMlasLayerIds_ pMlasVolumeId_ =+ MyLibraryAnnotationsSummary+ { _mlasLayerIds = _Coerce # pMlasLayerIds_+ , _mlasVolumeId = pMlasVolumeId_+ }++-- | Array of layer IDs to get the summary for.+mlasLayerIds :: Lens' MyLibraryAnnotationsSummary [Text]+mlasLayerIds+ = lens _mlasLayerIds (\ s a -> s{_mlasLayerIds = a})+ . _Coerce++-- | Volume id to get the summary for.+mlasVolumeId :: Lens' MyLibraryAnnotationsSummary Text+mlasVolumeId+ = lens _mlasVolumeId (\ s a -> s{_mlasVolumeId = a})++instance GoogleRequest MyLibraryAnnotationsSummary+ where+ type Rs MyLibraryAnnotationsSummary =+ AnnotationsSummary+ requestClient MyLibraryAnnotationsSummary{..}+ = go _mlasLayerIds (Just _mlasVolumeId)+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryAnnotationsSummaryResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Annotations/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.Books.MyLibrary.Annotations.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 annotation.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.annotations.update@.+module Network.Google.Resource.Books.MyLibrary.Annotations.Update+ (+ -- * REST Resource+ MyLibraryAnnotationsUpdateResource++ -- * Creating a Request+ , myLibraryAnnotationsUpdate+ , MyLibraryAnnotationsUpdate++ -- * Request Lenses+ , mlauPayload+ , mlauAnnotationId+ , mlauSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.annotations.update@ method which the+-- 'MyLibraryAnnotationsUpdate' request conforms to.+type MyLibraryAnnotationsUpdateResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "annotations" :>+ Capture "annotationId" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Annotation :> Put '[JSON] Annotation++-- | Updates an existing annotation.+--+-- /See:/ 'myLibraryAnnotationsUpdate' smart constructor.+data MyLibraryAnnotationsUpdate = MyLibraryAnnotationsUpdate+ { _mlauPayload :: !Annotation+ , _mlauAnnotationId :: !Text+ , _mlauSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryAnnotationsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlauPayload'+--+-- * 'mlauAnnotationId'+--+-- * 'mlauSource'+myLibraryAnnotationsUpdate+ :: Annotation -- ^ 'mlauPayload'+ -> Text -- ^ 'mlauAnnotationId'+ -> MyLibraryAnnotationsUpdate+myLibraryAnnotationsUpdate pMlauPayload_ pMlauAnnotationId_ =+ MyLibraryAnnotationsUpdate+ { _mlauPayload = pMlauPayload_+ , _mlauAnnotationId = pMlauAnnotationId_+ , _mlauSource = Nothing+ }++-- | Multipart request metadata.+mlauPayload :: Lens' MyLibraryAnnotationsUpdate Annotation+mlauPayload+ = lens _mlauPayload (\ s a -> s{_mlauPayload = a})++-- | The ID for the annotation to update.+mlauAnnotationId :: Lens' MyLibraryAnnotationsUpdate Text+mlauAnnotationId+ = lens _mlauAnnotationId+ (\ s a -> s{_mlauAnnotationId = a})++-- | String to identify the originator of this request.+mlauSource :: Lens' MyLibraryAnnotationsUpdate (Maybe Text)+mlauSource+ = lens _mlauSource (\ s a -> s{_mlauSource = a})++instance GoogleRequest MyLibraryAnnotationsUpdate+ where+ type Rs MyLibraryAnnotationsUpdate = Annotation+ requestClient MyLibraryAnnotationsUpdate{..}+ = go _mlauAnnotationId _mlauSource (Just AltJSON)+ _mlauPayload+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryAnnotationsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/AddVolume.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.Books.MyLibrary.Bookshelves.AddVolume+-- 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 volume to a bookshelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.addVolume@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.AddVolume+ (+ -- * REST Resource+ MyLibraryBookshelvesAddVolumeResource++ -- * Creating a Request+ , myLibraryBookshelvesAddVolume+ , MyLibraryBookshelvesAddVolume++ -- * Request Lenses+ , mlbavReason+ , mlbavShelf+ , mlbavVolumeId+ , mlbavSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.addVolume@ method which the+-- 'MyLibraryBookshelvesAddVolume' request conforms to.+type MyLibraryBookshelvesAddVolumeResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "addVolume" :>+ QueryParam "volumeId" Text :>+ QueryParam "reason"+ MyLibraryBookshelvesAddVolumeReason+ :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Adds a volume to a bookshelf.+--+-- /See:/ 'myLibraryBookshelvesAddVolume' smart constructor.+data MyLibraryBookshelvesAddVolume = MyLibraryBookshelvesAddVolume+ { _mlbavReason :: !(Maybe MyLibraryBookshelvesAddVolumeReason)+ , _mlbavShelf :: !Text+ , _mlbavVolumeId :: !Text+ , _mlbavSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesAddVolume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbavReason'+--+-- * 'mlbavShelf'+--+-- * 'mlbavVolumeId'+--+-- * 'mlbavSource'+myLibraryBookshelvesAddVolume+ :: Text -- ^ 'mlbavShelf'+ -> Text -- ^ 'mlbavVolumeId'+ -> MyLibraryBookshelvesAddVolume+myLibraryBookshelvesAddVolume pMlbavShelf_ pMlbavVolumeId_ =+ MyLibraryBookshelvesAddVolume+ { _mlbavReason = Nothing+ , _mlbavShelf = pMlbavShelf_+ , _mlbavVolumeId = pMlbavVolumeId_+ , _mlbavSource = Nothing+ }++-- | The reason for which the book is added to the library.+mlbavReason :: Lens' MyLibraryBookshelvesAddVolume (Maybe MyLibraryBookshelvesAddVolumeReason)+mlbavReason+ = lens _mlbavReason (\ s a -> s{_mlbavReason = a})++-- | ID of bookshelf to which to add a volume.+mlbavShelf :: Lens' MyLibraryBookshelvesAddVolume Text+mlbavShelf+ = lens _mlbavShelf (\ s a -> s{_mlbavShelf = a})++-- | ID of volume to add.+mlbavVolumeId :: Lens' MyLibraryBookshelvesAddVolume Text+mlbavVolumeId+ = lens _mlbavVolumeId+ (\ s a -> s{_mlbavVolumeId = a})++-- | String to identify the originator of this request.+mlbavSource :: Lens' MyLibraryBookshelvesAddVolume (Maybe Text)+mlbavSource+ = lens _mlbavSource (\ s a -> s{_mlbavSource = a})++instance GoogleRequest MyLibraryBookshelvesAddVolume+ where+ type Rs MyLibraryBookshelvesAddVolume = ()+ requestClient MyLibraryBookshelvesAddVolume{..}+ = go _mlbavShelf (Just _mlbavVolumeId) _mlbavReason+ _mlbavSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryBookshelvesAddVolumeResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/ClearVolumes.hs view
@@ -0,0 +1,99 @@+{-# 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.Books.MyLibrary.Bookshelves.ClearVolumes+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Clears all volumes from a bookshelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.clearVolumes@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.ClearVolumes+ (+ -- * REST Resource+ MyLibraryBookshelvesClearVolumesResource++ -- * Creating a Request+ , myLibraryBookshelvesClearVolumes+ , MyLibraryBookshelvesClearVolumes++ -- * Request Lenses+ , mlbcvShelf+ , mlbcvSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.clearVolumes@ method which the+-- 'MyLibraryBookshelvesClearVolumes' request conforms to.+type MyLibraryBookshelvesClearVolumesResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "clearVolumes" :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Clears all volumes from a bookshelf.+--+-- /See:/ 'myLibraryBookshelvesClearVolumes' smart constructor.+data MyLibraryBookshelvesClearVolumes = MyLibraryBookshelvesClearVolumes+ { _mlbcvShelf :: !Text+ , _mlbcvSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesClearVolumes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbcvShelf'+--+-- * 'mlbcvSource'+myLibraryBookshelvesClearVolumes+ :: Text -- ^ 'mlbcvShelf'+ -> MyLibraryBookshelvesClearVolumes+myLibraryBookshelvesClearVolumes pMlbcvShelf_ =+ MyLibraryBookshelvesClearVolumes+ { _mlbcvShelf = pMlbcvShelf_+ , _mlbcvSource = Nothing+ }++-- | ID of bookshelf from which to remove a volume.+mlbcvShelf :: Lens' MyLibraryBookshelvesClearVolumes Text+mlbcvShelf+ = lens _mlbcvShelf (\ s a -> s{_mlbcvShelf = a})++-- | String to identify the originator of this request.+mlbcvSource :: Lens' MyLibraryBookshelvesClearVolumes (Maybe Text)+mlbcvSource+ = lens _mlbcvSource (\ s a -> s{_mlbcvSource = a})++instance GoogleRequest+ MyLibraryBookshelvesClearVolumes where+ type Rs MyLibraryBookshelvesClearVolumes = ()+ requestClient MyLibraryBookshelvesClearVolumes{..}+ = go _mlbcvShelf _mlbcvSource (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryBookshelvesClearVolumesResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Get.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.Books.MyLibrary.Bookshelves.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)+--+-- Retrieves metadata for a specific bookshelf belonging to the+-- authenticated user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.get@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.Get+ (+ -- * REST Resource+ MyLibraryBookshelvesGetResource++ -- * Creating a Request+ , myLibraryBookshelvesGet+ , MyLibraryBookshelvesGet++ -- * Request Lenses+ , mlbgShelf+ , mlbgSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.get@ method which the+-- 'MyLibraryBookshelvesGet' request conforms to.+type MyLibraryBookshelvesGetResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Bookshelf++-- | Retrieves metadata for a specific bookshelf belonging to the+-- authenticated user.+--+-- /See:/ 'myLibraryBookshelvesGet' smart constructor.+data MyLibraryBookshelvesGet = MyLibraryBookshelvesGet+ { _mlbgShelf :: !Text+ , _mlbgSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbgShelf'+--+-- * 'mlbgSource'+myLibraryBookshelvesGet+ :: Text -- ^ 'mlbgShelf'+ -> MyLibraryBookshelvesGet+myLibraryBookshelvesGet pMlbgShelf_ =+ MyLibraryBookshelvesGet+ { _mlbgShelf = pMlbgShelf_+ , _mlbgSource = Nothing+ }++-- | ID of bookshelf to retrieve.+mlbgShelf :: Lens' MyLibraryBookshelvesGet Text+mlbgShelf+ = lens _mlbgShelf (\ s a -> s{_mlbgShelf = a})++-- | String to identify the originator of this request.+mlbgSource :: Lens' MyLibraryBookshelvesGet (Maybe Text)+mlbgSource+ = lens _mlbgSource (\ s a -> s{_mlbgSource = a})++instance GoogleRequest MyLibraryBookshelvesGet where+ type Rs MyLibraryBookshelvesGet = Bookshelf+ requestClient MyLibraryBookshelvesGet{..}+ = go _mlbgShelf _mlbgSource (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryBookshelvesGetResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/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.Books.MyLibrary.Bookshelves.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)+--+-- Retrieves a list of bookshelves belonging to the authenticated user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.list@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.List+ (+ -- * REST Resource+ MyLibraryBookshelvesListResource++ -- * Creating a Request+ , myLibraryBookshelvesList+ , MyLibraryBookshelvesList++ -- * Request Lenses+ , mlblSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.list@ method which the+-- 'MyLibraryBookshelvesList' request conforms to.+type MyLibraryBookshelvesListResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Bookshelves++-- | Retrieves a list of bookshelves belonging to the authenticated user.+--+-- /See:/ 'myLibraryBookshelvesList' smart constructor.+newtype MyLibraryBookshelvesList = MyLibraryBookshelvesList+ { _mlblSource :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlblSource'+myLibraryBookshelvesList+ :: MyLibraryBookshelvesList+myLibraryBookshelvesList =+ MyLibraryBookshelvesList+ { _mlblSource = Nothing+ }++-- | String to identify the originator of this request.+mlblSource :: Lens' MyLibraryBookshelvesList (Maybe Text)+mlblSource+ = lens _mlblSource (\ s a -> s{_mlblSource = a})++instance GoogleRequest MyLibraryBookshelvesList where+ type Rs MyLibraryBookshelvesList = Bookshelves+ requestClient MyLibraryBookshelvesList{..}+ = go _mlblSource (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryBookshelvesListResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/MoveVolume.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Books.MyLibrary.Bookshelves.MoveVolume+-- 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 volume within a bookshelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.moveVolume@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.MoveVolume+ (+ -- * REST Resource+ MyLibraryBookshelvesMoveVolumeResource++ -- * Creating a Request+ , myLibraryBookshelvesMoveVolume+ , MyLibraryBookshelvesMoveVolume++ -- * Request Lenses+ , mlbmvShelf+ , mlbmvVolumeId+ , mlbmvSource+ , mlbmvVolumePosition+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.moveVolume@ method which the+-- 'MyLibraryBookshelvesMoveVolume' request conforms to.+type MyLibraryBookshelvesMoveVolumeResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "moveVolume" :>+ QueryParam "volumeId" Text :>+ QueryParam "volumePosition" (Textual Int32) :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Moves a volume within a bookshelf.+--+-- /See:/ 'myLibraryBookshelvesMoveVolume' smart constructor.+data MyLibraryBookshelvesMoveVolume = MyLibraryBookshelvesMoveVolume+ { _mlbmvShelf :: !Text+ , _mlbmvVolumeId :: !Text+ , _mlbmvSource :: !(Maybe Text)+ , _mlbmvVolumePosition :: !(Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesMoveVolume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbmvShelf'+--+-- * 'mlbmvVolumeId'+--+-- * 'mlbmvSource'+--+-- * 'mlbmvVolumePosition'+myLibraryBookshelvesMoveVolume+ :: Text -- ^ 'mlbmvShelf'+ -> Text -- ^ 'mlbmvVolumeId'+ -> Int32 -- ^ 'mlbmvVolumePosition'+ -> MyLibraryBookshelvesMoveVolume+myLibraryBookshelvesMoveVolume pMlbmvShelf_ pMlbmvVolumeId_ pMlbmvVolumePosition_ =+ MyLibraryBookshelvesMoveVolume+ { _mlbmvShelf = pMlbmvShelf_+ , _mlbmvVolumeId = pMlbmvVolumeId_+ , _mlbmvSource = Nothing+ , _mlbmvVolumePosition = _Coerce # pMlbmvVolumePosition_+ }++-- | ID of bookshelf with the volume.+mlbmvShelf :: Lens' MyLibraryBookshelvesMoveVolume Text+mlbmvShelf+ = lens _mlbmvShelf (\ s a -> s{_mlbmvShelf = a})++-- | ID of volume to move.+mlbmvVolumeId :: Lens' MyLibraryBookshelvesMoveVolume Text+mlbmvVolumeId+ = lens _mlbmvVolumeId+ (\ s a -> s{_mlbmvVolumeId = a})++-- | String to identify the originator of this request.+mlbmvSource :: Lens' MyLibraryBookshelvesMoveVolume (Maybe Text)+mlbmvSource+ = lens _mlbmvSource (\ s a -> s{_mlbmvSource = a})++-- | Position on shelf to move the item (0 puts the item before the current+-- first item, 1 puts it between the first and the second and so on.)+mlbmvVolumePosition :: Lens' MyLibraryBookshelvesMoveVolume Int32+mlbmvVolumePosition+ = lens _mlbmvVolumePosition+ (\ s a -> s{_mlbmvVolumePosition = a})+ . _Coerce++instance GoogleRequest MyLibraryBookshelvesMoveVolume+ where+ type Rs MyLibraryBookshelvesMoveVolume = ()+ requestClient MyLibraryBookshelvesMoveVolume{..}+ = go _mlbmvShelf (Just _mlbmvVolumeId)+ (Just _mlbmvVolumePosition)+ _mlbmvSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryBookshelvesMoveVolumeResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/RemoveVolume.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.Books.MyLibrary.Bookshelves.RemoveVolume+-- 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 volume from a bookshelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.removeVolume@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.RemoveVolume+ (+ -- * REST Resource+ MyLibraryBookshelvesRemoveVolumeResource++ -- * Creating a Request+ , myLibraryBookshelvesRemoveVolume+ , MyLibraryBookshelvesRemoveVolume++ -- * Request Lenses+ , mlbrvReason+ , mlbrvShelf+ , mlbrvVolumeId+ , mlbrvSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.removeVolume@ method which the+-- 'MyLibraryBookshelvesRemoveVolume' request conforms to.+type MyLibraryBookshelvesRemoveVolumeResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "removeVolume" :>+ QueryParam "volumeId" Text :>+ QueryParam "reason"+ MyLibraryBookshelvesRemoveVolumeReason+ :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Removes a volume from a bookshelf.+--+-- /See:/ 'myLibraryBookshelvesRemoveVolume' smart constructor.+data MyLibraryBookshelvesRemoveVolume = MyLibraryBookshelvesRemoveVolume+ { _mlbrvReason :: !(Maybe MyLibraryBookshelvesRemoveVolumeReason)+ , _mlbrvShelf :: !Text+ , _mlbrvVolumeId :: !Text+ , _mlbrvSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesRemoveVolume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbrvReason'+--+-- * 'mlbrvShelf'+--+-- * 'mlbrvVolumeId'+--+-- * 'mlbrvSource'+myLibraryBookshelvesRemoveVolume+ :: Text -- ^ 'mlbrvShelf'+ -> Text -- ^ 'mlbrvVolumeId'+ -> MyLibraryBookshelvesRemoveVolume+myLibraryBookshelvesRemoveVolume pMlbrvShelf_ pMlbrvVolumeId_ =+ MyLibraryBookshelvesRemoveVolume+ { _mlbrvReason = Nothing+ , _mlbrvShelf = pMlbrvShelf_+ , _mlbrvVolumeId = pMlbrvVolumeId_+ , _mlbrvSource = Nothing+ }++-- | The reason for which the book is removed from the library.+mlbrvReason :: Lens' MyLibraryBookshelvesRemoveVolume (Maybe MyLibraryBookshelvesRemoveVolumeReason)+mlbrvReason+ = lens _mlbrvReason (\ s a -> s{_mlbrvReason = a})++-- | ID of bookshelf from which to remove a volume.+mlbrvShelf :: Lens' MyLibraryBookshelvesRemoveVolume Text+mlbrvShelf+ = lens _mlbrvShelf (\ s a -> s{_mlbrvShelf = a})++-- | ID of volume to remove.+mlbrvVolumeId :: Lens' MyLibraryBookshelvesRemoveVolume Text+mlbrvVolumeId+ = lens _mlbrvVolumeId+ (\ s a -> s{_mlbrvVolumeId = a})++-- | String to identify the originator of this request.+mlbrvSource :: Lens' MyLibraryBookshelvesRemoveVolume (Maybe Text)+mlbrvSource+ = lens _mlbrvSource (\ s a -> s{_mlbrvSource = a})++instance GoogleRequest+ MyLibraryBookshelvesRemoveVolume where+ type Rs MyLibraryBookshelvesRemoveVolume = ()+ requestClient MyLibraryBookshelvesRemoveVolume{..}+ = go _mlbrvShelf (Just _mlbrvVolumeId) _mlbrvReason+ _mlbrvSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryBookshelvesRemoveVolumeResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Volumes/List.hs view
@@ -0,0 +1,177 @@+{-# 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.Books.MyLibrary.Bookshelves.Volumes.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)+--+-- Gets volume information for volumes on a bookshelf.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.bookshelves.volumes.list@.+module Network.Google.Resource.Books.MyLibrary.Bookshelves.Volumes.List+ (+ -- * REST Resource+ MyLibraryBookshelvesVolumesListResource++ -- * Creating a Request+ , myLibraryBookshelvesVolumesList+ , MyLibraryBookshelvesVolumesList++ -- * Request Lenses+ , mlbvlCountry+ , mlbvlQ+ , mlbvlShelf+ , mlbvlSource+ , mlbvlProjection+ , mlbvlStartIndex+ , mlbvlMaxResults+ , mlbvlShowPreOrders+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.bookshelves.volumes.list@ method which the+-- 'MyLibraryBookshelvesVolumesList' request conforms to.+type MyLibraryBookshelvesVolumesListResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "bookshelves" :>+ Capture "shelf" Text :>+ "volumes" :>+ QueryParam "country" Text :>+ QueryParam "q" Text :>+ QueryParam "source" Text :>+ QueryParam "projection"+ MyLibraryBookshelvesVolumesListProjection+ :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "showPreorders" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Gets volume information for volumes on a bookshelf.+--+-- /See:/ 'myLibraryBookshelvesVolumesList' smart constructor.+data MyLibraryBookshelvesVolumesList = MyLibraryBookshelvesVolumesList+ { _mlbvlCountry :: !(Maybe Text)+ , _mlbvlQ :: !(Maybe Text)+ , _mlbvlShelf :: !Text+ , _mlbvlSource :: !(Maybe Text)+ , _mlbvlProjection :: !(Maybe MyLibraryBookshelvesVolumesListProjection)+ , _mlbvlStartIndex :: !(Maybe (Textual Word32))+ , _mlbvlMaxResults :: !(Maybe (Textual Word32))+ , _mlbvlShowPreOrders :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryBookshelvesVolumesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlbvlCountry'+--+-- * 'mlbvlQ'+--+-- * 'mlbvlShelf'+--+-- * 'mlbvlSource'+--+-- * 'mlbvlProjection'+--+-- * 'mlbvlStartIndex'+--+-- * 'mlbvlMaxResults'+--+-- * 'mlbvlShowPreOrders'+myLibraryBookshelvesVolumesList+ :: Text -- ^ 'mlbvlShelf'+ -> MyLibraryBookshelvesVolumesList+myLibraryBookshelvesVolumesList pMlbvlShelf_ =+ MyLibraryBookshelvesVolumesList+ { _mlbvlCountry = Nothing+ , _mlbvlQ = Nothing+ , _mlbvlShelf = pMlbvlShelf_+ , _mlbvlSource = Nothing+ , _mlbvlProjection = Nothing+ , _mlbvlStartIndex = Nothing+ , _mlbvlMaxResults = Nothing+ , _mlbvlShowPreOrders = Nothing+ }++-- | ISO-3166-1 code to override the IP-based location.+mlbvlCountry :: Lens' MyLibraryBookshelvesVolumesList (Maybe Text)+mlbvlCountry+ = lens _mlbvlCountry (\ s a -> s{_mlbvlCountry = a})++-- | Full-text search query string in this bookshelf.+mlbvlQ :: Lens' MyLibraryBookshelvesVolumesList (Maybe Text)+mlbvlQ = lens _mlbvlQ (\ s a -> s{_mlbvlQ = a})++-- | The bookshelf ID or name retrieve volumes for.+mlbvlShelf :: Lens' MyLibraryBookshelvesVolumesList Text+mlbvlShelf+ = lens _mlbvlShelf (\ s a -> s{_mlbvlShelf = a})++-- | String to identify the originator of this request.+mlbvlSource :: Lens' MyLibraryBookshelvesVolumesList (Maybe Text)+mlbvlSource+ = lens _mlbvlSource (\ s a -> s{_mlbvlSource = a})++-- | Restrict information returned to a set of selected fields.+mlbvlProjection :: Lens' MyLibraryBookshelvesVolumesList (Maybe MyLibraryBookshelvesVolumesListProjection)+mlbvlProjection+ = lens _mlbvlProjection+ (\ s a -> s{_mlbvlProjection = a})++-- | Index of the first element to return (starts at 0)+mlbvlStartIndex :: Lens' MyLibraryBookshelvesVolumesList (Maybe Word32)+mlbvlStartIndex+ = lens _mlbvlStartIndex+ (\ s a -> s{_mlbvlStartIndex = a})+ . mapping _Coerce++-- | Maximum number of results to return+mlbvlMaxResults :: Lens' MyLibraryBookshelvesVolumesList (Maybe Word32)+mlbvlMaxResults+ = lens _mlbvlMaxResults+ (\ s a -> s{_mlbvlMaxResults = a})+ . mapping _Coerce++-- | Set to true to show pre-ordered books. Defaults to false.+mlbvlShowPreOrders :: Lens' MyLibraryBookshelvesVolumesList (Maybe Bool)+mlbvlShowPreOrders+ = lens _mlbvlShowPreOrders+ (\ s a -> s{_mlbvlShowPreOrders = a})++instance GoogleRequest+ MyLibraryBookshelvesVolumesList where+ type Rs MyLibraryBookshelvesVolumesList = Volumes+ requestClient MyLibraryBookshelvesVolumesList{..}+ = go _mlbvlShelf _mlbvlCountry _mlbvlQ _mlbvlSource+ _mlbvlProjection+ _mlbvlStartIndex+ _mlbvlMaxResults+ _mlbvlShowPreOrders+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryBookshelvesVolumesListResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/Get.hs view
@@ -0,0 +1,113 @@+{-# 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.Books.MyLibrary.ReadingPositions.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)+--+-- Retrieves my reading position information for a volume.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.readingpositions.get@.+module Network.Google.Resource.Books.MyLibrary.ReadingPositions.Get+ (+ -- * REST Resource+ MyLibraryReadingPositionsGetResource++ -- * Creating a Request+ , myLibraryReadingPositionsGet+ , MyLibraryReadingPositionsGet++ -- * Request Lenses+ , mlrpgContentVersion+ , mlrpgVolumeId+ , mlrpgSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.readingpositions.get@ method which the+-- 'MyLibraryReadingPositionsGet' request conforms to.+type MyLibraryReadingPositionsGetResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "readingpositions" :>+ Capture "volumeId" Text :>+ QueryParam "contentVersion" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ReadingPosition++-- | Retrieves my reading position information for a volume.+--+-- /See:/ 'myLibraryReadingPositionsGet' smart constructor.+data MyLibraryReadingPositionsGet = MyLibraryReadingPositionsGet+ { _mlrpgContentVersion :: !(Maybe Text)+ , _mlrpgVolumeId :: !Text+ , _mlrpgSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryReadingPositionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlrpgContentVersion'+--+-- * 'mlrpgVolumeId'+--+-- * 'mlrpgSource'+myLibraryReadingPositionsGet+ :: Text -- ^ 'mlrpgVolumeId'+ -> MyLibraryReadingPositionsGet+myLibraryReadingPositionsGet pMlrpgVolumeId_ =+ MyLibraryReadingPositionsGet+ { _mlrpgContentVersion = Nothing+ , _mlrpgVolumeId = pMlrpgVolumeId_+ , _mlrpgSource = Nothing+ }++-- | Volume content version for which this reading position is requested.+mlrpgContentVersion :: Lens' MyLibraryReadingPositionsGet (Maybe Text)+mlrpgContentVersion+ = lens _mlrpgContentVersion+ (\ s a -> s{_mlrpgContentVersion = a})++-- | ID of volume for which to retrieve a reading position.+mlrpgVolumeId :: Lens' MyLibraryReadingPositionsGet Text+mlrpgVolumeId+ = lens _mlrpgVolumeId+ (\ s a -> s{_mlrpgVolumeId = a})++-- | String to identify the originator of this request.+mlrpgSource :: Lens' MyLibraryReadingPositionsGet (Maybe Text)+mlrpgSource+ = lens _mlrpgSource (\ s a -> s{_mlrpgSource = a})++instance GoogleRequest MyLibraryReadingPositionsGet+ where+ type Rs MyLibraryReadingPositionsGet =+ ReadingPosition+ requestClient MyLibraryReadingPositionsGet{..}+ = go _mlrpgVolumeId _mlrpgContentVersion _mlrpgSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy MyLibraryReadingPositionsGetResource)+ mempty
+ gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/SetPosition.hs view
@@ -0,0 +1,170 @@+{-# 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.Books.MyLibrary.ReadingPositions.SetPosition+-- 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)+--+-- Sets my reading position information for a volume.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.mylibrary.readingpositions.setPosition@.+module Network.Google.Resource.Books.MyLibrary.ReadingPositions.SetPosition+ (+ -- * REST Resource+ MyLibraryReadingPositionsSetPositionResource++ -- * Creating a Request+ , myLibraryReadingPositionsSetPosition+ , MyLibraryReadingPositionsSetPosition++ -- * Request Lenses+ , mlrpspDeviceCookie+ , mlrpspContentVersion+ , mlrpspAction+ , mlrpspVolumeId+ , mlrpspSource+ , mlrpspTimestamp+ , mlrpspPosition+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.mylibrary.readingpositions.setPosition@ method which the+-- 'MyLibraryReadingPositionsSetPosition' request conforms to.+type MyLibraryReadingPositionsSetPositionResource =+ "books" :>+ "v1" :>+ "mylibrary" :>+ "readingpositions" :>+ Capture "volumeId" Text :>+ "setPosition" :>+ QueryParam "timestamp" Text :>+ QueryParam "position" Text :>+ QueryParam "deviceCookie" Text :>+ QueryParam "contentVersion" Text :>+ QueryParam "action"+ MyLibraryReadingPositionsSetPositionAction+ :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- | Sets my reading position information for a volume.+--+-- /See:/ 'myLibraryReadingPositionsSetPosition' smart constructor.+data MyLibraryReadingPositionsSetPosition = MyLibraryReadingPositionsSetPosition+ { _mlrpspDeviceCookie :: !(Maybe Text)+ , _mlrpspContentVersion :: !(Maybe Text)+ , _mlrpspAction :: !(Maybe MyLibraryReadingPositionsSetPositionAction)+ , _mlrpspVolumeId :: !Text+ , _mlrpspSource :: !(Maybe Text)+ , _mlrpspTimestamp :: !Text+ , _mlrpspPosition :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MyLibraryReadingPositionsSetPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlrpspDeviceCookie'+--+-- * 'mlrpspContentVersion'+--+-- * 'mlrpspAction'+--+-- * 'mlrpspVolumeId'+--+-- * 'mlrpspSource'+--+-- * 'mlrpspTimestamp'+--+-- * 'mlrpspPosition'+myLibraryReadingPositionsSetPosition+ :: Text -- ^ 'mlrpspVolumeId'+ -> Text -- ^ 'mlrpspTimestamp'+ -> Text -- ^ 'mlrpspPosition'+ -> MyLibraryReadingPositionsSetPosition+myLibraryReadingPositionsSetPosition pMlrpspVolumeId_ pMlrpspTimestamp_ pMlrpspPosition_ =+ MyLibraryReadingPositionsSetPosition+ { _mlrpspDeviceCookie = Nothing+ , _mlrpspContentVersion = Nothing+ , _mlrpspAction = Nothing+ , _mlrpspVolumeId = pMlrpspVolumeId_+ , _mlrpspSource = Nothing+ , _mlrpspTimestamp = pMlrpspTimestamp_+ , _mlrpspPosition = pMlrpspPosition_+ }++-- | Random persistent device cookie optional on set position.+mlrpspDeviceCookie :: Lens' MyLibraryReadingPositionsSetPosition (Maybe Text)+mlrpspDeviceCookie+ = lens _mlrpspDeviceCookie+ (\ s a -> s{_mlrpspDeviceCookie = a})++-- | Volume content version for which this reading position applies.+mlrpspContentVersion :: Lens' MyLibraryReadingPositionsSetPosition (Maybe Text)+mlrpspContentVersion+ = lens _mlrpspContentVersion+ (\ s a -> s{_mlrpspContentVersion = a})++-- | Action that caused this reading position to be set.+mlrpspAction :: Lens' MyLibraryReadingPositionsSetPosition (Maybe MyLibraryReadingPositionsSetPositionAction)+mlrpspAction+ = lens _mlrpspAction (\ s a -> s{_mlrpspAction = a})++-- | ID of volume for which to update the reading position.+mlrpspVolumeId :: Lens' MyLibraryReadingPositionsSetPosition Text+mlrpspVolumeId+ = lens _mlrpspVolumeId+ (\ s a -> s{_mlrpspVolumeId = a})++-- | String to identify the originator of this request.+mlrpspSource :: Lens' MyLibraryReadingPositionsSetPosition (Maybe Text)+mlrpspSource+ = lens _mlrpspSource (\ s a -> s{_mlrpspSource = a})++-- | RFC 3339 UTC format timestamp associated with this reading position.+mlrpspTimestamp :: Lens' MyLibraryReadingPositionsSetPosition Text+mlrpspTimestamp+ = lens _mlrpspTimestamp+ (\ s a -> s{_mlrpspTimestamp = a})++-- | Position string for the new volume reading position.+mlrpspPosition :: Lens' MyLibraryReadingPositionsSetPosition Text+mlrpspPosition+ = lens _mlrpspPosition+ (\ s a -> s{_mlrpspPosition = a})++instance GoogleRequest+ MyLibraryReadingPositionsSetPosition where+ type Rs MyLibraryReadingPositionsSetPosition = ()+ requestClient+ MyLibraryReadingPositionsSetPosition{..}+ = go _mlrpspVolumeId (Just _mlrpspTimestamp)+ (Just _mlrpspPosition)+ _mlrpspDeviceCookie+ _mlrpspContentVersion+ _mlrpspAction+ _mlrpspSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy MyLibraryReadingPositionsSetPositionResource)+ mempty
+ gen/Network/Google/Resource/Books/Notification/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.Books.Notification.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns notification details for a given notification id.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.notification.get@.+module Network.Google.Resource.Books.Notification.Get+ (+ -- * REST Resource+ NotificationGetResource++ -- * Creating a Request+ , notificationGet+ , NotificationGet++ -- * Request Lenses+ , ngLocale+ , ngNotificationId+ , ngSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.notification.get@ method which the+-- 'NotificationGet' request conforms to.+type NotificationGetResource =+ "books" :>+ "v1" :>+ "notification" :>+ "get" :>+ QueryParam "notification_id" Text :>+ QueryParam "locale" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Notification++-- | Returns notification details for a given notification id.+--+-- /See:/ 'notificationGet' smart constructor.+data NotificationGet = NotificationGet+ { _ngLocale :: !(Maybe Text)+ , _ngNotificationId :: !Text+ , _ngSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NotificationGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ngLocale'+--+-- * 'ngNotificationId'+--+-- * 'ngSource'+notificationGet+ :: Text -- ^ 'ngNotificationId'+ -> NotificationGet+notificationGet pNgNotificationId_ =+ NotificationGet+ { _ngLocale = Nothing+ , _ngNotificationId = pNgNotificationId_+ , _ngSource = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating notification title and body.+ngLocale :: Lens' NotificationGet (Maybe Text)+ngLocale = lens _ngLocale (\ s a -> s{_ngLocale = a})++-- | String to identify the notification.+ngNotificationId :: Lens' NotificationGet Text+ngNotificationId+ = lens _ngNotificationId+ (\ s a -> s{_ngNotificationId = a})++-- | String to identify the originator of this request.+ngSource :: Lens' NotificationGet (Maybe Text)+ngSource = lens _ngSource (\ s a -> s{_ngSource = a})++instance GoogleRequest NotificationGet where+ type Rs NotificationGet = Notification+ requestClient NotificationGet{..}+ = go (Just _ngNotificationId) _ngLocale _ngSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy NotificationGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Onboarding/ListCategories.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.Books.Onboarding.ListCategories+-- 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)+--+-- List categories for onboarding experience.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.onboarding.listCategories@.+module Network.Google.Resource.Books.Onboarding.ListCategories+ (+ -- * REST Resource+ OnboardingListCategoriesResource++ -- * Creating a Request+ , onboardingListCategories+ , OnboardingListCategories++ -- * Request Lenses+ , olcLocale+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.onboarding.listCategories@ method which the+-- 'OnboardingListCategories' request conforms to.+type OnboardingListCategoriesResource =+ "books" :>+ "v1" :>+ "onboarding" :>+ "listCategories" :>+ QueryParam "locale" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Category++-- | List categories for onboarding experience.+--+-- /See:/ 'onboardingListCategories' smart constructor.+newtype OnboardingListCategories = OnboardingListCategories+ { _olcLocale :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OnboardingListCategories' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olcLocale'+onboardingListCategories+ :: OnboardingListCategories+onboardingListCategories =+ OnboardingListCategories+ { _olcLocale = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Default is en-US if+-- unset.+olcLocale :: Lens' OnboardingListCategories (Maybe Text)+olcLocale+ = lens _olcLocale (\ s a -> s{_olcLocale = a})++instance GoogleRequest OnboardingListCategories where+ type Rs OnboardingListCategories = Category+ requestClient OnboardingListCategories{..}+ = go _olcLocale (Just AltJSON) booksService+ where go+ = buildClient+ (Proxy :: Proxy OnboardingListCategoriesResource)+ mempty
+ gen/Network/Google/Resource/Books/Onboarding/ListCategoryVolumes.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Books.Onboarding.ListCategoryVolumes+-- 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)+--+-- List available volumes under categories for onboarding experience.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.onboarding.listCategoryVolumes@.+module Network.Google.Resource.Books.Onboarding.ListCategoryVolumes+ (+ -- * REST Resource+ OnboardingListCategoryVolumesResource++ -- * Creating a Request+ , onboardingListCategoryVolumes+ , OnboardingListCategoryVolumes++ -- * Request Lenses+ , olcvLocale+ , olcvMaxAllowedMaturityRating+ , olcvCategoryId+ , olcvPageToken+ , olcvPageSize+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.onboarding.listCategoryVolumes@ method which the+-- 'OnboardingListCategoryVolumes' request conforms to.+type OnboardingListCategoryVolumesResource =+ "books" :>+ "v1" :>+ "onboarding" :>+ "listCategoryVolumes" :>+ QueryParam "locale" Text :>+ QueryParam "maxAllowedMaturityRating"+ OnboardingListCategoryVolumesMaxAllowedMaturityRating+ :>+ QueryParams "categoryId" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volume2++-- | List available volumes under categories for onboarding experience.+--+-- /See:/ 'onboardingListCategoryVolumes' smart constructor.+data OnboardingListCategoryVolumes = OnboardingListCategoryVolumes+ { _olcvLocale :: !(Maybe Text)+ , _olcvMaxAllowedMaturityRating :: !(Maybe OnboardingListCategoryVolumesMaxAllowedMaturityRating)+ , _olcvCategoryId :: !(Maybe [Text])+ , _olcvPageToken :: !(Maybe Text)+ , _olcvPageSize :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OnboardingListCategoryVolumes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olcvLocale'+--+-- * 'olcvMaxAllowedMaturityRating'+--+-- * 'olcvCategoryId'+--+-- * 'olcvPageToken'+--+-- * 'olcvPageSize'+onboardingListCategoryVolumes+ :: OnboardingListCategoryVolumes+onboardingListCategoryVolumes =+ OnboardingListCategoryVolumes+ { _olcvLocale = Nothing+ , _olcvMaxAllowedMaturityRating = Nothing+ , _olcvCategoryId = Nothing+ , _olcvPageToken = Nothing+ , _olcvPageSize = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Default is en-US if+-- unset.+olcvLocale :: Lens' OnboardingListCategoryVolumes (Maybe Text)+olcvLocale+ = lens _olcvLocale (\ s a -> s{_olcvLocale = a})++-- | The maximum allowed maturity rating of returned volumes. Books with a+-- higher maturity rating are filtered out.+olcvMaxAllowedMaturityRating :: Lens' OnboardingListCategoryVolumes (Maybe OnboardingListCategoryVolumesMaxAllowedMaturityRating)+olcvMaxAllowedMaturityRating+ = lens _olcvMaxAllowedMaturityRating+ (\ s a -> s{_olcvMaxAllowedMaturityRating = a})++-- | List of category ids requested.+olcvCategoryId :: Lens' OnboardingListCategoryVolumes [Text]+olcvCategoryId+ = lens _olcvCategoryId+ (\ s a -> s{_olcvCategoryId = a})+ . _Default+ . _Coerce++-- | The value of the nextToken from the previous page.+olcvPageToken :: Lens' OnboardingListCategoryVolumes (Maybe Text)+olcvPageToken+ = lens _olcvPageToken+ (\ s a -> s{_olcvPageToken = a})++-- | Number of maximum results per page to be included in the response.+olcvPageSize :: Lens' OnboardingListCategoryVolumes (Maybe Word32)+olcvPageSize+ = lens _olcvPageSize (\ s a -> s{_olcvPageSize = a})+ . mapping _Coerce++instance GoogleRequest OnboardingListCategoryVolumes+ where+ type Rs OnboardingListCategoryVolumes = Volume2+ requestClient OnboardingListCategoryVolumes{..}+ = go _olcvLocale _olcvMaxAllowedMaturityRating+ (_olcvCategoryId ^. _Default)+ _olcvPageToken+ _olcvPageSize+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy ::+ Proxy OnboardingListCategoryVolumesResource)+ mempty
+ gen/Network/Google/Resource/Books/Personalizedstream/Get.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.Books.Personalizedstream.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a stream of personalized book clusters+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.personalizedstream.get@.+module Network.Google.Resource.Books.Personalizedstream.Get+ (+ -- * REST Resource+ PersonalizedstreamGetResource++ -- * Creating a Request+ , personalizedstreamGet+ , PersonalizedstreamGet++ -- * Request Lenses+ , pgLocale+ , pgMaxAllowedMaturityRating+ , pgSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.personalizedstream.get@ method which the+-- 'PersonalizedstreamGet' request conforms to.+type PersonalizedstreamGetResource =+ "books" :>+ "v1" :>+ "personalizedstream" :>+ "get" :>+ QueryParam "locale" Text :>+ QueryParam "maxAllowedMaturityRating"+ PersonalizedstreamGetMaxAllowedMaturityRating+ :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Discoveryclusters++-- | Returns a stream of personalized book clusters+--+-- /See:/ 'personalizedstreamGet' smart constructor.+data PersonalizedstreamGet = PersonalizedstreamGet+ { _pgLocale :: !(Maybe Text)+ , _pgMaxAllowedMaturityRating :: !(Maybe PersonalizedstreamGetMaxAllowedMaturityRating)+ , _pgSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PersonalizedstreamGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgLocale'+--+-- * 'pgMaxAllowedMaturityRating'+--+-- * 'pgSource'+personalizedstreamGet+ :: PersonalizedstreamGet+personalizedstreamGet =+ PersonalizedstreamGet+ { _pgLocale = Nothing+ , _pgMaxAllowedMaturityRating = Nothing+ , _pgSource = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating recommendations.+pgLocale :: Lens' PersonalizedstreamGet (Maybe Text)+pgLocale = lens _pgLocale (\ s a -> s{_pgLocale = a})++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+pgMaxAllowedMaturityRating :: Lens' PersonalizedstreamGet (Maybe PersonalizedstreamGetMaxAllowedMaturityRating)+pgMaxAllowedMaturityRating+ = lens _pgMaxAllowedMaturityRating+ (\ s a -> s{_pgMaxAllowedMaturityRating = a})++-- | String to identify the originator of this request.+pgSource :: Lens' PersonalizedstreamGet (Maybe Text)+pgSource = lens _pgSource (\ s a -> s{_pgSource = a})++instance GoogleRequest PersonalizedstreamGet where+ type Rs PersonalizedstreamGet = Discoveryclusters+ requestClient PersonalizedstreamGet{..}+ = go _pgLocale _pgMaxAllowedMaturityRating _pgSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy PersonalizedstreamGetResource)+ mempty
+ gen/Network/Google/Resource/Books/PromoOffer/Accept.hs view
@@ -0,0 +1,165 @@+{-# 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.Books.PromoOffer.Accept+-- 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)+--+-- -- |+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.promooffer.accept@.+module Network.Google.Resource.Books.PromoOffer.Accept+ (+ -- * REST Resource+ PromoOfferAcceptResource++ -- * Creating a Request+ , promoOfferAccept+ , PromoOfferAccept++ -- * Request Lenses+ , poaManufacturer+ , poaSerial+ , poaDevice+ , poaModel+ , poaVolumeId+ , poaOfferId+ , poaProduct+ , poaAndroidId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.promooffer.accept@ method which the+-- 'PromoOfferAccept' request conforms to.+type PromoOfferAcceptResource =+ "books" :>+ "v1" :>+ "promooffer" :>+ "accept" :>+ QueryParam "manufacturer" Text :>+ QueryParam "serial" Text :>+ QueryParam "device" Text :>+ QueryParam "model" Text :>+ QueryParam "volumeId" Text :>+ QueryParam "offerId" Text :>+ QueryParam "product" Text :>+ QueryParam "androidId" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- |+--+-- /See:/ 'promoOfferAccept' smart constructor.+data PromoOfferAccept = PromoOfferAccept+ { _poaManufacturer :: !(Maybe Text)+ , _poaSerial :: !(Maybe Text)+ , _poaDevice :: !(Maybe Text)+ , _poaModel :: !(Maybe Text)+ , _poaVolumeId :: !(Maybe Text)+ , _poaOfferId :: !(Maybe Text)+ , _poaProduct :: !(Maybe Text)+ , _poaAndroidId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PromoOfferAccept' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poaManufacturer'+--+-- * 'poaSerial'+--+-- * 'poaDevice'+--+-- * 'poaModel'+--+-- * 'poaVolumeId'+--+-- * 'poaOfferId'+--+-- * 'poaProduct'+--+-- * 'poaAndroidId'+promoOfferAccept+ :: PromoOfferAccept+promoOfferAccept =+ PromoOfferAccept+ { _poaManufacturer = Nothing+ , _poaSerial = Nothing+ , _poaDevice = Nothing+ , _poaModel = Nothing+ , _poaVolumeId = Nothing+ , _poaOfferId = Nothing+ , _poaProduct = Nothing+ , _poaAndroidId = Nothing+ }++-- | device manufacturer+poaManufacturer :: Lens' PromoOfferAccept (Maybe Text)+poaManufacturer+ = lens _poaManufacturer+ (\ s a -> s{_poaManufacturer = a})++-- | device serial+poaSerial :: Lens' PromoOfferAccept (Maybe Text)+poaSerial+ = lens _poaSerial (\ s a -> s{_poaSerial = a})++-- | device device+poaDevice :: Lens' PromoOfferAccept (Maybe Text)+poaDevice+ = lens _poaDevice (\ s a -> s{_poaDevice = a})++-- | device model+poaModel :: Lens' PromoOfferAccept (Maybe Text)+poaModel = lens _poaModel (\ s a -> s{_poaModel = a})++-- | Volume id to exercise the offer+poaVolumeId :: Lens' PromoOfferAccept (Maybe Text)+poaVolumeId+ = lens _poaVolumeId (\ s a -> s{_poaVolumeId = a})++poaOfferId :: Lens' PromoOfferAccept (Maybe Text)+poaOfferId+ = lens _poaOfferId (\ s a -> s{_poaOfferId = a})++-- | device product+poaProduct :: Lens' PromoOfferAccept (Maybe Text)+poaProduct+ = lens _poaProduct (\ s a -> s{_poaProduct = a})++-- | device android_id+poaAndroidId :: Lens' PromoOfferAccept (Maybe Text)+poaAndroidId+ = lens _poaAndroidId (\ s a -> s{_poaAndroidId = a})++instance GoogleRequest PromoOfferAccept where+ type Rs PromoOfferAccept = ()+ requestClient PromoOfferAccept{..}+ = go _poaManufacturer _poaSerial _poaDevice _poaModel+ _poaVolumeId+ _poaOfferId+ _poaProduct+ _poaAndroidId+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy PromoOfferAcceptResource)+ mempty
+ gen/Network/Google/Resource/Books/PromoOffer/Dismiss.hs view
@@ -0,0 +1,154 @@+{-# 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.Books.PromoOffer.Dismiss+-- 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)+--+-- -- |+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.promooffer.dismiss@.+module Network.Google.Resource.Books.PromoOffer.Dismiss+ (+ -- * REST Resource+ PromoOfferDismissResource++ -- * Creating a Request+ , promoOfferDismiss+ , PromoOfferDismiss++ -- * Request Lenses+ , podManufacturer+ , podSerial+ , podDevice+ , podModel+ , podOfferId+ , podProduct+ , podAndroidId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.promooffer.dismiss@ method which the+-- 'PromoOfferDismiss' request conforms to.+type PromoOfferDismissResource =+ "books" :>+ "v1" :>+ "promooffer" :>+ "dismiss" :>+ QueryParam "manufacturer" Text :>+ QueryParam "serial" Text :>+ QueryParam "device" Text :>+ QueryParam "model" Text :>+ QueryParam "offerId" Text :>+ QueryParam "product" Text :>+ QueryParam "androidId" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] ()++-- |+--+-- /See:/ 'promoOfferDismiss' smart constructor.+data PromoOfferDismiss = PromoOfferDismiss+ { _podManufacturer :: !(Maybe Text)+ , _podSerial :: !(Maybe Text)+ , _podDevice :: !(Maybe Text)+ , _podModel :: !(Maybe Text)+ , _podOfferId :: !(Maybe Text)+ , _podProduct :: !(Maybe Text)+ , _podAndroidId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PromoOfferDismiss' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'podManufacturer'+--+-- * 'podSerial'+--+-- * 'podDevice'+--+-- * 'podModel'+--+-- * 'podOfferId'+--+-- * 'podProduct'+--+-- * 'podAndroidId'+promoOfferDismiss+ :: PromoOfferDismiss+promoOfferDismiss =+ PromoOfferDismiss+ { _podManufacturer = Nothing+ , _podSerial = Nothing+ , _podDevice = Nothing+ , _podModel = Nothing+ , _podOfferId = Nothing+ , _podProduct = Nothing+ , _podAndroidId = Nothing+ }++-- | device manufacturer+podManufacturer :: Lens' PromoOfferDismiss (Maybe Text)+podManufacturer+ = lens _podManufacturer+ (\ s a -> s{_podManufacturer = a})++-- | device serial+podSerial :: Lens' PromoOfferDismiss (Maybe Text)+podSerial+ = lens _podSerial (\ s a -> s{_podSerial = a})++-- | device device+podDevice :: Lens' PromoOfferDismiss (Maybe Text)+podDevice+ = lens _podDevice (\ s a -> s{_podDevice = a})++-- | device model+podModel :: Lens' PromoOfferDismiss (Maybe Text)+podModel = lens _podModel (\ s a -> s{_podModel = a})++-- | Offer to dimiss+podOfferId :: Lens' PromoOfferDismiss (Maybe Text)+podOfferId+ = lens _podOfferId (\ s a -> s{_podOfferId = a})++-- | device product+podProduct :: Lens' PromoOfferDismiss (Maybe Text)+podProduct+ = lens _podProduct (\ s a -> s{_podProduct = a})++-- | device android_id+podAndroidId :: Lens' PromoOfferDismiss (Maybe Text)+podAndroidId+ = lens _podAndroidId (\ s a -> s{_podAndroidId = a})++instance GoogleRequest PromoOfferDismiss where+ type Rs PromoOfferDismiss = ()+ requestClient PromoOfferDismiss{..}+ = go _podManufacturer _podSerial _podDevice _podModel+ _podOfferId+ _podProduct+ _podAndroidId+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy PromoOfferDismissResource)+ mempty
+ gen/Network/Google/Resource/Books/PromoOffer/Get.hs view
@@ -0,0 +1,141 @@+{-# 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.Books.PromoOffer.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of promo offers available to the user+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.promooffer.get@.+module Network.Google.Resource.Books.PromoOffer.Get+ (+ -- * REST Resource+ PromoOfferGetResource++ -- * Creating a Request+ , promoOfferGet+ , PromoOfferGet++ -- * Request Lenses+ , pogManufacturer+ , pogSerial+ , pogDevice+ , pogModel+ , pogProduct+ , pogAndroidId+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.promooffer.get@ method which the+-- 'PromoOfferGet' request conforms to.+type PromoOfferGetResource =+ "books" :>+ "v1" :>+ "promooffer" :>+ "get" :>+ QueryParam "manufacturer" Text :>+ QueryParam "serial" Text :>+ QueryParam "device" Text :>+ QueryParam "model" Text :>+ QueryParam "product" Text :>+ QueryParam "androidId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Offers++-- | Returns a list of promo offers available to the user+--+-- /See:/ 'promoOfferGet' smart constructor.+data PromoOfferGet = PromoOfferGet+ { _pogManufacturer :: !(Maybe Text)+ , _pogSerial :: !(Maybe Text)+ , _pogDevice :: !(Maybe Text)+ , _pogModel :: !(Maybe Text)+ , _pogProduct :: !(Maybe Text)+ , _pogAndroidId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PromoOfferGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pogManufacturer'+--+-- * 'pogSerial'+--+-- * 'pogDevice'+--+-- * 'pogModel'+--+-- * 'pogProduct'+--+-- * 'pogAndroidId'+promoOfferGet+ :: PromoOfferGet+promoOfferGet =+ PromoOfferGet+ { _pogManufacturer = Nothing+ , _pogSerial = Nothing+ , _pogDevice = Nothing+ , _pogModel = Nothing+ , _pogProduct = Nothing+ , _pogAndroidId = Nothing+ }++-- | device manufacturer+pogManufacturer :: Lens' PromoOfferGet (Maybe Text)+pogManufacturer+ = lens _pogManufacturer+ (\ s a -> s{_pogManufacturer = a})++-- | device serial+pogSerial :: Lens' PromoOfferGet (Maybe Text)+pogSerial+ = lens _pogSerial (\ s a -> s{_pogSerial = a})++-- | device device+pogDevice :: Lens' PromoOfferGet (Maybe Text)+pogDevice+ = lens _pogDevice (\ s a -> s{_pogDevice = a})++-- | device model+pogModel :: Lens' PromoOfferGet (Maybe Text)+pogModel = lens _pogModel (\ s a -> s{_pogModel = a})++-- | device product+pogProduct :: Lens' PromoOfferGet (Maybe Text)+pogProduct+ = lens _pogProduct (\ s a -> s{_pogProduct = a})++-- | device android_id+pogAndroidId :: Lens' PromoOfferGet (Maybe Text)+pogAndroidId+ = lens _pogAndroidId (\ s a -> s{_pogAndroidId = a})++instance GoogleRequest PromoOfferGet where+ type Rs PromoOfferGet = Offers+ requestClient PromoOfferGet{..}+ = go _pogManufacturer _pogSerial _pogDevice _pogModel+ _pogProduct+ _pogAndroidId+ (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy PromoOfferGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/Associated/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.Books.Volumes.Associated.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)+--+-- Return a list of associated books.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.associated.list@.+module Network.Google.Resource.Books.Volumes.Associated.List+ (+ -- * REST Resource+ VolumesAssociatedListResource++ -- * Creating a Request+ , volumesAssociatedList+ , VolumesAssociatedList++ -- * Request Lenses+ , valLocale+ , valMaxAllowedMaturityRating+ , valVolumeId+ , valSource+ , valAssociation+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.associated.list@ method which the+-- 'VolumesAssociatedList' request conforms to.+type VolumesAssociatedListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ "associated" :>+ QueryParam "locale" Text :>+ QueryParam "maxAllowedMaturityRating"+ VolumesAssociatedListMaxAllowedMaturityRating+ :>+ QueryParam "source" Text :>+ QueryParam "association"+ VolumesAssociatedListAssociation+ :> QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Return a list of associated books.+--+-- /See:/ 'volumesAssociatedList' smart constructor.+data VolumesAssociatedList = VolumesAssociatedList+ { _valLocale :: !(Maybe Text)+ , _valMaxAllowedMaturityRating :: !(Maybe VolumesAssociatedListMaxAllowedMaturityRating)+ , _valVolumeId :: !Text+ , _valSource :: !(Maybe Text)+ , _valAssociation :: !(Maybe VolumesAssociatedListAssociation)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesAssociatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'valLocale'+--+-- * 'valMaxAllowedMaturityRating'+--+-- * 'valVolumeId'+--+-- * 'valSource'+--+-- * 'valAssociation'+volumesAssociatedList+ :: Text -- ^ 'valVolumeId'+ -> VolumesAssociatedList+volumesAssociatedList pValVolumeId_ =+ VolumesAssociatedList+ { _valLocale = Nothing+ , _valMaxAllowedMaturityRating = Nothing+ , _valVolumeId = pValVolumeId_+ , _valSource = Nothing+ , _valAssociation = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating recommendations.+valLocale :: Lens' VolumesAssociatedList (Maybe Text)+valLocale+ = lens _valLocale (\ s a -> s{_valLocale = a})++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+valMaxAllowedMaturityRating :: Lens' VolumesAssociatedList (Maybe VolumesAssociatedListMaxAllowedMaturityRating)+valMaxAllowedMaturityRating+ = lens _valMaxAllowedMaturityRating+ (\ s a -> s{_valMaxAllowedMaturityRating = a})++-- | ID of the source volume.+valVolumeId :: Lens' VolumesAssociatedList Text+valVolumeId+ = lens _valVolumeId (\ s a -> s{_valVolumeId = a})++-- | String to identify the originator of this request.+valSource :: Lens' VolumesAssociatedList (Maybe Text)+valSource+ = lens _valSource (\ s a -> s{_valSource = a})++-- | Association type.+valAssociation :: Lens' VolumesAssociatedList (Maybe VolumesAssociatedListAssociation)+valAssociation+ = lens _valAssociation+ (\ s a -> s{_valAssociation = a})++instance GoogleRequest VolumesAssociatedList where+ type Rs VolumesAssociatedList = Volumes+ requestClient VolumesAssociatedList{..}+ = go _valVolumeId _valLocale+ _valMaxAllowedMaturityRating+ _valSource+ _valAssociation+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy VolumesAssociatedListResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/Get.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.Books.Volumes.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 volume information for a single volume.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.get@.+module Network.Google.Resource.Books.Volumes.Get+ (+ -- * REST Resource+ VolumesGetResource++ -- * Creating a Request+ , volumesGet+ , VolumesGet++ -- * Request Lenses+ , vgCountry+ , vgPartner+ , vgVolumeId+ , vgSource+ , vgProjection+ , vgUserLibraryConsistentRead+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.get@ method which the+-- 'VolumesGet' request conforms to.+type VolumesGetResource =+ "books" :>+ "v1" :>+ "volumes" :>+ Capture "volumeId" Text :>+ QueryParam "country" Text :>+ QueryParam "partner" Text :>+ QueryParam "source" Text :>+ QueryParam "projection" VolumesGetProjection :>+ QueryParam "user_library_consistent_read" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volume++-- | Gets volume information for a single volume.+--+-- /See:/ 'volumesGet' smart constructor.+data VolumesGet = VolumesGet+ { _vgCountry :: !(Maybe Text)+ , _vgPartner :: !(Maybe Text)+ , _vgVolumeId :: !Text+ , _vgSource :: !(Maybe Text)+ , _vgProjection :: !(Maybe VolumesGetProjection)+ , _vgUserLibraryConsistentRead :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vgCountry'+--+-- * 'vgPartner'+--+-- * 'vgVolumeId'+--+-- * 'vgSource'+--+-- * 'vgProjection'+--+-- * 'vgUserLibraryConsistentRead'+volumesGet+ :: Text -- ^ 'vgVolumeId'+ -> VolumesGet+volumesGet pVgVolumeId_ =+ VolumesGet+ { _vgCountry = Nothing+ , _vgPartner = Nothing+ , _vgVolumeId = pVgVolumeId_+ , _vgSource = Nothing+ , _vgProjection = Nothing+ , _vgUserLibraryConsistentRead = Nothing+ }++-- | ISO-3166-1 code to override the IP-based location.+vgCountry :: Lens' VolumesGet (Maybe Text)+vgCountry+ = lens _vgCountry (\ s a -> s{_vgCountry = a})++-- | Brand results for partner ID.+vgPartner :: Lens' VolumesGet (Maybe Text)+vgPartner+ = lens _vgPartner (\ s a -> s{_vgPartner = a})++-- | ID of volume to retrieve.+vgVolumeId :: Lens' VolumesGet Text+vgVolumeId+ = lens _vgVolumeId (\ s a -> s{_vgVolumeId = a})++-- | String to identify the originator of this request.+vgSource :: Lens' VolumesGet (Maybe Text)+vgSource = lens _vgSource (\ s a -> s{_vgSource = a})++-- | Restrict information returned to a set of selected fields.+vgProjection :: Lens' VolumesGet (Maybe VolumesGetProjection)+vgProjection+ = lens _vgProjection (\ s a -> s{_vgProjection = a})++vgUserLibraryConsistentRead :: Lens' VolumesGet (Maybe Bool)+vgUserLibraryConsistentRead+ = lens _vgUserLibraryConsistentRead+ (\ s a -> s{_vgUserLibraryConsistentRead = a})++instance GoogleRequest VolumesGet where+ type Rs VolumesGet = Volume+ requestClient VolumesGet{..}+ = go _vgVolumeId _vgCountry _vgPartner _vgSource+ _vgProjection+ _vgUserLibraryConsistentRead+ (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy VolumesGetResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/List.hs view
@@ -0,0 +1,232 @@+{-# 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.Books.Volumes.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)+--+-- Performs a book search.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.list@.+module Network.Google.Resource.Books.Volumes.List+ (+ -- * REST Resource+ VolumesListResource++ -- * Creating a Request+ , volumesList+ , VolumesList++ -- * Request Lenses+ , vlOrderBy+ , vlLibraryRestrict+ , vlPartner+ , vlQ+ , vlDownload+ , vlSource+ , vlProjection+ , vlFilter+ , vlLangRestrict+ , vlStartIndex+ , vlMaxResults+ , vlShowPreOrders+ , vlPrintType+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.list@ method which the+-- 'VolumesList' request conforms to.+type VolumesListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ QueryParam "q" Text :>+ QueryParam "orderBy" VolumesListOrderBy :>+ QueryParam "libraryRestrict"+ VolumesListLibraryRestrict+ :>+ QueryParam "partner" Text :>+ QueryParam "download" VolumesListDownload :>+ QueryParam "source" Text :>+ QueryParam "projection" VolumesListProjection :>+ QueryParam "filter" VolumesListFilter :>+ QueryParam "langRestrict" Text :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "showPreorders" Bool :>+ QueryParam "printType" VolumesListPrintType+ :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] Volumes++-- | Performs a book search.+--+-- /See:/ 'volumesList' smart constructor.+data VolumesList = VolumesList+ { _vlOrderBy :: !(Maybe VolumesListOrderBy)+ , _vlLibraryRestrict :: !(Maybe VolumesListLibraryRestrict)+ , _vlPartner :: !(Maybe Text)+ , _vlQ :: !Text+ , _vlDownload :: !(Maybe VolumesListDownload)+ , _vlSource :: !(Maybe Text)+ , _vlProjection :: !(Maybe VolumesListProjection)+ , _vlFilter :: !(Maybe VolumesListFilter)+ , _vlLangRestrict :: !(Maybe Text)+ , _vlStartIndex :: !(Maybe (Textual Word32))+ , _vlMaxResults :: !(Maybe (Textual Word32))+ , _vlShowPreOrders :: !(Maybe Bool)+ , _vlPrintType :: !(Maybe VolumesListPrintType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vlOrderBy'+--+-- * 'vlLibraryRestrict'+--+-- * 'vlPartner'+--+-- * 'vlQ'+--+-- * 'vlDownload'+--+-- * 'vlSource'+--+-- * 'vlProjection'+--+-- * 'vlFilter'+--+-- * 'vlLangRestrict'+--+-- * 'vlStartIndex'+--+-- * 'vlMaxResults'+--+-- * 'vlShowPreOrders'+--+-- * 'vlPrintType'+volumesList+ :: Text -- ^ 'vlQ'+ -> VolumesList+volumesList pVlQ_ =+ VolumesList+ { _vlOrderBy = Nothing+ , _vlLibraryRestrict = Nothing+ , _vlPartner = Nothing+ , _vlQ = pVlQ_+ , _vlDownload = Nothing+ , _vlSource = Nothing+ , _vlProjection = Nothing+ , _vlFilter = Nothing+ , _vlLangRestrict = Nothing+ , _vlStartIndex = Nothing+ , _vlMaxResults = Nothing+ , _vlShowPreOrders = Nothing+ , _vlPrintType = Nothing+ }++-- | Sort search results.+vlOrderBy :: Lens' VolumesList (Maybe VolumesListOrderBy)+vlOrderBy+ = lens _vlOrderBy (\ s a -> s{_vlOrderBy = a})++-- | Restrict search to this user\'s library.+vlLibraryRestrict :: Lens' VolumesList (Maybe VolumesListLibraryRestrict)+vlLibraryRestrict+ = lens _vlLibraryRestrict+ (\ s a -> s{_vlLibraryRestrict = a})++-- | Restrict and brand results for partner ID.+vlPartner :: Lens' VolumesList (Maybe Text)+vlPartner+ = lens _vlPartner (\ s a -> s{_vlPartner = a})++-- | Full-text search query string.+vlQ :: Lens' VolumesList Text+vlQ = lens _vlQ (\ s a -> s{_vlQ = a})++-- | Restrict to volumes by download availability.+vlDownload :: Lens' VolumesList (Maybe VolumesListDownload)+vlDownload+ = lens _vlDownload (\ s a -> s{_vlDownload = a})++-- | String to identify the originator of this request.+vlSource :: Lens' VolumesList (Maybe Text)+vlSource = lens _vlSource (\ s a -> s{_vlSource = a})++-- | Restrict information returned to a set of selected fields.+vlProjection :: Lens' VolumesList (Maybe VolumesListProjection)+vlProjection+ = lens _vlProjection (\ s a -> s{_vlProjection = a})++-- | Filter search results.+vlFilter :: Lens' VolumesList (Maybe VolumesListFilter)+vlFilter = lens _vlFilter (\ s a -> s{_vlFilter = a})++-- | Restrict results to books with this language code.+vlLangRestrict :: Lens' VolumesList (Maybe Text)+vlLangRestrict+ = lens _vlLangRestrict+ (\ s a -> s{_vlLangRestrict = a})++-- | Index of the first result to return (starts at 0)+vlStartIndex :: Lens' VolumesList (Maybe Word32)+vlStartIndex+ = lens _vlStartIndex (\ s a -> s{_vlStartIndex = a})+ . mapping _Coerce++-- | Maximum number of results to return.+vlMaxResults :: Lens' VolumesList (Maybe Word32)+vlMaxResults+ = lens _vlMaxResults (\ s a -> s{_vlMaxResults = a})+ . mapping _Coerce++-- | Set to true to show books available for preorder. Defaults to false.+vlShowPreOrders :: Lens' VolumesList (Maybe Bool)+vlShowPreOrders+ = lens _vlShowPreOrders+ (\ s a -> s{_vlShowPreOrders = a})++-- | Restrict to books or magazines.+vlPrintType :: Lens' VolumesList (Maybe VolumesListPrintType)+vlPrintType+ = lens _vlPrintType (\ s a -> s{_vlPrintType = a})++instance GoogleRequest VolumesList where+ type Rs VolumesList = Volumes+ requestClient VolumesList{..}+ = go (Just _vlQ) _vlOrderBy _vlLibraryRestrict+ _vlPartner+ _vlDownload+ _vlSource+ _vlProjection+ _vlFilter+ _vlLangRestrict+ _vlStartIndex+ _vlMaxResults+ _vlShowPreOrders+ _vlPrintType+ (Just AltJSON)+ booksService+ where go+ = buildClient (Proxy :: Proxy VolumesListResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/Mybooks/List.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Books.Volumes.Mybooks.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)+--+-- Return a list of books in My Library.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.mybooks.list@.+module Network.Google.Resource.Books.Volumes.Mybooks.List+ (+ -- * REST Resource+ VolumesMybooksListResource++ -- * Creating a Request+ , volumesMybooksList+ , VolumesMybooksList++ -- * Request Lenses+ , vmlProcessingState+ , vmlAcquireMethod+ , vmlLocale+ , vmlSource+ , vmlStartIndex+ , vmlMaxResults+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.mybooks.list@ method which the+-- 'VolumesMybooksList' request conforms to.+type VolumesMybooksListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ "mybooks" :>+ QueryParams "processingState"+ VolumesMybooksListProcessingState+ :>+ QueryParams "acquireMethod"+ VolumesMybooksListAcquireMethod+ :>+ QueryParam "locale" Text :>+ QueryParam "source" Text :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Return a list of books in My Library.+--+-- /See:/ 'volumesMybooksList' smart constructor.+data VolumesMybooksList = VolumesMybooksList+ { _vmlProcessingState :: !(Maybe [VolumesMybooksListProcessingState])+ , _vmlAcquireMethod :: !(Maybe [VolumesMybooksListAcquireMethod])+ , _vmlLocale :: !(Maybe Text)+ , _vmlSource :: !(Maybe Text)+ , _vmlStartIndex :: !(Maybe (Textual Word32))+ , _vmlMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesMybooksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vmlProcessingState'+--+-- * 'vmlAcquireMethod'+--+-- * 'vmlLocale'+--+-- * 'vmlSource'+--+-- * 'vmlStartIndex'+--+-- * 'vmlMaxResults'+volumesMybooksList+ :: VolumesMybooksList+volumesMybooksList =+ VolumesMybooksList+ { _vmlProcessingState = Nothing+ , _vmlAcquireMethod = Nothing+ , _vmlLocale = Nothing+ , _vmlSource = Nothing+ , _vmlStartIndex = Nothing+ , _vmlMaxResults = Nothing+ }++-- | The processing state of the user uploaded volumes to be returned.+-- Applicable only if the UPLOADED is specified in the acquireMethod.+vmlProcessingState :: Lens' VolumesMybooksList [VolumesMybooksListProcessingState]+vmlProcessingState+ = lens _vmlProcessingState+ (\ s a -> s{_vmlProcessingState = a})+ . _Default+ . _Coerce++-- | How the book was aquired+vmlAcquireMethod :: Lens' VolumesMybooksList [VolumesMybooksListAcquireMethod]+vmlAcquireMethod+ = lens _vmlAcquireMethod+ (\ s a -> s{_vmlAcquireMethod = a})+ . _Default+ . _Coerce++-- | ISO-639-1 language and ISO-3166-1 country code. Ex:\'en_US\'. Used for+-- generating recommendations.+vmlLocale :: Lens' VolumesMybooksList (Maybe Text)+vmlLocale+ = lens _vmlLocale (\ s a -> s{_vmlLocale = a})++-- | String to identify the originator of this request.+vmlSource :: Lens' VolumesMybooksList (Maybe Text)+vmlSource+ = lens _vmlSource (\ s a -> s{_vmlSource = a})++-- | Index of the first result to return (starts at 0)+vmlStartIndex :: Lens' VolumesMybooksList (Maybe Word32)+vmlStartIndex+ = lens _vmlStartIndex+ (\ s a -> s{_vmlStartIndex = a})+ . mapping _Coerce++-- | Maximum number of results to return.+vmlMaxResults :: Lens' VolumesMybooksList (Maybe Word32)+vmlMaxResults+ = lens _vmlMaxResults+ (\ s a -> s{_vmlMaxResults = a})+ . mapping _Coerce++instance GoogleRequest VolumesMybooksList where+ type Rs VolumesMybooksList = Volumes+ requestClient VolumesMybooksList{..}+ = go (_vmlProcessingState ^. _Default)+ (_vmlAcquireMethod ^. _Default)+ _vmlLocale+ _vmlSource+ _vmlStartIndex+ _vmlMaxResults+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy VolumesMybooksListResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/Recommended/List.hs view
@@ -0,0 +1,113 @@+{-# 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.Books.Volumes.Recommended.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)+--+-- Return a list of recommended books for the current user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.recommended.list@.+module Network.Google.Resource.Books.Volumes.Recommended.List+ (+ -- * REST Resource+ VolumesRecommendedListResource++ -- * Creating a Request+ , volumesRecommendedList+ , VolumesRecommendedList++ -- * Request Lenses+ , vrlLocale+ , vrlMaxAllowedMaturityRating+ , vrlSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.recommended.list@ method which the+-- 'VolumesRecommendedList' request conforms to.+type VolumesRecommendedListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ "recommended" :>+ QueryParam "locale" Text :>+ QueryParam "maxAllowedMaturityRating"+ VolumesRecommendedListMaxAllowedMaturityRating+ :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Return a list of recommended books for the current user.+--+-- /See:/ 'volumesRecommendedList' smart constructor.+data VolumesRecommendedList = VolumesRecommendedList+ { _vrlLocale :: !(Maybe Text)+ , _vrlMaxAllowedMaturityRating :: !(Maybe VolumesRecommendedListMaxAllowedMaturityRating)+ , _vrlSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesRecommendedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vrlLocale'+--+-- * 'vrlMaxAllowedMaturityRating'+--+-- * 'vrlSource'+volumesRecommendedList+ :: VolumesRecommendedList+volumesRecommendedList =+ VolumesRecommendedList+ { _vrlLocale = Nothing+ , _vrlMaxAllowedMaturityRating = Nothing+ , _vrlSource = Nothing+ }++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating recommendations.+vrlLocale :: Lens' VolumesRecommendedList (Maybe Text)+vrlLocale+ = lens _vrlLocale (\ s a -> s{_vrlLocale = a})++-- | The maximum allowed maturity rating of returned recommendations. Books+-- with a higher maturity rating are filtered out.+vrlMaxAllowedMaturityRating :: Lens' VolumesRecommendedList (Maybe VolumesRecommendedListMaxAllowedMaturityRating)+vrlMaxAllowedMaturityRating+ = lens _vrlMaxAllowedMaturityRating+ (\ s a -> s{_vrlMaxAllowedMaturityRating = a})++-- | String to identify the originator of this request.+vrlSource :: Lens' VolumesRecommendedList (Maybe Text)+vrlSource+ = lens _vrlSource (\ s a -> s{_vrlSource = a})++instance GoogleRequest VolumesRecommendedList where+ type Rs VolumesRecommendedList = Volumes+ requestClient VolumesRecommendedList{..}+ = go _vrlLocale _vrlMaxAllowedMaturityRating+ _vrlSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy VolumesRecommendedListResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/Recommended/Rate.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.Books.Volumes.Recommended.Rate+-- 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)+--+-- Rate a recommended book for the current user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.recommended.rate@.+module Network.Google.Resource.Books.Volumes.Recommended.Rate+ (+ -- * REST Resource+ VolumesRecommendedRateResource++ -- * Creating a Request+ , volumesRecommendedRate+ , VolumesRecommendedRate++ -- * Request Lenses+ , vrrRating+ , vrrLocale+ , vrrVolumeId+ , vrrSource+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.recommended.rate@ method which the+-- 'VolumesRecommendedRate' request conforms to.+type VolumesRecommendedRateResource =+ "books" :>+ "v1" :>+ "volumes" :>+ "recommended" :>+ "rate" :>+ QueryParam "rating" VolumesRecommendedRateRating :>+ QueryParam "volumeId" Text :>+ QueryParam "locale" Text :>+ QueryParam "source" Text :>+ QueryParam "alt" AltJSON :>+ Post '[JSON] BooksVolumesRecommendedRateResponse++-- | Rate a recommended book for the current user.+--+-- /See:/ 'volumesRecommendedRate' smart constructor.+data VolumesRecommendedRate = VolumesRecommendedRate+ { _vrrRating :: !VolumesRecommendedRateRating+ , _vrrLocale :: !(Maybe Text)+ , _vrrVolumeId :: !Text+ , _vrrSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesRecommendedRate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vrrRating'+--+-- * 'vrrLocale'+--+-- * 'vrrVolumeId'+--+-- * 'vrrSource'+volumesRecommendedRate+ :: VolumesRecommendedRateRating -- ^ 'vrrRating'+ -> Text -- ^ 'vrrVolumeId'+ -> VolumesRecommendedRate+volumesRecommendedRate pVrrRating_ pVrrVolumeId_ =+ VolumesRecommendedRate+ { _vrrRating = pVrrRating_+ , _vrrLocale = Nothing+ , _vrrVolumeId = pVrrVolumeId_+ , _vrrSource = Nothing+ }++-- | Rating to be given to the volume.+vrrRating :: Lens' VolumesRecommendedRate VolumesRecommendedRateRating+vrrRating+ = lens _vrrRating (\ s a -> s{_vrrRating = a})++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating recommendations.+vrrLocale :: Lens' VolumesRecommendedRate (Maybe Text)+vrrLocale+ = lens _vrrLocale (\ s a -> s{_vrrLocale = a})++-- | ID of the source volume.+vrrVolumeId :: Lens' VolumesRecommendedRate Text+vrrVolumeId+ = lens _vrrVolumeId (\ s a -> s{_vrrVolumeId = a})++-- | String to identify the originator of this request.+vrrSource :: Lens' VolumesRecommendedRate (Maybe Text)+vrrSource+ = lens _vrrSource (\ s a -> s{_vrrSource = a})++instance GoogleRequest VolumesRecommendedRate where+ type Rs VolumesRecommendedRate =+ BooksVolumesRecommendedRateResponse+ requestClient VolumesRecommendedRate{..}+ = go (Just _vrrRating) (Just _vrrVolumeId) _vrrLocale+ _vrrSource+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy VolumesRecommendedRateResource)+ mempty
+ gen/Network/Google/Resource/Books/Volumes/UserUploaded/List.hs view
@@ -0,0 +1,157 @@+{-# 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.Books.Volumes.UserUploaded.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)+--+-- Return a list of books uploaded by the current user.+--+-- /See:/ <https://developers.google.com/books/docs/v1/getting_started Books API Reference> for @books.volumes.useruploaded.list@.+module Network.Google.Resource.Books.Volumes.UserUploaded.List+ (+ -- * REST Resource+ VolumesUserUploadedListResource++ -- * Creating a Request+ , volumesUserUploadedList+ , VolumesUserUploadedList++ -- * Request Lenses+ , vuulProcessingState+ , vuulLocale+ , vuulVolumeId+ , vuulSource+ , vuulStartIndex+ , vuulMaxResults+ ) where++import Network.Google.Books.Types+import Network.Google.Prelude++-- | A resource alias for @books.volumes.useruploaded.list@ method which the+-- 'VolumesUserUploadedList' request conforms to.+type VolumesUserUploadedListResource =+ "books" :>+ "v1" :>+ "volumes" :>+ "useruploaded" :>+ QueryParams "processingState"+ VolumesUserUploadedListProcessingState+ :>+ QueryParam "locale" Text :>+ QueryParams "volumeId" Text :>+ QueryParam "source" Text :>+ QueryParam "startIndex" (Textual Word32) :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] Volumes++-- | Return a list of books uploaded by the current user.+--+-- /See:/ 'volumesUserUploadedList' smart constructor.+data VolumesUserUploadedList = VolumesUserUploadedList+ { _vuulProcessingState :: !(Maybe [VolumesUserUploadedListProcessingState])+ , _vuulLocale :: !(Maybe Text)+ , _vuulVolumeId :: !(Maybe [Text])+ , _vuulSource :: !(Maybe Text)+ , _vuulStartIndex :: !(Maybe (Textual Word32))+ , _vuulMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumesUserUploadedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vuulProcessingState'+--+-- * 'vuulLocale'+--+-- * 'vuulVolumeId'+--+-- * 'vuulSource'+--+-- * 'vuulStartIndex'+--+-- * 'vuulMaxResults'+volumesUserUploadedList+ :: VolumesUserUploadedList+volumesUserUploadedList =+ VolumesUserUploadedList+ { _vuulProcessingState = Nothing+ , _vuulLocale = Nothing+ , _vuulVolumeId = Nothing+ , _vuulSource = Nothing+ , _vuulStartIndex = Nothing+ , _vuulMaxResults = Nothing+ }++-- | The processing state of the user uploaded volumes to be returned.+vuulProcessingState :: Lens' VolumesUserUploadedList [VolumesUserUploadedListProcessingState]+vuulProcessingState+ = lens _vuulProcessingState+ (\ s a -> s{_vuulProcessingState = a})+ . _Default+ . _Coerce++-- | ISO-639-1 language and ISO-3166-1 country code. Ex: \'en_US\'. Used for+-- generating recommendations.+vuulLocale :: Lens' VolumesUserUploadedList (Maybe Text)+vuulLocale+ = lens _vuulLocale (\ s a -> s{_vuulLocale = a})++-- | The ids of the volumes to be returned. If not specified all that match+-- the processingState are returned.+vuulVolumeId :: Lens' VolumesUserUploadedList [Text]+vuulVolumeId+ = lens _vuulVolumeId (\ s a -> s{_vuulVolumeId = a})+ . _Default+ . _Coerce++-- | String to identify the originator of this request.+vuulSource :: Lens' VolumesUserUploadedList (Maybe Text)+vuulSource+ = lens _vuulSource (\ s a -> s{_vuulSource = a})++-- | Index of the first result to return (starts at 0)+vuulStartIndex :: Lens' VolumesUserUploadedList (Maybe Word32)+vuulStartIndex+ = lens _vuulStartIndex+ (\ s a -> s{_vuulStartIndex = a})+ . mapping _Coerce++-- | Maximum number of results to return.+vuulMaxResults :: Lens' VolumesUserUploadedList (Maybe Word32)+vuulMaxResults+ = lens _vuulMaxResults+ (\ s a -> s{_vuulMaxResults = a})+ . mapping _Coerce++instance GoogleRequest VolumesUserUploadedList where+ type Rs VolumesUserUploadedList = Volumes+ requestClient VolumesUserUploadedList{..}+ = go (_vuulProcessingState ^. _Default) _vuulLocale+ (_vuulVolumeId ^. _Default)+ _vuulSource+ _vuulStartIndex+ _vuulMaxResults+ (Just AltJSON)+ booksService+ where go+ = buildClient+ (Proxy :: Proxy VolumesUserUploadedListResource)+ mempty
+ gogol-books.cabal view
@@ -0,0 +1,91 @@+name: gogol-books+version: 0.0.1+synopsis: Google Books SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md++description:+ Lets you search for books and manage your Google Books library.+ .+ /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 @v1@+ 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.Books+ , Network.Google.Books.Types+ , Network.Google.Resource.Books.Bookshelves.Get+ , Network.Google.Resource.Books.Bookshelves.List+ , Network.Google.Resource.Books.Bookshelves.Volumes.List+ , Network.Google.Resource.Books.CloudLoading.AddBook+ , Network.Google.Resource.Books.CloudLoading.DeleteBook+ , Network.Google.Resource.Books.CloudLoading.UpdateBook+ , Network.Google.Resource.Books.Dictionary.ListOfflineMetadata+ , Network.Google.Resource.Books.Layers.AnnotationData.Get+ , Network.Google.Resource.Books.Layers.AnnotationData.List+ , Network.Google.Resource.Books.Layers.Get+ , Network.Google.Resource.Books.Layers.List+ , Network.Google.Resource.Books.Layers.VolumeAnnotations.Get+ , Network.Google.Resource.Books.Layers.VolumeAnnotations.List+ , Network.Google.Resource.Books.MyConfig.GetUserSettings+ , Network.Google.Resource.Books.MyConfig.ReleaseDownloadAccess+ , Network.Google.Resource.Books.MyConfig.RequestAccess+ , Network.Google.Resource.Books.MyConfig.SyncVolumeLicenses+ , Network.Google.Resource.Books.MyConfig.UpdateUserSettings+ , Network.Google.Resource.Books.MyLibrary.Annotations.Delete+ , Network.Google.Resource.Books.MyLibrary.Annotations.Insert+ , Network.Google.Resource.Books.MyLibrary.Annotations.List+ , Network.Google.Resource.Books.MyLibrary.Annotations.Summary+ , Network.Google.Resource.Books.MyLibrary.Annotations.Update+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.AddVolume+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.ClearVolumes+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.Get+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.List+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.MoveVolume+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.RemoveVolume+ , Network.Google.Resource.Books.MyLibrary.Bookshelves.Volumes.List+ , Network.Google.Resource.Books.MyLibrary.ReadingPositions.Get+ , Network.Google.Resource.Books.MyLibrary.ReadingPositions.SetPosition+ , Network.Google.Resource.Books.Notification.Get+ , Network.Google.Resource.Books.Onboarding.ListCategories+ , Network.Google.Resource.Books.Onboarding.ListCategoryVolumes+ , Network.Google.Resource.Books.Personalizedstream.Get+ , Network.Google.Resource.Books.PromoOffer.Accept+ , Network.Google.Resource.Books.PromoOffer.Dismiss+ , Network.Google.Resource.Books.PromoOffer.Get+ , Network.Google.Resource.Books.Volumes.Associated.List+ , Network.Google.Resource.Books.Volumes.Get+ , Network.Google.Resource.Books.Volumes.List+ , Network.Google.Resource.Books.Volumes.Mybooks.List+ , Network.Google.Resource.Books.Volumes.Recommended.List+ , Network.Google.Resource.Books.Volumes.Recommended.Rate+ , Network.Google.Resource.Books.Volumes.UserUploaded.List++ other-modules:+ Network.Google.Books.Types.Product+ , Network.Google.Books.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5