gogol-blogger (empty) → 0.0.1
raw patch · 41 files changed
+8796/−0 lines, 41 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/Blogger.hs +556/−0
- gen/Network/Google/Blogger/Types.hs +393/−0
- gen/Network/Google/Blogger/Types/Product.hs +2407/−0
- gen/Network/Google/Blogger/Types/Sum.hs +762/−0
- gen/Network/Google/Resource/Blogger/BlogUserInfos/Get.hs +111/−0
- gen/Network/Google/Resource/Blogger/Blogs/Get.hs +105/−0
- gen/Network/Google/Resource/Blogger/Blogs/GetByURL.hs +94/−0
- gen/Network/Google/Resource/Blogger/Blogs/ListByUser.hs +141/−0
- gen/Network/Google/Resource/Blogger/Comments/Approve.hs +109/−0
- gen/Network/Google/Resource/Blogger/Comments/Delete.hs +107/−0
- gen/Network/Google/Resource/Blogger/Comments/Get.hs +121/−0
- gen/Network/Google/Resource/Blogger/Comments/List.hs +185/−0
- gen/Network/Google/Resource/Blogger/Comments/ListByBlog.hs +165/−0
- gen/Network/Google/Resource/Blogger/Comments/MarkAsSpam.hs +113/−0
- gen/Network/Google/Resource/Blogger/Comments/RemoveContent.hs +112/−0
- gen/Network/Google/Resource/Blogger/PageViews/Get.hs +97/−0
- gen/Network/Google/Resource/Blogger/Pages/Delete.hs +96/−0
- gen/Network/Google/Resource/Blogger/Pages/Get.hs +103/−0
- gen/Network/Google/Resource/Blogger/Pages/Insert.hs +106/−0
- gen/Network/Google/Resource/Blogger/Pages/List.hs +145/−0
- gen/Network/Google/Resource/Blogger/Pages/Patch.hs +131/−0
- gen/Network/Google/Resource/Blogger/Pages/Publish.hs +97/−0
- gen/Network/Google/Resource/Blogger/Pages/Revert.hs +97/−0
- gen/Network/Google/Resource/Blogger/Pages/Update.hs +134/−0
- gen/Network/Google/Resource/Blogger/PostUserInfos/Get.hs +130/−0
- gen/Network/Google/Resource/Blogger/PostUserInfos/List.hs +221/−0
- gen/Network/Google/Resource/Blogger/Posts/Delete.hs +94/−0
- gen/Network/Google/Resource/Blogger/Posts/Get.hs +149/−0
- gen/Network/Google/Resource/Blogger/Posts/GetByPath.hs +122/−0
- gen/Network/Google/Resource/Blogger/Posts/Insert.hs +135/−0
- gen/Network/Google/Resource/Blogger/Posts/List.hs +215/−0
- gen/Network/Google/Resource/Blogger/Posts/Patch.hs +177/−0
- gen/Network/Google/Resource/Blogger/Posts/Publish.hs +116/−0
- gen/Network/Google/Resource/Blogger/Posts/Revert.hs +95/−0
- gen/Network/Google/Resource/Blogger/Posts/Search.hs +122/−0
- gen/Network/Google/Resource/Blogger/Posts/Update.hs +173/−0
- gen/Network/Google/Resource/Blogger/Users/Get.hs +81/−0
- gogol-blogger.cabal +82/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-blogger++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Blogger.+++## 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-blogger` 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/Blogger.hs view
@@ -0,0 +1,556 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Blogger+-- 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)+--+-- API for access to the data within Blogger.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference>+module Network.Google.Blogger+ (+ -- * Service Configuration+ bloggerService++ -- * API Declaration+ , BloggerAPI++ -- * Resources++ -- ** blogger.blogUserInfos.get+ , module Network.Google.Resource.Blogger.BlogUserInfos.Get++ -- ** blogger.blogs.get+ , module Network.Google.Resource.Blogger.Blogs.Get++ -- ** blogger.blogs.getByUrl+ , module Network.Google.Resource.Blogger.Blogs.GetByURL++ -- ** blogger.blogs.listByUser+ , module Network.Google.Resource.Blogger.Blogs.ListByUser++ -- ** blogger.comments.approve+ , module Network.Google.Resource.Blogger.Comments.Approve++ -- ** blogger.comments.delete+ , module Network.Google.Resource.Blogger.Comments.Delete++ -- ** blogger.comments.get+ , module Network.Google.Resource.Blogger.Comments.Get++ -- ** blogger.comments.list+ , module Network.Google.Resource.Blogger.Comments.List++ -- ** blogger.comments.listByBlog+ , module Network.Google.Resource.Blogger.Comments.ListByBlog++ -- ** blogger.comments.markAsSpam+ , module Network.Google.Resource.Blogger.Comments.MarkAsSpam++ -- ** blogger.comments.removeContent+ , module Network.Google.Resource.Blogger.Comments.RemoveContent++ -- ** blogger.pageViews.get+ , module Network.Google.Resource.Blogger.PageViews.Get++ -- ** blogger.pages.delete+ , module Network.Google.Resource.Blogger.Pages.Delete++ -- ** blogger.pages.get+ , module Network.Google.Resource.Blogger.Pages.Get++ -- ** blogger.pages.insert+ , module Network.Google.Resource.Blogger.Pages.Insert++ -- ** blogger.pages.list+ , module Network.Google.Resource.Blogger.Pages.List++ -- ** blogger.pages.patch+ , module Network.Google.Resource.Blogger.Pages.Patch++ -- ** blogger.pages.publish+ , module Network.Google.Resource.Blogger.Pages.Publish++ -- ** blogger.pages.revert+ , module Network.Google.Resource.Blogger.Pages.Revert++ -- ** blogger.pages.update+ , module Network.Google.Resource.Blogger.Pages.Update++ -- ** blogger.postUserInfos.get+ , module Network.Google.Resource.Blogger.PostUserInfos.Get++ -- ** blogger.postUserInfos.list+ , module Network.Google.Resource.Blogger.PostUserInfos.List++ -- ** blogger.posts.delete+ , module Network.Google.Resource.Blogger.Posts.Delete++ -- ** blogger.posts.get+ , module Network.Google.Resource.Blogger.Posts.Get++ -- ** blogger.posts.getByPath+ , module Network.Google.Resource.Blogger.Posts.GetByPath++ -- ** blogger.posts.insert+ , module Network.Google.Resource.Blogger.Posts.Insert++ -- ** blogger.posts.list+ , module Network.Google.Resource.Blogger.Posts.List++ -- ** blogger.posts.patch+ , module Network.Google.Resource.Blogger.Posts.Patch++ -- ** blogger.posts.publish+ , module Network.Google.Resource.Blogger.Posts.Publish++ -- ** blogger.posts.revert+ , module Network.Google.Resource.Blogger.Posts.Revert++ -- ** blogger.posts.search+ , module Network.Google.Resource.Blogger.Posts.Search++ -- ** blogger.posts.update+ , module Network.Google.Resource.Blogger.Posts.Update++ -- ** blogger.users.get+ , module Network.Google.Resource.Blogger.Users.Get++ -- * Types++ -- ** PostsListOrderBy+ , PostsListOrderBy (..)++ -- ** PostsListView+ , PostsListView (..)++ -- ** PageViewsGetRange+ , PageViewsGetRange (..)++ -- ** PostUserInfo+ , PostUserInfo+ , postUserInfo+ , puiPostUserInfo+ , puiPost+ , puiKind++ -- ** CommentsListView+ , CommentsListView (..)++ -- ** PostAuthorImage+ , PostAuthorImage+ , postAuthorImage+ , paiURL++ -- ** PostUserInfosListStatus+ , PostUserInfosListStatus (..)++ -- ** PostList+ , PostList+ , postList+ , plEtag+ , plNextPageToken+ , plKind+ , plItems++ -- ** CommentInReplyTo+ , CommentInReplyTo+ , commentInReplyTo+ , cirtId++ -- ** CommentBlog+ , CommentBlog+ , commentBlog+ , cbId++ -- ** Pageviews+ , Pageviews+ , pageviews+ , pKind+ , pCounts+ , pBlogId++ -- ** PostLocation+ , PostLocation+ , postLocation+ , plSpan+ , plLat+ , plName+ , plLng++ -- ** BlogPosts+ , BlogPosts+ , blogPosts+ , bpTotalItems+ , bpItems+ , bpSelfLink++ -- ** PostsGetView+ , PostsGetView (..)++ -- ** Post'+ , Post'+ , post+ , posImages+ , posStatus+ , posEtag+ , posReaderComments+ , posLocation+ , posKind+ , posPublished+ , posURL+ , posBlog+ , posCustomMetaData+ , posContent+ , posReplies+ , posSelfLink+ , posAuthor+ , posId+ , posLabels+ , posUpdated+ , posTitleLink+ , posTitle++ -- ** PostsSearchOrderBy+ , PostsSearchOrderBy (..)++ -- ** CommentsListByBlogStatus+ , CommentsListByBlogStatus (..)++ -- ** PagesGetView+ , PagesGetView (..)++ -- ** PostUserInfosListOrderBy+ , PostUserInfosListOrderBy (..)++ -- ** Page+ , Page+ , page+ , pagStatus+ , pagEtag+ , pagKind+ , pagPublished+ , pagURL+ , pagBlog+ , pagContent+ , pagSelfLink+ , pagAuthor+ , pagId+ , pagUpdated+ , pagTitle++ -- ** BlogLocale+ , BlogLocale+ , blogLocale+ , blVariant+ , blCountry+ , blLanguage++ -- ** PageAuthor+ , PageAuthor+ , pageAuthor+ , paImage+ , paURL+ , paDisplayName+ , paId++ -- ** BlogsGetView+ , BlogsGetView (..)++ -- ** Blog+ , Blog+ , blog+ , bStatus+ , bKind+ , bPages+ , bLocale+ , bPublished+ , bURL+ , bCustomMetaData+ , bSelfLink+ , bName+ , bId+ , bUpdated+ , bPosts+ , bDescription++ -- ** BlogsGetByURLView+ , BlogsGetByURLView (..)++ -- ** CommentsListStatus+ , CommentsListStatus (..)++ -- ** BlogPages+ , BlogPages+ , blogPages+ , bpsTotalItems+ , bpsSelfLink++ -- ** PostBlog+ , PostBlog+ , postBlog+ , pbId++ -- ** BlogsListByUserStatus+ , BlogsListByUserStatus (..)++ -- ** PageList+ , PageList+ , pageList+ , pllEtag+ , pllNextPageToken+ , pllKind+ , pllItems++ -- ** UserLocale+ , UserLocale+ , userLocale+ , ulVariant+ , ulCountry+ , ulLanguage++ -- ** CommentAuthorImage+ , CommentAuthorImage+ , commentAuthorImage+ , caiURL++ -- ** User+ , User+ , user+ , uBlogs+ , uKind+ , uCreated+ , uLocale+ , uURL+ , uSelfLink+ , uAbout+ , uDisplayName+ , uId++ -- ** UserBlogs+ , UserBlogs+ , userBlogs+ , ubSelfLink++ -- ** PostReplies+ , PostReplies+ , postReplies+ , prTotalItems+ , prItems+ , prSelfLink++ -- ** BlogList+ , BlogList+ , blogList+ , blKind+ , blItems+ , blBlogUserInfos++ -- ** PagesListView+ , PagesListView (..)++ -- ** PageBlog+ , PageBlog+ , pageBlog+ , pId++ -- ** PostsListStatus+ , PostsListStatus (..)++ -- ** PostAuthor+ , PostAuthor+ , postAuthor+ , paaImage+ , paaURL+ , paaDisplayName+ , paaId++ -- ** PostPerUserInfo+ , PostPerUserInfo+ , postPerUserInfo+ , ppuiKind+ , ppuiBlogId+ , ppuiUserId+ , ppuiHasEditAccess+ , ppuiPostId++ -- ** BlogsListByUserView+ , BlogsListByUserView (..)++ -- ** PageviewsCountsItem+ , PageviewsCountsItem+ , pageviewsCountsItem+ , pciTimeRange+ , pciCount++ -- ** PostUserInfosListView+ , PostUserInfosListView (..)++ -- ** Comment+ , Comment+ , comment+ , cStatus+ , cPost+ , cKind+ , cPublished+ , cBlog+ , cContent+ , cSelfLink+ , cAuthor+ , cId+ , cUpdated+ , cInReplyTo++ -- ** CommentsGetView+ , CommentsGetView (..)++ -- ** CommentPost+ , CommentPost+ , commentPost+ , cpId++ -- ** PostsGetByPathView+ , PostsGetByPathView (..)++ -- ** BlogPerUserInfo+ , BlogPerUserInfo+ , blogPerUserInfo+ , bpuiPhotosAlbumKey+ , bpuiKind+ , bpuiBlogId+ , bpuiUserId+ , bpuiRole+ , bpuiHasAdminAccess++ -- ** PostUserInfosList+ , PostUserInfosList+ , postUserInfosList+ , puilNextPageToken+ , puilKind+ , puilItems++ -- ** PagesListStatus+ , PagesListStatus (..)++ -- ** CommentAuthor+ , CommentAuthor+ , commentAuthor+ , caImage+ , caURL+ , caDisplayName+ , caId++ -- ** BlogsListByUserRole+ , BlogsListByUserRole (..)++ -- ** BlogUserInfo+ , BlogUserInfo+ , blogUserInfo+ , buiKind+ , buiBlog+ , buiBlogUserInfo++ -- ** PageAuthorImage+ , PageAuthorImage+ , pageAuthorImage+ , pURL++ -- ** CommentList+ , CommentList+ , commentList+ , clEtag+ , clNextPageToken+ , clKind+ , clItems+ , clPrevPageToken++ -- ** PostImagesItem+ , PostImagesItem+ , postImagesItem+ , piiURL+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude+import Network.Google.Resource.Blogger.Blogs.Get+import Network.Google.Resource.Blogger.Blogs.GetByURL+import Network.Google.Resource.Blogger.Blogs.ListByUser+import Network.Google.Resource.Blogger.BlogUserInfos.Get+import Network.Google.Resource.Blogger.Comments.Approve+import Network.Google.Resource.Blogger.Comments.Delete+import Network.Google.Resource.Blogger.Comments.Get+import Network.Google.Resource.Blogger.Comments.List+import Network.Google.Resource.Blogger.Comments.ListByBlog+import Network.Google.Resource.Blogger.Comments.MarkAsSpam+import Network.Google.Resource.Blogger.Comments.RemoveContent+import Network.Google.Resource.Blogger.Pages.Delete+import Network.Google.Resource.Blogger.Pages.Get+import Network.Google.Resource.Blogger.Pages.Insert+import Network.Google.Resource.Blogger.Pages.List+import Network.Google.Resource.Blogger.Pages.Patch+import Network.Google.Resource.Blogger.Pages.Publish+import Network.Google.Resource.Blogger.Pages.Revert+import Network.Google.Resource.Blogger.Pages.Update+import Network.Google.Resource.Blogger.PageViews.Get+import Network.Google.Resource.Blogger.Posts.Delete+import Network.Google.Resource.Blogger.Posts.Get+import Network.Google.Resource.Blogger.Posts.GetByPath+import Network.Google.Resource.Blogger.Posts.Insert+import Network.Google.Resource.Blogger.Posts.List+import Network.Google.Resource.Blogger.Posts.Patch+import Network.Google.Resource.Blogger.Posts.Publish+import Network.Google.Resource.Blogger.Posts.Revert+import Network.Google.Resource.Blogger.Posts.Search+import Network.Google.Resource.Blogger.Posts.Update+import Network.Google.Resource.Blogger.PostUserInfos.Get+import Network.Google.Resource.Blogger.PostUserInfos.List+import Network.Google.Resource.Blogger.Users.Get++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Blogger API service.+type BloggerAPI =+ PostUserInfosListResource :<|>+ PostUserInfosGetResource+ :<|> UsersGetResource+ :<|> PageViewsGetResource+ :<|> BlogsListByUserResource+ :<|> BlogsGetResource+ :<|> BlogsGetByURLResource+ :<|> PagesInsertResource+ :<|> PagesListResource+ :<|> PagesPatchResource+ :<|> PagesGetResource+ :<|> PagesRevertResource+ :<|> PagesDeleteResource+ :<|> PagesUpdateResource+ :<|> PagesPublishResource+ :<|> BlogUserInfosGetResource+ :<|> CommentsListResource+ :<|> CommentsGetResource+ :<|> CommentsListByBlogResource+ :<|> CommentsRemoveContentResource+ :<|> CommentsApproveResource+ :<|> CommentsMarkAsSpamResource+ :<|> CommentsDeleteResource+ :<|> PostsInsertResource+ :<|> PostsListResource+ :<|> PostsPatchResource+ :<|> PostsGetResource+ :<|> PostsRevertResource+ :<|> PostsGetByPathResource+ :<|> PostsSearchResource+ :<|> PostsDeleteResource+ :<|> PostsUpdateResource+ :<|> PostsPublishResource
+ gen/Network/Google/Blogger/Types.hs view
@@ -0,0 +1,393 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Blogger.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.Blogger.Types+ (+ -- * Service Configuration+ bloggerService++ -- * OAuth Scopes+ , bloggerScope+ , bloggerReadonlyScope++ -- * PostsListOrderBy+ , PostsListOrderBy (..)++ -- * PostsListView+ , PostsListView (..)++ -- * PageViewsGetRange+ , PageViewsGetRange (..)++ -- * PostUserInfo+ , PostUserInfo+ , postUserInfo+ , puiPostUserInfo+ , puiPost+ , puiKind++ -- * CommentsListView+ , CommentsListView (..)++ -- * PostAuthorImage+ , PostAuthorImage+ , postAuthorImage+ , paiURL++ -- * PostUserInfosListStatus+ , PostUserInfosListStatus (..)++ -- * PostList+ , PostList+ , postList+ , plEtag+ , plNextPageToken+ , plKind+ , plItems++ -- * CommentInReplyTo+ , CommentInReplyTo+ , commentInReplyTo+ , cirtId++ -- * CommentBlog+ , CommentBlog+ , commentBlog+ , cbId++ -- * Pageviews+ , Pageviews+ , pageviews+ , pKind+ , pCounts+ , pBlogId++ -- * PostLocation+ , PostLocation+ , postLocation+ , plSpan+ , plLat+ , plName+ , plLng++ -- * BlogPosts+ , BlogPosts+ , blogPosts+ , bpTotalItems+ , bpItems+ , bpSelfLink++ -- * PostsGetView+ , PostsGetView (..)++ -- * Post'+ , Post'+ , post+ , posImages+ , posStatus+ , posEtag+ , posReaderComments+ , posLocation+ , posKind+ , posPublished+ , posURL+ , posBlog+ , posCustomMetaData+ , posContent+ , posReplies+ , posSelfLink+ , posAuthor+ , posId+ , posLabels+ , posUpdated+ , posTitleLink+ , posTitle++ -- * PostsSearchOrderBy+ , PostsSearchOrderBy (..)++ -- * CommentsListByBlogStatus+ , CommentsListByBlogStatus (..)++ -- * PagesGetView+ , PagesGetView (..)++ -- * PostUserInfosListOrderBy+ , PostUserInfosListOrderBy (..)++ -- * Page+ , Page+ , page+ , pagStatus+ , pagEtag+ , pagKind+ , pagPublished+ , pagURL+ , pagBlog+ , pagContent+ , pagSelfLink+ , pagAuthor+ , pagId+ , pagUpdated+ , pagTitle++ -- * BlogLocale+ , BlogLocale+ , blogLocale+ , blVariant+ , blCountry+ , blLanguage++ -- * PageAuthor+ , PageAuthor+ , pageAuthor+ , paImage+ , paURL+ , paDisplayName+ , paId++ -- * BlogsGetView+ , BlogsGetView (..)++ -- * Blog+ , Blog+ , blog+ , bStatus+ , bKind+ , bPages+ , bLocale+ , bPublished+ , bURL+ , bCustomMetaData+ , bSelfLink+ , bName+ , bId+ , bUpdated+ , bPosts+ , bDescription++ -- * BlogsGetByURLView+ , BlogsGetByURLView (..)++ -- * CommentsListStatus+ , CommentsListStatus (..)++ -- * BlogPages+ , BlogPages+ , blogPages+ , bpsTotalItems+ , bpsSelfLink++ -- * PostBlog+ , PostBlog+ , postBlog+ , pbId++ -- * BlogsListByUserStatus+ , BlogsListByUserStatus (..)++ -- * PageList+ , PageList+ , pageList+ , pllEtag+ , pllNextPageToken+ , pllKind+ , pllItems++ -- * UserLocale+ , UserLocale+ , userLocale+ , ulVariant+ , ulCountry+ , ulLanguage++ -- * CommentAuthorImage+ , CommentAuthorImage+ , commentAuthorImage+ , caiURL++ -- * User+ , User+ , user+ , uBlogs+ , uKind+ , uCreated+ , uLocale+ , uURL+ , uSelfLink+ , uAbout+ , uDisplayName+ , uId++ -- * UserBlogs+ , UserBlogs+ , userBlogs+ , ubSelfLink++ -- * PostReplies+ , PostReplies+ , postReplies+ , prTotalItems+ , prItems+ , prSelfLink++ -- * BlogList+ , BlogList+ , blogList+ , blKind+ , blItems+ , blBlogUserInfos++ -- * PagesListView+ , PagesListView (..)++ -- * PageBlog+ , PageBlog+ , pageBlog+ , pId++ -- * PostsListStatus+ , PostsListStatus (..)++ -- * PostAuthor+ , PostAuthor+ , postAuthor+ , paaImage+ , paaURL+ , paaDisplayName+ , paaId++ -- * PostPerUserInfo+ , PostPerUserInfo+ , postPerUserInfo+ , ppuiKind+ , ppuiBlogId+ , ppuiUserId+ , ppuiHasEditAccess+ , ppuiPostId++ -- * BlogsListByUserView+ , BlogsListByUserView (..)++ -- * PageviewsCountsItem+ , PageviewsCountsItem+ , pageviewsCountsItem+ , pciTimeRange+ , pciCount++ -- * PostUserInfosListView+ , PostUserInfosListView (..)++ -- * Comment+ , Comment+ , comment+ , cStatus+ , cPost+ , cKind+ , cPublished+ , cBlog+ , cContent+ , cSelfLink+ , cAuthor+ , cId+ , cUpdated+ , cInReplyTo++ -- * CommentsGetView+ , CommentsGetView (..)++ -- * CommentPost+ , CommentPost+ , commentPost+ , cpId++ -- * PostsGetByPathView+ , PostsGetByPathView (..)++ -- * BlogPerUserInfo+ , BlogPerUserInfo+ , blogPerUserInfo+ , bpuiPhotosAlbumKey+ , bpuiKind+ , bpuiBlogId+ , bpuiUserId+ , bpuiRole+ , bpuiHasAdminAccess++ -- * PostUserInfosList+ , PostUserInfosList+ , postUserInfosList+ , puilNextPageToken+ , puilKind+ , puilItems++ -- * PagesListStatus+ , PagesListStatus (..)++ -- * CommentAuthor+ , CommentAuthor+ , commentAuthor+ , caImage+ , caURL+ , caDisplayName+ , caId++ -- * BlogsListByUserRole+ , BlogsListByUserRole (..)++ -- * BlogUserInfo+ , BlogUserInfo+ , blogUserInfo+ , buiKind+ , buiBlog+ , buiBlogUserInfo++ -- * PageAuthorImage+ , PageAuthorImage+ , pageAuthorImage+ , pURL++ -- * CommentList+ , CommentList+ , commentList+ , clEtag+ , clNextPageToken+ , clKind+ , clItems+ , clPrevPageToken++ -- * PostImagesItem+ , PostImagesItem+ , postImagesItem+ , piiURL+ ) where++import Network.Google.Blogger.Types.Product+import Network.Google.Blogger.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v3' of the Blogger API. This contains the host and root path used as a starting point for constructing service requests.+bloggerService :: Service+bloggerService+ = defaultService (ServiceId "blogger:v3")+ "www.googleapis.com"++-- | Manage your Blogger account+bloggerScope :: OAuthScope+bloggerScope = "https://www.googleapis.com/auth/blogger";++-- | View your Blogger account+bloggerReadonlyScope :: OAuthScope+bloggerReadonlyScope = "https://www.googleapis.com/auth/blogger.readonly";
+ gen/Network/Google/Blogger/Types/Product.hs view
@@ -0,0 +1,2407 @@+{-# 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.Blogger.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.Blogger.Types.Product where++import Network.Google.Blogger.Types.Sum+import Network.Google.Prelude++--+-- /See:/ 'postUserInfo' smart constructor.+data PostUserInfo = PostUserInfo+ { _puiPostUserInfo :: !(Maybe PostPerUserInfo)+ , _puiPost :: !(Maybe Post')+ , _puiKind :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostUserInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puiPostUserInfo'+--+-- * 'puiPost'+--+-- * 'puiKind'+postUserInfo+ :: PostUserInfo+postUserInfo =+ PostUserInfo+ { _puiPostUserInfo = Nothing+ , _puiPost = Nothing+ , _puiKind = "blogger#postUserInfo"+ }++-- | Information about a User for the Post.+puiPostUserInfo :: Lens' PostUserInfo (Maybe PostPerUserInfo)+puiPostUserInfo+ = lens _puiPostUserInfo+ (\ s a -> s{_puiPostUserInfo = a})++-- | The Post resource.+puiPost :: Lens' PostUserInfo (Maybe Post')+puiPost = lens _puiPost (\ s a -> s{_puiPost = a})++-- | The kind of this entity. Always blogger#postUserInfo+puiKind :: Lens' PostUserInfo Text+puiKind = lens _puiKind (\ s a -> s{_puiKind = a})++instance FromJSON PostUserInfo where+ parseJSON+ = withObject "PostUserInfo"+ (\ o ->+ PostUserInfo <$>+ (o .:? "post_user_info") <*> (o .:? "post") <*>+ (o .:? "kind" .!= "blogger#postUserInfo"))++instance ToJSON PostUserInfo where+ toJSON PostUserInfo{..}+ = object+ (catMaybes+ [("post_user_info" .=) <$> _puiPostUserInfo,+ ("post" .=) <$> _puiPost, Just ("kind" .= _puiKind)])++-- | The Post author\'s avatar.+--+-- /See:/ 'postAuthorImage' smart constructor.+newtype PostAuthorImage = PostAuthorImage+ { _paiURL :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostAuthorImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paiURL'+postAuthorImage+ :: PostAuthorImage+postAuthorImage =+ PostAuthorImage+ { _paiURL = Nothing+ }++-- | The Post author\'s avatar URL.+paiURL :: Lens' PostAuthorImage (Maybe Text)+paiURL = lens _paiURL (\ s a -> s{_paiURL = a})++instance FromJSON PostAuthorImage where+ parseJSON+ = withObject "PostAuthorImage"+ (\ o -> PostAuthorImage <$> (o .:? "url"))++instance ToJSON PostAuthorImage where+ toJSON PostAuthorImage{..}+ = object (catMaybes [("url" .=) <$> _paiURL])++--+-- /See:/ 'postList' smart constructor.+data PostList = PostList+ { _plEtag :: !(Maybe Text)+ , _plNextPageToken :: !(Maybe Text)+ , _plKind :: !Text+ , _plItems :: !(Maybe [Post'])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plEtag'+--+-- * 'plNextPageToken'+--+-- * 'plKind'+--+-- * 'plItems'+postList+ :: PostList+postList =+ PostList+ { _plEtag = Nothing+ , _plNextPageToken = Nothing+ , _plKind = "blogger#postList"+ , _plItems = Nothing+ }++-- | Etag of the response.+plEtag :: Lens' PostList (Maybe Text)+plEtag = lens _plEtag (\ s a -> s{_plEtag = a})++-- | Pagination token to fetch the next page, if one exists.+plNextPageToken :: Lens' PostList (Maybe Text)+plNextPageToken+ = lens _plNextPageToken+ (\ s a -> s{_plNextPageToken = a})++-- | The kind of this entity. Always blogger#postList+plKind :: Lens' PostList Text+plKind = lens _plKind (\ s a -> s{_plKind = a})++-- | The list of Posts for this Blog.+plItems :: Lens' PostList [Post']+plItems+ = lens _plItems (\ s a -> s{_plItems = a}) . _Default+ . _Coerce++instance FromJSON PostList where+ parseJSON+ = withObject "PostList"+ (\ o ->+ PostList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "blogger#postList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON PostList where+ toJSON PostList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _plEtag,+ ("nextPageToken" .=) <$> _plNextPageToken,+ Just ("kind" .= _plKind), ("items" .=) <$> _plItems])++-- | Data about the comment this is in reply to.+--+-- /See:/ 'commentInReplyTo' smart constructor.+newtype CommentInReplyTo = CommentInReplyTo+ { _cirtId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentInReplyTo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirtId'+commentInReplyTo+ :: CommentInReplyTo+commentInReplyTo =+ CommentInReplyTo+ { _cirtId = Nothing+ }++-- | The identified of the parent of this comment.+cirtId :: Lens' CommentInReplyTo (Maybe Text)+cirtId = lens _cirtId (\ s a -> s{_cirtId = a})++instance FromJSON CommentInReplyTo where+ parseJSON+ = withObject "CommentInReplyTo"+ (\ o -> CommentInReplyTo <$> (o .:? "id"))++instance ToJSON CommentInReplyTo where+ toJSON CommentInReplyTo{..}+ = object (catMaybes [("id" .=) <$> _cirtId])++-- | Data about the blog containing this comment.+--+-- /See:/ 'commentBlog' smart constructor.+newtype CommentBlog = CommentBlog+ { _cbId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentBlog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbId'+commentBlog+ :: CommentBlog+commentBlog =+ CommentBlog+ { _cbId = Nothing+ }++-- | The identifier of the blog containing this comment.+cbId :: Lens' CommentBlog (Maybe Text)+cbId = lens _cbId (\ s a -> s{_cbId = a})++instance FromJSON CommentBlog where+ parseJSON+ = withObject "CommentBlog"+ (\ o -> CommentBlog <$> (o .:? "id"))++instance ToJSON CommentBlog where+ toJSON CommentBlog{..}+ = object (catMaybes [("id" .=) <$> _cbId])++--+-- /See:/ 'pageviews' smart constructor.+data Pageviews = Pageviews+ { _pKind :: !Text+ , _pCounts :: !(Maybe [PageviewsCountsItem])+ , _pBlogId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Pageviews' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pKind'+--+-- * 'pCounts'+--+-- * 'pBlogId'+pageviews+ :: Pageviews+pageviews =+ Pageviews+ { _pKind = "blogger#page_views"+ , _pCounts = Nothing+ , _pBlogId = Nothing+ }++-- | The kind of this entry. Always blogger#page_views+pKind :: Lens' Pageviews Text+pKind = lens _pKind (\ s a -> s{_pKind = a})++-- | The container of posts in this blog.+pCounts :: Lens' Pageviews [PageviewsCountsItem]+pCounts+ = lens _pCounts (\ s a -> s{_pCounts = a}) . _Default+ . _Coerce++-- | Blog Id+pBlogId :: Lens' Pageviews (Maybe Text)+pBlogId = lens _pBlogId (\ s a -> s{_pBlogId = a})++instance FromJSON Pageviews where+ parseJSON+ = withObject "Pageviews"+ (\ o ->+ Pageviews <$>+ (o .:? "kind" .!= "blogger#page_views") <*>+ (o .:? "counts" .!= mempty)+ <*> (o .:? "blogId"))++instance ToJSON Pageviews where+ toJSON Pageviews{..}+ = object+ (catMaybes+ [Just ("kind" .= _pKind), ("counts" .=) <$> _pCounts,+ ("blogId" .=) <$> _pBlogId])++-- | The location for geotagged posts.+--+-- /See:/ 'postLocation' smart constructor.+data PostLocation = PostLocation+ { _plSpan :: !(Maybe Text)+ , _plLat :: !(Maybe (Textual Double))+ , _plName :: !(Maybe Text)+ , _plLng :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plSpan'+--+-- * 'plLat'+--+-- * 'plName'+--+-- * 'plLng'+postLocation+ :: PostLocation+postLocation =+ PostLocation+ { _plSpan = Nothing+ , _plLat = Nothing+ , _plName = Nothing+ , _plLng = Nothing+ }++-- | Location\'s viewport span. Can be used when rendering a map preview.+plSpan :: Lens' PostLocation (Maybe Text)+plSpan = lens _plSpan (\ s a -> s{_plSpan = a})++-- | Location\'s latitude.+plLat :: Lens' PostLocation (Maybe Double)+plLat+ = lens _plLat (\ s a -> s{_plLat = a}) .+ mapping _Coerce++-- | Location name.+plName :: Lens' PostLocation (Maybe Text)+plName = lens _plName (\ s a -> s{_plName = a})++-- | Location\'s longitude.+plLng :: Lens' PostLocation (Maybe Double)+plLng+ = lens _plLng (\ s a -> s{_plLng = a}) .+ mapping _Coerce++instance FromJSON PostLocation where+ parseJSON+ = withObject "PostLocation"+ (\ o ->+ PostLocation <$>+ (o .:? "span") <*> (o .:? "lat") <*> (o .:? "name")+ <*> (o .:? "lng"))++instance ToJSON PostLocation where+ toJSON PostLocation{..}+ = object+ (catMaybes+ [("span" .=) <$> _plSpan, ("lat" .=) <$> _plLat,+ ("name" .=) <$> _plName, ("lng" .=) <$> _plLng])++-- | The container of posts in this blog.+--+-- /See:/ 'blogPosts' smart constructor.+data BlogPosts = BlogPosts+ { _bpTotalItems :: !(Maybe (Textual Int32))+ , _bpItems :: !(Maybe [Post'])+ , _bpSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogPosts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpTotalItems'+--+-- * 'bpItems'+--+-- * 'bpSelfLink'+blogPosts+ :: BlogPosts+blogPosts =+ BlogPosts+ { _bpTotalItems = Nothing+ , _bpItems = Nothing+ , _bpSelfLink = Nothing+ }++-- | The count of posts in this blog.+bpTotalItems :: Lens' BlogPosts (Maybe Int32)+bpTotalItems+ = lens _bpTotalItems (\ s a -> s{_bpTotalItems = a})+ . mapping _Coerce++-- | The List of Posts for this Blog.+bpItems :: Lens' BlogPosts [Post']+bpItems+ = lens _bpItems (\ s a -> s{_bpItems = a}) . _Default+ . _Coerce++-- | The URL of the container for posts in this blog.+bpSelfLink :: Lens' BlogPosts (Maybe Text)+bpSelfLink+ = lens _bpSelfLink (\ s a -> s{_bpSelfLink = a})++instance FromJSON BlogPosts where+ parseJSON+ = withObject "BlogPosts"+ (\ o ->+ BlogPosts <$>+ (o .:? "totalItems") <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON BlogPosts where+ toJSON BlogPosts{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _bpTotalItems,+ ("items" .=) <$> _bpItems,+ ("selfLink" .=) <$> _bpSelfLink])++--+-- /See:/ 'post' smart constructor.+data Post' = Post'+ { _posImages :: !(Maybe [PostImagesItem])+ , _posStatus :: !(Maybe Text)+ , _posEtag :: !(Maybe Text)+ , _posReaderComments :: !(Maybe Text)+ , _posLocation :: !(Maybe PostLocation)+ , _posKind :: !Text+ , _posPublished :: !(Maybe DateTime')+ , _posURL :: !(Maybe Text)+ , _posBlog :: !(Maybe PostBlog)+ , _posCustomMetaData :: !(Maybe Text)+ , _posContent :: !(Maybe Text)+ , _posReplies :: !(Maybe PostReplies)+ , _posSelfLink :: !(Maybe Text)+ , _posAuthor :: !(Maybe PostAuthor)+ , _posId :: !(Maybe Text)+ , _posLabels :: !(Maybe [Text])+ , _posUpdated :: !(Maybe DateTime')+ , _posTitleLink :: !(Maybe Text)+ , _posTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Post' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'posImages'+--+-- * 'posStatus'+--+-- * 'posEtag'+--+-- * 'posReaderComments'+--+-- * 'posLocation'+--+-- * 'posKind'+--+-- * 'posPublished'+--+-- * 'posURL'+--+-- * 'posBlog'+--+-- * 'posCustomMetaData'+--+-- * 'posContent'+--+-- * 'posReplies'+--+-- * 'posSelfLink'+--+-- * 'posAuthor'+--+-- * 'posId'+--+-- * 'posLabels'+--+-- * 'posUpdated'+--+-- * 'posTitleLink'+--+-- * 'posTitle'+post+ :: Post'+post =+ Post'+ { _posImages = Nothing+ , _posStatus = Nothing+ , _posEtag = Nothing+ , _posReaderComments = Nothing+ , _posLocation = Nothing+ , _posKind = "blogger#post"+ , _posPublished = Nothing+ , _posURL = Nothing+ , _posBlog = Nothing+ , _posCustomMetaData = Nothing+ , _posContent = Nothing+ , _posReplies = Nothing+ , _posSelfLink = Nothing+ , _posAuthor = Nothing+ , _posId = Nothing+ , _posLabels = Nothing+ , _posUpdated = Nothing+ , _posTitleLink = Nothing+ , _posTitle = Nothing+ }++-- | Display image for the Post.+posImages :: Lens' Post' [PostImagesItem]+posImages+ = lens _posImages (\ s a -> s{_posImages = a}) .+ _Default+ . _Coerce++-- | Status of the post. Only set for admin-level requests+posStatus :: Lens' Post' (Maybe Text)+posStatus+ = lens _posStatus (\ s a -> s{_posStatus = a})++-- | Etag of the resource.+posEtag :: Lens' Post' (Maybe Text)+posEtag = lens _posEtag (\ s a -> s{_posEtag = a})++-- | Comment control and display setting for readers of this post.+posReaderComments :: Lens' Post' (Maybe Text)+posReaderComments+ = lens _posReaderComments+ (\ s a -> s{_posReaderComments = a})++-- | The location for geotagged posts.+posLocation :: Lens' Post' (Maybe PostLocation)+posLocation+ = lens _posLocation (\ s a -> s{_posLocation = a})++-- | The kind of this entity. Always blogger#post+posKind :: Lens' Post' Text+posKind = lens _posKind (\ s a -> s{_posKind = a})++-- | RFC 3339 date-time when this Post was published.+posPublished :: Lens' Post' (Maybe UTCTime)+posPublished+ = lens _posPublished (\ s a -> s{_posPublished = a})+ . mapping _DateTime++-- | The URL where this Post is displayed.+posURL :: Lens' Post' (Maybe Text)+posURL = lens _posURL (\ s a -> s{_posURL = a})++-- | Data about the blog containing this Post.+posBlog :: Lens' Post' (Maybe PostBlog)+posBlog = lens _posBlog (\ s a -> s{_posBlog = a})++-- | The JSON meta-data for the Post.+posCustomMetaData :: Lens' Post' (Maybe Text)+posCustomMetaData+ = lens _posCustomMetaData+ (\ s a -> s{_posCustomMetaData = a})++-- | The content of the Post. May contain HTML markup.+posContent :: Lens' Post' (Maybe Text)+posContent+ = lens _posContent (\ s a -> s{_posContent = a})++-- | The container of comments on this Post.+posReplies :: Lens' Post' (Maybe PostReplies)+posReplies+ = lens _posReplies (\ s a -> s{_posReplies = a})++-- | The API REST URL to fetch this resource from.+posSelfLink :: Lens' Post' (Maybe Text)+posSelfLink+ = lens _posSelfLink (\ s a -> s{_posSelfLink = a})++-- | The author of this Post.+posAuthor :: Lens' Post' (Maybe PostAuthor)+posAuthor+ = lens _posAuthor (\ s a -> s{_posAuthor = a})++-- | The identifier of this Post.+posId :: Lens' Post' (Maybe Text)+posId = lens _posId (\ s a -> s{_posId = a})++-- | The list of labels this Post was tagged with.+posLabels :: Lens' Post' [Text]+posLabels+ = lens _posLabels (\ s a -> s{_posLabels = a}) .+ _Default+ . _Coerce++-- | RFC 3339 date-time when this Post was last updated.+posUpdated :: Lens' Post' (Maybe UTCTime)+posUpdated+ = lens _posUpdated (\ s a -> s{_posUpdated = a}) .+ mapping _DateTime++-- | The title link URL, similar to atom\'s related link.+posTitleLink :: Lens' Post' (Maybe Text)+posTitleLink+ = lens _posTitleLink (\ s a -> s{_posTitleLink = a})++-- | The title of the Post.+posTitle :: Lens' Post' (Maybe Text)+posTitle = lens _posTitle (\ s a -> s{_posTitle = a})++instance FromJSON Post' where+ parseJSON+ = withObject "Post"+ (\ o ->+ Post' <$>+ (o .:? "images" .!= mempty) <*> (o .:? "status") <*>+ (o .:? "etag")+ <*> (o .:? "readerComments")+ <*> (o .:? "location")+ <*> (o .:? "kind" .!= "blogger#post")+ <*> (o .:? "published")+ <*> (o .:? "url")+ <*> (o .:? "blog")+ <*> (o .:? "customMetaData")+ <*> (o .:? "content")+ <*> (o .:? "replies")+ <*> (o .:? "selfLink")+ <*> (o .:? "author")+ <*> (o .:? "id")+ <*> (o .:? "labels" .!= mempty)+ <*> (o .:? "updated")+ <*> (o .:? "titleLink")+ <*> (o .:? "title"))++instance ToJSON Post' where+ toJSON Post'{..}+ = object+ (catMaybes+ [("images" .=) <$> _posImages,+ ("status" .=) <$> _posStatus,+ ("etag" .=) <$> _posEtag,+ ("readerComments" .=) <$> _posReaderComments,+ ("location" .=) <$> _posLocation,+ Just ("kind" .= _posKind),+ ("published" .=) <$> _posPublished,+ ("url" .=) <$> _posURL, ("blog" .=) <$> _posBlog,+ ("customMetaData" .=) <$> _posCustomMetaData,+ ("content" .=) <$> _posContent,+ ("replies" .=) <$> _posReplies,+ ("selfLink" .=) <$> _posSelfLink,+ ("author" .=) <$> _posAuthor, ("id" .=) <$> _posId,+ ("labels" .=) <$> _posLabels,+ ("updated" .=) <$> _posUpdated,+ ("titleLink" .=) <$> _posTitleLink,+ ("title" .=) <$> _posTitle])++--+-- /See:/ 'page' smart constructor.+data Page = Page+ { _pagStatus :: !(Maybe Text)+ , _pagEtag :: !(Maybe Text)+ , _pagKind :: !Text+ , _pagPublished :: !(Maybe DateTime')+ , _pagURL :: !(Maybe Text)+ , _pagBlog :: !(Maybe PageBlog)+ , _pagContent :: !(Maybe Text)+ , _pagSelfLink :: !(Maybe Text)+ , _pagAuthor :: !(Maybe PageAuthor)+ , _pagId :: !(Maybe Text)+ , _pagUpdated :: !(Maybe DateTime')+ , _pagTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Page' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pagStatus'+--+-- * 'pagEtag'+--+-- * 'pagKind'+--+-- * 'pagPublished'+--+-- * 'pagURL'+--+-- * 'pagBlog'+--+-- * 'pagContent'+--+-- * 'pagSelfLink'+--+-- * 'pagAuthor'+--+-- * 'pagId'+--+-- * 'pagUpdated'+--+-- * 'pagTitle'+page+ :: Page+page =+ Page+ { _pagStatus = Nothing+ , _pagEtag = Nothing+ , _pagKind = "blogger#page"+ , _pagPublished = Nothing+ , _pagURL = Nothing+ , _pagBlog = Nothing+ , _pagContent = Nothing+ , _pagSelfLink = Nothing+ , _pagAuthor = Nothing+ , _pagId = Nothing+ , _pagUpdated = Nothing+ , _pagTitle = Nothing+ }++-- | The status of the page for admin resources (either LIVE or DRAFT).+pagStatus :: Lens' Page (Maybe Text)+pagStatus+ = lens _pagStatus (\ s a -> s{_pagStatus = a})++-- | Etag of the resource.+pagEtag :: Lens' Page (Maybe Text)+pagEtag = lens _pagEtag (\ s a -> s{_pagEtag = a})++-- | The kind of this entity. Always blogger#page+pagKind :: Lens' Page Text+pagKind = lens _pagKind (\ s a -> s{_pagKind = a})++-- | RFC 3339 date-time when this Page was published.+pagPublished :: Lens' Page (Maybe UTCTime)+pagPublished+ = lens _pagPublished (\ s a -> s{_pagPublished = a})+ . mapping _DateTime++-- | The URL that this Page is displayed at.+pagURL :: Lens' Page (Maybe Text)+pagURL = lens _pagURL (\ s a -> s{_pagURL = a})++-- | Data about the blog containing this Page.+pagBlog :: Lens' Page (Maybe PageBlog)+pagBlog = lens _pagBlog (\ s a -> s{_pagBlog = a})++-- | The body content of this Page, in HTML.+pagContent :: Lens' Page (Maybe Text)+pagContent+ = lens _pagContent (\ s a -> s{_pagContent = a})++-- | The API REST URL to fetch this resource from.+pagSelfLink :: Lens' Page (Maybe Text)+pagSelfLink+ = lens _pagSelfLink (\ s a -> s{_pagSelfLink = a})++-- | The author of this Page.+pagAuthor :: Lens' Page (Maybe PageAuthor)+pagAuthor+ = lens _pagAuthor (\ s a -> s{_pagAuthor = a})++-- | The identifier for this resource.+pagId :: Lens' Page (Maybe Text)+pagId = lens _pagId (\ s a -> s{_pagId = a})++-- | RFC 3339 date-time when this Page was last updated.+pagUpdated :: Lens' Page (Maybe UTCTime)+pagUpdated+ = lens _pagUpdated (\ s a -> s{_pagUpdated = a}) .+ mapping _DateTime++-- | The title of this entity. This is the name displayed in the Admin user+-- interface.+pagTitle :: Lens' Page (Maybe Text)+pagTitle = lens _pagTitle (\ s a -> s{_pagTitle = a})++instance FromJSON Page where+ parseJSON+ = withObject "Page"+ (\ o ->+ Page <$>+ (o .:? "status") <*> (o .:? "etag") <*>+ (o .:? "kind" .!= "blogger#page")+ <*> (o .:? "published")+ <*> (o .:? "url")+ <*> (o .:? "blog")+ <*> (o .:? "content")+ <*> (o .:? "selfLink")+ <*> (o .:? "author")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "title"))++instance ToJSON Page where+ toJSON Page{..}+ = object+ (catMaybes+ [("status" .=) <$> _pagStatus,+ ("etag" .=) <$> _pagEtag, Just ("kind" .= _pagKind),+ ("published" .=) <$> _pagPublished,+ ("url" .=) <$> _pagURL, ("blog" .=) <$> _pagBlog,+ ("content" .=) <$> _pagContent,+ ("selfLink" .=) <$> _pagSelfLink,+ ("author" .=) <$> _pagAuthor, ("id" .=) <$> _pagId,+ ("updated" .=) <$> _pagUpdated,+ ("title" .=) <$> _pagTitle])++-- | The locale this Blog is set to.+--+-- /See:/ 'blogLocale' smart constructor.+data BlogLocale = BlogLocale+ { _blVariant :: !(Maybe Text)+ , _blCountry :: !(Maybe Text)+ , _blLanguage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogLocale' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blVariant'+--+-- * 'blCountry'+--+-- * 'blLanguage'+blogLocale+ :: BlogLocale+blogLocale =+ BlogLocale+ { _blVariant = Nothing+ , _blCountry = Nothing+ , _blLanguage = Nothing+ }++-- | The language variant this blog is authored in.+blVariant :: Lens' BlogLocale (Maybe Text)+blVariant+ = lens _blVariant (\ s a -> s{_blVariant = a})++-- | The country this blog\'s locale is set to.+blCountry :: Lens' BlogLocale (Maybe Text)+blCountry+ = lens _blCountry (\ s a -> s{_blCountry = a})++-- | The language this blog is authored in.+blLanguage :: Lens' BlogLocale (Maybe Text)+blLanguage+ = lens _blLanguage (\ s a -> s{_blLanguage = a})++instance FromJSON BlogLocale where+ parseJSON+ = withObject "BlogLocale"+ (\ o ->+ BlogLocale <$>+ (o .:? "variant") <*> (o .:? "country") <*>+ (o .:? "language"))++instance ToJSON BlogLocale where+ toJSON BlogLocale{..}+ = object+ (catMaybes+ [("variant" .=) <$> _blVariant,+ ("country" .=) <$> _blCountry,+ ("language" .=) <$> _blLanguage])++-- | The author of this Page.+--+-- /See:/ 'pageAuthor' smart constructor.+data PageAuthor = PageAuthor+ { _paImage :: !(Maybe PageAuthorImage)+ , _paURL :: !(Maybe Text)+ , _paDisplayName :: !(Maybe Text)+ , _paId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageAuthor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paImage'+--+-- * 'paURL'+--+-- * 'paDisplayName'+--+-- * 'paId'+pageAuthor+ :: PageAuthor+pageAuthor =+ PageAuthor+ { _paImage = Nothing+ , _paURL = Nothing+ , _paDisplayName = Nothing+ , _paId = Nothing+ }++-- | The page author\'s avatar.+paImage :: Lens' PageAuthor (Maybe PageAuthorImage)+paImage = lens _paImage (\ s a -> s{_paImage = a})++-- | The URL of the Page creator\'s Profile page.+paURL :: Lens' PageAuthor (Maybe Text)+paURL = lens _paURL (\ s a -> s{_paURL = a})++-- | The display name.+paDisplayName :: Lens' PageAuthor (Maybe Text)+paDisplayName+ = lens _paDisplayName+ (\ s a -> s{_paDisplayName = a})++-- | The identifier of the Page creator.+paId :: Lens' PageAuthor (Maybe Text)+paId = lens _paId (\ s a -> s{_paId = a})++instance FromJSON PageAuthor where+ parseJSON+ = withObject "PageAuthor"+ (\ o ->+ PageAuthor <$>+ (o .:? "image") <*> (o .:? "url") <*>+ (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON PageAuthor where+ toJSON PageAuthor{..}+ = object+ (catMaybes+ [("image" .=) <$> _paImage, ("url" .=) <$> _paURL,+ ("displayName" .=) <$> _paDisplayName,+ ("id" .=) <$> _paId])++--+-- /See:/ 'blog' smart constructor.+data Blog = Blog+ { _bStatus :: !(Maybe Text)+ , _bKind :: !Text+ , _bPages :: !(Maybe BlogPages)+ , _bLocale :: !(Maybe BlogLocale)+ , _bPublished :: !(Maybe DateTime')+ , _bURL :: !(Maybe Text)+ , _bCustomMetaData :: !(Maybe Text)+ , _bSelfLink :: !(Maybe Text)+ , _bName :: !(Maybe Text)+ , _bId :: !(Maybe Text)+ , _bUpdated :: !(Maybe DateTime')+ , _bPosts :: !(Maybe BlogPosts)+ , _bDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Blog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bStatus'+--+-- * 'bKind'+--+-- * 'bPages'+--+-- * 'bLocale'+--+-- * 'bPublished'+--+-- * 'bURL'+--+-- * 'bCustomMetaData'+--+-- * 'bSelfLink'+--+-- * 'bName'+--+-- * 'bId'+--+-- * 'bUpdated'+--+-- * 'bPosts'+--+-- * 'bDescription'+blog+ :: Blog+blog =+ Blog+ { _bStatus = Nothing+ , _bKind = "blogger#blog"+ , _bPages = Nothing+ , _bLocale = Nothing+ , _bPublished = Nothing+ , _bURL = Nothing+ , _bCustomMetaData = Nothing+ , _bSelfLink = Nothing+ , _bName = Nothing+ , _bId = Nothing+ , _bUpdated = Nothing+ , _bPosts = Nothing+ , _bDescription = Nothing+ }++-- | The status of the blog.+bStatus :: Lens' Blog (Maybe Text)+bStatus = lens _bStatus (\ s a -> s{_bStatus = a})++-- | The kind of this entry. Always blogger#blog+bKind :: Lens' Blog Text+bKind = lens _bKind (\ s a -> s{_bKind = a})++-- | The container of pages in this blog.+bPages :: Lens' Blog (Maybe BlogPages)+bPages = lens _bPages (\ s a -> s{_bPages = a})++-- | The locale this Blog is set to.+bLocale :: Lens' Blog (Maybe BlogLocale)+bLocale = lens _bLocale (\ s a -> s{_bLocale = a})++-- | RFC 3339 date-time when this blog was published.+bPublished :: Lens' Blog (Maybe UTCTime)+bPublished+ = lens _bPublished (\ s a -> s{_bPublished = a}) .+ mapping _DateTime++-- | The URL where this blog is published.+bURL :: Lens' Blog (Maybe Text)+bURL = lens _bURL (\ s a -> s{_bURL = a})++-- | The JSON custom meta-data for the Blog+bCustomMetaData :: Lens' Blog (Maybe Text)+bCustomMetaData+ = lens _bCustomMetaData+ (\ s a -> s{_bCustomMetaData = a})++-- | The API REST URL to fetch this resource from.+bSelfLink :: Lens' Blog (Maybe Text)+bSelfLink+ = lens _bSelfLink (\ s a -> s{_bSelfLink = a})++-- | The name of this blog. This is displayed as the title.+bName :: Lens' Blog (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a})++-- | The identifier for this resource.+bId :: Lens' Blog (Maybe Text)+bId = lens _bId (\ s a -> s{_bId = a})++-- | RFC 3339 date-time when this blog was last updated.+bUpdated :: Lens' Blog (Maybe UTCTime)+bUpdated+ = lens _bUpdated (\ s a -> s{_bUpdated = a}) .+ mapping _DateTime++-- | The container of posts in this blog.+bPosts :: Lens' Blog (Maybe BlogPosts)+bPosts = lens _bPosts (\ s a -> s{_bPosts = a})++-- | The description of this blog. This is displayed underneath the title.+bDescription :: Lens' Blog (Maybe Text)+bDescription+ = lens _bDescription (\ s a -> s{_bDescription = a})++instance FromJSON Blog where+ parseJSON+ = withObject "Blog"+ (\ o ->+ Blog <$>+ (o .:? "status") <*>+ (o .:? "kind" .!= "blogger#blog")+ <*> (o .:? "pages")+ <*> (o .:? "locale")+ <*> (o .:? "published")+ <*> (o .:? "url")+ <*> (o .:? "customMetaData")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "posts")+ <*> (o .:? "description"))++instance ToJSON Blog where+ toJSON Blog{..}+ = object+ (catMaybes+ [("status" .=) <$> _bStatus, Just ("kind" .= _bKind),+ ("pages" .=) <$> _bPages, ("locale" .=) <$> _bLocale,+ ("published" .=) <$> _bPublished,+ ("url" .=) <$> _bURL,+ ("customMetaData" .=) <$> _bCustomMetaData,+ ("selfLink" .=) <$> _bSelfLink,+ ("name" .=) <$> _bName, ("id" .=) <$> _bId,+ ("updated" .=) <$> _bUpdated,+ ("posts" .=) <$> _bPosts,+ ("description" .=) <$> _bDescription])++-- | The container of pages in this blog.+--+-- /See:/ 'blogPages' smart constructor.+data BlogPages = BlogPages+ { _bpsTotalItems :: !(Maybe (Textual Int32))+ , _bpsSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogPages' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpsTotalItems'+--+-- * 'bpsSelfLink'+blogPages+ :: BlogPages+blogPages =+ BlogPages+ { _bpsTotalItems = Nothing+ , _bpsSelfLink = Nothing+ }++-- | The count of pages in this blog.+bpsTotalItems :: Lens' BlogPages (Maybe Int32)+bpsTotalItems+ = lens _bpsTotalItems+ (\ s a -> s{_bpsTotalItems = a})+ . mapping _Coerce++-- | The URL of the container for pages in this blog.+bpsSelfLink :: Lens' BlogPages (Maybe Text)+bpsSelfLink+ = lens _bpsSelfLink (\ s a -> s{_bpsSelfLink = a})++instance FromJSON BlogPages where+ parseJSON+ = withObject "BlogPages"+ (\ o ->+ BlogPages <$>+ (o .:? "totalItems") <*> (o .:? "selfLink"))++instance ToJSON BlogPages where+ toJSON BlogPages{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _bpsTotalItems,+ ("selfLink" .=) <$> _bpsSelfLink])++-- | Data about the blog containing this Post.+--+-- /See:/ 'postBlog' smart constructor.+newtype PostBlog = PostBlog+ { _pbId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostBlog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbId'+postBlog+ :: PostBlog+postBlog =+ PostBlog+ { _pbId = Nothing+ }++-- | The identifier of the Blog that contains this Post.+pbId :: Lens' PostBlog (Maybe Text)+pbId = lens _pbId (\ s a -> s{_pbId = a})++instance FromJSON PostBlog where+ parseJSON+ = withObject "PostBlog"+ (\ o -> PostBlog <$> (o .:? "id"))++instance ToJSON PostBlog where+ toJSON PostBlog{..}+ = object (catMaybes [("id" .=) <$> _pbId])++--+-- /See:/ 'pageList' smart constructor.+data PageList = PageList+ { _pllEtag :: !(Maybe Text)+ , _pllNextPageToken :: !(Maybe Text)+ , _pllKind :: !Text+ , _pllItems :: !(Maybe [Page])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllEtag'+--+-- * 'pllNextPageToken'+--+-- * 'pllKind'+--+-- * 'pllItems'+pageList+ :: PageList+pageList =+ PageList+ { _pllEtag = Nothing+ , _pllNextPageToken = Nothing+ , _pllKind = "blogger#pageList"+ , _pllItems = Nothing+ }++-- | Etag of the response.+pllEtag :: Lens' PageList (Maybe Text)+pllEtag = lens _pllEtag (\ s a -> s{_pllEtag = a})++-- | Pagination token to fetch the next page, if one exists.+pllNextPageToken :: Lens' PageList (Maybe Text)+pllNextPageToken+ = lens _pllNextPageToken+ (\ s a -> s{_pllNextPageToken = a})++-- | The kind of this entity. Always blogger#pageList+pllKind :: Lens' PageList Text+pllKind = lens _pllKind (\ s a -> s{_pllKind = a})++-- | The list of Pages for a Blog.+pllItems :: Lens' PageList [Page]+pllItems+ = lens _pllItems (\ s a -> s{_pllItems = a}) .+ _Default+ . _Coerce++instance FromJSON PageList where+ parseJSON+ = withObject "PageList"+ (\ o ->+ PageList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "blogger#pageList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON PageList where+ toJSON PageList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _pllEtag,+ ("nextPageToken" .=) <$> _pllNextPageToken,+ Just ("kind" .= _pllKind),+ ("items" .=) <$> _pllItems])++-- | This user\'s locale+--+-- /See:/ 'userLocale' smart constructor.+data UserLocale = UserLocale+ { _ulVariant :: !(Maybe Text)+ , _ulCountry :: !(Maybe Text)+ , _ulLanguage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserLocale' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ulVariant'+--+-- * 'ulCountry'+--+-- * 'ulLanguage'+userLocale+ :: UserLocale+userLocale =+ UserLocale+ { _ulVariant = Nothing+ , _ulCountry = Nothing+ , _ulLanguage = Nothing+ }++-- | The user\'s language variant setting.+ulVariant :: Lens' UserLocale (Maybe Text)+ulVariant+ = lens _ulVariant (\ s a -> s{_ulVariant = a})++-- | The user\'s country setting.+ulCountry :: Lens' UserLocale (Maybe Text)+ulCountry+ = lens _ulCountry (\ s a -> s{_ulCountry = a})++-- | The user\'s language setting.+ulLanguage :: Lens' UserLocale (Maybe Text)+ulLanguage+ = lens _ulLanguage (\ s a -> s{_ulLanguage = a})++instance FromJSON UserLocale where+ parseJSON+ = withObject "UserLocale"+ (\ o ->+ UserLocale <$>+ (o .:? "variant") <*> (o .:? "country") <*>+ (o .:? "language"))++instance ToJSON UserLocale where+ toJSON UserLocale{..}+ = object+ (catMaybes+ [("variant" .=) <$> _ulVariant,+ ("country" .=) <$> _ulCountry,+ ("language" .=) <$> _ulLanguage])++-- | The comment creator\'s avatar.+--+-- /See:/ 'commentAuthorImage' smart constructor.+newtype CommentAuthorImage = CommentAuthorImage+ { _caiURL :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentAuthorImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caiURL'+commentAuthorImage+ :: CommentAuthorImage+commentAuthorImage =+ CommentAuthorImage+ { _caiURL = Nothing+ }++-- | The comment creator\'s avatar URL.+caiURL :: Lens' CommentAuthorImage (Maybe Text)+caiURL = lens _caiURL (\ s a -> s{_caiURL = a})++instance FromJSON CommentAuthorImage where+ parseJSON+ = withObject "CommentAuthorImage"+ (\ o -> CommentAuthorImage <$> (o .:? "url"))++instance ToJSON CommentAuthorImage where+ toJSON CommentAuthorImage{..}+ = object (catMaybes [("url" .=) <$> _caiURL])++--+-- /See:/ 'user' smart constructor.+data User = User+ { _uBlogs :: !(Maybe UserBlogs)+ , _uKind :: !Text+ , _uCreated :: !(Maybe DateTime')+ , _uLocale :: !(Maybe UserLocale)+ , _uURL :: !(Maybe Text)+ , _uSelfLink :: !(Maybe Text)+ , _uAbout :: !(Maybe Text)+ , _uDisplayName :: !(Maybe Text)+ , _uId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'User' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uBlogs'+--+-- * 'uKind'+--+-- * 'uCreated'+--+-- * 'uLocale'+--+-- * 'uURL'+--+-- * 'uSelfLink'+--+-- * 'uAbout'+--+-- * 'uDisplayName'+--+-- * 'uId'+user+ :: User+user =+ User+ { _uBlogs = Nothing+ , _uKind = "blogger#user"+ , _uCreated = Nothing+ , _uLocale = Nothing+ , _uURL = Nothing+ , _uSelfLink = Nothing+ , _uAbout = Nothing+ , _uDisplayName = Nothing+ , _uId = Nothing+ }++-- | The container of blogs for this user.+uBlogs :: Lens' User (Maybe UserBlogs)+uBlogs = lens _uBlogs (\ s a -> s{_uBlogs = a})++-- | The kind of this entity. Always blogger#user+uKind :: Lens' User Text+uKind = lens _uKind (\ s a -> s{_uKind = a})++-- | The timestamp of when this profile was created, in seconds since epoch.+uCreated :: Lens' User (Maybe UTCTime)+uCreated+ = lens _uCreated (\ s a -> s{_uCreated = a}) .+ mapping _DateTime++-- | This user\'s locale+uLocale :: Lens' User (Maybe UserLocale)+uLocale = lens _uLocale (\ s a -> s{_uLocale = a})++-- | The user\'s profile page.+uURL :: Lens' User (Maybe Text)+uURL = lens _uURL (\ s a -> s{_uURL = a})++-- | The API REST URL to fetch this resource from.+uSelfLink :: Lens' User (Maybe Text)+uSelfLink+ = lens _uSelfLink (\ s a -> s{_uSelfLink = a})++-- | Profile summary information.+uAbout :: Lens' User (Maybe Text)+uAbout = lens _uAbout (\ s a -> s{_uAbout = a})++-- | The display name.+uDisplayName :: Lens' User (Maybe Text)+uDisplayName+ = lens _uDisplayName (\ s a -> s{_uDisplayName = a})++-- | The identifier for this User.+uId :: Lens' User (Maybe Text)+uId = lens _uId (\ s a -> s{_uId = a})++instance FromJSON User where+ parseJSON+ = withObject "User"+ (\ o ->+ User <$>+ (o .:? "blogs") <*> (o .:? "kind" .!= "blogger#user")+ <*> (o .:? "created")+ <*> (o .:? "locale")+ <*> (o .:? "url")+ <*> (o .:? "selfLink")+ <*> (o .:? "about")+ <*> (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON User where+ toJSON User{..}+ = object+ (catMaybes+ [("blogs" .=) <$> _uBlogs, Just ("kind" .= _uKind),+ ("created" .=) <$> _uCreated,+ ("locale" .=) <$> _uLocale, ("url" .=) <$> _uURL,+ ("selfLink" .=) <$> _uSelfLink,+ ("about" .=) <$> _uAbout,+ ("displayName" .=) <$> _uDisplayName,+ ("id" .=) <$> _uId])++-- | The container of blogs for this user.+--+-- /See:/ 'userBlogs' smart constructor.+newtype UserBlogs = UserBlogs+ { _ubSelfLink :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserBlogs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubSelfLink'+userBlogs+ :: UserBlogs+userBlogs =+ UserBlogs+ { _ubSelfLink = Nothing+ }++-- | The URL of the Blogs for this user.+ubSelfLink :: Lens' UserBlogs (Maybe Text)+ubSelfLink+ = lens _ubSelfLink (\ s a -> s{_ubSelfLink = a})++instance FromJSON UserBlogs where+ parseJSON+ = withObject "UserBlogs"+ (\ o -> UserBlogs <$> (o .:? "selfLink"))++instance ToJSON UserBlogs where+ toJSON UserBlogs{..}+ = object+ (catMaybes [("selfLink" .=) <$> _ubSelfLink])++-- | The container of comments on this Post.+--+-- /See:/ 'postReplies' smart constructor.+data PostReplies = PostReplies+ { _prTotalItems :: !(Maybe (Textual Int64))+ , _prItems :: !(Maybe [Comment])+ , _prSelfLink :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostReplies' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prTotalItems'+--+-- * 'prItems'+--+-- * 'prSelfLink'+postReplies+ :: PostReplies+postReplies =+ PostReplies+ { _prTotalItems = Nothing+ , _prItems = Nothing+ , _prSelfLink = Nothing+ }++-- | The count of comments on this post.+prTotalItems :: Lens' PostReplies (Maybe Int64)+prTotalItems+ = lens _prTotalItems (\ s a -> s{_prTotalItems = a})+ . mapping _Coerce++-- | The List of Comments for this Post.+prItems :: Lens' PostReplies [Comment]+prItems+ = lens _prItems (\ s a -> s{_prItems = a}) . _Default+ . _Coerce++-- | The URL of the comments on this post.+prSelfLink :: Lens' PostReplies (Maybe Text)+prSelfLink+ = lens _prSelfLink (\ s a -> s{_prSelfLink = a})++instance FromJSON PostReplies where+ parseJSON+ = withObject "PostReplies"+ (\ o ->+ PostReplies <$>+ (o .:? "totalItems") <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink"))++instance ToJSON PostReplies where+ toJSON PostReplies{..}+ = object+ (catMaybes+ [("totalItems" .=) <$> _prTotalItems,+ ("items" .=) <$> _prItems,+ ("selfLink" .=) <$> _prSelfLink])++--+-- /See:/ 'blogList' smart constructor.+data BlogList = BlogList+ { _blKind :: !Text+ , _blItems :: !(Maybe [Blog])+ , _blBlogUserInfos :: !(Maybe [BlogUserInfo])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blKind'+--+-- * 'blItems'+--+-- * 'blBlogUserInfos'+blogList+ :: BlogList+blogList =+ BlogList+ { _blKind = "blogger#blogList"+ , _blItems = Nothing+ , _blBlogUserInfos = Nothing+ }++-- | The kind of this entity. Always blogger#blogList+blKind :: Lens' BlogList Text+blKind = lens _blKind (\ s a -> s{_blKind = a})++-- | The list of Blogs this user has Authorship or Admin rights over.+blItems :: Lens' BlogList [Blog]+blItems+ = lens _blItems (\ s a -> s{_blItems = a}) . _Default+ . _Coerce++-- | Admin level list of blog per-user information+blBlogUserInfos :: Lens' BlogList [BlogUserInfo]+blBlogUserInfos+ = lens _blBlogUserInfos+ (\ s a -> s{_blBlogUserInfos = a})+ . _Default+ . _Coerce++instance FromJSON BlogList where+ parseJSON+ = withObject "BlogList"+ (\ o ->+ BlogList <$>+ (o .:? "kind" .!= "blogger#blogList") <*>+ (o .:? "items" .!= mempty)+ <*> (o .:? "blogUserInfos" .!= mempty))++instance ToJSON BlogList where+ toJSON BlogList{..}+ = object+ (catMaybes+ [Just ("kind" .= _blKind), ("items" .=) <$> _blItems,+ ("blogUserInfos" .=) <$> _blBlogUserInfos])++-- | Data about the blog containing this Page.+--+-- /See:/ 'pageBlog' smart constructor.+newtype PageBlog = PageBlog+ { _pId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageBlog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pId'+pageBlog+ :: PageBlog+pageBlog =+ PageBlog+ { _pId = Nothing+ }++-- | The identifier of the blog containing this page.+pId :: Lens' PageBlog (Maybe Text)+pId = lens _pId (\ s a -> s{_pId = a})++instance FromJSON PageBlog where+ parseJSON+ = withObject "PageBlog"+ (\ o -> PageBlog <$> (o .:? "id"))++instance ToJSON PageBlog where+ toJSON PageBlog{..}+ = object (catMaybes [("id" .=) <$> _pId])++-- | The author of this Post.+--+-- /See:/ 'postAuthor' smart constructor.+data PostAuthor = PostAuthor+ { _paaImage :: !(Maybe PostAuthorImage)+ , _paaURL :: !(Maybe Text)+ , _paaDisplayName :: !(Maybe Text)+ , _paaId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostAuthor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paaImage'+--+-- * 'paaURL'+--+-- * 'paaDisplayName'+--+-- * 'paaId'+postAuthor+ :: PostAuthor+postAuthor =+ PostAuthor+ { _paaImage = Nothing+ , _paaURL = Nothing+ , _paaDisplayName = Nothing+ , _paaId = Nothing+ }++-- | The Post author\'s avatar.+paaImage :: Lens' PostAuthor (Maybe PostAuthorImage)+paaImage = lens _paaImage (\ s a -> s{_paaImage = a})++-- | The URL of the Post creator\'s Profile page.+paaURL :: Lens' PostAuthor (Maybe Text)+paaURL = lens _paaURL (\ s a -> s{_paaURL = a})++-- | The display name.+paaDisplayName :: Lens' PostAuthor (Maybe Text)+paaDisplayName+ = lens _paaDisplayName+ (\ s a -> s{_paaDisplayName = a})++-- | The identifier of the Post creator.+paaId :: Lens' PostAuthor (Maybe Text)+paaId = lens _paaId (\ s a -> s{_paaId = a})++instance FromJSON PostAuthor where+ parseJSON+ = withObject "PostAuthor"+ (\ o ->+ PostAuthor <$>+ (o .:? "image") <*> (o .:? "url") <*>+ (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON PostAuthor where+ toJSON PostAuthor{..}+ = object+ (catMaybes+ [("image" .=) <$> _paaImage, ("url" .=) <$> _paaURL,+ ("displayName" .=) <$> _paaDisplayName,+ ("id" .=) <$> _paaId])++--+-- /See:/ 'postPerUserInfo' smart constructor.+data PostPerUserInfo = PostPerUserInfo+ { _ppuiKind :: !Text+ , _ppuiBlogId :: !(Maybe Text)+ , _ppuiUserId :: !(Maybe Text)+ , _ppuiHasEditAccess :: !(Maybe Bool)+ , _ppuiPostId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostPerUserInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppuiKind'+--+-- * 'ppuiBlogId'+--+-- * 'ppuiUserId'+--+-- * 'ppuiHasEditAccess'+--+-- * 'ppuiPostId'+postPerUserInfo+ :: PostPerUserInfo+postPerUserInfo =+ PostPerUserInfo+ { _ppuiKind = "blogger#postPerUserInfo"+ , _ppuiBlogId = Nothing+ , _ppuiUserId = Nothing+ , _ppuiHasEditAccess = Nothing+ , _ppuiPostId = Nothing+ }++-- | The kind of this entity. Always blogger#postPerUserInfo+ppuiKind :: Lens' PostPerUserInfo Text+ppuiKind = lens _ppuiKind (\ s a -> s{_ppuiKind = a})++-- | ID of the Blog that the post resource belongs to.+ppuiBlogId :: Lens' PostPerUserInfo (Maybe Text)+ppuiBlogId+ = lens _ppuiBlogId (\ s a -> s{_ppuiBlogId = a})++-- | ID of the User.+ppuiUserId :: Lens' PostPerUserInfo (Maybe Text)+ppuiUserId+ = lens _ppuiUserId (\ s a -> s{_ppuiUserId = a})++-- | True if the user has Author level access to the post.+ppuiHasEditAccess :: Lens' PostPerUserInfo (Maybe Bool)+ppuiHasEditAccess+ = lens _ppuiHasEditAccess+ (\ s a -> s{_ppuiHasEditAccess = a})++-- | ID of the Post resource.+ppuiPostId :: Lens' PostPerUserInfo (Maybe Text)+ppuiPostId+ = lens _ppuiPostId (\ s a -> s{_ppuiPostId = a})++instance FromJSON PostPerUserInfo where+ parseJSON+ = withObject "PostPerUserInfo"+ (\ o ->+ PostPerUserInfo <$>+ (o .:? "kind" .!= "blogger#postPerUserInfo") <*>+ (o .:? "blogId")+ <*> (o .:? "userId")+ <*> (o .:? "hasEditAccess")+ <*> (o .:? "postId"))++instance ToJSON PostPerUserInfo where+ toJSON PostPerUserInfo{..}+ = object+ (catMaybes+ [Just ("kind" .= _ppuiKind),+ ("blogId" .=) <$> _ppuiBlogId,+ ("userId" .=) <$> _ppuiUserId,+ ("hasEditAccess" .=) <$> _ppuiHasEditAccess,+ ("postId" .=) <$> _ppuiPostId])++--+-- /See:/ 'pageviewsCountsItem' smart constructor.+data PageviewsCountsItem = PageviewsCountsItem+ { _pciTimeRange :: !(Maybe Text)+ , _pciCount :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageviewsCountsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pciTimeRange'+--+-- * 'pciCount'+pageviewsCountsItem+ :: PageviewsCountsItem+pageviewsCountsItem =+ PageviewsCountsItem+ { _pciTimeRange = Nothing+ , _pciCount = Nothing+ }++-- | Time range the given count applies to+pciTimeRange :: Lens' PageviewsCountsItem (Maybe Text)+pciTimeRange+ = lens _pciTimeRange (\ s a -> s{_pciTimeRange = a})++-- | Count of page views for the given time range+pciCount :: Lens' PageviewsCountsItem (Maybe Int64)+pciCount+ = lens _pciCount (\ s a -> s{_pciCount = a}) .+ mapping _Coerce++instance FromJSON PageviewsCountsItem where+ parseJSON+ = withObject "PageviewsCountsItem"+ (\ o ->+ PageviewsCountsItem <$>+ (o .:? "timeRange") <*> (o .:? "count"))++instance ToJSON PageviewsCountsItem where+ toJSON PageviewsCountsItem{..}+ = object+ (catMaybes+ [("timeRange" .=) <$> _pciTimeRange,+ ("count" .=) <$> _pciCount])++--+-- /See:/ 'comment' smart constructor.+data Comment = Comment+ { _cStatus :: !(Maybe Text)+ , _cPost :: !(Maybe CommentPost)+ , _cKind :: !Text+ , _cPublished :: !(Maybe DateTime')+ , _cBlog :: !(Maybe CommentBlog)+ , _cContent :: !(Maybe Text)+ , _cSelfLink :: !(Maybe Text)+ , _cAuthor :: !(Maybe CommentAuthor)+ , _cId :: !(Maybe Text)+ , _cUpdated :: !(Maybe DateTime')+ , _cInReplyTo :: !(Maybe CommentInReplyTo)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Comment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cPost'+--+-- * 'cKind'+--+-- * 'cPublished'+--+-- * 'cBlog'+--+-- * 'cContent'+--+-- * 'cSelfLink'+--+-- * 'cAuthor'+--+-- * 'cId'+--+-- * 'cUpdated'+--+-- * 'cInReplyTo'+comment+ :: Comment+comment =+ Comment+ { _cStatus = Nothing+ , _cPost = Nothing+ , _cKind = "blogger#comment"+ , _cPublished = Nothing+ , _cBlog = Nothing+ , _cContent = Nothing+ , _cSelfLink = Nothing+ , _cAuthor = Nothing+ , _cId = Nothing+ , _cUpdated = Nothing+ , _cInReplyTo = Nothing+ }++-- | The status of the comment (only populated for admin users)+cStatus :: Lens' Comment (Maybe Text)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | Data about the post containing this comment.+cPost :: Lens' Comment (Maybe CommentPost)+cPost = lens _cPost (\ s a -> s{_cPost = a})++-- | The kind of this entry. Always blogger#comment+cKind :: Lens' Comment Text+cKind = lens _cKind (\ s a -> s{_cKind = a})++-- | RFC 3339 date-time when this comment was published.+cPublished :: Lens' Comment (Maybe UTCTime)+cPublished+ = lens _cPublished (\ s a -> s{_cPublished = a}) .+ mapping _DateTime++-- | Data about the blog containing this comment.+cBlog :: Lens' Comment (Maybe CommentBlog)+cBlog = lens _cBlog (\ s a -> s{_cBlog = a})++-- | The actual content of the comment. May include HTML markup.+cContent :: Lens' Comment (Maybe Text)+cContent = lens _cContent (\ s a -> s{_cContent = a})++-- | The API REST URL to fetch this resource from.+cSelfLink :: Lens' Comment (Maybe Text)+cSelfLink+ = lens _cSelfLink (\ s a -> s{_cSelfLink = a})++-- | The author of this Comment.+cAuthor :: Lens' Comment (Maybe CommentAuthor)+cAuthor = lens _cAuthor (\ s a -> s{_cAuthor = a})++-- | The identifier for this resource.+cId :: Lens' Comment (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | RFC 3339 date-time when this comment was last updated.+cUpdated :: Lens' Comment (Maybe UTCTime)+cUpdated+ = lens _cUpdated (\ s a -> s{_cUpdated = a}) .+ mapping _DateTime++-- | Data about the comment this is in reply to.+cInReplyTo :: Lens' Comment (Maybe CommentInReplyTo)+cInReplyTo+ = lens _cInReplyTo (\ s a -> s{_cInReplyTo = a})++instance FromJSON Comment where+ parseJSON+ = withObject "Comment"+ (\ o ->+ Comment <$>+ (o .:? "status") <*> (o .:? "post") <*>+ (o .:? "kind" .!= "blogger#comment")+ <*> (o .:? "published")+ <*> (o .:? "blog")+ <*> (o .:? "content")+ <*> (o .:? "selfLink")+ <*> (o .:? "author")+ <*> (o .:? "id")+ <*> (o .:? "updated")+ <*> (o .:? "inReplyTo"))++instance ToJSON Comment where+ toJSON Comment{..}+ = object+ (catMaybes+ [("status" .=) <$> _cStatus, ("post" .=) <$> _cPost,+ Just ("kind" .= _cKind),+ ("published" .=) <$> _cPublished,+ ("blog" .=) <$> _cBlog, ("content" .=) <$> _cContent,+ ("selfLink" .=) <$> _cSelfLink,+ ("author" .=) <$> _cAuthor, ("id" .=) <$> _cId,+ ("updated" .=) <$> _cUpdated,+ ("inReplyTo" .=) <$> _cInReplyTo])++-- | Data about the post containing this comment.+--+-- /See:/ 'commentPost' smart constructor.+newtype CommentPost = CommentPost+ { _cpId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentPost' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpId'+commentPost+ :: CommentPost+commentPost =+ CommentPost+ { _cpId = Nothing+ }++-- | The identifier of the post containing this comment.+cpId :: Lens' CommentPost (Maybe Text)+cpId = lens _cpId (\ s a -> s{_cpId = a})++instance FromJSON CommentPost where+ parseJSON+ = withObject "CommentPost"+ (\ o -> CommentPost <$> (o .:? "id"))++instance ToJSON CommentPost where+ toJSON CommentPost{..}+ = object (catMaybes [("id" .=) <$> _cpId])++--+-- /See:/ 'blogPerUserInfo' smart constructor.+data BlogPerUserInfo = BlogPerUserInfo+ { _bpuiPhotosAlbumKey :: !(Maybe Text)+ , _bpuiKind :: !Text+ , _bpuiBlogId :: !(Maybe Text)+ , _bpuiUserId :: !(Maybe Text)+ , _bpuiRole :: !(Maybe Text)+ , _bpuiHasAdminAccess :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogPerUserInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpuiPhotosAlbumKey'+--+-- * 'bpuiKind'+--+-- * 'bpuiBlogId'+--+-- * 'bpuiUserId'+--+-- * 'bpuiRole'+--+-- * 'bpuiHasAdminAccess'+blogPerUserInfo+ :: BlogPerUserInfo+blogPerUserInfo =+ BlogPerUserInfo+ { _bpuiPhotosAlbumKey = Nothing+ , _bpuiKind = "blogger#blogPerUserInfo"+ , _bpuiBlogId = Nothing+ , _bpuiUserId = Nothing+ , _bpuiRole = Nothing+ , _bpuiHasAdminAccess = Nothing+ }++-- | The Photo Album Key for the user when adding photos to the blog+bpuiPhotosAlbumKey :: Lens' BlogPerUserInfo (Maybe Text)+bpuiPhotosAlbumKey+ = lens _bpuiPhotosAlbumKey+ (\ s a -> s{_bpuiPhotosAlbumKey = a})++-- | The kind of this entity. Always blogger#blogPerUserInfo+bpuiKind :: Lens' BlogPerUserInfo Text+bpuiKind = lens _bpuiKind (\ s a -> s{_bpuiKind = a})++-- | ID of the Blog resource+bpuiBlogId :: Lens' BlogPerUserInfo (Maybe Text)+bpuiBlogId+ = lens _bpuiBlogId (\ s a -> s{_bpuiBlogId = a})++-- | ID of the User+bpuiUserId :: Lens' BlogPerUserInfo (Maybe Text)+bpuiUserId+ = lens _bpuiUserId (\ s a -> s{_bpuiUserId = a})++-- | Access permissions that the user has for the blog (ADMIN, AUTHOR, or+-- READER).+bpuiRole :: Lens' BlogPerUserInfo (Maybe Text)+bpuiRole = lens _bpuiRole (\ s a -> s{_bpuiRole = a})++-- | True if the user has Admin level access to the blog.+bpuiHasAdminAccess :: Lens' BlogPerUserInfo (Maybe Bool)+bpuiHasAdminAccess+ = lens _bpuiHasAdminAccess+ (\ s a -> s{_bpuiHasAdminAccess = a})++instance FromJSON BlogPerUserInfo where+ parseJSON+ = withObject "BlogPerUserInfo"+ (\ o ->+ BlogPerUserInfo <$>+ (o .:? "photosAlbumKey") <*>+ (o .:? "kind" .!= "blogger#blogPerUserInfo")+ <*> (o .:? "blogId")+ <*> (o .:? "userId")+ <*> (o .:? "role")+ <*> (o .:? "hasAdminAccess"))++instance ToJSON BlogPerUserInfo where+ toJSON BlogPerUserInfo{..}+ = object+ (catMaybes+ [("photosAlbumKey" .=) <$> _bpuiPhotosAlbumKey,+ Just ("kind" .= _bpuiKind),+ ("blogId" .=) <$> _bpuiBlogId,+ ("userId" .=) <$> _bpuiUserId,+ ("role" .=) <$> _bpuiRole,+ ("hasAdminAccess" .=) <$> _bpuiHasAdminAccess])++--+-- /See:/ 'postUserInfosList' smart constructor.+data PostUserInfosList = PostUserInfosList+ { _puilNextPageToken :: !(Maybe Text)+ , _puilKind :: !Text+ , _puilItems :: !(Maybe [PostUserInfo])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostUserInfosList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puilNextPageToken'+--+-- * 'puilKind'+--+-- * 'puilItems'+postUserInfosList+ :: PostUserInfosList+postUserInfosList =+ PostUserInfosList+ { _puilNextPageToken = Nothing+ , _puilKind = "blogger#postUserInfosList"+ , _puilItems = Nothing+ }++-- | Pagination token to fetch the next page, if one exists.+puilNextPageToken :: Lens' PostUserInfosList (Maybe Text)+puilNextPageToken+ = lens _puilNextPageToken+ (\ s a -> s{_puilNextPageToken = a})++-- | The kind of this entity. Always blogger#postList+puilKind :: Lens' PostUserInfosList Text+puilKind = lens _puilKind (\ s a -> s{_puilKind = a})++-- | The list of Posts with User information for the post, for this Blog.+puilItems :: Lens' PostUserInfosList [PostUserInfo]+puilItems+ = lens _puilItems (\ s a -> s{_puilItems = a}) .+ _Default+ . _Coerce++instance FromJSON PostUserInfosList where+ parseJSON+ = withObject "PostUserInfosList"+ (\ o ->+ PostUserInfosList <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "blogger#postUserInfosList")+ <*> (o .:? "items" .!= mempty))++instance ToJSON PostUserInfosList where+ toJSON PostUserInfosList{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _puilNextPageToken,+ Just ("kind" .= _puilKind),+ ("items" .=) <$> _puilItems])++-- | The author of this Comment.+--+-- /See:/ 'commentAuthor' smart constructor.+data CommentAuthor = CommentAuthor+ { _caImage :: !(Maybe CommentAuthorImage)+ , _caURL :: !(Maybe Text)+ , _caDisplayName :: !(Maybe Text)+ , _caId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentAuthor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caImage'+--+-- * 'caURL'+--+-- * 'caDisplayName'+--+-- * 'caId'+commentAuthor+ :: CommentAuthor+commentAuthor =+ CommentAuthor+ { _caImage = Nothing+ , _caURL = Nothing+ , _caDisplayName = Nothing+ , _caId = Nothing+ }++-- | The comment creator\'s avatar.+caImage :: Lens' CommentAuthor (Maybe CommentAuthorImage)+caImage = lens _caImage (\ s a -> s{_caImage = a})++-- | The URL of the Comment creator\'s Profile page.+caURL :: Lens' CommentAuthor (Maybe Text)+caURL = lens _caURL (\ s a -> s{_caURL = a})++-- | The display name.+caDisplayName :: Lens' CommentAuthor (Maybe Text)+caDisplayName+ = lens _caDisplayName+ (\ s a -> s{_caDisplayName = a})++-- | The identifier of the Comment creator.+caId :: Lens' CommentAuthor (Maybe Text)+caId = lens _caId (\ s a -> s{_caId = a})++instance FromJSON CommentAuthor where+ parseJSON+ = withObject "CommentAuthor"+ (\ o ->+ CommentAuthor <$>+ (o .:? "image") <*> (o .:? "url") <*>+ (o .:? "displayName")+ <*> (o .:? "id"))++instance ToJSON CommentAuthor where+ toJSON CommentAuthor{..}+ = object+ (catMaybes+ [("image" .=) <$> _caImage, ("url" .=) <$> _caURL,+ ("displayName" .=) <$> _caDisplayName,+ ("id" .=) <$> _caId])++--+-- /See:/ 'blogUserInfo' smart constructor.+data BlogUserInfo = BlogUserInfo+ { _buiKind :: !Text+ , _buiBlog :: !(Maybe Blog)+ , _buiBlogUserInfo :: !(Maybe BlogPerUserInfo)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogUserInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buiKind'+--+-- * 'buiBlog'+--+-- * 'buiBlogUserInfo'+blogUserInfo+ :: BlogUserInfo+blogUserInfo =+ BlogUserInfo+ { _buiKind = "blogger#blogUserInfo"+ , _buiBlog = Nothing+ , _buiBlogUserInfo = Nothing+ }++-- | The kind of this entity. Always blogger#blogUserInfo+buiKind :: Lens' BlogUserInfo Text+buiKind = lens _buiKind (\ s a -> s{_buiKind = a})++-- | The Blog resource.+buiBlog :: Lens' BlogUserInfo (Maybe Blog)+buiBlog = lens _buiBlog (\ s a -> s{_buiBlog = a})++-- | Information about a User for the Blog.+buiBlogUserInfo :: Lens' BlogUserInfo (Maybe BlogPerUserInfo)+buiBlogUserInfo+ = lens _buiBlogUserInfo+ (\ s a -> s{_buiBlogUserInfo = a})++instance FromJSON BlogUserInfo where+ parseJSON+ = withObject "BlogUserInfo"+ (\ o ->+ BlogUserInfo <$>+ (o .:? "kind" .!= "blogger#blogUserInfo") <*>+ (o .:? "blog")+ <*> (o .:? "blog_user_info"))++instance ToJSON BlogUserInfo where+ toJSON BlogUserInfo{..}+ = object+ (catMaybes+ [Just ("kind" .= _buiKind), ("blog" .=) <$> _buiBlog,+ ("blog_user_info" .=) <$> _buiBlogUserInfo])++-- | The page author\'s avatar.+--+-- /See:/ 'pageAuthorImage' smart constructor.+newtype PageAuthorImage = PageAuthorImage+ { _pURL :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageAuthorImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pURL'+pageAuthorImage+ :: PageAuthorImage+pageAuthorImage =+ PageAuthorImage+ { _pURL = Nothing+ }++-- | The page author\'s avatar URL.+pURL :: Lens' PageAuthorImage (Maybe Text)+pURL = lens _pURL (\ s a -> s{_pURL = a})++instance FromJSON PageAuthorImage where+ parseJSON+ = withObject "PageAuthorImage"+ (\ o -> PageAuthorImage <$> (o .:? "url"))++instance ToJSON PageAuthorImage where+ toJSON PageAuthorImage{..}+ = object (catMaybes [("url" .=) <$> _pURL])++--+-- /See:/ 'commentList' smart constructor.+data CommentList = CommentList+ { _clEtag :: !(Maybe Text)+ , _clNextPageToken :: !(Maybe Text)+ , _clKind :: !Text+ , _clItems :: !(Maybe [Comment])+ , _clPrevPageToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clEtag'+--+-- * 'clNextPageToken'+--+-- * 'clKind'+--+-- * 'clItems'+--+-- * 'clPrevPageToken'+commentList+ :: CommentList+commentList =+ CommentList+ { _clEtag = Nothing+ , _clNextPageToken = Nothing+ , _clKind = "blogger#commentList"+ , _clItems = Nothing+ , _clPrevPageToken = Nothing+ }++-- | Etag of the response.+clEtag :: Lens' CommentList (Maybe Text)+clEtag = lens _clEtag (\ s a -> s{_clEtag = a})++-- | Pagination token to fetch the next page, if one exists.+clNextPageToken :: Lens' CommentList (Maybe Text)+clNextPageToken+ = lens _clNextPageToken+ (\ s a -> s{_clNextPageToken = a})++-- | The kind of this entry. Always blogger#commentList+clKind :: Lens' CommentList Text+clKind = lens _clKind (\ s a -> s{_clKind = a})++-- | The List of Comments for a Post.+clItems :: Lens' CommentList [Comment]+clItems+ = lens _clItems (\ s a -> s{_clItems = a}) . _Default+ . _Coerce++-- | Pagination token to fetch the previous page, if one exists.+clPrevPageToken :: Lens' CommentList (Maybe Text)+clPrevPageToken+ = lens _clPrevPageToken+ (\ s a -> s{_clPrevPageToken = a})++instance FromJSON CommentList where+ parseJSON+ = withObject "CommentList"+ (\ o ->+ CommentList <$>+ (o .:? "etag") <*> (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "blogger#commentList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "prevPageToken"))++instance ToJSON CommentList where+ toJSON CommentList{..}+ = object+ (catMaybes+ [("etag" .=) <$> _clEtag,+ ("nextPageToken" .=) <$> _clNextPageToken,+ Just ("kind" .= _clKind), ("items" .=) <$> _clItems,+ ("prevPageToken" .=) <$> _clPrevPageToken])++--+-- /See:/ 'postImagesItem' smart constructor.+newtype PostImagesItem = PostImagesItem+ { _piiURL :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostImagesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piiURL'+postImagesItem+ :: PostImagesItem+postImagesItem =+ PostImagesItem+ { _piiURL = Nothing+ }++piiURL :: Lens' PostImagesItem (Maybe Text)+piiURL = lens _piiURL (\ s a -> s{_piiURL = a})++instance FromJSON PostImagesItem where+ parseJSON+ = withObject "PostImagesItem"+ (\ o -> PostImagesItem <$> (o .:? "url"))++instance ToJSON PostImagesItem where+ toJSON PostImagesItem{..}+ = object (catMaybes [("url" .=) <$> _piiURL])
+ gen/Network/Google/Blogger/Types/Sum.hs view
@@ -0,0 +1,762 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Blogger.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.Blogger.Types.Sum where++import Network.Google.Prelude++-- | Sort search results+data PostsListOrderBy+ = Published+ -- ^ @published@+ -- Order by the date the post was published+ | Updated+ -- ^ @updated@+ -- Order by the date the post was last updated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsListOrderBy++instance FromText PostsListOrderBy where+ fromText = \case+ "published" -> Just Published+ "updated" -> Just Updated+ _ -> Nothing++instance ToText PostsListOrderBy where+ toText = \case+ Published -> "published"+ Updated -> "updated"++instance FromJSON PostsListOrderBy where+ parseJSON = parseJSONText "PostsListOrderBy"++instance ToJSON PostsListOrderBy where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require escalated access.+data PostsListView+ = Admin+ -- ^ @ADMIN@+ -- Admin level detail+ | Author+ -- ^ @AUTHOR@+ -- Author level detail+ | Reader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsListView++instance FromText PostsListView where+ fromText = \case+ "ADMIN" -> Just Admin+ "AUTHOR" -> Just Author+ "READER" -> Just Reader+ _ -> Nothing++instance ToText PostsListView where+ toText = \case+ Admin -> "ADMIN"+ Author -> "AUTHOR"+ Reader -> "READER"++instance FromJSON PostsListView where+ parseJSON = parseJSONText "PostsListView"++instance ToJSON PostsListView where+ toJSON = toJSONText++data PageViewsGetRange+ = PVGR30DAYS+ -- ^ @30DAYS@+ -- Page view counts from the last thirty days.+ | PVGR7DAYS+ -- ^ @7DAYS@+ -- Page view counts from the last seven days.+ | PVGRAll+ -- ^ @all@+ -- Total page view counts from all time.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PageViewsGetRange++instance FromText PageViewsGetRange where+ fromText = \case+ "30DAYS" -> Just PVGR30DAYS+ "7DAYS" -> Just PVGR7DAYS+ "all" -> Just PVGRAll+ _ -> Nothing++instance ToText PageViewsGetRange where+ toText = \case+ PVGR30DAYS -> "30DAYS"+ PVGR7DAYS -> "7DAYS"+ PVGRAll -> "all"++instance FromJSON PageViewsGetRange where+ parseJSON = parseJSONText "PageViewsGetRange"++instance ToJSON PageViewsGetRange where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+data CommentsListView+ = CLVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | CLVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | CLVReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CommentsListView++instance FromText CommentsListView where+ fromText = \case+ "ADMIN" -> Just CLVAdmin+ "AUTHOR" -> Just CLVAuthor+ "READER" -> Just CLVReader+ _ -> Nothing++instance ToText CommentsListView where+ toText = \case+ CLVAdmin -> "ADMIN"+ CLVAuthor -> "AUTHOR"+ CLVReader -> "READER"++instance FromJSON CommentsListView where+ parseJSON = parseJSONText "CommentsListView"++instance ToJSON CommentsListView where+ toJSON = toJSONText++data PostUserInfosListStatus+ = Draft+ -- ^ @draft@+ -- Draft posts+ | Live+ -- ^ @live@+ -- Published posts+ | Scheduled+ -- ^ @scheduled@+ -- Posts that are scheduled to publish in future.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostUserInfosListStatus++instance FromText PostUserInfosListStatus where+ fromText = \case+ "draft" -> Just Draft+ "live" -> Just Live+ "scheduled" -> Just Scheduled+ _ -> Nothing++instance ToText PostUserInfosListStatus where+ toText = \case+ Draft -> "draft"+ Live -> "live"+ Scheduled -> "scheduled"++instance FromJSON PostUserInfosListStatus where+ parseJSON = parseJSONText "PostUserInfosListStatus"++instance ToJSON PostUserInfosListStatus where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+data PostsGetView+ = PGVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | PGVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | PGVReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsGetView++instance FromText PostsGetView where+ fromText = \case+ "ADMIN" -> Just PGVAdmin+ "AUTHOR" -> Just PGVAuthor+ "READER" -> Just PGVReader+ _ -> Nothing++instance ToText PostsGetView where+ toText = \case+ PGVAdmin -> "ADMIN"+ PGVAuthor -> "AUTHOR"+ PGVReader -> "READER"++instance FromJSON PostsGetView where+ parseJSON = parseJSONText "PostsGetView"++instance ToJSON PostsGetView where+ toJSON = toJSONText++-- | Sort search results+data PostsSearchOrderBy+ = PSOBPublished+ -- ^ @published@+ -- Order by the date the post was published+ | PSOBUpdated+ -- ^ @updated@+ -- Order by the date the post was last updated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsSearchOrderBy++instance FromText PostsSearchOrderBy where+ fromText = \case+ "published" -> Just PSOBPublished+ "updated" -> Just PSOBUpdated+ _ -> Nothing++instance ToText PostsSearchOrderBy where+ toText = \case+ PSOBPublished -> "published"+ PSOBUpdated -> "updated"++instance FromJSON PostsSearchOrderBy where+ parseJSON = parseJSONText "PostsSearchOrderBy"++instance ToJSON PostsSearchOrderBy where+ toJSON = toJSONText++data CommentsListByBlogStatus+ = CLBBSEmptied+ -- ^ @emptied@+ -- Comments that have had their content removed+ | CLBBSLive+ -- ^ @live@+ -- Comments that are publicly visible+ | CLBBSPending+ -- ^ @pending@+ -- Comments that are awaiting administrator approval+ | CLBBSSpam+ -- ^ @spam@+ -- Comments marked as spam by the administrator+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CommentsListByBlogStatus++instance FromText CommentsListByBlogStatus where+ fromText = \case+ "emptied" -> Just CLBBSEmptied+ "live" -> Just CLBBSLive+ "pending" -> Just CLBBSPending+ "spam" -> Just CLBBSSpam+ _ -> Nothing++instance ToText CommentsListByBlogStatus where+ toText = \case+ CLBBSEmptied -> "emptied"+ CLBBSLive -> "live"+ CLBBSPending -> "pending"+ CLBBSSpam -> "spam"++instance FromJSON CommentsListByBlogStatus where+ parseJSON = parseJSONText "CommentsListByBlogStatus"++instance ToJSON CommentsListByBlogStatus where+ toJSON = toJSONText++data PagesGetView+ = PAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | PAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | PReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PagesGetView++instance FromText PagesGetView where+ fromText = \case+ "ADMIN" -> Just PAdmin+ "AUTHOR" -> Just PAuthor+ "READER" -> Just PReader+ _ -> Nothing++instance ToText PagesGetView where+ toText = \case+ PAdmin -> "ADMIN"+ PAuthor -> "AUTHOR"+ PReader -> "READER"++instance FromJSON PagesGetView where+ parseJSON = parseJSONText "PagesGetView"++instance ToJSON PagesGetView where+ toJSON = toJSONText++-- | Sort order applied to search results. Default is published.+data PostUserInfosListOrderBy+ = PUILOBPublished+ -- ^ @published@+ -- Order by the date the post was published+ | PUILOBUpdated+ -- ^ @updated@+ -- Order by the date the post was last updated+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostUserInfosListOrderBy++instance FromText PostUserInfosListOrderBy where+ fromText = \case+ "published" -> Just PUILOBPublished+ "updated" -> Just PUILOBUpdated+ _ -> Nothing++instance ToText PostUserInfosListOrderBy where+ toText = \case+ PUILOBPublished -> "published"+ PUILOBUpdated -> "updated"++instance FromJSON PostUserInfosListOrderBy where+ parseJSON = parseJSONText "PostUserInfosListOrderBy"++instance ToJSON PostUserInfosListOrderBy where+ toJSON = toJSONText++-- | Access level with which to view the blog. Note that some fields require+-- elevated access.+data BlogsGetView+ = BGVAdmin+ -- ^ @ADMIN@+ -- Admin level detail.+ | BGVAuthor+ -- ^ @AUTHOR@+ -- Author level detail.+ | BGVReader+ -- ^ @READER@+ -- Reader level detail.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable BlogsGetView++instance FromText BlogsGetView where+ fromText = \case+ "ADMIN" -> Just BGVAdmin+ "AUTHOR" -> Just BGVAuthor+ "READER" -> Just BGVReader+ _ -> Nothing++instance ToText BlogsGetView where+ toText = \case+ BGVAdmin -> "ADMIN"+ BGVAuthor -> "AUTHOR"+ BGVReader -> "READER"++instance FromJSON BlogsGetView where+ parseJSON = parseJSONText "BlogsGetView"++instance ToJSON BlogsGetView where+ toJSON = toJSONText++-- | Access level with which to view the blog. Note that some fields require+-- elevated access.+data BlogsGetByURLView+ = BGBUVAdmin+ -- ^ @ADMIN@+ -- Admin level detail.+ | BGBUVAuthor+ -- ^ @AUTHOR@+ -- Author level detail.+ | BGBUVReader+ -- ^ @READER@+ -- Reader level detail.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable BlogsGetByURLView++instance FromText BlogsGetByURLView where+ fromText = \case+ "ADMIN" -> Just BGBUVAdmin+ "AUTHOR" -> Just BGBUVAuthor+ "READER" -> Just BGBUVReader+ _ -> Nothing++instance ToText BlogsGetByURLView where+ toText = \case+ BGBUVAdmin -> "ADMIN"+ BGBUVAuthor -> "AUTHOR"+ BGBUVReader -> "READER"++instance FromJSON BlogsGetByURLView where+ parseJSON = parseJSONText "BlogsGetByURLView"++instance ToJSON BlogsGetByURLView where+ toJSON = toJSONText++data CommentsListStatus+ = CLSEmptied+ -- ^ @emptied@+ -- Comments that have had their content removed+ | CLSLive+ -- ^ @live@+ -- Comments that are publicly visible+ | CLSPending+ -- ^ @pending@+ -- Comments that are awaiting administrator approval+ | CLSSpam+ -- ^ @spam@+ -- Comments marked as spam by the administrator+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CommentsListStatus++instance FromText CommentsListStatus where+ fromText = \case+ "emptied" -> Just CLSEmptied+ "live" -> Just CLSLive+ "pending" -> Just CLSPending+ "spam" -> Just CLSSpam+ _ -> Nothing++instance ToText CommentsListStatus where+ toText = \case+ CLSEmptied -> "emptied"+ CLSLive -> "live"+ CLSPending -> "pending"+ CLSSpam -> "spam"++instance FromJSON CommentsListStatus where+ parseJSON = parseJSONText "CommentsListStatus"++instance ToJSON CommentsListStatus where+ toJSON = toJSONText++-- | Blog statuses to include in the result (default: Live blogs only). Note+-- that ADMIN access is required to view deleted blogs.+data BlogsListByUserStatus+ = BLBUSDeleted+ -- ^ @DELETED@+ -- Blog has been deleted by an administrator.+ | BLBUSLive+ -- ^ @LIVE@+ -- Blog is currently live.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable BlogsListByUserStatus++instance FromText BlogsListByUserStatus where+ fromText = \case+ "DELETED" -> Just BLBUSDeleted+ "LIVE" -> Just BLBUSLive+ _ -> Nothing++instance ToText BlogsListByUserStatus where+ toText = \case+ BLBUSDeleted -> "DELETED"+ BLBUSLive -> "LIVE"++instance FromJSON BlogsListByUserStatus where+ parseJSON = parseJSONText "BlogsListByUserStatus"++instance ToJSON BlogsListByUserStatus where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+data PagesListView+ = PLVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | PLVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | PLVReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PagesListView++instance FromText PagesListView where+ fromText = \case+ "ADMIN" -> Just PLVAdmin+ "AUTHOR" -> Just PLVAuthor+ "READER" -> Just PLVReader+ _ -> Nothing++instance ToText PagesListView where+ toText = \case+ PLVAdmin -> "ADMIN"+ PLVAuthor -> "AUTHOR"+ PLVReader -> "READER"++instance FromJSON PagesListView where+ parseJSON = parseJSONText "PagesListView"++instance ToJSON PagesListView where+ toJSON = toJSONText++-- | Statuses to include in the results.+data PostsListStatus+ = PLSDraft+ -- ^ @draft@+ -- Draft (non-published) posts.+ | PLSLive+ -- ^ @live@+ -- Published posts+ | PLSScheduled+ -- ^ @scheduled@+ -- Posts that are scheduled to publish in the future.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsListStatus++instance FromText PostsListStatus where+ fromText = \case+ "draft" -> Just PLSDraft+ "live" -> Just PLSLive+ "scheduled" -> Just PLSScheduled+ _ -> Nothing++instance ToText PostsListStatus where+ toText = \case+ PLSDraft -> "draft"+ PLSLive -> "live"+ PLSScheduled -> "scheduled"++instance FromJSON PostsListStatus where+ parseJSON = parseJSONText "PostsListStatus"++instance ToJSON PostsListStatus where+ toJSON = toJSONText++-- | Access level with which to view the blogs. Note that some fields require+-- elevated access.+data BlogsListByUserView+ = BLBUVAdmin+ -- ^ @ADMIN@+ -- Admin level detail.+ | BLBUVAuthor+ -- ^ @AUTHOR@+ -- Author level detail.+ | BLBUVReader+ -- ^ @READER@+ -- Reader level detail.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable BlogsListByUserView++instance FromText BlogsListByUserView where+ fromText = \case+ "ADMIN" -> Just BLBUVAdmin+ "AUTHOR" -> Just BLBUVAuthor+ "READER" -> Just BLBUVReader+ _ -> Nothing++instance ToText BlogsListByUserView where+ toText = \case+ BLBUVAdmin -> "ADMIN"+ BLBUVAuthor -> "AUTHOR"+ BLBUVReader -> "READER"++instance FromJSON BlogsListByUserView where+ parseJSON = parseJSONText "BlogsListByUserView"++instance ToJSON BlogsListByUserView where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+data PostUserInfosListView+ = PUILVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | PUILVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | PUILVReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostUserInfosListView++instance FromText PostUserInfosListView where+ fromText = \case+ "ADMIN" -> Just PUILVAdmin+ "AUTHOR" -> Just PUILVAuthor+ "READER" -> Just PUILVReader+ _ -> Nothing++instance ToText PostUserInfosListView where+ toText = \case+ PUILVAdmin -> "ADMIN"+ PUILVAuthor -> "AUTHOR"+ PUILVReader -> "READER"++instance FromJSON PostUserInfosListView where+ parseJSON = parseJSONText "PostUserInfosListView"++instance ToJSON PostUserInfosListView where+ toJSON = toJSONText++-- | Access level for the requested comment (default: READER). Note that some+-- comments will require elevated permissions, for example comments where+-- the parent posts which is in a draft state, or comments that are pending+-- moderation.+data CommentsGetView+ = CGVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | CGVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | CGVReader+ -- ^ @READER@+ -- Admin level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CommentsGetView++instance FromText CommentsGetView where+ fromText = \case+ "ADMIN" -> Just CGVAdmin+ "AUTHOR" -> Just CGVAuthor+ "READER" -> Just CGVReader+ _ -> Nothing++instance ToText CommentsGetView where+ toText = \case+ CGVAdmin -> "ADMIN"+ CGVAuthor -> "AUTHOR"+ CGVReader -> "READER"++instance FromJSON CommentsGetView where+ parseJSON = parseJSONText "CommentsGetView"++instance ToJSON CommentsGetView where+ toJSON = toJSONText++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+data PostsGetByPathView+ = PGBPVAdmin+ -- ^ @ADMIN@+ -- Admin level detail+ | PGBPVAuthor+ -- ^ @AUTHOR@+ -- Author level detail+ | PGBPVReader+ -- ^ @READER@+ -- Reader level detail+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PostsGetByPathView++instance FromText PostsGetByPathView where+ fromText = \case+ "ADMIN" -> Just PGBPVAdmin+ "AUTHOR" -> Just PGBPVAuthor+ "READER" -> Just PGBPVReader+ _ -> Nothing++instance ToText PostsGetByPathView where+ toText = \case+ PGBPVAdmin -> "ADMIN"+ PGBPVAuthor -> "AUTHOR"+ PGBPVReader -> "READER"++instance FromJSON PostsGetByPathView where+ parseJSON = parseJSONText "PostsGetByPathView"++instance ToJSON PostsGetByPathView where+ toJSON = toJSONText++data PagesListStatus+ = PDraft+ -- ^ @draft@+ -- Draft (unpublished) Pages+ | PLive+ -- ^ @live@+ -- Pages that are publicly visible+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable PagesListStatus++instance FromText PagesListStatus where+ fromText = \case+ "draft" -> Just PDraft+ "live" -> Just PLive+ _ -> Nothing++instance ToText PagesListStatus where+ toText = \case+ PDraft -> "draft"+ PLive -> "live"++instance FromJSON PagesListStatus where+ parseJSON = parseJSONText "PagesListStatus"++instance ToJSON PagesListStatus where+ toJSON = toJSONText++-- | User access types for blogs to include in the results, e.g. AUTHOR will+-- return blogs where the user has author level access. If no roles are+-- specified, defaults to ADMIN and AUTHOR roles.+data BlogsListByUserRole+ = BLBURAdmin+ -- ^ @ADMIN@+ -- Admin role - Blogs where the user has Admin level access.+ | BLBURAuthor+ -- ^ @AUTHOR@+ -- Author role - Blogs where the user has Author level access.+ | BLBURReader+ -- ^ @READER@+ -- Reader role - Blogs where the user has Reader level access (to a private+ -- blog).+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable BlogsListByUserRole++instance FromText BlogsListByUserRole where+ fromText = \case+ "ADMIN" -> Just BLBURAdmin+ "AUTHOR" -> Just BLBURAuthor+ "READER" -> Just BLBURReader+ _ -> Nothing++instance ToText BlogsListByUserRole where+ toText = \case+ BLBURAdmin -> "ADMIN"+ BLBURAuthor -> "AUTHOR"+ BLBURReader -> "READER"++instance FromJSON BlogsListByUserRole where+ parseJSON = parseJSONText "BlogsListByUserRole"++instance ToJSON BlogsListByUserRole where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Blogger/BlogUserInfos/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.Blogger.BlogUserInfos.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 one blog and user info pair by blogId and userId.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.blogUserInfos.get@.+module Network.Google.Resource.Blogger.BlogUserInfos.Get+ (+ -- * REST Resource+ BlogUserInfosGetResource++ -- * Creating a Request+ , blogUserInfosGet+ , BlogUserInfosGet++ -- * Request Lenses+ , buigBlogId+ , buigUserId+ , buigMaxPosts+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.blogUserInfos.get@ method which the+-- 'BlogUserInfosGet' request conforms to.+type BlogUserInfosGetResource =+ "blogger" :>+ "v3" :>+ "users" :>+ Capture "userId" Text :>+ "blogs" :>+ Capture "blogId" Text :>+ QueryParam "maxPosts" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] BlogUserInfo++-- | Gets one blog and user info pair by blogId and userId.+--+-- /See:/ 'blogUserInfosGet' smart constructor.+data BlogUserInfosGet = BlogUserInfosGet+ { _buigBlogId :: !Text+ , _buigUserId :: !Text+ , _buigMaxPosts :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogUserInfosGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buigBlogId'+--+-- * 'buigUserId'+--+-- * 'buigMaxPosts'+blogUserInfosGet+ :: Text -- ^ 'buigBlogId'+ -> Text -- ^ 'buigUserId'+ -> BlogUserInfosGet+blogUserInfosGet pBuigBlogId_ pBuigUserId_ =+ BlogUserInfosGet+ { _buigBlogId = pBuigBlogId_+ , _buigUserId = pBuigUserId_+ , _buigMaxPosts = Nothing+ }++-- | The ID of the blog to get.+buigBlogId :: Lens' BlogUserInfosGet Text+buigBlogId+ = lens _buigBlogId (\ s a -> s{_buigBlogId = a})++-- | ID of the user whose blogs are to be fetched. Either the word \'self\'+-- (sans quote marks) or the user\'s profile identifier.+buigUserId :: Lens' BlogUserInfosGet Text+buigUserId+ = lens _buigUserId (\ s a -> s{_buigUserId = a})++-- | Maximum number of posts to pull back with the blog.+buigMaxPosts :: Lens' BlogUserInfosGet (Maybe Word32)+buigMaxPosts+ = lens _buigMaxPosts (\ s a -> s{_buigMaxPosts = a})+ . mapping _Coerce++instance GoogleRequest BlogUserInfosGet where+ type Rs BlogUserInfosGet = BlogUserInfo+ requestClient BlogUserInfosGet{..}+ = go _buigUserId _buigBlogId _buigMaxPosts+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy BlogUserInfosGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Blogs/Get.hs view
@@ -0,0 +1,105 @@+{-# 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.Blogger.Blogs.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 one blog by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.blogs.get@.+module Network.Google.Resource.Blogger.Blogs.Get+ (+ -- * REST Resource+ BlogsGetResource++ -- * Creating a Request+ , blogsGet+ , BlogsGet++ -- * Request Lenses+ , bgBlogId+ , bgMaxPosts+ , bgView+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.blogs.get@ method which the+-- 'BlogsGet' request conforms to.+type BlogsGetResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ QueryParam "maxPosts" (Textual Word32) :>+ QueryParam "view" BlogsGetView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Blog++-- | Gets one blog by ID.+--+-- /See:/ 'blogsGet' smart constructor.+data BlogsGet = BlogsGet+ { _bgBlogId :: !Text+ , _bgMaxPosts :: !(Maybe (Textual Word32))+ , _bgView :: !(Maybe BlogsGetView)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgBlogId'+--+-- * 'bgMaxPosts'+--+-- * 'bgView'+blogsGet+ :: Text -- ^ 'bgBlogId'+ -> BlogsGet+blogsGet pBgBlogId_ =+ BlogsGet+ { _bgBlogId = pBgBlogId_+ , _bgMaxPosts = Nothing+ , _bgView = Nothing+ }++-- | The ID of the blog to get.+bgBlogId :: Lens' BlogsGet Text+bgBlogId = lens _bgBlogId (\ s a -> s{_bgBlogId = a})++-- | Maximum number of posts to pull back with the blog.+bgMaxPosts :: Lens' BlogsGet (Maybe Word32)+bgMaxPosts+ = lens _bgMaxPosts (\ s a -> s{_bgMaxPosts = a}) .+ mapping _Coerce++-- | Access level with which to view the blog. Note that some fields require+-- elevated access.+bgView :: Lens' BlogsGet (Maybe BlogsGetView)+bgView = lens _bgView (\ s a -> s{_bgView = a})++instance GoogleRequest BlogsGet where+ type Rs BlogsGet = Blog+ requestClient BlogsGet{..}+ = go _bgBlogId _bgMaxPosts _bgView (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy BlogsGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Blogs/GetByURL.hs view
@@ -0,0 +1,94 @@+{-# 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.Blogger.Blogs.GetByURL+-- 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)+--+-- Retrieve a Blog by URL.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.blogs.getByUrl@.+module Network.Google.Resource.Blogger.Blogs.GetByURL+ (+ -- * REST Resource+ BlogsGetByURLResource++ -- * Creating a Request+ , blogsGetByURL+ , BlogsGetByURL++ -- * Request Lenses+ , bgbuURL+ , bgbuView+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.blogs.getByUrl@ method which the+-- 'BlogsGetByURL' request conforms to.+type BlogsGetByURLResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ "byurl" :>+ QueryParam "url" Text :>+ QueryParam "view" BlogsGetByURLView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Blog++-- | Retrieve a Blog by URL.+--+-- /See:/ 'blogsGetByURL' smart constructor.+data BlogsGetByURL = BlogsGetByURL+ { _bgbuURL :: !Text+ , _bgbuView :: !(Maybe BlogsGetByURLView)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogsGetByURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgbuURL'+--+-- * 'bgbuView'+blogsGetByURL+ :: Text -- ^ 'bgbuURL'+ -> BlogsGetByURL+blogsGetByURL pBgbuURL_ =+ BlogsGetByURL+ { _bgbuURL = pBgbuURL_+ , _bgbuView = Nothing+ }++-- | The URL of the blog to retrieve.+bgbuURL :: Lens' BlogsGetByURL Text+bgbuURL = lens _bgbuURL (\ s a -> s{_bgbuURL = a})++-- | Access level with which to view the blog. Note that some fields require+-- elevated access.+bgbuView :: Lens' BlogsGetByURL (Maybe BlogsGetByURLView)+bgbuView = lens _bgbuView (\ s a -> s{_bgbuView = a})++instance GoogleRequest BlogsGetByURL where+ type Rs BlogsGetByURL = Blog+ requestClient BlogsGetByURL{..}+ = go (Just _bgbuURL) _bgbuView (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy BlogsGetByURLResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Blogs/ListByUser.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.Blogger.Blogs.ListByUser+-- 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 blogs, possibly filtered.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.blogs.listByUser@.+module Network.Google.Resource.Blogger.Blogs.ListByUser+ (+ -- * REST Resource+ BlogsListByUserResource++ -- * Creating a Request+ , blogsListByUser+ , BlogsListByUser++ -- * Request Lenses+ , blbuStatus+ , blbuFetchUserInfo+ , blbuUserId+ , blbuRole+ , blbuView+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.blogs.listByUser@ method which the+-- 'BlogsListByUser' request conforms to.+type BlogsListByUserResource =+ "blogger" :>+ "v3" :>+ "users" :>+ Capture "userId" Text :>+ "blogs" :>+ QueryParams "status" BlogsListByUserStatus :>+ QueryParam "fetchUserInfo" Bool :>+ QueryParams "role" BlogsListByUserRole :>+ QueryParam "view" BlogsListByUserView :>+ QueryParam "alt" AltJSON :> Get '[JSON] BlogList++-- | Retrieves a list of blogs, possibly filtered.+--+-- /See:/ 'blogsListByUser' smart constructor.+data BlogsListByUser = BlogsListByUser+ { _blbuStatus :: ![BlogsListByUserStatus]+ , _blbuFetchUserInfo :: !(Maybe Bool)+ , _blbuUserId :: !Text+ , _blbuRole :: !(Maybe [BlogsListByUserRole])+ , _blbuView :: !(Maybe BlogsListByUserView)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlogsListByUser' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blbuStatus'+--+-- * 'blbuFetchUserInfo'+--+-- * 'blbuUserId'+--+-- * 'blbuRole'+--+-- * 'blbuView'+blogsListByUser+ :: Text -- ^ 'blbuUserId'+ -> BlogsListByUser+blogsListByUser pBlbuUserId_ =+ BlogsListByUser+ { _blbuStatus = [BLBUSLive]+ , _blbuFetchUserInfo = Nothing+ , _blbuUserId = pBlbuUserId_+ , _blbuRole = Nothing+ , _blbuView = Nothing+ }++-- | Blog statuses to include in the result (default: Live blogs only). Note+-- that ADMIN access is required to view deleted blogs.+blbuStatus :: Lens' BlogsListByUser [BlogsListByUserStatus]+blbuStatus+ = lens _blbuStatus (\ s a -> s{_blbuStatus = a}) .+ _Coerce++-- | Whether the response is a list of blogs with per-user information+-- instead of just blogs.+blbuFetchUserInfo :: Lens' BlogsListByUser (Maybe Bool)+blbuFetchUserInfo+ = lens _blbuFetchUserInfo+ (\ s a -> s{_blbuFetchUserInfo = a})++-- | ID of the user whose blogs are to be fetched. Either the word \'self\'+-- (sans quote marks) or the user\'s profile identifier.+blbuUserId :: Lens' BlogsListByUser Text+blbuUserId+ = lens _blbuUserId (\ s a -> s{_blbuUserId = a})++-- | User access types for blogs to include in the results, e.g. AUTHOR will+-- return blogs where the user has author level access. If no roles are+-- specified, defaults to ADMIN and AUTHOR roles.+blbuRole :: Lens' BlogsListByUser [BlogsListByUserRole]+blbuRole+ = lens _blbuRole (\ s a -> s{_blbuRole = a}) .+ _Default+ . _Coerce++-- | Access level with which to view the blogs. Note that some fields require+-- elevated access.+blbuView :: Lens' BlogsListByUser (Maybe BlogsListByUserView)+blbuView = lens _blbuView (\ s a -> s{_blbuView = a})++instance GoogleRequest BlogsListByUser where+ type Rs BlogsListByUser = BlogList+ requestClient BlogsListByUser{..}+ = go _blbuUserId _blbuStatus _blbuFetchUserInfo+ (_blbuRole ^. _Default)+ _blbuView+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy BlogsListByUserResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/Approve.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Comments.Approve+-- 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)+--+-- Marks a comment as not spam.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.approve@.+module Network.Google.Resource.Blogger.Comments.Approve+ (+ -- * REST Resource+ CommentsApproveResource++ -- * Creating a Request+ , commentsApprove+ , CommentsApprove++ -- * Request Lenses+ , caBlogId+ , caPostId+ , caCommentId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.approve@ method which the+-- 'CommentsApprove' request conforms to.+type CommentsApproveResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "approve" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Comment++-- | Marks a comment as not spam.+--+-- /See:/ 'commentsApprove' smart constructor.+data CommentsApprove = CommentsApprove+ { _caBlogId :: !Text+ , _caPostId :: !Text+ , _caCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsApprove' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caBlogId'+--+-- * 'caPostId'+--+-- * 'caCommentId'+commentsApprove+ :: Text -- ^ 'caBlogId'+ -> Text -- ^ 'caPostId'+ -> Text -- ^ 'caCommentId'+ -> CommentsApprove+commentsApprove pCaBlogId_ pCaPostId_ pCaCommentId_ =+ CommentsApprove+ { _caBlogId = pCaBlogId_+ , _caPostId = pCaPostId_+ , _caCommentId = pCaCommentId_+ }++-- | The ID of the Blog.+caBlogId :: Lens' CommentsApprove Text+caBlogId = lens _caBlogId (\ s a -> s{_caBlogId = a})++-- | The ID of the Post.+caPostId :: Lens' CommentsApprove Text+caPostId = lens _caPostId (\ s a -> s{_caPostId = a})++-- | The ID of the comment to mark as not spam.+caCommentId :: Lens' CommentsApprove Text+caCommentId+ = lens _caCommentId (\ s a -> s{_caCommentId = a})++instance GoogleRequest CommentsApprove where+ type Rs CommentsApprove = Comment+ requestClient CommentsApprove{..}+ = go _caBlogId _caPostId _caCommentId (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy CommentsApproveResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/Delete.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Comments.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a comment by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.delete@.+module Network.Google.Resource.Blogger.Comments.Delete+ (+ -- * REST Resource+ CommentsDeleteResource++ -- * Creating a Request+ , commentsDelete+ , CommentsDelete++ -- * Request Lenses+ , cdBlogId+ , cdPostId+ , cdCommentId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.delete@ method which the+-- 'CommentsDelete' request conforms to.+type CommentsDeleteResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a comment by ID.+--+-- /See:/ 'commentsDelete' smart constructor.+data CommentsDelete = CommentsDelete+ { _cdBlogId :: !Text+ , _cdPostId :: !Text+ , _cdCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdBlogId'+--+-- * 'cdPostId'+--+-- * 'cdCommentId'+commentsDelete+ :: Text -- ^ 'cdBlogId'+ -> Text -- ^ 'cdPostId'+ -> Text -- ^ 'cdCommentId'+ -> CommentsDelete+commentsDelete pCdBlogId_ pCdPostId_ pCdCommentId_ =+ CommentsDelete+ { _cdBlogId = pCdBlogId_+ , _cdPostId = pCdPostId_+ , _cdCommentId = pCdCommentId_+ }++-- | The ID of the Blog.+cdBlogId :: Lens' CommentsDelete Text+cdBlogId = lens _cdBlogId (\ s a -> s{_cdBlogId = a})++-- | The ID of the Post.+cdPostId :: Lens' CommentsDelete Text+cdPostId = lens _cdPostId (\ s a -> s{_cdPostId = a})++-- | The ID of the comment to delete.+cdCommentId :: Lens' CommentsDelete Text+cdCommentId+ = lens _cdCommentId (\ s a -> s{_cdCommentId = a})++instance GoogleRequest CommentsDelete where+ type Rs CommentsDelete = ()+ requestClient CommentsDelete{..}+ = go _cdBlogId _cdPostId _cdCommentId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy CommentsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/Get.hs view
@@ -0,0 +1,121 @@+{-# 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.Blogger.Comments.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets one comment by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.get@.+module Network.Google.Resource.Blogger.Comments.Get+ (+ -- * REST Resource+ CommentsGetResource++ -- * Creating a Request+ , commentsGet+ , CommentsGet++ -- * Request Lenses+ , cgBlogId+ , cgView+ , cgPostId+ , cgCommentId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.get@ method which the+-- 'CommentsGet' request conforms to.+type CommentsGetResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ QueryParam "view" CommentsGetView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Comment++-- | Gets one comment by ID.+--+-- /See:/ 'commentsGet' smart constructor.+data CommentsGet = CommentsGet+ { _cgBlogId :: !Text+ , _cgView :: !(Maybe CommentsGetView)+ , _cgPostId :: !Text+ , _cgCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgBlogId'+--+-- * 'cgView'+--+-- * 'cgPostId'+--+-- * 'cgCommentId'+commentsGet+ :: Text -- ^ 'cgBlogId'+ -> Text -- ^ 'cgPostId'+ -> Text -- ^ 'cgCommentId'+ -> CommentsGet+commentsGet pCgBlogId_ pCgPostId_ pCgCommentId_ =+ CommentsGet+ { _cgBlogId = pCgBlogId_+ , _cgView = Nothing+ , _cgPostId = pCgPostId_+ , _cgCommentId = pCgCommentId_+ }++-- | ID of the blog to containing the comment.+cgBlogId :: Lens' CommentsGet Text+cgBlogId = lens _cgBlogId (\ s a -> s{_cgBlogId = a})++-- | Access level for the requested comment (default: READER). Note that some+-- comments will require elevated permissions, for example comments where+-- the parent posts which is in a draft state, or comments that are pending+-- moderation.+cgView :: Lens' CommentsGet (Maybe CommentsGetView)+cgView = lens _cgView (\ s a -> s{_cgView = a})++-- | ID of the post to fetch posts from.+cgPostId :: Lens' CommentsGet Text+cgPostId = lens _cgPostId (\ s a -> s{_cgPostId = a})++-- | The ID of the comment to get.+cgCommentId :: Lens' CommentsGet Text+cgCommentId+ = lens _cgCommentId (\ s a -> s{_cgCommentId = a})++instance GoogleRequest CommentsGet where+ type Rs CommentsGet = Comment+ requestClient CommentsGet{..}+ = go _cgBlogId _cgPostId _cgCommentId _cgView+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy CommentsGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/List.hs view
@@ -0,0 +1,185 @@+{-# 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.Blogger.Comments.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the comments for a post, possibly filtered.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.list@.+module Network.Google.Resource.Blogger.Comments.List+ (+ -- * REST Resource+ CommentsListResource++ -- * Creating a Request+ , commentsList+ , CommentsList++ -- * Request Lenses+ , clStatus+ , clEndDate+ , clBlogId+ , clStartDate+ , clFetchBodies+ , clView+ , clPostId+ , clPageToken+ , clMaxResults+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.list@ method which the+-- 'CommentsList' request conforms to.+type CommentsListResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ QueryParams "status" CommentsListStatus :>+ QueryParam "endDate" DateTime' :>+ QueryParam "startDate" DateTime' :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "view" CommentsListView :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] CommentList++-- | Retrieves the comments for a post, possibly filtered.+--+-- /See:/ 'commentsList' smart constructor.+data CommentsList = CommentsList+ { _clStatus :: !(Maybe [CommentsListStatus])+ , _clEndDate :: !(Maybe DateTime')+ , _clBlogId :: !Text+ , _clStartDate :: !(Maybe DateTime')+ , _clFetchBodies :: !(Maybe Bool)+ , _clView :: !(Maybe CommentsListView)+ , _clPostId :: !Text+ , _clPageToken :: !(Maybe Text)+ , _clMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clStatus'+--+-- * 'clEndDate'+--+-- * 'clBlogId'+--+-- * 'clStartDate'+--+-- * 'clFetchBodies'+--+-- * 'clView'+--+-- * 'clPostId'+--+-- * 'clPageToken'+--+-- * 'clMaxResults'+commentsList+ :: Text -- ^ 'clBlogId'+ -> Text -- ^ 'clPostId'+ -> CommentsList+commentsList pClBlogId_ pClPostId_ =+ CommentsList+ { _clStatus = Nothing+ , _clEndDate = Nothing+ , _clBlogId = pClBlogId_+ , _clStartDate = Nothing+ , _clFetchBodies = Nothing+ , _clView = Nothing+ , _clPostId = pClPostId_+ , _clPageToken = Nothing+ , _clMaxResults = Nothing+ }++clStatus :: Lens' CommentsList [CommentsListStatus]+clStatus+ = lens _clStatus (\ s a -> s{_clStatus = a}) .+ _Default+ . _Coerce++-- | Latest date of comment to fetch, a date-time with RFC 3339 formatting.+clEndDate :: Lens' CommentsList (Maybe UTCTime)+clEndDate+ = lens _clEndDate (\ s a -> s{_clEndDate = a}) .+ mapping _DateTime++-- | ID of the blog to fetch comments from.+clBlogId :: Lens' CommentsList Text+clBlogId = lens _clBlogId (\ s a -> s{_clBlogId = a})++-- | Earliest date of comment to fetch, a date-time with RFC 3339 formatting.+clStartDate :: Lens' CommentsList (Maybe UTCTime)+clStartDate+ = lens _clStartDate (\ s a -> s{_clStartDate = a}) .+ mapping _DateTime++-- | Whether the body content of the comments is included.+clFetchBodies :: Lens' CommentsList (Maybe Bool)+clFetchBodies+ = lens _clFetchBodies+ (\ s a -> s{_clFetchBodies = a})++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+clView :: Lens' CommentsList (Maybe CommentsListView)+clView = lens _clView (\ s a -> s{_clView = a})++-- | ID of the post to fetch posts from.+clPostId :: Lens' CommentsList Text+clPostId = lens _clPostId (\ s a -> s{_clPostId = a})++-- | Continuation token if request is paged.+clPageToken :: Lens' CommentsList (Maybe Text)+clPageToken+ = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | Maximum number of comments to include in the result.+clMaxResults :: Lens' CommentsList (Maybe Word32)+clMaxResults+ = lens _clMaxResults (\ s a -> s{_clMaxResults = a})+ . mapping _Coerce++instance GoogleRequest CommentsList where+ type Rs CommentsList = CommentList+ requestClient CommentsList{..}+ = go _clBlogId _clPostId (_clStatus ^. _Default)+ _clEndDate+ _clStartDate+ _clFetchBodies+ _clView+ _clPageToken+ _clMaxResults+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy CommentsListResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/ListByBlog.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.Blogger.Comments.ListByBlog+-- 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 the comments for a blog, across all posts, possibly filtered.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.listByBlog@.+module Network.Google.Resource.Blogger.Comments.ListByBlog+ (+ -- * REST Resource+ CommentsListByBlogResource++ -- * Creating a Request+ , commentsListByBlog+ , CommentsListByBlog++ -- * Request Lenses+ , clbbStatus+ , clbbEndDate+ , clbbBlogId+ , clbbStartDate+ , clbbFetchBodies+ , clbbPageToken+ , clbbMaxResults+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.listByBlog@ method which the+-- 'CommentsListByBlog' request conforms to.+type CommentsListByBlogResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "comments" :>+ QueryParams "status" CommentsListByBlogStatus :>+ QueryParam "endDate" DateTime' :>+ QueryParam "startDate" DateTime' :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] CommentList++-- | Retrieves the comments for a blog, across all posts, possibly filtered.+--+-- /See:/ 'commentsListByBlog' smart constructor.+data CommentsListByBlog = CommentsListByBlog+ { _clbbStatus :: !(Maybe [CommentsListByBlogStatus])+ , _clbbEndDate :: !(Maybe DateTime')+ , _clbbBlogId :: !Text+ , _clbbStartDate :: !(Maybe DateTime')+ , _clbbFetchBodies :: !(Maybe Bool)+ , _clbbPageToken :: !(Maybe Text)+ , _clbbMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsListByBlog' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clbbStatus'+--+-- * 'clbbEndDate'+--+-- * 'clbbBlogId'+--+-- * 'clbbStartDate'+--+-- * 'clbbFetchBodies'+--+-- * 'clbbPageToken'+--+-- * 'clbbMaxResults'+commentsListByBlog+ :: Text -- ^ 'clbbBlogId'+ -> CommentsListByBlog+commentsListByBlog pClbbBlogId_ =+ CommentsListByBlog+ { _clbbStatus = Nothing+ , _clbbEndDate = Nothing+ , _clbbBlogId = pClbbBlogId_+ , _clbbStartDate = Nothing+ , _clbbFetchBodies = Nothing+ , _clbbPageToken = Nothing+ , _clbbMaxResults = Nothing+ }++clbbStatus :: Lens' CommentsListByBlog [CommentsListByBlogStatus]+clbbStatus+ = lens _clbbStatus (\ s a -> s{_clbbStatus = a}) .+ _Default+ . _Coerce++-- | Latest date of comment to fetch, a date-time with RFC 3339 formatting.+clbbEndDate :: Lens' CommentsListByBlog (Maybe UTCTime)+clbbEndDate+ = lens _clbbEndDate (\ s a -> s{_clbbEndDate = a}) .+ mapping _DateTime++-- | ID of the blog to fetch comments from.+clbbBlogId :: Lens' CommentsListByBlog Text+clbbBlogId+ = lens _clbbBlogId (\ s a -> s{_clbbBlogId = a})++-- | Earliest date of comment to fetch, a date-time with RFC 3339 formatting.+clbbStartDate :: Lens' CommentsListByBlog (Maybe UTCTime)+clbbStartDate+ = lens _clbbStartDate+ (\ s a -> s{_clbbStartDate = a})+ . mapping _DateTime++-- | Whether the body content of the comments is included.+clbbFetchBodies :: Lens' CommentsListByBlog (Maybe Bool)+clbbFetchBodies+ = lens _clbbFetchBodies+ (\ s a -> s{_clbbFetchBodies = a})++-- | Continuation token if request is paged.+clbbPageToken :: Lens' CommentsListByBlog (Maybe Text)+clbbPageToken+ = lens _clbbPageToken+ (\ s a -> s{_clbbPageToken = a})++-- | Maximum number of comments to include in the result.+clbbMaxResults :: Lens' CommentsListByBlog (Maybe Word32)+clbbMaxResults+ = lens _clbbMaxResults+ (\ s a -> s{_clbbMaxResults = a})+ . mapping _Coerce++instance GoogleRequest CommentsListByBlog where+ type Rs CommentsListByBlog = CommentList+ requestClient CommentsListByBlog{..}+ = go _clbbBlogId (_clbbStatus ^. _Default)+ _clbbEndDate+ _clbbStartDate+ _clbbFetchBodies+ _clbbPageToken+ _clbbMaxResults+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy CommentsListByBlogResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/MarkAsSpam.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.Blogger.Comments.MarkAsSpam+-- 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)+--+-- Marks a comment as spam.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.markAsSpam@.+module Network.Google.Resource.Blogger.Comments.MarkAsSpam+ (+ -- * REST Resource+ CommentsMarkAsSpamResource++ -- * Creating a Request+ , commentsMarkAsSpam+ , CommentsMarkAsSpam++ -- * Request Lenses+ , cmasBlogId+ , cmasPostId+ , cmasCommentId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.markAsSpam@ method which the+-- 'CommentsMarkAsSpam' request conforms to.+type CommentsMarkAsSpamResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "spam" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Comment++-- | Marks a comment as spam.+--+-- /See:/ 'commentsMarkAsSpam' smart constructor.+data CommentsMarkAsSpam = CommentsMarkAsSpam+ { _cmasBlogId :: !Text+ , _cmasPostId :: !Text+ , _cmasCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsMarkAsSpam' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmasBlogId'+--+-- * 'cmasPostId'+--+-- * 'cmasCommentId'+commentsMarkAsSpam+ :: Text -- ^ 'cmasBlogId'+ -> Text -- ^ 'cmasPostId'+ -> Text -- ^ 'cmasCommentId'+ -> CommentsMarkAsSpam+commentsMarkAsSpam pCmasBlogId_ pCmasPostId_ pCmasCommentId_ =+ CommentsMarkAsSpam+ { _cmasBlogId = pCmasBlogId_+ , _cmasPostId = pCmasPostId_+ , _cmasCommentId = pCmasCommentId_+ }++-- | The ID of the Blog.+cmasBlogId :: Lens' CommentsMarkAsSpam Text+cmasBlogId+ = lens _cmasBlogId (\ s a -> s{_cmasBlogId = a})++-- | The ID of the Post.+cmasPostId :: Lens' CommentsMarkAsSpam Text+cmasPostId+ = lens _cmasPostId (\ s a -> s{_cmasPostId = a})++-- | The ID of the comment to mark as spam.+cmasCommentId :: Lens' CommentsMarkAsSpam Text+cmasCommentId+ = lens _cmasCommentId+ (\ s a -> s{_cmasCommentId = a})++instance GoogleRequest CommentsMarkAsSpam where+ type Rs CommentsMarkAsSpam = Comment+ requestClient CommentsMarkAsSpam{..}+ = go _cmasBlogId _cmasPostId _cmasCommentId+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy CommentsMarkAsSpamResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Comments/RemoveContent.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Comments.RemoveContent+-- 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 the content of a comment.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.comments.removeContent@.+module Network.Google.Resource.Blogger.Comments.RemoveContent+ (+ -- * REST Resource+ CommentsRemoveContentResource++ -- * Creating a Request+ , commentsRemoveContent+ , CommentsRemoveContent++ -- * Request Lenses+ , crcBlogId+ , crcPostId+ , crcCommentId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.comments.removeContent@ method which the+-- 'CommentsRemoveContent' request conforms to.+type CommentsRemoveContentResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "comments" :>+ Capture "commentId" Text :>+ "removecontent" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Comment++-- | Removes the content of a comment.+--+-- /See:/ 'commentsRemoveContent' smart constructor.+data CommentsRemoveContent = CommentsRemoveContent+ { _crcBlogId :: !Text+ , _crcPostId :: !Text+ , _crcCommentId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommentsRemoveContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crcBlogId'+--+-- * 'crcPostId'+--+-- * 'crcCommentId'+commentsRemoveContent+ :: Text -- ^ 'crcBlogId'+ -> Text -- ^ 'crcPostId'+ -> Text -- ^ 'crcCommentId'+ -> CommentsRemoveContent+commentsRemoveContent pCrcBlogId_ pCrcPostId_ pCrcCommentId_ =+ CommentsRemoveContent+ { _crcBlogId = pCrcBlogId_+ , _crcPostId = pCrcPostId_+ , _crcCommentId = pCrcCommentId_+ }++-- | The ID of the Blog.+crcBlogId :: Lens' CommentsRemoveContent Text+crcBlogId+ = lens _crcBlogId (\ s a -> s{_crcBlogId = a})++-- | The ID of the Post.+crcPostId :: Lens' CommentsRemoveContent Text+crcPostId+ = lens _crcPostId (\ s a -> s{_crcPostId = a})++-- | The ID of the comment to delete content from.+crcCommentId :: Lens' CommentsRemoveContent Text+crcCommentId+ = lens _crcCommentId (\ s a -> s{_crcCommentId = a})++instance GoogleRequest CommentsRemoveContent where+ type Rs CommentsRemoveContent = Comment+ requestClient CommentsRemoveContent{..}+ = go _crcBlogId _crcPostId _crcCommentId+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy CommentsRemoveContentResource)+ mempty
+ gen/Network/Google/Resource/Blogger/PageViews/Get.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.PageViews.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)+--+-- Retrieve pageview stats for a Blog.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pageViews.get@.+module Network.Google.Resource.Blogger.PageViews.Get+ (+ -- * REST Resource+ PageViewsGetResource++ -- * Creating a Request+ , pageViewsGet+ , PageViewsGet++ -- * Request Lenses+ , pvgBlogId+ , pvgRange+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pageViews.get@ method which the+-- 'PageViewsGet' request conforms to.+type PageViewsGetResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pageviews" :>+ QueryParams "range" PageViewsGetRange :>+ QueryParam "alt" AltJSON :> Get '[JSON] Pageviews++-- | Retrieve pageview stats for a Blog.+--+-- /See:/ 'pageViewsGet' smart constructor.+data PageViewsGet = PageViewsGet+ { _pvgBlogId :: !Text+ , _pvgRange :: !(Maybe [PageViewsGetRange])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PageViewsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvgBlogId'+--+-- * 'pvgRange'+pageViewsGet+ :: Text -- ^ 'pvgBlogId'+ -> PageViewsGet+pageViewsGet pPvgBlogId_ =+ PageViewsGet+ { _pvgBlogId = pPvgBlogId_+ , _pvgRange = Nothing+ }++-- | The ID of the blog to get.+pvgBlogId :: Lens' PageViewsGet Text+pvgBlogId+ = lens _pvgBlogId (\ s a -> s{_pvgBlogId = a})++pvgRange :: Lens' PageViewsGet [PageViewsGetRange]+pvgRange+ = lens _pvgRange (\ s a -> s{_pvgRange = a}) .+ _Default+ . _Coerce++instance GoogleRequest PageViewsGet where+ type Rs PageViewsGet = Pageviews+ requestClient PageViewsGet{..}+ = go _pvgBlogId (_pvgRange ^. _Default)+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PageViewsGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Delete.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Pages.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)+--+-- Delete a page by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.delete@.+module Network.Google.Resource.Blogger.Pages.Delete+ (+ -- * REST Resource+ PagesDeleteResource++ -- * Creating a Request+ , pagesDelete+ , PagesDelete++ -- * Request Lenses+ , pddBlogId+ , pddPageId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.delete@ method which the+-- 'PagesDelete' request conforms to.+type PagesDeleteResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a page by ID.+--+-- /See:/ 'pagesDelete' smart constructor.+data PagesDelete = PagesDelete+ { _pddBlogId :: !Text+ , _pddPageId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pddBlogId'+--+-- * 'pddPageId'+pagesDelete+ :: Text -- ^ 'pddBlogId'+ -> Text -- ^ 'pddPageId'+ -> PagesDelete+pagesDelete pPddBlogId_ pPddPageId_ =+ PagesDelete+ { _pddBlogId = pPddBlogId_+ , _pddPageId = pPddPageId_+ }++-- | The ID of the Blog.+pddBlogId :: Lens' PagesDelete Text+pddBlogId+ = lens _pddBlogId (\ s a -> s{_pddBlogId = a})++-- | The ID of the Page.+pddPageId :: Lens' PagesDelete Text+pddPageId+ = lens _pddPageId (\ s a -> s{_pddPageId = a})++instance GoogleRequest PagesDelete where+ type Rs PagesDelete = ()+ requestClient PagesDelete{..}+ = go _pddBlogId _pddPageId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Get.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.Blogger.Pages.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 one blog page by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.get@.+module Network.Google.Resource.Blogger.Pages.Get+ (+ -- * REST Resource+ PagesGetResource++ -- * Creating a Request+ , pagesGet+ , PagesGet++ -- * Request Lenses+ , pgBlogId+ , pgPageId+ , pgView+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.get@ method which the+-- 'PagesGet' request conforms to.+type PagesGetResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ QueryParam "view" PagesGetView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Page++-- | Gets one blog page by ID.+--+-- /See:/ 'pagesGet' smart constructor.+data PagesGet = PagesGet+ { _pgBlogId :: !Text+ , _pgPageId :: !Text+ , _pgView :: !(Maybe PagesGetView)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgBlogId'+--+-- * 'pgPageId'+--+-- * 'pgView'+pagesGet+ :: Text -- ^ 'pgBlogId'+ -> Text -- ^ 'pgPageId'+ -> PagesGet+pagesGet pPgBlogId_ pPgPageId_ =+ PagesGet+ { _pgBlogId = pPgBlogId_+ , _pgPageId = pPgPageId_+ , _pgView = Nothing+ }++-- | ID of the blog containing the page.+pgBlogId :: Lens' PagesGet Text+pgBlogId = lens _pgBlogId (\ s a -> s{_pgBlogId = a})++-- | The ID of the page to get.+pgPageId :: Lens' PagesGet Text+pgPageId = lens _pgPageId (\ s a -> s{_pgPageId = a})++pgView :: Lens' PagesGet (Maybe PagesGetView)+pgView = lens _pgView (\ s a -> s{_pgView = a})++instance GoogleRequest PagesGet where+ type Rs PagesGet = Page+ requestClient PagesGet{..}+ = go _pgBlogId _pgPageId _pgView (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Insert.hs view
@@ -0,0 +1,106 @@+{-# 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.Blogger.Pages.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)+--+-- Add a page.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.insert@.+module Network.Google.Resource.Blogger.Pages.Insert+ (+ -- * REST Resource+ PagesInsertResource++ -- * Creating a Request+ , pagesInsert+ , PagesInsert++ -- * Request Lenses+ , piIsDraft+ , piBlogId+ , piPayload+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.insert@ method which the+-- 'PagesInsert' request conforms to.+type PagesInsertResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ QueryParam "isDraft" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Page :> Post '[JSON] Page++-- | Add a page.+--+-- /See:/ 'pagesInsert' smart constructor.+data PagesInsert = PagesInsert+ { _piIsDraft :: !(Maybe Bool)+ , _piBlogId :: !Text+ , _piPayload :: !Page+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piIsDraft'+--+-- * 'piBlogId'+--+-- * 'piPayload'+pagesInsert+ :: Text -- ^ 'piBlogId'+ -> Page -- ^ 'piPayload'+ -> PagesInsert+pagesInsert pPiBlogId_ pPiPayload_ =+ PagesInsert+ { _piIsDraft = Nothing+ , _piBlogId = pPiBlogId_+ , _piPayload = pPiPayload_+ }++-- | Whether to create the page as a draft (default: false).+piIsDraft :: Lens' PagesInsert (Maybe Bool)+piIsDraft+ = lens _piIsDraft (\ s a -> s{_piIsDraft = a})++-- | ID of the blog to add the page to.+piBlogId :: Lens' PagesInsert Text+piBlogId = lens _piBlogId (\ s a -> s{_piBlogId = a})++-- | Multipart request metadata.+piPayload :: Lens' PagesInsert Page+piPayload+ = lens _piPayload (\ s a -> s{_piPayload = a})++instance GoogleRequest PagesInsert where+ type Rs PagesInsert = Page+ requestClient PagesInsert{..}+ = go _piBlogId _piIsDraft (Just AltJSON) _piPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesInsertResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/List.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Pages.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 the pages for a blog, optionally including non-LIVE statuses.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.list@.+module Network.Google.Resource.Blogger.Pages.List+ (+ -- * REST Resource+ PagesListResource++ -- * Creating a Request+ , pagesList+ , PagesList++ -- * Request Lenses+ , plStatus+ , plBlogId+ , plFetchBodies+ , plView+ , plPageToken+ , plMaxResults+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.list@ method which the+-- 'PagesList' request conforms to.+type PagesListResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ QueryParams "status" PagesListStatus :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "view" PagesListView :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] PageList++-- | Retrieves the pages for a blog, optionally including non-LIVE statuses.+--+-- /See:/ 'pagesList' smart constructor.+data PagesList = PagesList+ { _plStatus :: !(Maybe [PagesListStatus])+ , _plBlogId :: !Text+ , _plFetchBodies :: !(Maybe Bool)+ , _plView :: !(Maybe PagesListView)+ , _plPageToken :: !(Maybe Text)+ , _plMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plStatus'+--+-- * 'plBlogId'+--+-- * 'plFetchBodies'+--+-- * 'plView'+--+-- * 'plPageToken'+--+-- * 'plMaxResults'+pagesList+ :: Text -- ^ 'plBlogId'+ -> PagesList+pagesList pPlBlogId_ =+ PagesList+ { _plStatus = Nothing+ , _plBlogId = pPlBlogId_+ , _plFetchBodies = Nothing+ , _plView = Nothing+ , _plPageToken = Nothing+ , _plMaxResults = Nothing+ }++plStatus :: Lens' PagesList [PagesListStatus]+plStatus+ = lens _plStatus (\ s a -> s{_plStatus = a}) .+ _Default+ . _Coerce++-- | ID of the blog to fetch Pages from.+plBlogId :: Lens' PagesList Text+plBlogId = lens _plBlogId (\ s a -> s{_plBlogId = a})++-- | Whether to retrieve the Page bodies.+plFetchBodies :: Lens' PagesList (Maybe Bool)+plFetchBodies+ = lens _plFetchBodies+ (\ s a -> s{_plFetchBodies = a})++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+plView :: Lens' PagesList (Maybe PagesListView)+plView = lens _plView (\ s a -> s{_plView = a})++-- | Continuation token if the request is paged.+plPageToken :: Lens' PagesList (Maybe Text)+plPageToken+ = lens _plPageToken (\ s a -> s{_plPageToken = a})++-- | Maximum number of Pages to fetch.+plMaxResults :: Lens' PagesList (Maybe Word32)+plMaxResults+ = lens _plMaxResults (\ s a -> s{_plMaxResults = a})+ . mapping _Coerce++instance GoogleRequest PagesList where+ type Rs PagesList = PageList+ requestClient PagesList{..}+ = go _plBlogId (_plStatus ^. _Default) _plFetchBodies+ _plView+ _plPageToken+ _plMaxResults+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesListResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Patch.hs view
@@ -0,0 +1,131 @@+{-# 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.Blogger.Pages.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a page. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.patch@.+module Network.Google.Resource.Blogger.Pages.Patch+ (+ -- * REST Resource+ PagesPatchResource++ -- * Creating a Request+ , pagesPatch+ , PagesPatch++ -- * Request Lenses+ , ppBlogId+ , ppPageId+ , ppPayload+ , ppRevert+ , ppPublish+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.patch@ method which the+-- 'PagesPatch' request conforms to.+type PagesPatchResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ QueryParam "revert" Bool :>+ QueryParam "publish" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Page :> Patch '[JSON] Page++-- | Update a page. This method supports patch semantics.+--+-- /See:/ 'pagesPatch' smart constructor.+data PagesPatch = PagesPatch+ { _ppBlogId :: !Text+ , _ppPageId :: !Text+ , _ppPayload :: !Page+ , _ppRevert :: !(Maybe Bool)+ , _ppPublish :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppBlogId'+--+-- * 'ppPageId'+--+-- * 'ppPayload'+--+-- * 'ppRevert'+--+-- * 'ppPublish'+pagesPatch+ :: Text -- ^ 'ppBlogId'+ -> Text -- ^ 'ppPageId'+ -> Page -- ^ 'ppPayload'+ -> PagesPatch+pagesPatch pPpBlogId_ pPpPageId_ pPpPayload_ =+ PagesPatch+ { _ppBlogId = pPpBlogId_+ , _ppPageId = pPpPageId_+ , _ppPayload = pPpPayload_+ , _ppRevert = Nothing+ , _ppPublish = Nothing+ }++-- | The ID of the Blog.+ppBlogId :: Lens' PagesPatch Text+ppBlogId = lens _ppBlogId (\ s a -> s{_ppBlogId = a})++-- | The ID of the Page.+ppPageId :: Lens' PagesPatch Text+ppPageId = lens _ppPageId (\ s a -> s{_ppPageId = a})++-- | Multipart request metadata.+ppPayload :: Lens' PagesPatch Page+ppPayload+ = lens _ppPayload (\ s a -> s{_ppPayload = a})++-- | Whether a revert action should be performed when the page is updated+-- (default: false).+ppRevert :: Lens' PagesPatch (Maybe Bool)+ppRevert = lens _ppRevert (\ s a -> s{_ppRevert = a})++-- | Whether a publish action should be performed when the page is updated+-- (default: false).+ppPublish :: Lens' PagesPatch (Maybe Bool)+ppPublish+ = lens _ppPublish (\ s a -> s{_ppPublish = a})++instance GoogleRequest PagesPatch where+ type Rs PagesPatch = Page+ requestClient PagesPatch{..}+ = go _ppBlogId _ppPageId _ppRevert _ppPublish+ (Just AltJSON)+ _ppPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesPatchResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Publish.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Pages.Publish+-- 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)+--+-- Publishes a draft page.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.publish@.+module Network.Google.Resource.Blogger.Pages.Publish+ (+ -- * REST Resource+ PagesPublishResource++ -- * Creating a Request+ , pagesPublish+ , PagesPublish++ -- * Request Lenses+ , pagaBlogId+ , pagaPageId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.publish@ method which the+-- 'PagesPublish' request conforms to.+type PagesPublishResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ "publish" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Page++-- | Publishes a draft page.+--+-- /See:/ 'pagesPublish' smart constructor.+data PagesPublish = PagesPublish+ { _pagaBlogId :: !Text+ , _pagaPageId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pagaBlogId'+--+-- * 'pagaPageId'+pagesPublish+ :: Text -- ^ 'pagaBlogId'+ -> Text -- ^ 'pagaPageId'+ -> PagesPublish+pagesPublish pPagaBlogId_ pPagaPageId_ =+ PagesPublish+ { _pagaBlogId = pPagaBlogId_+ , _pagaPageId = pPagaPageId_+ }++-- | The ID of the blog.+pagaBlogId :: Lens' PagesPublish Text+pagaBlogId+ = lens _pagaBlogId (\ s a -> s{_pagaBlogId = a})++-- | The ID of the page.+pagaPageId :: Lens' PagesPublish Text+pagaPageId+ = lens _pagaPageId (\ s a -> s{_pagaPageId = a})++instance GoogleRequest PagesPublish where+ type Rs PagesPublish = Page+ requestClient PagesPublish{..}+ = go _pagaBlogId _pagaPageId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesPublishResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Revert.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Pages.Revert+-- 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)+--+-- Revert a published or scheduled page to draft state.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.revert@.+module Network.Google.Resource.Blogger.Pages.Revert+ (+ -- * REST Resource+ PagesRevertResource++ -- * Creating a Request+ , pagesRevert+ , PagesRevert++ -- * Request Lenses+ , pagBlogId+ , pagPageId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.revert@ method which the+-- 'PagesRevert' request conforms to.+type PagesRevertResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ "revert" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Page++-- | Revert a published or scheduled page to draft state.+--+-- /See:/ 'pagesRevert' smart constructor.+data PagesRevert = PagesRevert+ { _pagBlogId :: !Text+ , _pagPageId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesRevert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pagBlogId'+--+-- * 'pagPageId'+pagesRevert+ :: Text -- ^ 'pagBlogId'+ -> Text -- ^ 'pagPageId'+ -> PagesRevert+pagesRevert pPagBlogId_ pPagPageId_ =+ PagesRevert+ { _pagBlogId = pPagBlogId_+ , _pagPageId = pPagPageId_+ }++-- | The ID of the blog.+pagBlogId :: Lens' PagesRevert Text+pagBlogId+ = lens _pagBlogId (\ s a -> s{_pagBlogId = a})++-- | The ID of the page.+pagPageId :: Lens' PagesRevert Text+pagPageId+ = lens _pagPageId (\ s a -> s{_pagPageId = a})++instance GoogleRequest PagesRevert where+ type Rs PagesRevert = Page+ requestClient PagesRevert{..}+ = go _pagBlogId _pagPageId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesRevertResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Pages/Update.hs view
@@ -0,0 +1,134 @@+{-# 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.Blogger.Pages.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)+--+-- Update a page.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.pages.update@.+module Network.Google.Resource.Blogger.Pages.Update+ (+ -- * REST Resource+ PagesUpdateResource++ -- * Creating a Request+ , pagesUpdate+ , PagesUpdate++ -- * Request Lenses+ , puuBlogId+ , puuPageId+ , puuPayload+ , puuRevert+ , puuPublish+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.pages.update@ method which the+-- 'PagesUpdate' request conforms to.+type PagesUpdateResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "pages" :>+ Capture "pageId" Text :>+ QueryParam "revert" Bool :>+ QueryParam "publish" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Page :> Put '[JSON] Page++-- | Update a page.+--+-- /See:/ 'pagesUpdate' smart constructor.+data PagesUpdate = PagesUpdate+ { _puuBlogId :: !Text+ , _puuPageId :: !Text+ , _puuPayload :: !Page+ , _puuRevert :: !(Maybe Bool)+ , _puuPublish :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PagesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puuBlogId'+--+-- * 'puuPageId'+--+-- * 'puuPayload'+--+-- * 'puuRevert'+--+-- * 'puuPublish'+pagesUpdate+ :: Text -- ^ 'puuBlogId'+ -> Text -- ^ 'puuPageId'+ -> Page -- ^ 'puuPayload'+ -> PagesUpdate+pagesUpdate pPuuBlogId_ pPuuPageId_ pPuuPayload_ =+ PagesUpdate+ { _puuBlogId = pPuuBlogId_+ , _puuPageId = pPuuPageId_+ , _puuPayload = pPuuPayload_+ , _puuRevert = Nothing+ , _puuPublish = Nothing+ }++-- | The ID of the Blog.+puuBlogId :: Lens' PagesUpdate Text+puuBlogId+ = lens _puuBlogId (\ s a -> s{_puuBlogId = a})++-- | The ID of the Page.+puuPageId :: Lens' PagesUpdate Text+puuPageId+ = lens _puuPageId (\ s a -> s{_puuPageId = a})++-- | Multipart request metadata.+puuPayload :: Lens' PagesUpdate Page+puuPayload+ = lens _puuPayload (\ s a -> s{_puuPayload = a})++-- | Whether a revert action should be performed when the page is updated+-- (default: false).+puuRevert :: Lens' PagesUpdate (Maybe Bool)+puuRevert+ = lens _puuRevert (\ s a -> s{_puuRevert = a})++-- | Whether a publish action should be performed when the page is updated+-- (default: false).+puuPublish :: Lens' PagesUpdate (Maybe Bool)+puuPublish+ = lens _puuPublish (\ s a -> s{_puuPublish = a})++instance GoogleRequest PagesUpdate where+ type Rs PagesUpdate = Page+ requestClient PagesUpdate{..}+ = go _puuBlogId _puuPageId _puuRevert _puuPublish+ (Just AltJSON)+ _puuPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PagesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Blogger/PostUserInfos/Get.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.Blogger.PostUserInfos.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 one post and user info pair, by post ID and user ID. The post user+-- info contains per-user information about the post, such as access+-- rights, specific to the user.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.postUserInfos.get@.+module Network.Google.Resource.Blogger.PostUserInfos.Get+ (+ -- * REST Resource+ PostUserInfosGetResource++ -- * Creating a Request+ , postUserInfosGet+ , PostUserInfosGet++ -- * Request Lenses+ , puigBlogId+ , puigMaxComments+ , puigUserId+ , puigPostId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.postUserInfos.get@ method which the+-- 'PostUserInfosGet' request conforms to.+type PostUserInfosGetResource =+ "blogger" :>+ "v3" :>+ "users" :>+ Capture "userId" Text :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ QueryParam "maxComments" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] PostUserInfo++-- | Gets one post and user info pair, by post ID and user ID. The post user+-- info contains per-user information about the post, such as access+-- rights, specific to the user.+--+-- /See:/ 'postUserInfosGet' smart constructor.+data PostUserInfosGet = PostUserInfosGet+ { _puigBlogId :: !Text+ , _puigMaxComments :: !(Maybe (Textual Word32))+ , _puigUserId :: !Text+ , _puigPostId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostUserInfosGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puigBlogId'+--+-- * 'puigMaxComments'+--+-- * 'puigUserId'+--+-- * 'puigPostId'+postUserInfosGet+ :: Text -- ^ 'puigBlogId'+ -> Text -- ^ 'puigUserId'+ -> Text -- ^ 'puigPostId'+ -> PostUserInfosGet+postUserInfosGet pPuigBlogId_ pPuigUserId_ pPuigPostId_ =+ PostUserInfosGet+ { _puigBlogId = pPuigBlogId_+ , _puigMaxComments = Nothing+ , _puigUserId = pPuigUserId_+ , _puigPostId = pPuigPostId_+ }++-- | The ID of the blog.+puigBlogId :: Lens' PostUserInfosGet Text+puigBlogId+ = lens _puigBlogId (\ s a -> s{_puigBlogId = a})++-- | Maximum number of comments to pull back on a post.+puigMaxComments :: Lens' PostUserInfosGet (Maybe Word32)+puigMaxComments+ = lens _puigMaxComments+ (\ s a -> s{_puigMaxComments = a})+ . mapping _Coerce++-- | ID of the user for the per-user information to be fetched. Either the+-- word \'self\' (sans quote marks) or the user\'s profile identifier.+puigUserId :: Lens' PostUserInfosGet Text+puigUserId+ = lens _puigUserId (\ s a -> s{_puigUserId = a})++-- | The ID of the post to get.+puigPostId :: Lens' PostUserInfosGet Text+puigPostId+ = lens _puigPostId (\ s a -> s{_puigPostId = a})++instance GoogleRequest PostUserInfosGet where+ type Rs PostUserInfosGet = PostUserInfo+ requestClient PostUserInfosGet{..}+ = go _puigUserId _puigBlogId _puigPostId+ _puigMaxComments+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy PostUserInfosGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/PostUserInfos/List.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.PostUserInfos.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 post and post user info pairs, possibly filtered.+-- The post user info contains per-user information about the post, such as+-- access rights, specific to the user.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.postUserInfos.list@.+module Network.Google.Resource.Blogger.PostUserInfos.List+ (+ -- * REST Resource+ PostUserInfosListResource++ -- * Creating a Request+ , postUserInfosList'+ , PostUserInfosList'++ -- * Request Lenses+ , puilStatus+ , puilOrderBy+ , puilEndDate+ , puilBlogId+ , puilUserId+ , puilStartDate+ , puilFetchBodies+ , puilView+ , puilLabels+ , puilPageToken+ , puilMaxResults+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.postUserInfos.list@ method which the+-- 'PostUserInfosList'' request conforms to.+type PostUserInfosListResource =+ "blogger" :>+ "v3" :>+ "users" :>+ Capture "userId" Text :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ QueryParams "status" PostUserInfosListStatus :>+ QueryParam "orderBy" PostUserInfosListOrderBy :>+ QueryParam "endDate" DateTime' :>+ QueryParam "startDate" DateTime' :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "view" PostUserInfosListView :>+ QueryParam "labels" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] PostUserInfosList++-- | Retrieves a list of post and post user info pairs, possibly filtered.+-- The post user info contains per-user information about the post, such as+-- access rights, specific to the user.+--+-- /See:/ 'postUserInfosList'' smart constructor.+data PostUserInfosList' = PostUserInfosList'+ { _puilStatus :: !(Maybe [PostUserInfosListStatus])+ , _puilOrderBy :: !PostUserInfosListOrderBy+ , _puilEndDate :: !(Maybe DateTime')+ , _puilBlogId :: !Text+ , _puilUserId :: !Text+ , _puilStartDate :: !(Maybe DateTime')+ , _puilFetchBodies :: !Bool+ , _puilView :: !(Maybe PostUserInfosListView)+ , _puilLabels :: !(Maybe Text)+ , _puilPageToken :: !(Maybe Text)+ , _puilMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostUserInfosList'' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puilStatus'+--+-- * 'puilOrderBy'+--+-- * 'puilEndDate'+--+-- * 'puilBlogId'+--+-- * 'puilUserId'+--+-- * 'puilStartDate'+--+-- * 'puilFetchBodies'+--+-- * 'puilView'+--+-- * 'puilLabels'+--+-- * 'puilPageToken'+--+-- * 'puilMaxResults'+postUserInfosList'+ :: Text -- ^ 'puilBlogId'+ -> Text -- ^ 'puilUserId'+ -> PostUserInfosList'+postUserInfosList' pPuilBlogId_ pPuilUserId_ =+ PostUserInfosList'+ { _puilStatus = Nothing+ , _puilOrderBy = PUILOBPublished+ , _puilEndDate = Nothing+ , _puilBlogId = pPuilBlogId_+ , _puilUserId = pPuilUserId_+ , _puilStartDate = Nothing+ , _puilFetchBodies = False+ , _puilView = Nothing+ , _puilLabels = Nothing+ , _puilPageToken = Nothing+ , _puilMaxResults = Nothing+ }++puilStatus :: Lens' PostUserInfosList' [PostUserInfosListStatus]+puilStatus+ = lens _puilStatus (\ s a -> s{_puilStatus = a}) .+ _Default+ . _Coerce++-- | Sort order applied to search results. Default is published.+puilOrderBy :: Lens' PostUserInfosList' PostUserInfosListOrderBy+puilOrderBy+ = lens _puilOrderBy (\ s a -> s{_puilOrderBy = a})++-- | Latest post date to fetch, a date-time with RFC 3339 formatting.+puilEndDate :: Lens' PostUserInfosList' (Maybe UTCTime)+puilEndDate+ = lens _puilEndDate (\ s a -> s{_puilEndDate = a}) .+ mapping _DateTime++-- | ID of the blog to fetch posts from.+puilBlogId :: Lens' PostUserInfosList' Text+puilBlogId+ = lens _puilBlogId (\ s a -> s{_puilBlogId = a})++-- | ID of the user for the per-user information to be fetched. Either the+-- word \'self\' (sans quote marks) or the user\'s profile identifier.+puilUserId :: Lens' PostUserInfosList' Text+puilUserId+ = lens _puilUserId (\ s a -> s{_puilUserId = a})++-- | Earliest post date to fetch, a date-time with RFC 3339 formatting.+puilStartDate :: Lens' PostUserInfosList' (Maybe UTCTime)+puilStartDate+ = lens _puilStartDate+ (\ s a -> s{_puilStartDate = a})+ . mapping _DateTime++-- | Whether the body content of posts is included. Default is false.+puilFetchBodies :: Lens' PostUserInfosList' Bool+puilFetchBodies+ = lens _puilFetchBodies+ (\ s a -> s{_puilFetchBodies = a})++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+puilView :: Lens' PostUserInfosList' (Maybe PostUserInfosListView)+puilView = lens _puilView (\ s a -> s{_puilView = a})++-- | Comma-separated list of labels to search for.+puilLabels :: Lens' PostUserInfosList' (Maybe Text)+puilLabels+ = lens _puilLabels (\ s a -> s{_puilLabels = a})++-- | Continuation token if the request is paged.+puilPageToken :: Lens' PostUserInfosList' (Maybe Text)+puilPageToken+ = lens _puilPageToken+ (\ s a -> s{_puilPageToken = a})++-- | Maximum number of posts to fetch.+puilMaxResults :: Lens' PostUserInfosList' (Maybe Word32)+puilMaxResults+ = lens _puilMaxResults+ (\ s a -> s{_puilMaxResults = a})+ . mapping _Coerce++instance GoogleRequest PostUserInfosList' where+ type Rs PostUserInfosList' = PostUserInfosList+ requestClient PostUserInfosList'{..}+ = go _puilUserId _puilBlogId+ (_puilStatus ^. _Default)+ (Just _puilOrderBy)+ _puilEndDate+ _puilStartDate+ (Just _puilFetchBodies)+ _puilView+ _puilLabels+ _puilPageToken+ _puilMaxResults+ (Just AltJSON)+ bloggerService+ where go+ = buildClient+ (Proxy :: Proxy PostUserInfosListResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Delete.hs view
@@ -0,0 +1,94 @@+{-# 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.Blogger.Posts.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)+--+-- Delete a post by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.delete@.+module Network.Google.Resource.Blogger.Posts.Delete+ (+ -- * REST Resource+ PostsDeleteResource++ -- * Creating a Request+ , postsDelete+ , PostsDelete++ -- * Request Lenses+ , pdBlogId+ , pdPostId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.delete@ method which the+-- 'PostsDelete' request conforms to.+type PostsDeleteResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Delete a post by ID.+--+-- /See:/ 'postsDelete' smart constructor.+data PostsDelete = PostsDelete+ { _pdBlogId :: !Text+ , _pdPostId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdBlogId'+--+-- * 'pdPostId'+postsDelete+ :: Text -- ^ 'pdBlogId'+ -> Text -- ^ 'pdPostId'+ -> PostsDelete+postsDelete pPdBlogId_ pPdPostId_ =+ PostsDelete+ { _pdBlogId = pPdBlogId_+ , _pdPostId = pPdPostId_+ }++-- | The ID of the Blog.+pdBlogId :: Lens' PostsDelete Text+pdBlogId = lens _pdBlogId (\ s a -> s{_pdBlogId = a})++-- | The ID of the Post.+pdPostId :: Lens' PostsDelete Text+pdPostId = lens _pdPostId (\ s a -> s{_pdPostId = a})++instance GoogleRequest PostsDelete where+ type Rs PostsDelete = ()+ requestClient PostsDelete{..}+ = go _pdBlogId _pdPostId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Get.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.Blogger.Posts.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)+--+-- Get a post by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.get@.+module Network.Google.Resource.Blogger.Posts.Get+ (+ -- * REST Resource+ PostsGetResource++ -- * Creating a Request+ , postsGet+ , PostsGet++ -- * Request Lenses+ , pggFetchBody+ , pggFetchImages+ , pggBlogId+ , pggMaxComments+ , pggView+ , pggPostId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.get@ method which the+-- 'PostsGet' request conforms to.+type PostsGetResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ QueryParam "fetchBody" Bool :>+ QueryParam "fetchImages" Bool :>+ QueryParam "maxComments" (Textual Word32) :>+ QueryParam "view" PostsGetView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Post'++-- | Get a post by ID.+--+-- /See:/ 'postsGet' smart constructor.+data PostsGet = PostsGet+ { _pggFetchBody :: !Bool+ , _pggFetchImages :: !(Maybe Bool)+ , _pggBlogId :: !Text+ , _pggMaxComments :: !(Maybe (Textual Word32))+ , _pggView :: !(Maybe PostsGetView)+ , _pggPostId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pggFetchBody'+--+-- * 'pggFetchImages'+--+-- * 'pggBlogId'+--+-- * 'pggMaxComments'+--+-- * 'pggView'+--+-- * 'pggPostId'+postsGet+ :: Text -- ^ 'pggBlogId'+ -> Text -- ^ 'pggPostId'+ -> PostsGet+postsGet pPggBlogId_ pPggPostId_ =+ PostsGet+ { _pggFetchBody = True+ , _pggFetchImages = Nothing+ , _pggBlogId = pPggBlogId_+ , _pggMaxComments = Nothing+ , _pggView = Nothing+ , _pggPostId = pPggPostId_+ }++-- | Whether the body content of the post is included (default: true). This+-- should be set to false when the post bodies are not required, to help+-- minimize traffic.+pggFetchBody :: Lens' PostsGet Bool+pggFetchBody+ = lens _pggFetchBody (\ s a -> s{_pggFetchBody = a})++-- | Whether image URL metadata for each post is included (default: false).+pggFetchImages :: Lens' PostsGet (Maybe Bool)+pggFetchImages+ = lens _pggFetchImages+ (\ s a -> s{_pggFetchImages = a})++-- | ID of the blog to fetch the post from.+pggBlogId :: Lens' PostsGet Text+pggBlogId+ = lens _pggBlogId (\ s a -> s{_pggBlogId = a})++-- | Maximum number of comments to pull back on a post.+pggMaxComments :: Lens' PostsGet (Maybe Word32)+pggMaxComments+ = lens _pggMaxComments+ (\ s a -> s{_pggMaxComments = a})+ . mapping _Coerce++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+pggView :: Lens' PostsGet (Maybe PostsGetView)+pggView = lens _pggView (\ s a -> s{_pggView = a})++-- | The ID of the post+pggPostId :: Lens' PostsGet Text+pggPostId+ = lens _pggPostId (\ s a -> s{_pggPostId = a})++instance GoogleRequest PostsGet where+ type Rs PostsGet = Post'+ requestClient PostsGet{..}+ = go _pggBlogId _pggPostId (Just _pggFetchBody)+ _pggFetchImages+ _pggMaxComments+ _pggView+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsGetResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/GetByPath.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.Blogger.Posts.GetByPath+-- 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)+--+-- Retrieve a Post by Path.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.getByPath@.+module Network.Google.Resource.Blogger.Posts.GetByPath+ (+ -- * REST Resource+ PostsGetByPathResource++ -- * Creating a Request+ , postsGetByPath+ , PostsGetByPath++ -- * Request Lenses+ , pgbpPath+ , pgbpBlogId+ , pgbpMaxComments+ , pgbpView+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.getByPath@ method which the+-- 'PostsGetByPath' request conforms to.+type PostsGetByPathResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ "bypath" :>+ QueryParam "path" Text :>+ QueryParam "maxComments" (Textual Word32) :>+ QueryParam "view" PostsGetByPathView :>+ QueryParam "alt" AltJSON :> Get '[JSON] Post'++-- | Retrieve a Post by Path.+--+-- /See:/ 'postsGetByPath' smart constructor.+data PostsGetByPath = PostsGetByPath+ { _pgbpPath :: !Text+ , _pgbpBlogId :: !Text+ , _pgbpMaxComments :: !(Maybe (Textual Word32))+ , _pgbpView :: !(Maybe PostsGetByPathView)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsGetByPath' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgbpPath'+--+-- * 'pgbpBlogId'+--+-- * 'pgbpMaxComments'+--+-- * 'pgbpView'+postsGetByPath+ :: Text -- ^ 'pgbpPath'+ -> Text -- ^ 'pgbpBlogId'+ -> PostsGetByPath+postsGetByPath pPgbpPath_ pPgbpBlogId_ =+ PostsGetByPath+ { _pgbpPath = pPgbpPath_+ , _pgbpBlogId = pPgbpBlogId_+ , _pgbpMaxComments = Nothing+ , _pgbpView = Nothing+ }++-- | Path of the Post to retrieve.+pgbpPath :: Lens' PostsGetByPath Text+pgbpPath = lens _pgbpPath (\ s a -> s{_pgbpPath = a})++-- | ID of the blog to fetch the post from.+pgbpBlogId :: Lens' PostsGetByPath Text+pgbpBlogId+ = lens _pgbpBlogId (\ s a -> s{_pgbpBlogId = a})++-- | Maximum number of comments to pull back on a post.+pgbpMaxComments :: Lens' PostsGetByPath (Maybe Word32)+pgbpMaxComments+ = lens _pgbpMaxComments+ (\ s a -> s{_pgbpMaxComments = a})+ . mapping _Coerce++-- | Access level with which to view the returned result. Note that some+-- fields require elevated access.+pgbpView :: Lens' PostsGetByPath (Maybe PostsGetByPathView)+pgbpView = lens _pgbpView (\ s a -> s{_pgbpView = a})++instance GoogleRequest PostsGetByPath where+ type Rs PostsGetByPath = Post'+ requestClient PostsGetByPath{..}+ = go _pgbpBlogId (Just _pgbpPath) _pgbpMaxComments+ _pgbpView+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsGetByPathResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Insert.hs view
@@ -0,0 +1,135 @@+{-# 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.Blogger.Posts.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)+--+-- Add a post.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.insert@.+module Network.Google.Resource.Blogger.Posts.Insert+ (+ -- * REST Resource+ PostsInsertResource++ -- * Creating a Request+ , postsInsert+ , PostsInsert++ -- * Request Lenses+ , posFetchBody+ , posIsDraft+ , posFetchImages+ , posBlogId+ , posPayload+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.insert@ method which the+-- 'PostsInsert' request conforms to.+type PostsInsertResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ QueryParam "fetchBody" Bool :>+ QueryParam "isDraft" Bool :>+ QueryParam "fetchImages" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Post' :> Post '[JSON] Post'++-- | Add a post.+--+-- /See:/ 'postsInsert' smart constructor.+data PostsInsert = PostsInsert+ { _posFetchBody :: !Bool+ , _posIsDraft :: !(Maybe Bool)+ , _posFetchImages :: !(Maybe Bool)+ , _posBlogId :: !Text+ , _posPayload :: !Post'+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'posFetchBody'+--+-- * 'posIsDraft'+--+-- * 'posFetchImages'+--+-- * 'posBlogId'+--+-- * 'posPayload'+postsInsert+ :: Text -- ^ 'posBlogId'+ -> Post' -- ^ 'posPayload'+ -> PostsInsert+postsInsert pPosBlogId_ pPosPayload_ =+ PostsInsert+ { _posFetchBody = True+ , _posIsDraft = Nothing+ , _posFetchImages = Nothing+ , _posBlogId = pPosBlogId_+ , _posPayload = pPosPayload_+ }++-- | Whether the body content of the post is included with the result+-- (default: true).+posFetchBody :: Lens' PostsInsert Bool+posFetchBody+ = lens _posFetchBody (\ s a -> s{_posFetchBody = a})++-- | Whether to create the post as a draft (default: false).+posIsDraft :: Lens' PostsInsert (Maybe Bool)+posIsDraft+ = lens _posIsDraft (\ s a -> s{_posIsDraft = a})++-- | Whether image URL metadata for each post is included in the returned+-- result (default: false).+posFetchImages :: Lens' PostsInsert (Maybe Bool)+posFetchImages+ = lens _posFetchImages+ (\ s a -> s{_posFetchImages = a})++-- | ID of the blog to add the post to.+posBlogId :: Lens' PostsInsert Text+posBlogId+ = lens _posBlogId (\ s a -> s{_posBlogId = a})++-- | Multipart request metadata.+posPayload :: Lens' PostsInsert Post'+posPayload+ = lens _posPayload (\ s a -> s{_posPayload = a})++instance GoogleRequest PostsInsert where+ type Rs PostsInsert = Post'+ requestClient PostsInsert{..}+ = go _posBlogId (Just _posFetchBody) _posIsDraft+ _posFetchImages+ (Just AltJSON)+ _posPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsInsertResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/List.hs view
@@ -0,0 +1,215 @@+{-# 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.Blogger.Posts.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 posts, possibly filtered.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.list@.+module Network.Google.Resource.Blogger.Posts.List+ (+ -- * REST Resource+ PostsListResource++ -- * Creating a Request+ , postsList+ , PostsList++ -- * Request Lenses+ , pllStatus+ , pllOrderBy+ , pllFetchImages+ , pllEndDate+ , pllBlogId+ , pllStartDate+ , pllFetchBodies+ , pllView+ , pllLabels+ , pllPageToken+ , pllMaxResults+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.list@ method which the+-- 'PostsList' request conforms to.+type PostsListResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ QueryParams "status" PostsListStatus :>+ QueryParam "orderBy" PostsListOrderBy :>+ QueryParam "fetchImages" Bool :>+ QueryParam "endDate" DateTime' :>+ QueryParam "startDate" DateTime' :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "view" PostsListView :>+ QueryParam "labels" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] PostList++-- | Retrieves a list of posts, possibly filtered.+--+-- /See:/ 'postsList' smart constructor.+data PostsList = PostsList+ { _pllStatus :: !(Maybe [PostsListStatus])+ , _pllOrderBy :: !PostsListOrderBy+ , _pllFetchImages :: !(Maybe Bool)+ , _pllEndDate :: !(Maybe DateTime')+ , _pllBlogId :: !Text+ , _pllStartDate :: !(Maybe DateTime')+ , _pllFetchBodies :: !Bool+ , _pllView :: !(Maybe PostsListView)+ , _pllLabels :: !(Maybe Text)+ , _pllPageToken :: !(Maybe Text)+ , _pllMaxResults :: !(Maybe (Textual Word32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pllStatus'+--+-- * 'pllOrderBy'+--+-- * 'pllFetchImages'+--+-- * 'pllEndDate'+--+-- * 'pllBlogId'+--+-- * 'pllStartDate'+--+-- * 'pllFetchBodies'+--+-- * 'pllView'+--+-- * 'pllLabels'+--+-- * 'pllPageToken'+--+-- * 'pllMaxResults'+postsList+ :: Text -- ^ 'pllBlogId'+ -> PostsList+postsList pPllBlogId_ =+ PostsList+ { _pllStatus = Nothing+ , _pllOrderBy = Published+ , _pllFetchImages = Nothing+ , _pllEndDate = Nothing+ , _pllBlogId = pPllBlogId_+ , _pllStartDate = Nothing+ , _pllFetchBodies = True+ , _pllView = Nothing+ , _pllLabels = Nothing+ , _pllPageToken = Nothing+ , _pllMaxResults = Nothing+ }++-- | Statuses to include in the results.+pllStatus :: Lens' PostsList [PostsListStatus]+pllStatus+ = lens _pllStatus (\ s a -> s{_pllStatus = a}) .+ _Default+ . _Coerce++-- | Sort search results+pllOrderBy :: Lens' PostsList PostsListOrderBy+pllOrderBy+ = lens _pllOrderBy (\ s a -> s{_pllOrderBy = a})++-- | Whether image URL metadata for each post is included.+pllFetchImages :: Lens' PostsList (Maybe Bool)+pllFetchImages+ = lens _pllFetchImages+ (\ s a -> s{_pllFetchImages = a})++-- | Latest post date to fetch, a date-time with RFC 3339 formatting.+pllEndDate :: Lens' PostsList (Maybe UTCTime)+pllEndDate+ = lens _pllEndDate (\ s a -> s{_pllEndDate = a}) .+ mapping _DateTime++-- | ID of the blog to fetch posts from.+pllBlogId :: Lens' PostsList Text+pllBlogId+ = lens _pllBlogId (\ s a -> s{_pllBlogId = a})++-- | Earliest post date to fetch, a date-time with RFC 3339 formatting.+pllStartDate :: Lens' PostsList (Maybe UTCTime)+pllStartDate+ = lens _pllStartDate (\ s a -> s{_pllStartDate = a})+ . mapping _DateTime++-- | Whether the body content of posts is included (default: true). This+-- should be set to false when the post bodies are not required, to help+-- minimize traffic.+pllFetchBodies :: Lens' PostsList Bool+pllFetchBodies+ = lens _pllFetchBodies+ (\ s a -> s{_pllFetchBodies = a})++-- | Access level with which to view the returned result. Note that some+-- fields require escalated access.+pllView :: Lens' PostsList (Maybe PostsListView)+pllView = lens _pllView (\ s a -> s{_pllView = a})++-- | Comma-separated list of labels to search for.+pllLabels :: Lens' PostsList (Maybe Text)+pllLabels+ = lens _pllLabels (\ s a -> s{_pllLabels = a})++-- | Continuation token if the request is paged.+pllPageToken :: Lens' PostsList (Maybe Text)+pllPageToken+ = lens _pllPageToken (\ s a -> s{_pllPageToken = a})++-- | Maximum number of posts to fetch.+pllMaxResults :: Lens' PostsList (Maybe Word32)+pllMaxResults+ = lens _pllMaxResults+ (\ s a -> s{_pllMaxResults = a})+ . mapping _Coerce++instance GoogleRequest PostsList where+ type Rs PostsList = PostList+ requestClient PostsList{..}+ = go _pllBlogId (_pllStatus ^. _Default)+ (Just _pllOrderBy)+ _pllFetchImages+ _pllEndDate+ _pllStartDate+ (Just _pllFetchBodies)+ _pllView+ _pllLabels+ _pllPageToken+ _pllMaxResults+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsListResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Patch.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.Blogger.Posts.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a post. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.patch@.+module Network.Google.Resource.Blogger.Posts.Patch+ (+ -- * REST Resource+ PostsPatchResource++ -- * Creating a Request+ , postsPatch+ , PostsPatch++ -- * Request Lenses+ , posoFetchBody+ , posoFetchImages+ , posoBlogId+ , posoPayload+ , posoMaxComments+ , posoRevert+ , posoPostId+ , posoPublish+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.patch@ method which the+-- 'PostsPatch' request conforms to.+type PostsPatchResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ QueryParam "fetchBody" Bool :>+ QueryParam "fetchImages" Bool :>+ QueryParam "maxComments" (Textual Word32) :>+ QueryParam "revert" Bool :>+ QueryParam "publish" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Post' :> Patch '[JSON] Post'++-- | Update a post. This method supports patch semantics.+--+-- /See:/ 'postsPatch' smart constructor.+data PostsPatch = PostsPatch+ { _posoFetchBody :: !Bool+ , _posoFetchImages :: !(Maybe Bool)+ , _posoBlogId :: !Text+ , _posoPayload :: !Post'+ , _posoMaxComments :: !(Maybe (Textual Word32))+ , _posoRevert :: !(Maybe Bool)+ , _posoPostId :: !Text+ , _posoPublish :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'posoFetchBody'+--+-- * 'posoFetchImages'+--+-- * 'posoBlogId'+--+-- * 'posoPayload'+--+-- * 'posoMaxComments'+--+-- * 'posoRevert'+--+-- * 'posoPostId'+--+-- * 'posoPublish'+postsPatch+ :: Text -- ^ 'posoBlogId'+ -> Post' -- ^ 'posoPayload'+ -> Text -- ^ 'posoPostId'+ -> PostsPatch+postsPatch pPosoBlogId_ pPosoPayload_ pPosoPostId_ =+ PostsPatch+ { _posoFetchBody = True+ , _posoFetchImages = Nothing+ , _posoBlogId = pPosoBlogId_+ , _posoPayload = pPosoPayload_+ , _posoMaxComments = Nothing+ , _posoRevert = Nothing+ , _posoPostId = pPosoPostId_+ , _posoPublish = Nothing+ }++-- | Whether the body content of the post is included with the result+-- (default: true).+posoFetchBody :: Lens' PostsPatch Bool+posoFetchBody+ = lens _posoFetchBody+ (\ s a -> s{_posoFetchBody = a})++-- | Whether image URL metadata for each post is included in the returned+-- result (default: false).+posoFetchImages :: Lens' PostsPatch (Maybe Bool)+posoFetchImages+ = lens _posoFetchImages+ (\ s a -> s{_posoFetchImages = a})++-- | The ID of the Blog.+posoBlogId :: Lens' PostsPatch Text+posoBlogId+ = lens _posoBlogId (\ s a -> s{_posoBlogId = a})++-- | Multipart request metadata.+posoPayload :: Lens' PostsPatch Post'+posoPayload+ = lens _posoPayload (\ s a -> s{_posoPayload = a})++-- | Maximum number of comments to retrieve with the returned post.+posoMaxComments :: Lens' PostsPatch (Maybe Word32)+posoMaxComments+ = lens _posoMaxComments+ (\ s a -> s{_posoMaxComments = a})+ . mapping _Coerce++-- | Whether a revert action should be performed when the post is updated+-- (default: false).+posoRevert :: Lens' PostsPatch (Maybe Bool)+posoRevert+ = lens _posoRevert (\ s a -> s{_posoRevert = a})++-- | The ID of the Post.+posoPostId :: Lens' PostsPatch Text+posoPostId+ = lens _posoPostId (\ s a -> s{_posoPostId = a})++-- | Whether a publish action should be performed when the post is updated+-- (default: false).+posoPublish :: Lens' PostsPatch (Maybe Bool)+posoPublish+ = lens _posoPublish (\ s a -> s{_posoPublish = a})++instance GoogleRequest PostsPatch where+ type Rs PostsPatch = Post'+ requestClient PostsPatch{..}+ = go _posoBlogId _posoPostId (Just _posoFetchBody)+ _posoFetchImages+ _posoMaxComments+ _posoRevert+ _posoPublish+ (Just AltJSON)+ _posoPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsPatchResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Publish.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Posts.Publish+-- 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)+--+-- Publishes a draft post, optionally at the specific time of the given+-- publishDate parameter.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.publish@.+module Network.Google.Resource.Blogger.Posts.Publish+ (+ -- * REST Resource+ PostsPublishResource++ -- * Creating a Request+ , postsPublish+ , PostsPublish++ -- * Request Lenses+ , pppPublishDate+ , pppBlogId+ , pppPostId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.publish@ method which the+-- 'PostsPublish' request conforms to.+type PostsPublishResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "publish" :>+ QueryParam "publishDate" DateTime' :>+ QueryParam "alt" AltJSON :> Post '[JSON] Post'++-- | Publishes a draft post, optionally at the specific time of the given+-- publishDate parameter.+--+-- /See:/ 'postsPublish' smart constructor.+data PostsPublish = PostsPublish+ { _pppPublishDate :: !(Maybe DateTime')+ , _pppBlogId :: !Text+ , _pppPostId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsPublish' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pppPublishDate'+--+-- * 'pppBlogId'+--+-- * 'pppPostId'+postsPublish+ :: Text -- ^ 'pppBlogId'+ -> Text -- ^ 'pppPostId'+ -> PostsPublish+postsPublish pPppBlogId_ pPppPostId_ =+ PostsPublish+ { _pppPublishDate = Nothing+ , _pppBlogId = pPppBlogId_+ , _pppPostId = pPppPostId_+ }++-- | Optional date and time to schedule the publishing of the Blog. If no+-- publishDate parameter is given, the post is either published at the a+-- previously saved schedule date (if present), or the current time. If a+-- future date is given, the post will be scheduled to be published.+pppPublishDate :: Lens' PostsPublish (Maybe UTCTime)+pppPublishDate+ = lens _pppPublishDate+ (\ s a -> s{_pppPublishDate = a})+ . mapping _DateTime++-- | The ID of the Blog.+pppBlogId :: Lens' PostsPublish Text+pppBlogId+ = lens _pppBlogId (\ s a -> s{_pppBlogId = a})++-- | The ID of the Post.+pppPostId :: Lens' PostsPublish Text+pppPostId+ = lens _pppPostId (\ s a -> s{_pppPostId = a})++instance GoogleRequest PostsPublish where+ type Rs PostsPublish = Post'+ requestClient PostsPublish{..}+ = go _pppBlogId _pppPostId _pppPublishDate+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsPublishResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Revert.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Posts.Revert+-- 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)+--+-- Revert a published or scheduled post to draft state.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.revert@.+module Network.Google.Resource.Blogger.Posts.Revert+ (+ -- * REST Resource+ PostsRevertResource++ -- * Creating a Request+ , postsRevert+ , PostsRevert++ -- * Request Lenses+ , prBlogId+ , prPostId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.revert@ method which the+-- 'PostsRevert' request conforms to.+type PostsRevertResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ "revert" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Post'++-- | Revert a published or scheduled post to draft state.+--+-- /See:/ 'postsRevert' smart constructor.+data PostsRevert = PostsRevert+ { _prBlogId :: !Text+ , _prPostId :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsRevert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prBlogId'+--+-- * 'prPostId'+postsRevert+ :: Text -- ^ 'prBlogId'+ -> Text -- ^ 'prPostId'+ -> PostsRevert+postsRevert pPrBlogId_ pPrPostId_ =+ PostsRevert+ { _prBlogId = pPrBlogId_+ , _prPostId = pPrPostId_+ }++-- | The ID of the Blog.+prBlogId :: Lens' PostsRevert Text+prBlogId = lens _prBlogId (\ s a -> s{_prBlogId = a})++-- | The ID of the Post.+prPostId :: Lens' PostsRevert Text+prPostId = lens _prPostId (\ s a -> s{_prPostId = a})++instance GoogleRequest PostsRevert where+ type Rs PostsRevert = Post'+ requestClient PostsRevert{..}+ = go _prBlogId _prPostId (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsRevertResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Search.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.Blogger.Posts.Search+-- 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)+--+-- Search for a post.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.search@.+module Network.Google.Resource.Blogger.Posts.Search+ (+ -- * REST Resource+ PostsSearchResource++ -- * Creating a Request+ , postsSearch+ , PostsSearch++ -- * Request Lenses+ , psOrderBy+ , psBlogId+ , psQ+ , psFetchBodies+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.search@ method which the+-- 'PostsSearch' request conforms to.+type PostsSearchResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ "search" :>+ QueryParam "q" Text :>+ QueryParam "orderBy" PostsSearchOrderBy :>+ QueryParam "fetchBodies" Bool :>+ QueryParam "alt" AltJSON :> Get '[JSON] PostList++-- | Search for a post.+--+-- /See:/ 'postsSearch' smart constructor.+data PostsSearch = PostsSearch+ { _psOrderBy :: !PostsSearchOrderBy+ , _psBlogId :: !Text+ , _psQ :: !Text+ , _psFetchBodies :: !Bool+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsSearch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psOrderBy'+--+-- * 'psBlogId'+--+-- * 'psQ'+--+-- * 'psFetchBodies'+postsSearch+ :: Text -- ^ 'psBlogId'+ -> Text -- ^ 'psQ'+ -> PostsSearch+postsSearch pPsBlogId_ pPsQ_ =+ PostsSearch+ { _psOrderBy = PSOBPublished+ , _psBlogId = pPsBlogId_+ , _psQ = pPsQ_+ , _psFetchBodies = True+ }++-- | Sort search results+psOrderBy :: Lens' PostsSearch PostsSearchOrderBy+psOrderBy+ = lens _psOrderBy (\ s a -> s{_psOrderBy = a})++-- | ID of the blog to fetch the post from.+psBlogId :: Lens' PostsSearch Text+psBlogId = lens _psBlogId (\ s a -> s{_psBlogId = a})++-- | Query terms to search this blog for matching posts.+psQ :: Lens' PostsSearch Text+psQ = lens _psQ (\ s a -> s{_psQ = a})++-- | Whether the body content of posts is included (default: true). This+-- should be set to false when the post bodies are not required, to help+-- minimize traffic.+psFetchBodies :: Lens' PostsSearch Bool+psFetchBodies+ = lens _psFetchBodies+ (\ s a -> s{_psFetchBodies = a})++instance GoogleRequest PostsSearch where+ type Rs PostsSearch = PostList+ requestClient PostsSearch{..}+ = go _psBlogId (Just _psQ) (Just _psOrderBy)+ (Just _psFetchBodies)+ (Just AltJSON)+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsSearchResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Posts/Update.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Blogger.Posts.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)+--+-- Update a post.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.posts.update@.+module Network.Google.Resource.Blogger.Posts.Update+ (+ -- * REST Resource+ PostsUpdateResource++ -- * Creating a Request+ , postsUpdate+ , PostsUpdate++ -- * Request Lenses+ , puFetchBody+ , puFetchImages+ , puBlogId+ , puPayload+ , puMaxComments+ , puRevert+ , puPostId+ , puPublish+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.posts.update@ method which the+-- 'PostsUpdate' request conforms to.+type PostsUpdateResource =+ "blogger" :>+ "v3" :>+ "blogs" :>+ Capture "blogId" Text :>+ "posts" :>+ Capture "postId" Text :>+ QueryParam "fetchBody" Bool :>+ QueryParam "fetchImages" Bool :>+ QueryParam "maxComments" (Textual Word32) :>+ QueryParam "revert" Bool :>+ QueryParam "publish" Bool :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Post' :> Put '[JSON] Post'++-- | Update a post.+--+-- /See:/ 'postsUpdate' smart constructor.+data PostsUpdate = PostsUpdate+ { _puFetchBody :: !Bool+ , _puFetchImages :: !(Maybe Bool)+ , _puBlogId :: !Text+ , _puPayload :: !Post'+ , _puMaxComments :: !(Maybe (Textual Word32))+ , _puRevert :: !(Maybe Bool)+ , _puPostId :: !Text+ , _puPublish :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PostsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'puFetchBody'+--+-- * 'puFetchImages'+--+-- * 'puBlogId'+--+-- * 'puPayload'+--+-- * 'puMaxComments'+--+-- * 'puRevert'+--+-- * 'puPostId'+--+-- * 'puPublish'+postsUpdate+ :: Text -- ^ 'puBlogId'+ -> Post' -- ^ 'puPayload'+ -> Text -- ^ 'puPostId'+ -> PostsUpdate+postsUpdate pPuBlogId_ pPuPayload_ pPuPostId_ =+ PostsUpdate+ { _puFetchBody = True+ , _puFetchImages = Nothing+ , _puBlogId = pPuBlogId_+ , _puPayload = pPuPayload_+ , _puMaxComments = Nothing+ , _puRevert = Nothing+ , _puPostId = pPuPostId_+ , _puPublish = Nothing+ }++-- | Whether the body content of the post is included with the result+-- (default: true).+puFetchBody :: Lens' PostsUpdate Bool+puFetchBody+ = lens _puFetchBody (\ s a -> s{_puFetchBody = a})++-- | Whether image URL metadata for each post is included in the returned+-- result (default: false).+puFetchImages :: Lens' PostsUpdate (Maybe Bool)+puFetchImages+ = lens _puFetchImages+ (\ s a -> s{_puFetchImages = a})++-- | The ID of the Blog.+puBlogId :: Lens' PostsUpdate Text+puBlogId = lens _puBlogId (\ s a -> s{_puBlogId = a})++-- | Multipart request metadata.+puPayload :: Lens' PostsUpdate Post'+puPayload+ = lens _puPayload (\ s a -> s{_puPayload = a})++-- | Maximum number of comments to retrieve with the returned post.+puMaxComments :: Lens' PostsUpdate (Maybe Word32)+puMaxComments+ = lens _puMaxComments+ (\ s a -> s{_puMaxComments = a})+ . mapping _Coerce++-- | Whether a revert action should be performed when the post is updated+-- (default: false).+puRevert :: Lens' PostsUpdate (Maybe Bool)+puRevert = lens _puRevert (\ s a -> s{_puRevert = a})++-- | The ID of the Post.+puPostId :: Lens' PostsUpdate Text+puPostId = lens _puPostId (\ s a -> s{_puPostId = a})++-- | Whether a publish action should be performed when the post is updated+-- (default: false).+puPublish :: Lens' PostsUpdate (Maybe Bool)+puPublish+ = lens _puPublish (\ s a -> s{_puPublish = a})++instance GoogleRequest PostsUpdate where+ type Rs PostsUpdate = Post'+ requestClient PostsUpdate{..}+ = go _puBlogId _puPostId (Just _puFetchBody)+ _puFetchImages+ _puMaxComments+ _puRevert+ _puPublish+ (Just AltJSON)+ _puPayload+ bloggerService+ where go+ = buildClient (Proxy :: Proxy PostsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Blogger/Users/Get.hs view
@@ -0,0 +1,81 @@+{-# 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.Blogger.Users.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 one user by ID.+--+-- /See:/ <https://developers.google.com/blogger/docs/3.0/getting_started Blogger API Reference> for @blogger.users.get@.+module Network.Google.Resource.Blogger.Users.Get+ (+ -- * REST Resource+ UsersGetResource++ -- * Creating a Request+ , usersGet+ , UsersGet++ -- * Request Lenses+ , ugUserId+ ) where++import Network.Google.Blogger.Types+import Network.Google.Prelude++-- | A resource alias for @blogger.users.get@ method which the+-- 'UsersGet' request conforms to.+type UsersGetResource =+ "blogger" :>+ "v3" :>+ "users" :>+ Capture "userId" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] User++-- | Gets one user by ID.+--+-- /See:/ 'usersGet' smart constructor.+newtype UsersGet = UsersGet+ { _ugUserId :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UsersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugUserId'+usersGet+ :: Text -- ^ 'ugUserId'+ -> UsersGet+usersGet pUgUserId_ =+ UsersGet+ { _ugUserId = pUgUserId_+ }++-- | The ID of the user to get.+ugUserId :: Lens' UsersGet Text+ugUserId = lens _ugUserId (\ s a -> s{_ugUserId = a})++instance GoogleRequest UsersGet where+ type Rs UsersGet = User+ requestClient UsersGet{..}+ = go _ugUserId (Just AltJSON) bloggerService+ where go+ = buildClient (Proxy :: Proxy UsersGetResource)+ mempty
+ gogol-blogger.cabal view
@@ -0,0 +1,82 @@+name: gogol-blogger+version: 0.0.1+synopsis: Google Blogger 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:+ API for access to the data within Blogger.+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v3@+ of the API.+ .+ Labels:+ .+ * Limited Availability++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.Blogger+ , Network.Google.Blogger.Types+ , Network.Google.Resource.Blogger.BlogUserInfos.Get+ , Network.Google.Resource.Blogger.Blogs.Get+ , Network.Google.Resource.Blogger.Blogs.GetByURL+ , Network.Google.Resource.Blogger.Blogs.ListByUser+ , Network.Google.Resource.Blogger.Comments.Approve+ , Network.Google.Resource.Blogger.Comments.Delete+ , Network.Google.Resource.Blogger.Comments.Get+ , Network.Google.Resource.Blogger.Comments.List+ , Network.Google.Resource.Blogger.Comments.ListByBlog+ , Network.Google.Resource.Blogger.Comments.MarkAsSpam+ , Network.Google.Resource.Blogger.Comments.RemoveContent+ , Network.Google.Resource.Blogger.PageViews.Get+ , Network.Google.Resource.Blogger.Pages.Delete+ , Network.Google.Resource.Blogger.Pages.Get+ , Network.Google.Resource.Blogger.Pages.Insert+ , Network.Google.Resource.Blogger.Pages.List+ , Network.Google.Resource.Blogger.Pages.Patch+ , Network.Google.Resource.Blogger.Pages.Publish+ , Network.Google.Resource.Blogger.Pages.Revert+ , Network.Google.Resource.Blogger.Pages.Update+ , Network.Google.Resource.Blogger.PostUserInfos.Get+ , Network.Google.Resource.Blogger.PostUserInfos.List+ , Network.Google.Resource.Blogger.Posts.Delete+ , Network.Google.Resource.Blogger.Posts.Get+ , Network.Google.Resource.Blogger.Posts.GetByPath+ , Network.Google.Resource.Blogger.Posts.Insert+ , Network.Google.Resource.Blogger.Posts.List+ , Network.Google.Resource.Blogger.Posts.Patch+ , Network.Google.Resource.Blogger.Posts.Publish+ , Network.Google.Resource.Blogger.Posts.Revert+ , Network.Google.Resource.Blogger.Posts.Search+ , Network.Google.Resource.Blogger.Posts.Update+ , Network.Google.Resource.Blogger.Users.Get++ other-modules:+ Network.Google.Blogger.Types.Product+ , Network.Google.Blogger.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5