gogol-classroom (empty) → 0.0.1
raw patch · 31 files changed
+6207/−0 lines, 31 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/Classroom.hs +253/−0
- gen/Network/Google/Classroom/Types.hs +160/−0
- gen/Network/Google/Classroom/Types/Product.hs +891/−0
- gen/Network/Google/Classroom/Types/Sum.hs +19/−0
- gen/Network/Google/Resource/Classroom/Courses/Aliases/Create.hs +190/−0
- gen/Network/Google/Resource/Classroom/Courses/Aliases/Delete.hs +188/−0
- gen/Network/Google/Resource/Classroom/Courses/Aliases/List.hs +207/−0
- gen/Network/Google/Resource/Classroom/Courses/Create.hs +180/−0
- gen/Network/Google/Resource/Classroom/Courses/Delete.hs +171/−0
- gen/Network/Google/Resource/Classroom/Courses/Get.hs +171/−0
- gen/Network/Google/Resource/Classroom/Courses/List.hs +221/−0
- gen/Network/Google/Resource/Classroom/Courses/Patch.hs +207/−0
- gen/Network/Google/Resource/Classroom/Courses/Students/Create.hs +215/−0
- gen/Network/Google/Resource/Classroom/Courses/Students/Delete.hs +193/−0
- gen/Network/Google/Resource/Classroom/Courses/Students/Get.hs +193/−0
- gen/Network/Google/Resource/Classroom/Courses/Students/List.hs +205/−0
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Create.hs +199/−0
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Delete.hs +195/−0
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Get.hs +193/−0
- gen/Network/Google/Resource/Classroom/Courses/Teachers/List.hs +205/−0
- gen/Network/Google/Resource/Classroom/Courses/Update.hs +186/−0
- gen/Network/Google/Resource/Classroom/Invitations/Accept.hs +181/−0
- gen/Network/Google/Resource/Classroom/Invitations/Create.hs +183/−0
- gen/Network/Google/Resource/Classroom/Invitations/Delete.hs +171/−0
- gen/Network/Google/Resource/Classroom/Invitations/Get.hs +170/−0
- gen/Network/Google/Resource/Classroom/Invitations/List.hs +218/−0
- gen/Network/Google/Resource/Classroom/UserProFiles/Get.hs +177/−0
- gogol-classroom.cabal +68/−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-classroom++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Classroom.+++## 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-classroom` 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/Classroom.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Classroom+-- 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)+--+-- Google Classroom API+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference>+module Network.Google.Classroom+ (+ -- * Service Configuration+ classroomService++ -- * API Declaration+ , ClassroomAPI++ -- * Resources++ -- ** classroom.courses.aliases.create+ , module Network.Google.Resource.Classroom.Courses.Aliases.Create++ -- ** classroom.courses.aliases.delete+ , module Network.Google.Resource.Classroom.Courses.Aliases.Delete++ -- ** classroom.courses.aliases.list+ , module Network.Google.Resource.Classroom.Courses.Aliases.List++ -- ** classroom.courses.create+ , module Network.Google.Resource.Classroom.Courses.Create++ -- ** classroom.courses.delete+ , module Network.Google.Resource.Classroom.Courses.Delete++ -- ** classroom.courses.get+ , module Network.Google.Resource.Classroom.Courses.Get++ -- ** classroom.courses.list+ , module Network.Google.Resource.Classroom.Courses.List++ -- ** classroom.courses.patch+ , module Network.Google.Resource.Classroom.Courses.Patch++ -- ** classroom.courses.students.create+ , module Network.Google.Resource.Classroom.Courses.Students.Create++ -- ** classroom.courses.students.delete+ , module Network.Google.Resource.Classroom.Courses.Students.Delete++ -- ** classroom.courses.students.get+ , module Network.Google.Resource.Classroom.Courses.Students.Get++ -- ** classroom.courses.students.list+ , module Network.Google.Resource.Classroom.Courses.Students.List++ -- ** classroom.courses.teachers.create+ , module Network.Google.Resource.Classroom.Courses.Teachers.Create++ -- ** classroom.courses.teachers.delete+ , module Network.Google.Resource.Classroom.Courses.Teachers.Delete++ -- ** classroom.courses.teachers.get+ , module Network.Google.Resource.Classroom.Courses.Teachers.Get++ -- ** classroom.courses.teachers.list+ , module Network.Google.Resource.Classroom.Courses.Teachers.List++ -- ** classroom.courses.update+ , module Network.Google.Resource.Classroom.Courses.Update++ -- ** classroom.invitations.accept+ , module Network.Google.Resource.Classroom.Invitations.Accept++ -- ** classroom.invitations.create+ , module Network.Google.Resource.Classroom.Invitations.Create++ -- ** classroom.invitations.delete+ , module Network.Google.Resource.Classroom.Invitations.Delete++ -- ** classroom.invitations.get+ , module Network.Google.Resource.Classroom.Invitations.Get++ -- ** classroom.invitations.list+ , module Network.Google.Resource.Classroom.Invitations.List++ -- ** classroom.userProfiles.get+ , module Network.Google.Resource.Classroom.UserProFiles.Get++ -- * Types++ -- ** ListCourseAliasesResponse+ , ListCourseAliasesResponse+ , listCourseAliasesResponse+ , lcarNextPageToken+ , lcarAliases++ -- ** Empty+ , Empty+ , empty++ -- ** GlobalPermission+ , GlobalPermission+ , globalPermission+ , gpPermission++ -- ** ListInvitationsResponse+ , ListInvitationsResponse+ , listInvitationsResponse+ , lirNextPageToken+ , lirInvitations++ -- ** Invitation+ , Invitation+ , invitation+ , iCourseId+ , iUserId+ , iRole+ , iId++ -- ** Teacher+ , Teacher+ , teacher+ , tCourseId+ , tProFile+ , tUserId++ -- ** Name+ , Name+ , name+ , nGivenName+ , nFullName+ , nFamilyName++ -- ** ListCoursesResponse+ , ListCoursesResponse+ , listCoursesResponse+ , lcrNextPageToken+ , lcrCourses++ -- ** UserProFile+ , UserProFile+ , userProFile+ , upfPhotoURL+ , upfName+ , upfEmailAddress+ , upfId+ , upfPermissions++ -- ** Course+ , Course+ , course+ , cCreationTime+ , cRoom+ , cCourseState+ , cEnrollmentCode+ , cUpdateTime+ , cOwnerId+ , cName+ , cId+ , cAlternateLink+ , cDescription+ , cDescriptionHeading+ , cSection++ -- ** ListStudentsResponse+ , ListStudentsResponse+ , listStudentsResponse+ , lsrNextPageToken+ , lsrStudents++ -- ** CourseAlias+ , CourseAlias+ , courseAlias+ , caAlias++ -- ** ListTeachersResponse+ , ListTeachersResponse+ , listTeachersResponse+ , ltrNextPageToken+ , ltrTeachers++ -- ** Student+ , Student+ , student+ , sCourseId+ , sProFile+ , sUserId+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude+import Network.Google.Resource.Classroom.Courses.Aliases.Create+import Network.Google.Resource.Classroom.Courses.Aliases.Delete+import Network.Google.Resource.Classroom.Courses.Aliases.List+import Network.Google.Resource.Classroom.Courses.Create+import Network.Google.Resource.Classroom.Courses.Delete+import Network.Google.Resource.Classroom.Courses.Get+import Network.Google.Resource.Classroom.Courses.List+import Network.Google.Resource.Classroom.Courses.Patch+import Network.Google.Resource.Classroom.Courses.Students.Create+import Network.Google.Resource.Classroom.Courses.Students.Delete+import Network.Google.Resource.Classroom.Courses.Students.Get+import Network.Google.Resource.Classroom.Courses.Students.List+import Network.Google.Resource.Classroom.Courses.Teachers.Create+import Network.Google.Resource.Classroom.Courses.Teachers.Delete+import Network.Google.Resource.Classroom.Courses.Teachers.Get+import Network.Google.Resource.Classroom.Courses.Teachers.List+import Network.Google.Resource.Classroom.Courses.Update+import Network.Google.Resource.Classroom.Invitations.Accept+import Network.Google.Resource.Classroom.Invitations.Create+import Network.Google.Resource.Classroom.Invitations.Delete+import Network.Google.Resource.Classroom.Invitations.Get+import Network.Google.Resource.Classroom.Invitations.List+import Network.Google.Resource.Classroom.UserProFiles.Get++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Classroom API service.+type ClassroomAPI =+ InvitationsListResource :<|>+ InvitationsAcceptResource+ :<|> InvitationsGetResource+ :<|> InvitationsCreateResource+ :<|> InvitationsDeleteResource+ :<|> CoursesTeachersListResource+ :<|> CoursesTeachersGetResource+ :<|> CoursesTeachersCreateResource+ :<|> CoursesTeachersDeleteResource+ :<|> CoursesAliasesListResource+ :<|> CoursesAliasesCreateResource+ :<|> CoursesAliasesDeleteResource+ :<|> CoursesStudentsListResource+ :<|> CoursesStudentsGetResource+ :<|> CoursesStudentsCreateResource+ :<|> CoursesStudentsDeleteResource+ :<|> CoursesListResource+ :<|> CoursesPatchResource+ :<|> CoursesGetResource+ :<|> CoursesCreateResource+ :<|> CoursesDeleteResource+ :<|> CoursesUpdateResource+ :<|> UserProFilesGetResource
+ gen/Network/Google/Classroom/Types.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Classroom.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.Classroom.Types+ (+ -- * Service Configuration+ classroomService++ -- * OAuth Scopes+ , classroomRostersReadonlyScope+ , classroomCoursesScope+ , classroomProfileEmailsScope+ , classroomProfilePhotosScope+ , classroomRostersScope+ , classroomCoursesReadonlyScope++ -- * ListCourseAliasesResponse+ , ListCourseAliasesResponse+ , listCourseAliasesResponse+ , lcarNextPageToken+ , lcarAliases++ -- * Empty+ , Empty+ , empty++ -- * GlobalPermission+ , GlobalPermission+ , globalPermission+ , gpPermission++ -- * ListInvitationsResponse+ , ListInvitationsResponse+ , listInvitationsResponse+ , lirNextPageToken+ , lirInvitations++ -- * Invitation+ , Invitation+ , invitation+ , iCourseId+ , iUserId+ , iRole+ , iId++ -- * Teacher+ , Teacher+ , teacher+ , tCourseId+ , tProFile+ , tUserId++ -- * Name+ , Name+ , name+ , nGivenName+ , nFullName+ , nFamilyName++ -- * ListCoursesResponse+ , ListCoursesResponse+ , listCoursesResponse+ , lcrNextPageToken+ , lcrCourses++ -- * UserProFile+ , UserProFile+ , userProFile+ , upfPhotoURL+ , upfName+ , upfEmailAddress+ , upfId+ , upfPermissions++ -- * Course+ , Course+ , course+ , cCreationTime+ , cRoom+ , cCourseState+ , cEnrollmentCode+ , cUpdateTime+ , cOwnerId+ , cName+ , cId+ , cAlternateLink+ , cDescription+ , cDescriptionHeading+ , cSection++ -- * ListStudentsResponse+ , ListStudentsResponse+ , listStudentsResponse+ , lsrNextPageToken+ , lsrStudents++ -- * CourseAlias+ , CourseAlias+ , courseAlias+ , caAlias++ -- * ListTeachersResponse+ , ListTeachersResponse+ , listTeachersResponse+ , ltrNextPageToken+ , ltrTeachers++ -- * Student+ , Student+ , student+ , sCourseId+ , sProFile+ , sUserId+ ) where++import Network.Google.Classroom.Types.Product+import Network.Google.Classroom.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Classroom API. This contains the host and root path used as a starting point for constructing service requests.+classroomService :: Service+classroomService+ = defaultService (ServiceId "classroom:v1")+ "classroom.googleapis.com"++-- | View your Google Classroom class rosters+classroomRostersReadonlyScope :: OAuthScope+classroomRostersReadonlyScope = "https://www.googleapis.com/auth/classroom.rosters.readonly";++-- | Manage your Google Classroom classes+classroomCoursesScope :: OAuthScope+classroomCoursesScope = "https://www.googleapis.com/auth/classroom.courses";++-- | View the email addresses of people in your classes+classroomProfileEmailsScope :: OAuthScope+classroomProfileEmailsScope = "https://www.googleapis.com/auth/classroom.profile.emails";++-- | View the profile photos of people in your classes+classroomProfilePhotosScope :: OAuthScope+classroomProfilePhotosScope = "https://www.googleapis.com/auth/classroom.profile.photos";++-- | Manage your Google Classroom class rosters+classroomRostersScope :: OAuthScope+classroomRostersScope = "https://www.googleapis.com/auth/classroom.rosters";++-- | View your Google Classroom classes+classroomCoursesReadonlyScope :: OAuthScope+classroomCoursesReadonlyScope = "https://www.googleapis.com/auth/classroom.courses.readonly";
+ gen/Network/Google/Classroom/Types/Product.hs view
@@ -0,0 +1,891 @@+{-# 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.Classroom.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.Classroom.Types.Product where++import Network.Google.Classroom.Types.Sum+import Network.Google.Prelude++-- | Response when listing course aliases.+--+-- /See:/ 'listCourseAliasesResponse' smart constructor.+data ListCourseAliasesResponse = ListCourseAliasesResponse+ { _lcarNextPageToken :: !(Maybe Text)+ , _lcarAliases :: !(Maybe [CourseAlias])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCourseAliasesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcarNextPageToken'+--+-- * 'lcarAliases'+listCourseAliasesResponse+ :: ListCourseAliasesResponse+listCourseAliasesResponse =+ ListCourseAliasesResponse+ { _lcarNextPageToken = Nothing+ , _lcarAliases = Nothing+ }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lcarNextPageToken :: Lens' ListCourseAliasesResponse (Maybe Text)+lcarNextPageToken+ = lens _lcarNextPageToken+ (\ s a -> s{_lcarNextPageToken = a})++-- | The course aliases.+lcarAliases :: Lens' ListCourseAliasesResponse [CourseAlias]+lcarAliases+ = lens _lcarAliases (\ s a -> s{_lcarAliases = a}) .+ _Default+ . _Coerce++instance FromJSON ListCourseAliasesResponse where+ parseJSON+ = withObject "ListCourseAliasesResponse"+ (\ o ->+ ListCourseAliasesResponse <$>+ (o .:? "nextPageToken") <*>+ (o .:? "aliases" .!= mempty))++instance ToJSON ListCourseAliasesResponse where+ toJSON ListCourseAliasesResponse{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lcarNextPageToken,+ ("aliases" .=) <$> _lcarAliases])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+ Empty+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+ :: Empty+empty = Empty++instance FromJSON Empty where+ parseJSON = withObject "Empty" (\ o -> pure Empty)++instance ToJSON Empty where+ toJSON = const emptyObject++-- | Global user permission description.+--+-- /See:/ 'globalPermission' smart constructor.+newtype GlobalPermission = GlobalPermission+ { _gpPermission :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpPermission'+globalPermission+ :: GlobalPermission+globalPermission =+ GlobalPermission+ { _gpPermission = Nothing+ }++-- | Permission value.+gpPermission :: Lens' GlobalPermission (Maybe Text)+gpPermission+ = lens _gpPermission (\ s a -> s{_gpPermission = a})++instance FromJSON GlobalPermission where+ parseJSON+ = withObject "GlobalPermission"+ (\ o -> GlobalPermission <$> (o .:? "permission"))++instance ToJSON GlobalPermission where+ toJSON GlobalPermission{..}+ = object+ (catMaybes [("permission" .=) <$> _gpPermission])++-- | Response when listing invitations.+--+-- /See:/ 'listInvitationsResponse' smart constructor.+data ListInvitationsResponse = ListInvitationsResponse+ { _lirNextPageToken :: !(Maybe Text)+ , _lirInvitations :: !(Maybe [Invitation])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListInvitationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lirNextPageToken'+--+-- * 'lirInvitations'+listInvitationsResponse+ :: ListInvitationsResponse+listInvitationsResponse =+ ListInvitationsResponse+ { _lirNextPageToken = Nothing+ , _lirInvitations = Nothing+ }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lirNextPageToken :: Lens' ListInvitationsResponse (Maybe Text)+lirNextPageToken+ = lens _lirNextPageToken+ (\ s a -> s{_lirNextPageToken = a})++-- | Invitations that match the list request.+lirInvitations :: Lens' ListInvitationsResponse [Invitation]+lirInvitations+ = lens _lirInvitations+ (\ s a -> s{_lirInvitations = a})+ . _Default+ . _Coerce++instance FromJSON ListInvitationsResponse where+ parseJSON+ = withObject "ListInvitationsResponse"+ (\ o ->+ ListInvitationsResponse <$>+ (o .:? "nextPageToken") <*>+ (o .:? "invitations" .!= mempty))++instance ToJSON ListInvitationsResponse where+ toJSON ListInvitationsResponse{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lirNextPageToken,+ ("invitations" .=) <$> _lirInvitations])++-- | An invitation to join a course.+--+-- /See:/ 'invitation' smart constructor.+data Invitation = Invitation+ { _iCourseId :: !(Maybe Text)+ , _iUserId :: !(Maybe Text)+ , _iRole :: !(Maybe Text)+ , _iId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Invitation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iCourseId'+--+-- * 'iUserId'+--+-- * 'iRole'+--+-- * 'iId'+invitation+ :: Invitation+invitation =+ Invitation+ { _iCourseId = Nothing+ , _iUserId = Nothing+ , _iRole = Nothing+ , _iId = Nothing+ }++-- | Identifier of the course to invite the user to.+iCourseId :: Lens' Invitation (Maybe Text)+iCourseId+ = lens _iCourseId (\ s a -> s{_iCourseId = a})++-- | Identifier of the invited user. When specified as a parameter of a+-- request, this identifier can be set to one of the following: * the+-- numeric identifier for the user * the email address of the user * the+-- string literal \`\"me\"\`, indicating the requesting user+iUserId :: Lens' Invitation (Maybe Text)+iUserId = lens _iUserId (\ s a -> s{_iUserId = a})++-- | Role to invite the user to have. Must not be+-- \`COURSE_ROLE_UNSPECIFIED\`.+iRole :: Lens' Invitation (Maybe Text)+iRole = lens _iRole (\ s a -> s{_iRole = a})++-- | Identifier assigned by Classroom. Read-only.+iId :: Lens' Invitation (Maybe Text)+iId = lens _iId (\ s a -> s{_iId = a})++instance FromJSON Invitation where+ parseJSON+ = withObject "Invitation"+ (\ o ->+ Invitation <$>+ (o .:? "courseId") <*> (o .:? "userId") <*>+ (o .:? "role")+ <*> (o .:? "id"))++instance ToJSON Invitation where+ toJSON Invitation{..}+ = object+ (catMaybes+ [("courseId" .=) <$> _iCourseId,+ ("userId" .=) <$> _iUserId, ("role" .=) <$> _iRole,+ ("id" .=) <$> _iId])++-- | Teacher of a course.+--+-- /See:/ 'teacher' smart constructor.+data Teacher = Teacher+ { _tCourseId :: !(Maybe Text)+ , _tProFile :: !(Maybe UserProFile)+ , _tUserId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Teacher' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tCourseId'+--+-- * 'tProFile'+--+-- * 'tUserId'+teacher+ :: Teacher+teacher =+ Teacher+ { _tCourseId = Nothing+ , _tProFile = Nothing+ , _tUserId = Nothing+ }++-- | Identifier of the course. Read-only.+tCourseId :: Lens' Teacher (Maybe Text)+tCourseId+ = lens _tCourseId (\ s a -> s{_tCourseId = a})++-- | Global user information for the teacher. Read-only.+tProFile :: Lens' Teacher (Maybe UserProFile)+tProFile = lens _tProFile (\ s a -> s{_tProFile = a})++-- | Identifier of the user. When specified as a parameter of a request, this+-- identifier can be one of the following: * the numeric identifier for the+-- user * the email address of the user * the string literal \`\"me\"\`,+-- indicating the requesting user+tUserId :: Lens' Teacher (Maybe Text)+tUserId = lens _tUserId (\ s a -> s{_tUserId = a})++instance FromJSON Teacher where+ parseJSON+ = withObject "Teacher"+ (\ o ->+ Teacher <$>+ (o .:? "courseId") <*> (o .:? "profile") <*>+ (o .:? "userId"))++instance ToJSON Teacher where+ toJSON Teacher{..}+ = object+ (catMaybes+ [("courseId" .=) <$> _tCourseId,+ ("profile" .=) <$> _tProFile,+ ("userId" .=) <$> _tUserId])++-- | Details of the user\'s name.+--+-- /See:/ 'name' smart constructor.+data Name = Name+ { _nGivenName :: !(Maybe Text)+ , _nFullName :: !(Maybe Text)+ , _nFamilyName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Name' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nGivenName'+--+-- * 'nFullName'+--+-- * 'nFamilyName'+name+ :: Name+name =+ Name+ { _nGivenName = Nothing+ , _nFullName = Nothing+ , _nFamilyName = Nothing+ }++-- | The user\'s first name. Read-only.+nGivenName :: Lens' Name (Maybe Text)+nGivenName+ = lens _nGivenName (\ s a -> s{_nGivenName = a})++-- | The user\'s full name formed by concatenating the first and last name+-- values. Read-only.+nFullName :: Lens' Name (Maybe Text)+nFullName+ = lens _nFullName (\ s a -> s{_nFullName = a})++-- | The user\'s last name. Read-only.+nFamilyName :: Lens' Name (Maybe Text)+nFamilyName+ = lens _nFamilyName (\ s a -> s{_nFamilyName = a})++instance FromJSON Name where+ parseJSON+ = withObject "Name"+ (\ o ->+ Name <$>+ (o .:? "givenName") <*> (o .:? "fullName") <*>+ (o .:? "familyName"))++instance ToJSON Name where+ toJSON Name{..}+ = object+ (catMaybes+ [("givenName" .=) <$> _nGivenName,+ ("fullName" .=) <$> _nFullName,+ ("familyName" .=) <$> _nFamilyName])++-- | Response when listing courses.+--+-- /See:/ 'listCoursesResponse' smart constructor.+data ListCoursesResponse = ListCoursesResponse+ { _lcrNextPageToken :: !(Maybe Text)+ , _lcrCourses :: !(Maybe [Course])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCoursesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrNextPageToken'+--+-- * 'lcrCourses'+listCoursesResponse+ :: ListCoursesResponse+listCoursesResponse =+ ListCoursesResponse+ { _lcrNextPageToken = Nothing+ , _lcrCourses = Nothing+ }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lcrNextPageToken :: Lens' ListCoursesResponse (Maybe Text)+lcrNextPageToken+ = lens _lcrNextPageToken+ (\ s a -> s{_lcrNextPageToken = a})++-- | Courses that match the list request.+lcrCourses :: Lens' ListCoursesResponse [Course]+lcrCourses+ = lens _lcrCourses (\ s a -> s{_lcrCourses = a}) .+ _Default+ . _Coerce++instance FromJSON ListCoursesResponse where+ parseJSON+ = withObject "ListCoursesResponse"+ (\ o ->+ ListCoursesResponse <$>+ (o .:? "nextPageToken") <*>+ (o .:? "courses" .!= mempty))++instance ToJSON ListCoursesResponse where+ toJSON ListCoursesResponse{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lcrNextPageToken,+ ("courses" .=) <$> _lcrCourses])++-- | Global information for a user.+--+-- /See:/ 'userProFile' smart constructor.+data UserProFile = UserProFile+ { _upfPhotoURL :: !(Maybe Text)+ , _upfName :: !(Maybe Name)+ , _upfEmailAddress :: !(Maybe Text)+ , _upfId :: !(Maybe Text)+ , _upfPermissions :: !(Maybe [GlobalPermission])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upfPhotoURL'+--+-- * 'upfName'+--+-- * 'upfEmailAddress'+--+-- * 'upfId'+--+-- * 'upfPermissions'+userProFile+ :: UserProFile+userProFile =+ UserProFile+ { _upfPhotoURL = Nothing+ , _upfName = Nothing+ , _upfEmailAddress = Nothing+ , _upfId = Nothing+ , _upfPermissions = Nothing+ }++-- | URL of user\'s profile photo. Read-only.+upfPhotoURL :: Lens' UserProFile (Maybe Text)+upfPhotoURL+ = lens _upfPhotoURL (\ s a -> s{_upfPhotoURL = a})++-- | Name of the user. Read-only.+upfName :: Lens' UserProFile (Maybe Name)+upfName = lens _upfName (\ s a -> s{_upfName = a})++-- | Email address of the user. Read-only.+upfEmailAddress :: Lens' UserProFile (Maybe Text)+upfEmailAddress+ = lens _upfEmailAddress+ (\ s a -> s{_upfEmailAddress = a})++-- | Identifier of the user. Read-only.+upfId :: Lens' UserProFile (Maybe Text)+upfId = lens _upfId (\ s a -> s{_upfId = a})++-- | Global permissions of the user. Read-only.+upfPermissions :: Lens' UserProFile [GlobalPermission]+upfPermissions+ = lens _upfPermissions+ (\ s a -> s{_upfPermissions = a})+ . _Default+ . _Coerce++instance FromJSON UserProFile where+ parseJSON+ = withObject "UserProFile"+ (\ o ->+ UserProFile <$>+ (o .:? "photoUrl") <*> (o .:? "name") <*>+ (o .:? "emailAddress")+ <*> (o .:? "id")+ <*> (o .:? "permissions" .!= mempty))++instance ToJSON UserProFile where+ toJSON UserProFile{..}+ = object+ (catMaybes+ [("photoUrl" .=) <$> _upfPhotoURL,+ ("name" .=) <$> _upfName,+ ("emailAddress" .=) <$> _upfEmailAddress,+ ("id" .=) <$> _upfId,+ ("permissions" .=) <$> _upfPermissions])++-- | A Course in Classroom.+--+-- /See:/ 'course' smart constructor.+data Course = Course+ { _cCreationTime :: !(Maybe Text)+ , _cRoom :: !(Maybe Text)+ , _cCourseState :: !(Maybe Text)+ , _cEnrollmentCode :: !(Maybe Text)+ , _cUpdateTime :: !(Maybe Text)+ , _cOwnerId :: !(Maybe Text)+ , _cName :: !(Maybe Text)+ , _cId :: !(Maybe Text)+ , _cAlternateLink :: !(Maybe Text)+ , _cDescription :: !(Maybe Text)+ , _cDescriptionHeading :: !(Maybe Text)+ , _cSection :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Course' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCreationTime'+--+-- * 'cRoom'+--+-- * 'cCourseState'+--+-- * 'cEnrollmentCode'+--+-- * 'cUpdateTime'+--+-- * 'cOwnerId'+--+-- * 'cName'+--+-- * 'cId'+--+-- * 'cAlternateLink'+--+-- * 'cDescription'+--+-- * 'cDescriptionHeading'+--+-- * 'cSection'+course+ :: Course+course =+ Course+ { _cCreationTime = Nothing+ , _cRoom = Nothing+ , _cCourseState = Nothing+ , _cEnrollmentCode = Nothing+ , _cUpdateTime = Nothing+ , _cOwnerId = Nothing+ , _cName = Nothing+ , _cId = Nothing+ , _cAlternateLink = Nothing+ , _cDescription = Nothing+ , _cDescriptionHeading = Nothing+ , _cSection = Nothing+ }++-- | Creation time of the course. Specifying this field in a course update+-- mask will result in an error. Read-only.+cCreationTime :: Lens' Course (Maybe Text)+cCreationTime+ = lens _cCreationTime+ (\ s a -> s{_cCreationTime = a})++-- | Optional room location. For example, \"301\". If set, this field must be+-- a valid UTF-8 string and no longer than 650 characters.+cRoom :: Lens' Course (Maybe Text)+cRoom = lens _cRoom (\ s a -> s{_cRoom = a})++-- | State of the course. If unspecified, the default state is+-- \`PROVISIONED\`.+cCourseState :: Lens' Course (Maybe Text)+cCourseState+ = lens _cCourseState (\ s a -> s{_cCourseState = a})++-- | Enrollment code to use when joining this course. Specifying this field+-- in a course update mask will result in an error. Read-only.+cEnrollmentCode :: Lens' Course (Maybe Text)+cEnrollmentCode+ = lens _cEnrollmentCode+ (\ s a -> s{_cEnrollmentCode = a})++-- | Time of the most recent update to this course. Specifying this field in+-- a course update mask will result in an error. Read-only.+cUpdateTime :: Lens' Course (Maybe Text)+cUpdateTime+ = lens _cUpdateTime (\ s a -> s{_cUpdateTime = a})++-- | The identifier of the owner of a course. When specified as a parameter+-- of a create course request, this field is required. The identifier can+-- be one of the following: * the numeric identifier for the user * the+-- email address of the user * the string literal \`\"me\"\`, indicating+-- the requesting user This must be set in a create request. Specifying+-- this field in a course update mask will result in an+-- \`INVALID_ARGUMENT\` error.+cOwnerId :: Lens' Course (Maybe Text)+cOwnerId = lens _cOwnerId (\ s a -> s{_cOwnerId = a})++-- | Name of the course. For example, \"10th Grade Biology\". The name is+-- required. It must be between 1 and 750 characters and a valid UTF-8+-- string.+cName :: Lens' Course (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Identifier for this course assigned by Classroom. When creating a+-- course, you may optionally set this identifier to an alias string in the+-- request to create a corresponding alias. The \`id\` is still assigned by+-- Classroom and cannot be updated after the course is created. Specifying+-- this field in a course update mask will result in an error.+cId :: Lens' Course (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++-- | Absolute link to this course in the Classroom web UI. Read-only.+cAlternateLink :: Lens' Course (Maybe Text)+cAlternateLink+ = lens _cAlternateLink+ (\ s a -> s{_cAlternateLink = a})++-- | Optional description. For example, \"We\'ll be learning about the+-- structure of living creatures from a combination of textbooks, guest+-- lectures, and lab work. Expect to be excited!\" If set, this field must+-- be a valid UTF-8 string and no longer than 30,000 characters.+cDescription :: Lens' Course (Maybe Text)+cDescription+ = lens _cDescription (\ s a -> s{_cDescription = a})++-- | Optional heading for the description. For example, \"Welcome to 10th+-- Grade Biology.\" If set, this field must be a valid UTF-8 string and no+-- longer than 3600 characters.+cDescriptionHeading :: Lens' Course (Maybe Text)+cDescriptionHeading+ = lens _cDescriptionHeading+ (\ s a -> s{_cDescriptionHeading = a})++-- | Section of the course. For example, \"Period 2\". If set, this field+-- must be a valid UTF-8 string and no longer than 2800 characters.+cSection :: Lens' Course (Maybe Text)+cSection = lens _cSection (\ s a -> s{_cSection = a})++instance FromJSON Course where+ parseJSON+ = withObject "Course"+ (\ o ->+ Course <$>+ (o .:? "creationTime") <*> (o .:? "room") <*>+ (o .:? "courseState")+ <*> (o .:? "enrollmentCode")+ <*> (o .:? "updateTime")+ <*> (o .:? "ownerId")+ <*> (o .:? "name")+ <*> (o .:? "id")+ <*> (o .:? "alternateLink")+ <*> (o .:? "description")+ <*> (o .:? "descriptionHeading")+ <*> (o .:? "section"))++instance ToJSON Course where+ toJSON Course{..}+ = object+ (catMaybes+ [("creationTime" .=) <$> _cCreationTime,+ ("room" .=) <$> _cRoom,+ ("courseState" .=) <$> _cCourseState,+ ("enrollmentCode" .=) <$> _cEnrollmentCode,+ ("updateTime" .=) <$> _cUpdateTime,+ ("ownerId" .=) <$> _cOwnerId, ("name" .=) <$> _cName,+ ("id" .=) <$> _cId,+ ("alternateLink" .=) <$> _cAlternateLink,+ ("description" .=) <$> _cDescription,+ ("descriptionHeading" .=) <$> _cDescriptionHeading,+ ("section" .=) <$> _cSection])++-- | Response when listing students.+--+-- /See:/ 'listStudentsResponse' smart constructor.+data ListStudentsResponse = ListStudentsResponse+ { _lsrNextPageToken :: !(Maybe Text)+ , _lsrStudents :: !(Maybe [Student])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListStudentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsrNextPageToken'+--+-- * 'lsrStudents'+listStudentsResponse+ :: ListStudentsResponse+listStudentsResponse =+ ListStudentsResponse+ { _lsrNextPageToken = Nothing+ , _lsrStudents = Nothing+ }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lsrNextPageToken :: Lens' ListStudentsResponse (Maybe Text)+lsrNextPageToken+ = lens _lsrNextPageToken+ (\ s a -> s{_lsrNextPageToken = a})++-- | Students who match the list request.+lsrStudents :: Lens' ListStudentsResponse [Student]+lsrStudents+ = lens _lsrStudents (\ s a -> s{_lsrStudents = a}) .+ _Default+ . _Coerce++instance FromJSON ListStudentsResponse where+ parseJSON+ = withObject "ListStudentsResponse"+ (\ o ->+ ListStudentsResponse <$>+ (o .:? "nextPageToken") <*>+ (o .:? "students" .!= mempty))++instance ToJSON ListStudentsResponse where+ toJSON ListStudentsResponse{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lsrNextPageToken,+ ("students" .=) <$> _lsrStudents])++-- | Alternative identifier for a course. An alias uniquely identifies a+-- course. It must be unique within one of the following scopes: * domain:+-- A domain-scoped alias is visible to all users within the alias+-- creator\'s domain and can be created only by a domain admin. A+-- domain-scoped alias is often used when a course has an identifier+-- external to Classroom. * project: A project-scoped alias is visible to+-- any request from an application using the Developer Console project ID+-- that created the alias and can be created by any project. A+-- project-scoped alias is often used when an application has alternative+-- identifiers. A random value can also be used to avoid duplicate courses+-- in the event of transmission failures, as retrying a request will return+-- \`ALREADY_EXISTS\` if a previous one has succeeded.+--+-- /See:/ 'courseAlias' smart constructor.+newtype CourseAlias = CourseAlias+ { _caAlias :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CourseAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caAlias'+courseAlias+ :: CourseAlias+courseAlias =+ CourseAlias+ { _caAlias = Nothing+ }++-- | Alias string. The format of the string indicates the desired alias+-- scoping. * \`d:\` indicates a domain-scoped alias. Example:+-- \`d:math_101\` * \`p:\` indicates a project-scoped alias. Example:+-- \`p:abc123\` This field has a maximum length of 256 characters.+caAlias :: Lens' CourseAlias (Maybe Text)+caAlias = lens _caAlias (\ s a -> s{_caAlias = a})++instance FromJSON CourseAlias where+ parseJSON+ = withObject "CourseAlias"+ (\ o -> CourseAlias <$> (o .:? "alias"))++instance ToJSON CourseAlias where+ toJSON CourseAlias{..}+ = object (catMaybes [("alias" .=) <$> _caAlias])++-- | Response when listing teachers.+--+-- /See:/ 'listTeachersResponse' smart constructor.+data ListTeachersResponse = ListTeachersResponse+ { _ltrNextPageToken :: !(Maybe Text)+ , _ltrTeachers :: !(Maybe [Teacher])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTeachersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrNextPageToken'+--+-- * 'ltrTeachers'+listTeachersResponse+ :: ListTeachersResponse+listTeachersResponse =+ ListTeachersResponse+ { _ltrNextPageToken = Nothing+ , _ltrTeachers = Nothing+ }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+ltrNextPageToken :: Lens' ListTeachersResponse (Maybe Text)+ltrNextPageToken+ = lens _ltrNextPageToken+ (\ s a -> s{_ltrNextPageToken = a})++-- | Teachers who match the list request.+ltrTeachers :: Lens' ListTeachersResponse [Teacher]+ltrTeachers+ = lens _ltrTeachers (\ s a -> s{_ltrTeachers = a}) .+ _Default+ . _Coerce++instance FromJSON ListTeachersResponse where+ parseJSON+ = withObject "ListTeachersResponse"+ (\ o ->+ ListTeachersResponse <$>+ (o .:? "nextPageToken") <*>+ (o .:? "teachers" .!= mempty))++instance ToJSON ListTeachersResponse where+ toJSON ListTeachersResponse{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ltrNextPageToken,+ ("teachers" .=) <$> _ltrTeachers])++-- | Student in a course.+--+-- /See:/ 'student' smart constructor.+data Student = Student+ { _sCourseId :: !(Maybe Text)+ , _sProFile :: !(Maybe UserProFile)+ , _sUserId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Student' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sCourseId'+--+-- * 'sProFile'+--+-- * 'sUserId'+student+ :: Student+student =+ Student+ { _sCourseId = Nothing+ , _sProFile = Nothing+ , _sUserId = Nothing+ }++-- | Identifier of the course. Read-only.+sCourseId :: Lens' Student (Maybe Text)+sCourseId+ = lens _sCourseId (\ s a -> s{_sCourseId = a})++-- | Global user information for the student. Read-only.+sProFile :: Lens' Student (Maybe UserProFile)+sProFile = lens _sProFile (\ s a -> s{_sProFile = a})++-- | Identifier of the user. When specified as a parameter of a request, this+-- identifier can be one of the following: * the numeric identifier for the+-- user * the email address of the user * the string literal \`\"me\"\`,+-- indicating the requesting user+sUserId :: Lens' Student (Maybe Text)+sUserId = lens _sUserId (\ s a -> s{_sUserId = a})++instance FromJSON Student where+ parseJSON+ = withObject "Student"+ (\ o ->+ Student <$>+ (o .:? "courseId") <*> (o .:? "profile") <*>+ (o .:? "userId"))++instance ToJSON Student where+ toJSON Student{..}+ = object+ (catMaybes+ [("courseId" .=) <$> _sCourseId,+ ("profile" .=) <$> _sProFile,+ ("userId" .=) <$> _sUserId])
+ gen/Network/Google/Classroom/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Classroom.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.Classroom.Types.Sum where++import Network.Google.Prelude
+ gen/Network/Google/Resource/Classroom/Courses/Aliases/Create.hs view
@@ -0,0 +1,190 @@+{-# 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.Classroom.Courses.Aliases.Create+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an alias for a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to create the alias or for access errors. * \`NOT_FOUND\` if the course+-- does not exist. * \`ALREADY_EXISTS\` if the alias already exists.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.aliases.create@.+module Network.Google.Resource.Classroom.Courses.Aliases.Create+ (+ -- * REST Resource+ CoursesAliasesCreateResource++ -- * Creating a Request+ , coursesAliasesCreate+ , CoursesAliasesCreate++ -- * Request Lenses+ , cacXgafv+ , cacUploadProtocol+ , cacPp+ , cacCourseId+ , cacAccessToken+ , cacUploadType+ , cacPayload+ , cacBearerToken+ , cacCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.aliases.create@ method which the+-- 'CoursesAliasesCreate' request conforms to.+type CoursesAliasesCreateResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "aliases" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CourseAlias :>+ Post '[JSON] CourseAlias++-- | Creates an alias for a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to create the alias or for access errors. * \`NOT_FOUND\` if the course+-- does not exist. * \`ALREADY_EXISTS\` if the alias already exists.+--+-- /See:/ 'coursesAliasesCreate' smart constructor.+data CoursesAliasesCreate = CoursesAliasesCreate+ { _cacXgafv :: !(Maybe Text)+ , _cacUploadProtocol :: !(Maybe Text)+ , _cacPp :: !Bool+ , _cacCourseId :: !Text+ , _cacAccessToken :: !(Maybe Text)+ , _cacUploadType :: !(Maybe Text)+ , _cacPayload :: !CourseAlias+ , _cacBearerToken :: !(Maybe Text)+ , _cacCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesAliasesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cacXgafv'+--+-- * 'cacUploadProtocol'+--+-- * 'cacPp'+--+-- * 'cacCourseId'+--+-- * 'cacAccessToken'+--+-- * 'cacUploadType'+--+-- * 'cacPayload'+--+-- * 'cacBearerToken'+--+-- * 'cacCallback'+coursesAliasesCreate+ :: Text -- ^ 'cacCourseId'+ -> CourseAlias -- ^ 'cacPayload'+ -> CoursesAliasesCreate+coursesAliasesCreate pCacCourseId_ pCacPayload_ =+ CoursesAliasesCreate+ { _cacXgafv = Nothing+ , _cacUploadProtocol = Nothing+ , _cacPp = True+ , _cacCourseId = pCacCourseId_+ , _cacAccessToken = Nothing+ , _cacUploadType = Nothing+ , _cacPayload = pCacPayload_+ , _cacBearerToken = Nothing+ , _cacCallback = Nothing+ }++-- | V1 error format.+cacXgafv :: Lens' CoursesAliasesCreate (Maybe Text)+cacXgafv = lens _cacXgafv (\ s a -> s{_cacXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cacUploadProtocol :: Lens' CoursesAliasesCreate (Maybe Text)+cacUploadProtocol+ = lens _cacUploadProtocol+ (\ s a -> s{_cacUploadProtocol = a})++-- | Pretty-print response.+cacPp :: Lens' CoursesAliasesCreate Bool+cacPp = lens _cacPp (\ s a -> s{_cacPp = a})++-- | Identifier of the course to alias. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cacCourseId :: Lens' CoursesAliasesCreate Text+cacCourseId+ = lens _cacCourseId (\ s a -> s{_cacCourseId = a})++-- | OAuth access token.+cacAccessToken :: Lens' CoursesAliasesCreate (Maybe Text)+cacAccessToken+ = lens _cacAccessToken+ (\ s a -> s{_cacAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cacUploadType :: Lens' CoursesAliasesCreate (Maybe Text)+cacUploadType+ = lens _cacUploadType+ (\ s a -> s{_cacUploadType = a})++-- | Multipart request metadata.+cacPayload :: Lens' CoursesAliasesCreate CourseAlias+cacPayload+ = lens _cacPayload (\ s a -> s{_cacPayload = a})++-- | OAuth bearer token.+cacBearerToken :: Lens' CoursesAliasesCreate (Maybe Text)+cacBearerToken+ = lens _cacBearerToken+ (\ s a -> s{_cacBearerToken = a})++-- | JSONP+cacCallback :: Lens' CoursesAliasesCreate (Maybe Text)+cacCallback+ = lens _cacCallback (\ s a -> s{_cacCallback = a})++instance GoogleRequest CoursesAliasesCreate where+ type Rs CoursesAliasesCreate = CourseAlias+ requestClient CoursesAliasesCreate{..}+ = go _cacCourseId _cacXgafv _cacUploadProtocol+ (Just _cacPp)+ _cacAccessToken+ _cacUploadType+ _cacBearerToken+ _cacCallback+ (Just AltJSON)+ _cacPayload+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesAliasesCreateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Aliases/Delete.hs view
@@ -0,0 +1,188 @@+{-# 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.Classroom.Courses.Aliases.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an alias of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to remove the alias or for access errors. * \`NOT_FOUND\` if the alias+-- does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.aliases.delete@.+module Network.Google.Resource.Classroom.Courses.Aliases.Delete+ (+ -- * REST Resource+ CoursesAliasesDeleteResource++ -- * Creating a Request+ , coursesAliasesDelete+ , CoursesAliasesDelete++ -- * Request Lenses+ , cadXgafv+ , cadUploadProtocol+ , cadPp+ , cadCourseId+ , cadAccessToken+ , cadUploadType+ , cadAlias+ , cadBearerToken+ , cadCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.aliases.delete@ method which the+-- 'CoursesAliasesDelete' request conforms to.+type CoursesAliasesDeleteResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "aliases" :>+ Capture "alias" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes an alias of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to remove the alias or for access errors. * \`NOT_FOUND\` if the alias+-- does not exist.+--+-- /See:/ 'coursesAliasesDelete' smart constructor.+data CoursesAliasesDelete = CoursesAliasesDelete+ { _cadXgafv :: !(Maybe Text)+ , _cadUploadProtocol :: !(Maybe Text)+ , _cadPp :: !Bool+ , _cadCourseId :: !Text+ , _cadAccessToken :: !(Maybe Text)+ , _cadUploadType :: !(Maybe Text)+ , _cadAlias :: !Text+ , _cadBearerToken :: !(Maybe Text)+ , _cadCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesAliasesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cadXgafv'+--+-- * 'cadUploadProtocol'+--+-- * 'cadPp'+--+-- * 'cadCourseId'+--+-- * 'cadAccessToken'+--+-- * 'cadUploadType'+--+-- * 'cadAlias'+--+-- * 'cadBearerToken'+--+-- * 'cadCallback'+coursesAliasesDelete+ :: Text -- ^ 'cadCourseId'+ -> Text -- ^ 'cadAlias'+ -> CoursesAliasesDelete+coursesAliasesDelete pCadCourseId_ pCadAlias_ =+ CoursesAliasesDelete+ { _cadXgafv = Nothing+ , _cadUploadProtocol = Nothing+ , _cadPp = True+ , _cadCourseId = pCadCourseId_+ , _cadAccessToken = Nothing+ , _cadUploadType = Nothing+ , _cadAlias = pCadAlias_+ , _cadBearerToken = Nothing+ , _cadCallback = Nothing+ }++-- | V1 error format.+cadXgafv :: Lens' CoursesAliasesDelete (Maybe Text)+cadXgafv = lens _cadXgafv (\ s a -> s{_cadXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cadUploadProtocol :: Lens' CoursesAliasesDelete (Maybe Text)+cadUploadProtocol+ = lens _cadUploadProtocol+ (\ s a -> s{_cadUploadProtocol = a})++-- | Pretty-print response.+cadPp :: Lens' CoursesAliasesDelete Bool+cadPp = lens _cadPp (\ s a -> s{_cadPp = a})++-- | Identifier of the course whose alias should be deleted. This identifier+-- can be either the Classroom-assigned identifier or an alias.+cadCourseId :: Lens' CoursesAliasesDelete Text+cadCourseId+ = lens _cadCourseId (\ s a -> s{_cadCourseId = a})++-- | OAuth access token.+cadAccessToken :: Lens' CoursesAliasesDelete (Maybe Text)+cadAccessToken+ = lens _cadAccessToken+ (\ s a -> s{_cadAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cadUploadType :: Lens' CoursesAliasesDelete (Maybe Text)+cadUploadType+ = lens _cadUploadType+ (\ s a -> s{_cadUploadType = a})++-- | Alias to delete. This may not be the Classroom-assigned identifier.+cadAlias :: Lens' CoursesAliasesDelete Text+cadAlias = lens _cadAlias (\ s a -> s{_cadAlias = a})++-- | OAuth bearer token.+cadBearerToken :: Lens' CoursesAliasesDelete (Maybe Text)+cadBearerToken+ = lens _cadBearerToken+ (\ s a -> s{_cadBearerToken = a})++-- | JSONP+cadCallback :: Lens' CoursesAliasesDelete (Maybe Text)+cadCallback+ = lens _cadCallback (\ s a -> s{_cadCallback = a})++instance GoogleRequest CoursesAliasesDelete where+ type Rs CoursesAliasesDelete = Empty+ requestClient CoursesAliasesDelete{..}+ = go _cadCourseId _cadAlias _cadXgafv+ _cadUploadProtocol+ (Just _cadPp)+ _cadAccessToken+ _cadUploadType+ _cadBearerToken+ _cadCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesAliasesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Aliases/List.hs view
@@ -0,0 +1,207 @@+{-# 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.Classroom.Courses.Aliases.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of aliases for a course. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` if the requesting user is+-- not permitted to access the course or for access errors. * \`NOT_FOUND\`+-- if the course does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.aliases.list@.+module Network.Google.Resource.Classroom.Courses.Aliases.List+ (+ -- * REST Resource+ CoursesAliasesListResource++ -- * Creating a Request+ , coursesAliasesList+ , CoursesAliasesList++ -- * Request Lenses+ , calXgafv+ , calUploadProtocol+ , calPp+ , calCourseId+ , calAccessToken+ , calUploadType+ , calBearerToken+ , calPageToken+ , calPageSize+ , calCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.aliases.list@ method which the+-- 'CoursesAliasesList' request conforms to.+type CoursesAliasesListResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "aliases" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListCourseAliasesResponse++-- | Returns a list of aliases for a course. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` if the requesting user is+-- not permitted to access the course or for access errors. * \`NOT_FOUND\`+-- if the course does not exist.+--+-- /See:/ 'coursesAliasesList' smart constructor.+data CoursesAliasesList = CoursesAliasesList+ { _calXgafv :: !(Maybe Text)+ , _calUploadProtocol :: !(Maybe Text)+ , _calPp :: !Bool+ , _calCourseId :: !Text+ , _calAccessToken :: !(Maybe Text)+ , _calUploadType :: !(Maybe Text)+ , _calBearerToken :: !(Maybe Text)+ , _calPageToken :: !(Maybe Text)+ , _calPageSize :: !(Maybe (Textual Int32))+ , _calCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesAliasesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'calXgafv'+--+-- * 'calUploadProtocol'+--+-- * 'calPp'+--+-- * 'calCourseId'+--+-- * 'calAccessToken'+--+-- * 'calUploadType'+--+-- * 'calBearerToken'+--+-- * 'calPageToken'+--+-- * 'calPageSize'+--+-- * 'calCallback'+coursesAliasesList+ :: Text -- ^ 'calCourseId'+ -> CoursesAliasesList+coursesAliasesList pCalCourseId_ =+ CoursesAliasesList+ { _calXgafv = Nothing+ , _calUploadProtocol = Nothing+ , _calPp = True+ , _calCourseId = pCalCourseId_+ , _calAccessToken = Nothing+ , _calUploadType = Nothing+ , _calBearerToken = Nothing+ , _calPageToken = Nothing+ , _calPageSize = Nothing+ , _calCallback = Nothing+ }++-- | V1 error format.+calXgafv :: Lens' CoursesAliasesList (Maybe Text)+calXgafv = lens _calXgafv (\ s a -> s{_calXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+calUploadProtocol :: Lens' CoursesAliasesList (Maybe Text)+calUploadProtocol+ = lens _calUploadProtocol+ (\ s a -> s{_calUploadProtocol = a})++-- | Pretty-print response.+calPp :: Lens' CoursesAliasesList Bool+calPp = lens _calPp (\ s a -> s{_calPp = a})++-- | The identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+calCourseId :: Lens' CoursesAliasesList Text+calCourseId+ = lens _calCourseId (\ s a -> s{_calCourseId = a})++-- | OAuth access token.+calAccessToken :: Lens' CoursesAliasesList (Maybe Text)+calAccessToken+ = lens _calAccessToken+ (\ s a -> s{_calAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+calUploadType :: Lens' CoursesAliasesList (Maybe Text)+calUploadType+ = lens _calUploadType+ (\ s a -> s{_calUploadType = a})++-- | OAuth bearer token.+calBearerToken :: Lens' CoursesAliasesList (Maybe Text)+calBearerToken+ = lens _calBearerToken+ (\ s a -> s{_calBearerToken = a})++-- | nextPageToken value returned from a previous list call, indicating that+-- the subsequent page of results should be returned. The list request must+-- be otherwise identical to the one that resulted in this token.+calPageToken :: Lens' CoursesAliasesList (Maybe Text)+calPageToken+ = lens _calPageToken (\ s a -> s{_calPageToken = a})++-- | Maximum number of items to return. Zero or unspecified indicates that+-- the server may assign a maximum. The server may return fewer than the+-- specified number of results.+calPageSize :: Lens' CoursesAliasesList (Maybe Int32)+calPageSize+ = lens _calPageSize (\ s a -> s{_calPageSize = a}) .+ mapping _Coerce++-- | JSONP+calCallback :: Lens' CoursesAliasesList (Maybe Text)+calCallback+ = lens _calCallback (\ s a -> s{_calCallback = a})++instance GoogleRequest CoursesAliasesList where+ type Rs CoursesAliasesList =+ ListCourseAliasesResponse+ requestClient CoursesAliasesList{..}+ = go _calCourseId _calXgafv _calUploadProtocol+ (Just _calPp)+ _calAccessToken+ _calUploadType+ _calBearerToken+ _calPageToken+ _calPageSize+ _calCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesAliasesListResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Create.hs view
@@ -0,0 +1,180 @@+{-# 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.Classroom.Courses.Create+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a course. The user specified in \`ownerId\` is the owner of the+-- created course and added as a teacher. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to create courses or for access errors. * \`NOT_FOUND\` if the+-- primary teacher is not a valid user. * \`FAILED_PRECONDITION\` if the+-- course owner\'s account is disabled or for the following request errors:+-- * UserGroupsMembershipLimitReached * \`ALREADY_EXISTS\` if an alias was+-- specified in the \`id\` and already exists.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.create@.+module Network.Google.Resource.Classroom.Courses.Create+ (+ -- * REST Resource+ CoursesCreateResource++ -- * Creating a Request+ , coursesCreate+ , CoursesCreate++ -- * Request Lenses+ , ccXgafv+ , ccUploadProtocol+ , ccPp+ , ccAccessToken+ , ccUploadType+ , ccPayload+ , ccBearerToken+ , ccCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.create@ method which the+-- 'CoursesCreate' request conforms to.+type CoursesCreateResource =+ "v1" :>+ "courses" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Course :> Post '[JSON] Course++-- | Creates a course. The user specified in \`ownerId\` is the owner of the+-- created course and added as a teacher. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to create courses or for access errors. * \`NOT_FOUND\` if the+-- primary teacher is not a valid user. * \`FAILED_PRECONDITION\` if the+-- course owner\'s account is disabled or for the following request errors:+-- * UserGroupsMembershipLimitReached * \`ALREADY_EXISTS\` if an alias was+-- specified in the \`id\` and already exists.+--+-- /See:/ 'coursesCreate' smart constructor.+data CoursesCreate = CoursesCreate+ { _ccXgafv :: !(Maybe Text)+ , _ccUploadProtocol :: !(Maybe Text)+ , _ccPp :: !Bool+ , _ccAccessToken :: !(Maybe Text)+ , _ccUploadType :: !(Maybe Text)+ , _ccPayload :: !Course+ , _ccBearerToken :: !(Maybe Text)+ , _ccCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccXgafv'+--+-- * 'ccUploadProtocol'+--+-- * 'ccPp'+--+-- * 'ccAccessToken'+--+-- * 'ccUploadType'+--+-- * 'ccPayload'+--+-- * 'ccBearerToken'+--+-- * 'ccCallback'+coursesCreate+ :: Course -- ^ 'ccPayload'+ -> CoursesCreate+coursesCreate pCcPayload_ =+ CoursesCreate+ { _ccXgafv = Nothing+ , _ccUploadProtocol = Nothing+ , _ccPp = True+ , _ccAccessToken = Nothing+ , _ccUploadType = Nothing+ , _ccPayload = pCcPayload_+ , _ccBearerToken = Nothing+ , _ccCallback = Nothing+ }++-- | V1 error format.+ccXgafv :: Lens' CoursesCreate (Maybe Text)+ccXgafv = lens _ccXgafv (\ s a -> s{_ccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccUploadProtocol :: Lens' CoursesCreate (Maybe Text)+ccUploadProtocol+ = lens _ccUploadProtocol+ (\ s a -> s{_ccUploadProtocol = a})++-- | Pretty-print response.+ccPp :: Lens' CoursesCreate Bool+ccPp = lens _ccPp (\ s a -> s{_ccPp = a})++-- | OAuth access token.+ccAccessToken :: Lens' CoursesCreate (Maybe Text)+ccAccessToken+ = lens _ccAccessToken+ (\ s a -> s{_ccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccUploadType :: Lens' CoursesCreate (Maybe Text)+ccUploadType+ = lens _ccUploadType (\ s a -> s{_ccUploadType = a})++-- | Multipart request metadata.+ccPayload :: Lens' CoursesCreate Course+ccPayload+ = lens _ccPayload (\ s a -> s{_ccPayload = a})++-- | OAuth bearer token.+ccBearerToken :: Lens' CoursesCreate (Maybe Text)+ccBearerToken+ = lens _ccBearerToken+ (\ s a -> s{_ccBearerToken = a})++-- | JSONP+ccCallback :: Lens' CoursesCreate (Maybe Text)+ccCallback+ = lens _ccCallback (\ s a -> s{_ccCallback = a})++instance GoogleRequest CoursesCreate where+ type Rs CoursesCreate = Course+ requestClient CoursesCreate{..}+ = go _ccXgafv _ccUploadProtocol (Just _ccPp)+ _ccAccessToken+ _ccUploadType+ _ccBearerToken+ _ccCallback+ (Just AltJSON)+ _ccPayload+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesCreateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Delete.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Courses.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to delete+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.delete@.+module Network.Google.Resource.Classroom.Courses.Delete+ (+ -- * REST Resource+ CoursesDeleteResource++ -- * Creating a Request+ , coursesDelete+ , CoursesDelete++ -- * Request Lenses+ , cdXgafv+ , cdUploadProtocol+ , cdPp+ , cdAccessToken+ , cdUploadType+ , cdBearerToken+ , cdId+ , cdCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.delete@ method which the+-- 'CoursesDelete' request conforms to.+type CoursesDeleteResource =+ "v1" :>+ "courses" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to delete+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID.+--+-- /See:/ 'coursesDelete' smart constructor.+data CoursesDelete = CoursesDelete+ { _cdXgafv :: !(Maybe Text)+ , _cdUploadProtocol :: !(Maybe Text)+ , _cdPp :: !Bool+ , _cdAccessToken :: !(Maybe Text)+ , _cdUploadType :: !(Maybe Text)+ , _cdBearerToken :: !(Maybe Text)+ , _cdId :: !Text+ , _cdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdXgafv'+--+-- * 'cdUploadProtocol'+--+-- * 'cdPp'+--+-- * 'cdAccessToken'+--+-- * 'cdUploadType'+--+-- * 'cdBearerToken'+--+-- * 'cdId'+--+-- * 'cdCallback'+coursesDelete+ :: Text -- ^ 'cdId'+ -> CoursesDelete+coursesDelete pCdId_ =+ CoursesDelete+ { _cdXgafv = Nothing+ , _cdUploadProtocol = Nothing+ , _cdPp = True+ , _cdAccessToken = Nothing+ , _cdUploadType = Nothing+ , _cdBearerToken = Nothing+ , _cdId = pCdId_+ , _cdCallback = Nothing+ }++-- | V1 error format.+cdXgafv :: Lens' CoursesDelete (Maybe Text)+cdXgafv = lens _cdXgafv (\ s a -> s{_cdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cdUploadProtocol :: Lens' CoursesDelete (Maybe Text)+cdUploadProtocol+ = lens _cdUploadProtocol+ (\ s a -> s{_cdUploadProtocol = a})++-- | Pretty-print response.+cdPp :: Lens' CoursesDelete Bool+cdPp = lens _cdPp (\ s a -> s{_cdPp = a})++-- | OAuth access token.+cdAccessToken :: Lens' CoursesDelete (Maybe Text)+cdAccessToken+ = lens _cdAccessToken+ (\ s a -> s{_cdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cdUploadType :: Lens' CoursesDelete (Maybe Text)+cdUploadType+ = lens _cdUploadType (\ s a -> s{_cdUploadType = a})++-- | OAuth bearer token.+cdBearerToken :: Lens' CoursesDelete (Maybe Text)+cdBearerToken+ = lens _cdBearerToken+ (\ s a -> s{_cdBearerToken = a})++-- | Identifier of the course to delete. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cdId :: Lens' CoursesDelete Text+cdId = lens _cdId (\ s a -> s{_cdId = a})++-- | JSONP+cdCallback :: Lens' CoursesDelete (Maybe Text)+cdCallback+ = lens _cdCallback (\ s a -> s{_cdCallback = a})++instance GoogleRequest CoursesDelete where+ type Rs CoursesDelete = Empty+ requestClient CoursesDelete{..}+ = go _cdId _cdXgafv _cdUploadProtocol (Just _cdPp)+ _cdAccessToken+ _cdUploadType+ _cdBearerToken+ _cdCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Get.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Courses.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.get@.+module Network.Google.Resource.Classroom.Courses.Get+ (+ -- * REST Resource+ CoursesGetResource++ -- * Creating a Request+ , coursesGet+ , CoursesGet++ -- * Request Lenses+ , cgXgafv+ , cgUploadProtocol+ , cgPp+ , cgAccessToken+ , cgUploadType+ , cgBearerToken+ , cgId+ , cgCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.get@ method which the+-- 'CoursesGet' request conforms to.+type CoursesGetResource =+ "v1" :>+ "courses" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Course++-- | Returns a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID.+--+-- /See:/ 'coursesGet' smart constructor.+data CoursesGet = CoursesGet+ { _cgXgafv :: !(Maybe Text)+ , _cgUploadProtocol :: !(Maybe Text)+ , _cgPp :: !Bool+ , _cgAccessToken :: !(Maybe Text)+ , _cgUploadType :: !(Maybe Text)+ , _cgBearerToken :: !(Maybe Text)+ , _cgId :: !Text+ , _cgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgXgafv'+--+-- * 'cgUploadProtocol'+--+-- * 'cgPp'+--+-- * 'cgAccessToken'+--+-- * 'cgUploadType'+--+-- * 'cgBearerToken'+--+-- * 'cgId'+--+-- * 'cgCallback'+coursesGet+ :: Text -- ^ 'cgId'+ -> CoursesGet+coursesGet pCgId_ =+ CoursesGet+ { _cgXgafv = Nothing+ , _cgUploadProtocol = Nothing+ , _cgPp = True+ , _cgAccessToken = Nothing+ , _cgUploadType = Nothing+ , _cgBearerToken = Nothing+ , _cgId = pCgId_+ , _cgCallback = Nothing+ }++-- | V1 error format.+cgXgafv :: Lens' CoursesGet (Maybe Text)+cgXgafv = lens _cgXgafv (\ s a -> s{_cgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cgUploadProtocol :: Lens' CoursesGet (Maybe Text)+cgUploadProtocol+ = lens _cgUploadProtocol+ (\ s a -> s{_cgUploadProtocol = a})++-- | Pretty-print response.+cgPp :: Lens' CoursesGet Bool+cgPp = lens _cgPp (\ s a -> s{_cgPp = a})++-- | OAuth access token.+cgAccessToken :: Lens' CoursesGet (Maybe Text)+cgAccessToken+ = lens _cgAccessToken+ (\ s a -> s{_cgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cgUploadType :: Lens' CoursesGet (Maybe Text)+cgUploadType+ = lens _cgUploadType (\ s a -> s{_cgUploadType = a})++-- | OAuth bearer token.+cgBearerToken :: Lens' CoursesGet (Maybe Text)+cgBearerToken+ = lens _cgBearerToken+ (\ s a -> s{_cgBearerToken = a})++-- | Identifier of the course to return. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cgId :: Lens' CoursesGet Text+cgId = lens _cgId (\ s a -> s{_cgId = a})++-- | JSONP+cgCallback :: Lens' CoursesGet (Maybe Text)+cgCallback+ = lens _cgCallback (\ s a -> s{_cgCallback = a})++instance GoogleRequest CoursesGet where+ type Rs CoursesGet = Course+ requestClient CoursesGet{..}+ = go _cgId _cgXgafv _cgUploadProtocol (Just _cgPp)+ _cgAccessToken+ _cgUploadType+ _cgBearerToken+ _cgCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesGetResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/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.Classroom.Courses.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of courses that the requesting user is permitted to view,+-- restricted to those that match the request. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` for access errors. *+-- \`INVALID_ARGUMENT\` if the query argument is malformed. * \`NOT_FOUND\`+-- if any users specified in the query arguments do not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.list@.+module Network.Google.Resource.Classroom.Courses.List+ (+ -- * REST Resource+ CoursesListResource++ -- * Creating a Request+ , coursesList+ , CoursesList++ -- * Request Lenses+ , clStudentId+ , clXgafv+ , clUploadProtocol+ , clPp+ , clAccessToken+ , clUploadType+ , clTeacherId+ , clBearerToken+ , clPageToken+ , clPageSize+ , clCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.list@ method which the+-- 'CoursesList' request conforms to.+type CoursesListResource =+ "v1" :>+ "courses" :>+ QueryParam "studentId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "teacherId" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListCoursesResponse++-- | Returns a list of courses that the requesting user is permitted to view,+-- restricted to those that match the request. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` for access errors. *+-- \`INVALID_ARGUMENT\` if the query argument is malformed. * \`NOT_FOUND\`+-- if any users specified in the query arguments do not exist.+--+-- /See:/ 'coursesList' smart constructor.+data CoursesList = CoursesList+ { _clStudentId :: !(Maybe Text)+ , _clXgafv :: !(Maybe Text)+ , _clUploadProtocol :: !(Maybe Text)+ , _clPp :: !Bool+ , _clAccessToken :: !(Maybe Text)+ , _clUploadType :: !(Maybe Text)+ , _clTeacherId :: !(Maybe Text)+ , _clBearerToken :: !(Maybe Text)+ , _clPageToken :: !(Maybe Text)+ , _clPageSize :: !(Maybe (Textual Int32))+ , _clCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clStudentId'+--+-- * 'clXgafv'+--+-- * 'clUploadProtocol'+--+-- * 'clPp'+--+-- * 'clAccessToken'+--+-- * 'clUploadType'+--+-- * 'clTeacherId'+--+-- * 'clBearerToken'+--+-- * 'clPageToken'+--+-- * 'clPageSize'+--+-- * 'clCallback'+coursesList+ :: CoursesList+coursesList =+ CoursesList+ { _clStudentId = Nothing+ , _clXgafv = Nothing+ , _clUploadProtocol = Nothing+ , _clPp = True+ , _clAccessToken = Nothing+ , _clUploadType = Nothing+ , _clTeacherId = Nothing+ , _clBearerToken = Nothing+ , _clPageToken = Nothing+ , _clPageSize = Nothing+ , _clCallback = Nothing+ }++-- | Restricts returned courses to those having a student with the specified+-- identifier. The identifier can be one of the following: * the numeric+-- identifier for the user * the email address of the user * the string+-- literal \`\"me\"\`, indicating the requesting user+clStudentId :: Lens' CoursesList (Maybe Text)+clStudentId+ = lens _clStudentId (\ s a -> s{_clStudentId = a})++-- | V1 error format.+clXgafv :: Lens' CoursesList (Maybe Text)+clXgafv = lens _clXgafv (\ s a -> s{_clXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+clUploadProtocol :: Lens' CoursesList (Maybe Text)+clUploadProtocol+ = lens _clUploadProtocol+ (\ s a -> s{_clUploadProtocol = a})++-- | Pretty-print response.+clPp :: Lens' CoursesList Bool+clPp = lens _clPp (\ s a -> s{_clPp = a})++-- | OAuth access token.+clAccessToken :: Lens' CoursesList (Maybe Text)+clAccessToken+ = lens _clAccessToken+ (\ s a -> s{_clAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+clUploadType :: Lens' CoursesList (Maybe Text)+clUploadType+ = lens _clUploadType (\ s a -> s{_clUploadType = a})++-- | Restricts returned courses to those having a teacher with the specified+-- identifier. The identifier can be one of the following: * the numeric+-- identifier for the user * the email address of the user * the string+-- literal \`\"me\"\`, indicating the requesting user+clTeacherId :: Lens' CoursesList (Maybe Text)+clTeacherId+ = lens _clTeacherId (\ s a -> s{_clTeacherId = a})++-- | OAuth bearer token.+clBearerToken :: Lens' CoursesList (Maybe Text)+clBearerToken+ = lens _clBearerToken+ (\ s a -> s{_clBearerToken = a})++-- | nextPageToken value returned from a previous list call, indicating that+-- the subsequent page of results should be returned. The list request must+-- be otherwise identical to the one that resulted in this token.+clPageToken :: Lens' CoursesList (Maybe Text)+clPageToken+ = lens _clPageToken (\ s a -> s{_clPageToken = a})++-- | Maximum number of items to return. Zero or unspecified indicates that+-- the server may assign a maximum. The server may return fewer than the+-- specified number of results.+clPageSize :: Lens' CoursesList (Maybe Int32)+clPageSize+ = lens _clPageSize (\ s a -> s{_clPageSize = a}) .+ mapping _Coerce++-- | JSONP+clCallback :: Lens' CoursesList (Maybe Text)+clCallback+ = lens _clCallback (\ s a -> s{_clCallback = a})++instance GoogleRequest CoursesList where+ type Rs CoursesList = ListCoursesResponse+ requestClient CoursesList{..}+ = go _clStudentId _clXgafv _clUploadProtocol+ (Just _clPp)+ _clAccessToken+ _clUploadType+ _clTeacherId+ _clBearerToken+ _clPageToken+ _clPageSize+ _clCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesListResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Patch.hs view
@@ -0,0 +1,207 @@+{-# 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.Classroom.Courses.Patch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates one or more fields in a course. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` if the requesting user is+-- not permitted to modify the requested course or for access errors. *+-- \`NOT_FOUND\` if no course exists with the requested ID. *+-- \`INVALID_ARGUMENT\` if invalid fields are specified in the update mask+-- or if no update mask is supplied. * \`FAILED_PRECONDITION\` for the+-- following request errors: * CourseNotModifiable+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.patch@.+module Network.Google.Resource.Classroom.Courses.Patch+ (+ -- * REST Resource+ CoursesPatchResource++ -- * Creating a Request+ , coursesPatch+ , CoursesPatch++ -- * Request Lenses+ , cpXgafv+ , cpUploadProtocol+ , cpUpdateMask+ , cpPp+ , cpAccessToken+ , cpUploadType+ , cpPayload+ , cpBearerToken+ , cpId+ , cpCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.patch@ method which the+-- 'CoursesPatch' request conforms to.+type CoursesPatchResource =+ "v1" :>+ "courses" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "updateMask" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Course :> Patch '[JSON] Course++-- | Updates one or more fields in a course. This method returns the+-- following error codes: * \`PERMISSION_DENIED\` if the requesting user is+-- not permitted to modify the requested course or for access errors. *+-- \`NOT_FOUND\` if no course exists with the requested ID. *+-- \`INVALID_ARGUMENT\` if invalid fields are specified in the update mask+-- or if no update mask is supplied. * \`FAILED_PRECONDITION\` for the+-- following request errors: * CourseNotModifiable+--+-- /See:/ 'coursesPatch' smart constructor.+data CoursesPatch = CoursesPatch+ { _cpXgafv :: !(Maybe Text)+ , _cpUploadProtocol :: !(Maybe Text)+ , _cpUpdateMask :: !(Maybe Text)+ , _cpPp :: !Bool+ , _cpAccessToken :: !(Maybe Text)+ , _cpUploadType :: !(Maybe Text)+ , _cpPayload :: !Course+ , _cpBearerToken :: !(Maybe Text)+ , _cpId :: !Text+ , _cpCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpXgafv'+--+-- * 'cpUploadProtocol'+--+-- * 'cpUpdateMask'+--+-- * 'cpPp'+--+-- * 'cpAccessToken'+--+-- * 'cpUploadType'+--+-- * 'cpPayload'+--+-- * 'cpBearerToken'+--+-- * 'cpId'+--+-- * 'cpCallback'+coursesPatch+ :: Course -- ^ 'cpPayload'+ -> Text -- ^ 'cpId'+ -> CoursesPatch+coursesPatch pCpPayload_ pCpId_ =+ CoursesPatch+ { _cpXgafv = Nothing+ , _cpUploadProtocol = Nothing+ , _cpUpdateMask = Nothing+ , _cpPp = True+ , _cpAccessToken = Nothing+ , _cpUploadType = Nothing+ , _cpPayload = pCpPayload_+ , _cpBearerToken = Nothing+ , _cpId = pCpId_+ , _cpCallback = Nothing+ }++-- | V1 error format.+cpXgafv :: Lens' CoursesPatch (Maybe Text)+cpXgafv = lens _cpXgafv (\ s a -> s{_cpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cpUploadProtocol :: Lens' CoursesPatch (Maybe Text)+cpUploadProtocol+ = lens _cpUploadProtocol+ (\ s a -> s{_cpUploadProtocol = a})++-- | Mask that identifies which fields on the course to update. This field is+-- required to do an update. The update will fail if invalid fields are+-- specified. The following fields are valid: * \`name\` * \`section\` *+-- \`descriptionHeading\` * \`description\` * \`room\` * \`courseState\`+-- When set in a query parameter, this field should be specified as+-- \`updateMask=,,...\`+cpUpdateMask :: Lens' CoursesPatch (Maybe Text)+cpUpdateMask+ = lens _cpUpdateMask (\ s a -> s{_cpUpdateMask = a})++-- | Pretty-print response.+cpPp :: Lens' CoursesPatch Bool+cpPp = lens _cpPp (\ s a -> s{_cpPp = a})++-- | OAuth access token.+cpAccessToken :: Lens' CoursesPatch (Maybe Text)+cpAccessToken+ = lens _cpAccessToken+ (\ s a -> s{_cpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cpUploadType :: Lens' CoursesPatch (Maybe Text)+cpUploadType+ = lens _cpUploadType (\ s a -> s{_cpUploadType = a})++-- | Multipart request metadata.+cpPayload :: Lens' CoursesPatch Course+cpPayload+ = lens _cpPayload (\ s a -> s{_cpPayload = a})++-- | OAuth bearer token.+cpBearerToken :: Lens' CoursesPatch (Maybe Text)+cpBearerToken+ = lens _cpBearerToken+ (\ s a -> s{_cpBearerToken = a})++-- | Identifier of the course to update. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cpId :: Lens' CoursesPatch Text+cpId = lens _cpId (\ s a -> s{_cpId = a})++-- | JSONP+cpCallback :: Lens' CoursesPatch (Maybe Text)+cpCallback+ = lens _cpCallback (\ s a -> s{_cpCallback = a})++instance GoogleRequest CoursesPatch where+ type Rs CoursesPatch = Course+ requestClient CoursesPatch{..}+ = go _cpId _cpXgafv _cpUploadProtocol _cpUpdateMask+ (Just _cpPp)+ _cpAccessToken+ _cpUploadType+ _cpBearerToken+ _cpCallback+ (Just AltJSON)+ _cpPayload+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesPatchResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Students/Create.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.Classroom.Courses.Students.Create+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a user as a student of a course. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to create students in this course or for access errors. *+-- \`NOT_FOUND\` if the requested course ID does not exist. *+-- \`FAILED_PRECONDITION\` if the requested user\'s account is disabled,+-- for the following request errors: * CourseMemberLimitReached *+-- CourseNotModifiable * UserGroupsMembershipLimitReached *+-- \`ALREADY_EXISTS\` if the user is already a student or teacher in the+-- course.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.students.create@.+module Network.Google.Resource.Classroom.Courses.Students.Create+ (+ -- * REST Resource+ CoursesStudentsCreateResource++ -- * Creating a Request+ , coursesStudentsCreate+ , CoursesStudentsCreate++ -- * Request Lenses+ , cscXgafv+ , cscUploadProtocol+ , cscPp+ , cscCourseId+ , cscAccessToken+ , cscUploadType+ , cscPayload+ , cscEnrollmentCode+ , cscBearerToken+ , cscCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.students.create@ method which the+-- 'CoursesStudentsCreate' request conforms to.+type CoursesStudentsCreateResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "students" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "enrollmentCode" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Student :> Post '[JSON] Student++-- | Adds a user as a student of a course. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to create students in this course or for access errors. *+-- \`NOT_FOUND\` if the requested course ID does not exist. *+-- \`FAILED_PRECONDITION\` if the requested user\'s account is disabled,+-- for the following request errors: * CourseMemberLimitReached *+-- CourseNotModifiable * UserGroupsMembershipLimitReached *+-- \`ALREADY_EXISTS\` if the user is already a student or teacher in the+-- course.+--+-- /See:/ 'coursesStudentsCreate' smart constructor.+data CoursesStudentsCreate = CoursesStudentsCreate+ { _cscXgafv :: !(Maybe Text)+ , _cscUploadProtocol :: !(Maybe Text)+ , _cscPp :: !Bool+ , _cscCourseId :: !Text+ , _cscAccessToken :: !(Maybe Text)+ , _cscUploadType :: !(Maybe Text)+ , _cscPayload :: !Student+ , _cscEnrollmentCode :: !(Maybe Text)+ , _cscBearerToken :: !(Maybe Text)+ , _cscCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesStudentsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cscXgafv'+--+-- * 'cscUploadProtocol'+--+-- * 'cscPp'+--+-- * 'cscCourseId'+--+-- * 'cscAccessToken'+--+-- * 'cscUploadType'+--+-- * 'cscPayload'+--+-- * 'cscEnrollmentCode'+--+-- * 'cscBearerToken'+--+-- * 'cscCallback'+coursesStudentsCreate+ :: Text -- ^ 'cscCourseId'+ -> Student -- ^ 'cscPayload'+ -> CoursesStudentsCreate+coursesStudentsCreate pCscCourseId_ pCscPayload_ =+ CoursesStudentsCreate+ { _cscXgafv = Nothing+ , _cscUploadProtocol = Nothing+ , _cscPp = True+ , _cscCourseId = pCscCourseId_+ , _cscAccessToken = Nothing+ , _cscUploadType = Nothing+ , _cscPayload = pCscPayload_+ , _cscEnrollmentCode = Nothing+ , _cscBearerToken = Nothing+ , _cscCallback = Nothing+ }++-- | V1 error format.+cscXgafv :: Lens' CoursesStudentsCreate (Maybe Text)+cscXgafv = lens _cscXgafv (\ s a -> s{_cscXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cscUploadProtocol :: Lens' CoursesStudentsCreate (Maybe Text)+cscUploadProtocol+ = lens _cscUploadProtocol+ (\ s a -> s{_cscUploadProtocol = a})++-- | Pretty-print response.+cscPp :: Lens' CoursesStudentsCreate Bool+cscPp = lens _cscPp (\ s a -> s{_cscPp = a})++-- | Identifier of the course to create the student in. This identifier can+-- be either the Classroom-assigned identifier or an alias.+cscCourseId :: Lens' CoursesStudentsCreate Text+cscCourseId+ = lens _cscCourseId (\ s a -> s{_cscCourseId = a})++-- | OAuth access token.+cscAccessToken :: Lens' CoursesStudentsCreate (Maybe Text)+cscAccessToken+ = lens _cscAccessToken+ (\ s a -> s{_cscAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cscUploadType :: Lens' CoursesStudentsCreate (Maybe Text)+cscUploadType+ = lens _cscUploadType+ (\ s a -> s{_cscUploadType = a})++-- | Multipart request metadata.+cscPayload :: Lens' CoursesStudentsCreate Student+cscPayload+ = lens _cscPayload (\ s a -> s{_cscPayload = a})++-- | Enrollment code of the course to create the student in. This code is+-- required if userId corresponds to the requesting user; it may be omitted+-- if the requesting user has administrative permissions to create students+-- for any user.+cscEnrollmentCode :: Lens' CoursesStudentsCreate (Maybe Text)+cscEnrollmentCode+ = lens _cscEnrollmentCode+ (\ s a -> s{_cscEnrollmentCode = a})++-- | OAuth bearer token.+cscBearerToken :: Lens' CoursesStudentsCreate (Maybe Text)+cscBearerToken+ = lens _cscBearerToken+ (\ s a -> s{_cscBearerToken = a})++-- | JSONP+cscCallback :: Lens' CoursesStudentsCreate (Maybe Text)+cscCallback+ = lens _cscCallback (\ s a -> s{_cscCallback = a})++instance GoogleRequest CoursesStudentsCreate where+ type Rs CoursesStudentsCreate = Student+ requestClient CoursesStudentsCreate{..}+ = go _cscCourseId _cscXgafv _cscUploadProtocol+ (Just _cscPp)+ _cscAccessToken+ _cscUploadType+ _cscEnrollmentCode+ _cscBearerToken+ _cscCallback+ (Just AltJSON)+ _cscPayload+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesStudentsCreateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Students/Delete.hs view
@@ -0,0 +1,193 @@+{-# 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.Classroom.Courses.Students.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a student of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to delete students of this course or for access errors. * \`NOT_FOUND\`+-- if no student of this course has the requested ID or if the course does+-- not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.students.delete@.+module Network.Google.Resource.Classroom.Courses.Students.Delete+ (+ -- * REST Resource+ CoursesStudentsDeleteResource++ -- * Creating a Request+ , coursesStudentsDelete+ , CoursesStudentsDelete++ -- * Request Lenses+ , csdXgafv+ , csdUploadProtocol+ , csdPp+ , csdCourseId+ , csdAccessToken+ , csdUploadType+ , csdUserId+ , csdBearerToken+ , csdCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.students.delete@ method which the+-- 'CoursesStudentsDelete' request conforms to.+type CoursesStudentsDeleteResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "students" :>+ Capture "userId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a student of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to delete students of this course or for access errors. * \`NOT_FOUND\`+-- if no student of this course has the requested ID or if the course does+-- not exist.+--+-- /See:/ 'coursesStudentsDelete' smart constructor.+data CoursesStudentsDelete = CoursesStudentsDelete+ { _csdXgafv :: !(Maybe Text)+ , _csdUploadProtocol :: !(Maybe Text)+ , _csdPp :: !Bool+ , _csdCourseId :: !Text+ , _csdAccessToken :: !(Maybe Text)+ , _csdUploadType :: !(Maybe Text)+ , _csdUserId :: !Text+ , _csdBearerToken :: !(Maybe Text)+ , _csdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesStudentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdXgafv'+--+-- * 'csdUploadProtocol'+--+-- * 'csdPp'+--+-- * 'csdCourseId'+--+-- * 'csdAccessToken'+--+-- * 'csdUploadType'+--+-- * 'csdUserId'+--+-- * 'csdBearerToken'+--+-- * 'csdCallback'+coursesStudentsDelete+ :: Text -- ^ 'csdCourseId'+ -> Text -- ^ 'csdUserId'+ -> CoursesStudentsDelete+coursesStudentsDelete pCsdCourseId_ pCsdUserId_ =+ CoursesStudentsDelete+ { _csdXgafv = Nothing+ , _csdUploadProtocol = Nothing+ , _csdPp = True+ , _csdCourseId = pCsdCourseId_+ , _csdAccessToken = Nothing+ , _csdUploadType = Nothing+ , _csdUserId = pCsdUserId_+ , _csdBearerToken = Nothing+ , _csdCallback = Nothing+ }++-- | V1 error format.+csdXgafv :: Lens' CoursesStudentsDelete (Maybe Text)+csdXgafv = lens _csdXgafv (\ s a -> s{_csdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+csdUploadProtocol :: Lens' CoursesStudentsDelete (Maybe Text)+csdUploadProtocol+ = lens _csdUploadProtocol+ (\ s a -> s{_csdUploadProtocol = a})++-- | Pretty-print response.+csdPp :: Lens' CoursesStudentsDelete Bool+csdPp = lens _csdPp (\ s a -> s{_csdPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+csdCourseId :: Lens' CoursesStudentsDelete Text+csdCourseId+ = lens _csdCourseId (\ s a -> s{_csdCourseId = a})++-- | OAuth access token.+csdAccessToken :: Lens' CoursesStudentsDelete (Maybe Text)+csdAccessToken+ = lens _csdAccessToken+ (\ s a -> s{_csdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+csdUploadType :: Lens' CoursesStudentsDelete (Maybe Text)+csdUploadType+ = lens _csdUploadType+ (\ s a -> s{_csdUploadType = a})++-- | Identifier of the student to delete. The identifier can be one of the+-- following: * the numeric identifier for the user * the email address of+-- the user * the string literal \`\"me\"\`, indicating the requesting user+csdUserId :: Lens' CoursesStudentsDelete Text+csdUserId+ = lens _csdUserId (\ s a -> s{_csdUserId = a})++-- | OAuth bearer token.+csdBearerToken :: Lens' CoursesStudentsDelete (Maybe Text)+csdBearerToken+ = lens _csdBearerToken+ (\ s a -> s{_csdBearerToken = a})++-- | JSONP+csdCallback :: Lens' CoursesStudentsDelete (Maybe Text)+csdCallback+ = lens _csdCallback (\ s a -> s{_csdCallback = a})++instance GoogleRequest CoursesStudentsDelete where+ type Rs CoursesStudentsDelete = Empty+ requestClient CoursesStudentsDelete{..}+ = go _csdCourseId _csdUserId _csdXgafv+ _csdUploadProtocol+ (Just _csdPp)+ _csdAccessToken+ _csdUploadType+ _csdBearerToken+ _csdCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesStudentsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Students/Get.hs view
@@ -0,0 +1,193 @@+{-# 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.Classroom.Courses.Students.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a student of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to view students of this course or for access errors. * \`NOT_FOUND\` if+-- no student of this course has the requested ID or if the course does not+-- exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.students.get@.+module Network.Google.Resource.Classroom.Courses.Students.Get+ (+ -- * REST Resource+ CoursesStudentsGetResource++ -- * Creating a Request+ , coursesStudentsGet+ , CoursesStudentsGet++ -- * Request Lenses+ , csgXgafv+ , csgUploadProtocol+ , csgPp+ , csgCourseId+ , csgAccessToken+ , csgUploadType+ , csgUserId+ , csgBearerToken+ , csgCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.students.get@ method which the+-- 'CoursesStudentsGet' request conforms to.+type CoursesStudentsGetResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "students" :>+ Capture "userId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Student++-- | Returns a student of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to view students of this course or for access errors. * \`NOT_FOUND\` if+-- no student of this course has the requested ID or if the course does not+-- exist.+--+-- /See:/ 'coursesStudentsGet' smart constructor.+data CoursesStudentsGet = CoursesStudentsGet+ { _csgXgafv :: !(Maybe Text)+ , _csgUploadProtocol :: !(Maybe Text)+ , _csgPp :: !Bool+ , _csgCourseId :: !Text+ , _csgAccessToken :: !(Maybe Text)+ , _csgUploadType :: !(Maybe Text)+ , _csgUserId :: !Text+ , _csgBearerToken :: !(Maybe Text)+ , _csgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesStudentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csgXgafv'+--+-- * 'csgUploadProtocol'+--+-- * 'csgPp'+--+-- * 'csgCourseId'+--+-- * 'csgAccessToken'+--+-- * 'csgUploadType'+--+-- * 'csgUserId'+--+-- * 'csgBearerToken'+--+-- * 'csgCallback'+coursesStudentsGet+ :: Text -- ^ 'csgCourseId'+ -> Text -- ^ 'csgUserId'+ -> CoursesStudentsGet+coursesStudentsGet pCsgCourseId_ pCsgUserId_ =+ CoursesStudentsGet+ { _csgXgafv = Nothing+ , _csgUploadProtocol = Nothing+ , _csgPp = True+ , _csgCourseId = pCsgCourseId_+ , _csgAccessToken = Nothing+ , _csgUploadType = Nothing+ , _csgUserId = pCsgUserId_+ , _csgBearerToken = Nothing+ , _csgCallback = Nothing+ }++-- | V1 error format.+csgXgafv :: Lens' CoursesStudentsGet (Maybe Text)+csgXgafv = lens _csgXgafv (\ s a -> s{_csgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+csgUploadProtocol :: Lens' CoursesStudentsGet (Maybe Text)+csgUploadProtocol+ = lens _csgUploadProtocol+ (\ s a -> s{_csgUploadProtocol = a})++-- | Pretty-print response.+csgPp :: Lens' CoursesStudentsGet Bool+csgPp = lens _csgPp (\ s a -> s{_csgPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+csgCourseId :: Lens' CoursesStudentsGet Text+csgCourseId+ = lens _csgCourseId (\ s a -> s{_csgCourseId = a})++-- | OAuth access token.+csgAccessToken :: Lens' CoursesStudentsGet (Maybe Text)+csgAccessToken+ = lens _csgAccessToken+ (\ s a -> s{_csgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+csgUploadType :: Lens' CoursesStudentsGet (Maybe Text)+csgUploadType+ = lens _csgUploadType+ (\ s a -> s{_csgUploadType = a})++-- | Identifier of the student to return. The identifier can be one of the+-- following: * the numeric identifier for the user * the email address of+-- the user * the string literal \`\"me\"\`, indicating the requesting user+csgUserId :: Lens' CoursesStudentsGet Text+csgUserId+ = lens _csgUserId (\ s a -> s{_csgUserId = a})++-- | OAuth bearer token.+csgBearerToken :: Lens' CoursesStudentsGet (Maybe Text)+csgBearerToken+ = lens _csgBearerToken+ (\ s a -> s{_csgBearerToken = a})++-- | JSONP+csgCallback :: Lens' CoursesStudentsGet (Maybe Text)+csgCallback+ = lens _csgCallback (\ s a -> s{_csgCallback = a})++instance GoogleRequest CoursesStudentsGet where+ type Rs CoursesStudentsGet = Student+ requestClient CoursesStudentsGet{..}+ = go _csgCourseId _csgUserId _csgXgafv+ _csgUploadProtocol+ (Just _csgPp)+ _csgAccessToken+ _csgUploadType+ _csgBearerToken+ _csgCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesStudentsGetResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Students/List.hs view
@@ -0,0 +1,205 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Courses.Students.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of students of this course that the requester is+-- permitted to view. This method returns the following error codes: *+-- \`NOT_FOUND\` if the course does not exist. * \`PERMISSION_DENIED\` for+-- access errors.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.students.list@.+module Network.Google.Resource.Classroom.Courses.Students.List+ (+ -- * REST Resource+ CoursesStudentsListResource++ -- * Creating a Request+ , coursesStudentsList+ , CoursesStudentsList++ -- * Request Lenses+ , cslXgafv+ , cslUploadProtocol+ , cslPp+ , cslCourseId+ , cslAccessToken+ , cslUploadType+ , cslBearerToken+ , cslPageToken+ , cslPageSize+ , cslCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.students.list@ method which the+-- 'CoursesStudentsList' request conforms to.+type CoursesStudentsListResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "students" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListStudentsResponse++-- | Returns a list of students of this course that the requester is+-- permitted to view. This method returns the following error codes: *+-- \`NOT_FOUND\` if the course does not exist. * \`PERMISSION_DENIED\` for+-- access errors.+--+-- /See:/ 'coursesStudentsList' smart constructor.+data CoursesStudentsList = CoursesStudentsList+ { _cslXgafv :: !(Maybe Text)+ , _cslUploadProtocol :: !(Maybe Text)+ , _cslPp :: !Bool+ , _cslCourseId :: !Text+ , _cslAccessToken :: !(Maybe Text)+ , _cslUploadType :: !(Maybe Text)+ , _cslBearerToken :: !(Maybe Text)+ , _cslPageToken :: !(Maybe Text)+ , _cslPageSize :: !(Maybe (Textual Int32))+ , _cslCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesStudentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cslXgafv'+--+-- * 'cslUploadProtocol'+--+-- * 'cslPp'+--+-- * 'cslCourseId'+--+-- * 'cslAccessToken'+--+-- * 'cslUploadType'+--+-- * 'cslBearerToken'+--+-- * 'cslPageToken'+--+-- * 'cslPageSize'+--+-- * 'cslCallback'+coursesStudentsList+ :: Text -- ^ 'cslCourseId'+ -> CoursesStudentsList+coursesStudentsList pCslCourseId_ =+ CoursesStudentsList+ { _cslXgafv = Nothing+ , _cslUploadProtocol = Nothing+ , _cslPp = True+ , _cslCourseId = pCslCourseId_+ , _cslAccessToken = Nothing+ , _cslUploadType = Nothing+ , _cslBearerToken = Nothing+ , _cslPageToken = Nothing+ , _cslPageSize = Nothing+ , _cslCallback = Nothing+ }++-- | V1 error format.+cslXgafv :: Lens' CoursesStudentsList (Maybe Text)+cslXgafv = lens _cslXgafv (\ s a -> s{_cslXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cslUploadProtocol :: Lens' CoursesStudentsList (Maybe Text)+cslUploadProtocol+ = lens _cslUploadProtocol+ (\ s a -> s{_cslUploadProtocol = a})++-- | Pretty-print response.+cslPp :: Lens' CoursesStudentsList Bool+cslPp = lens _cslPp (\ s a -> s{_cslPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cslCourseId :: Lens' CoursesStudentsList Text+cslCourseId+ = lens _cslCourseId (\ s a -> s{_cslCourseId = a})++-- | OAuth access token.+cslAccessToken :: Lens' CoursesStudentsList (Maybe Text)+cslAccessToken+ = lens _cslAccessToken+ (\ s a -> s{_cslAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cslUploadType :: Lens' CoursesStudentsList (Maybe Text)+cslUploadType+ = lens _cslUploadType+ (\ s a -> s{_cslUploadType = a})++-- | OAuth bearer token.+cslBearerToken :: Lens' CoursesStudentsList (Maybe Text)+cslBearerToken+ = lens _cslBearerToken+ (\ s a -> s{_cslBearerToken = a})++-- | nextPageToken value returned from a previous list call, indicating that+-- the subsequent page of results should be returned. The list request must+-- be otherwise identical to the one that resulted in this token.+cslPageToken :: Lens' CoursesStudentsList (Maybe Text)+cslPageToken+ = lens _cslPageToken (\ s a -> s{_cslPageToken = a})++-- | Maximum number of items to return. Zero means no maximum. The server may+-- return fewer than the specified number of results.+cslPageSize :: Lens' CoursesStudentsList (Maybe Int32)+cslPageSize+ = lens _cslPageSize (\ s a -> s{_cslPageSize = a}) .+ mapping _Coerce++-- | JSONP+cslCallback :: Lens' CoursesStudentsList (Maybe Text)+cslCallback+ = lens _cslCallback (\ s a -> s{_cslCallback = a})++instance GoogleRequest CoursesStudentsList where+ type Rs CoursesStudentsList = ListStudentsResponse+ requestClient CoursesStudentsList{..}+ = go _cslCourseId _cslXgafv _cslUploadProtocol+ (Just _cslPp)+ _cslAccessToken+ _cslUploadType+ _cslBearerToken+ _cslPageToken+ _cslPageSize+ _cslCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesStudentsListResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Teachers/Create.hs view
@@ -0,0 +1,199 @@+{-# 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.Classroom.Courses.Teachers.Create+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to create teachers in this course or for access errors. * \`NOT_FOUND\`+-- if the requested course ID does not exist. * \`FAILED_PRECONDITION\` if+-- the requested user\'s account is disabled, for the following request+-- errors: * CourseMemberLimitReached * CourseNotModifiable *+-- CourseTeacherLimitReached * UserGroupsMembershipLimitReached *+-- \`ALREADY_EXISTS\` if the user is already a teacher or student in the+-- course.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.teachers.create@.+module Network.Google.Resource.Classroom.Courses.Teachers.Create+ (+ -- * REST Resource+ CoursesTeachersCreateResource++ -- * Creating a Request+ , coursesTeachersCreate+ , CoursesTeachersCreate++ -- * Request Lenses+ , ctcXgafv+ , ctcUploadProtocol+ , ctcPp+ , ctcCourseId+ , ctcAccessToken+ , ctcUploadType+ , ctcPayload+ , ctcBearerToken+ , ctcCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.teachers.create@ method which the+-- 'CoursesTeachersCreate' request conforms to.+type CoursesTeachersCreateResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "teachers" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Teacher :> Post '[JSON] Teacher++-- | Creates a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to create teachers in this course or for access errors. * \`NOT_FOUND\`+-- if the requested course ID does not exist. * \`FAILED_PRECONDITION\` if+-- the requested user\'s account is disabled, for the following request+-- errors: * CourseMemberLimitReached * CourseNotModifiable *+-- CourseTeacherLimitReached * UserGroupsMembershipLimitReached *+-- \`ALREADY_EXISTS\` if the user is already a teacher or student in the+-- course.+--+-- /See:/ 'coursesTeachersCreate' smart constructor.+data CoursesTeachersCreate = CoursesTeachersCreate+ { _ctcXgafv :: !(Maybe Text)+ , _ctcUploadProtocol :: !(Maybe Text)+ , _ctcPp :: !Bool+ , _ctcCourseId :: !Text+ , _ctcAccessToken :: !(Maybe Text)+ , _ctcUploadType :: !(Maybe Text)+ , _ctcPayload :: !Teacher+ , _ctcBearerToken :: !(Maybe Text)+ , _ctcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesTeachersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctcXgafv'+--+-- * 'ctcUploadProtocol'+--+-- * 'ctcPp'+--+-- * 'ctcCourseId'+--+-- * 'ctcAccessToken'+--+-- * 'ctcUploadType'+--+-- * 'ctcPayload'+--+-- * 'ctcBearerToken'+--+-- * 'ctcCallback'+coursesTeachersCreate+ :: Text -- ^ 'ctcCourseId'+ -> Teacher -- ^ 'ctcPayload'+ -> CoursesTeachersCreate+coursesTeachersCreate pCtcCourseId_ pCtcPayload_ =+ CoursesTeachersCreate+ { _ctcXgafv = Nothing+ , _ctcUploadProtocol = Nothing+ , _ctcPp = True+ , _ctcCourseId = pCtcCourseId_+ , _ctcAccessToken = Nothing+ , _ctcUploadType = Nothing+ , _ctcPayload = pCtcPayload_+ , _ctcBearerToken = Nothing+ , _ctcCallback = Nothing+ }++-- | V1 error format.+ctcXgafv :: Lens' CoursesTeachersCreate (Maybe Text)+ctcXgafv = lens _ctcXgafv (\ s a -> s{_ctcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ctcUploadProtocol :: Lens' CoursesTeachersCreate (Maybe Text)+ctcUploadProtocol+ = lens _ctcUploadProtocol+ (\ s a -> s{_ctcUploadProtocol = a})++-- | Pretty-print response.+ctcPp :: Lens' CoursesTeachersCreate Bool+ctcPp = lens _ctcPp (\ s a -> s{_ctcPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ctcCourseId :: Lens' CoursesTeachersCreate Text+ctcCourseId+ = lens _ctcCourseId (\ s a -> s{_ctcCourseId = a})++-- | OAuth access token.+ctcAccessToken :: Lens' CoursesTeachersCreate (Maybe Text)+ctcAccessToken+ = lens _ctcAccessToken+ (\ s a -> s{_ctcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ctcUploadType :: Lens' CoursesTeachersCreate (Maybe Text)+ctcUploadType+ = lens _ctcUploadType+ (\ s a -> s{_ctcUploadType = a})++-- | Multipart request metadata.+ctcPayload :: Lens' CoursesTeachersCreate Teacher+ctcPayload+ = lens _ctcPayload (\ s a -> s{_ctcPayload = a})++-- | OAuth bearer token.+ctcBearerToken :: Lens' CoursesTeachersCreate (Maybe Text)+ctcBearerToken+ = lens _ctcBearerToken+ (\ s a -> s{_ctcBearerToken = a})++-- | JSONP+ctcCallback :: Lens' CoursesTeachersCreate (Maybe Text)+ctcCallback+ = lens _ctcCallback (\ s a -> s{_ctcCallback = a})++instance GoogleRequest CoursesTeachersCreate where+ type Rs CoursesTeachersCreate = Teacher+ requestClient CoursesTeachersCreate{..}+ = go _ctcCourseId _ctcXgafv _ctcUploadProtocol+ (Just _ctcPp)+ _ctcAccessToken+ _ctcUploadType+ _ctcBearerToken+ _ctcCallback+ (Just AltJSON)+ _ctcPayload+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesTeachersCreateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Teachers/Delete.hs view
@@ -0,0 +1,195 @@+{-# 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.Classroom.Courses.Teachers.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to delete teachers of this course or for access errors. * \`NOT_FOUND\`+-- if no teacher of this course has the requested ID or if the course does+-- not exist. * \`FAILED_PRECONDITION\` if the requested ID belongs to the+-- primary teacher of this course.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.teachers.delete@.+module Network.Google.Resource.Classroom.Courses.Teachers.Delete+ (+ -- * REST Resource+ CoursesTeachersDeleteResource++ -- * Creating a Request+ , coursesTeachersDelete+ , CoursesTeachersDelete++ -- * Request Lenses+ , ctdXgafv+ , ctdUploadProtocol+ , ctdPp+ , ctdCourseId+ , ctdAccessToken+ , ctdUploadType+ , ctdUserId+ , ctdBearerToken+ , ctdCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.teachers.delete@ method which the+-- 'CoursesTeachersDelete' request conforms to.+type CoursesTeachersDeleteResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "teachers" :>+ Capture "userId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to delete teachers of this course or for access errors. * \`NOT_FOUND\`+-- if no teacher of this course has the requested ID or if the course does+-- not exist. * \`FAILED_PRECONDITION\` if the requested ID belongs to the+-- primary teacher of this course.+--+-- /See:/ 'coursesTeachersDelete' smart constructor.+data CoursesTeachersDelete = CoursesTeachersDelete+ { _ctdXgafv :: !(Maybe Text)+ , _ctdUploadProtocol :: !(Maybe Text)+ , _ctdPp :: !Bool+ , _ctdCourseId :: !Text+ , _ctdAccessToken :: !(Maybe Text)+ , _ctdUploadType :: !(Maybe Text)+ , _ctdUserId :: !Text+ , _ctdBearerToken :: !(Maybe Text)+ , _ctdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesTeachersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctdXgafv'+--+-- * 'ctdUploadProtocol'+--+-- * 'ctdPp'+--+-- * 'ctdCourseId'+--+-- * 'ctdAccessToken'+--+-- * 'ctdUploadType'+--+-- * 'ctdUserId'+--+-- * 'ctdBearerToken'+--+-- * 'ctdCallback'+coursesTeachersDelete+ :: Text -- ^ 'ctdCourseId'+ -> Text -- ^ 'ctdUserId'+ -> CoursesTeachersDelete+coursesTeachersDelete pCtdCourseId_ pCtdUserId_ =+ CoursesTeachersDelete+ { _ctdXgafv = Nothing+ , _ctdUploadProtocol = Nothing+ , _ctdPp = True+ , _ctdCourseId = pCtdCourseId_+ , _ctdAccessToken = Nothing+ , _ctdUploadType = Nothing+ , _ctdUserId = pCtdUserId_+ , _ctdBearerToken = Nothing+ , _ctdCallback = Nothing+ }++-- | V1 error format.+ctdXgafv :: Lens' CoursesTeachersDelete (Maybe Text)+ctdXgafv = lens _ctdXgafv (\ s a -> s{_ctdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ctdUploadProtocol :: Lens' CoursesTeachersDelete (Maybe Text)+ctdUploadProtocol+ = lens _ctdUploadProtocol+ (\ s a -> s{_ctdUploadProtocol = a})++-- | Pretty-print response.+ctdPp :: Lens' CoursesTeachersDelete Bool+ctdPp = lens _ctdPp (\ s a -> s{_ctdPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ctdCourseId :: Lens' CoursesTeachersDelete Text+ctdCourseId+ = lens _ctdCourseId (\ s a -> s{_ctdCourseId = a})++-- | OAuth access token.+ctdAccessToken :: Lens' CoursesTeachersDelete (Maybe Text)+ctdAccessToken+ = lens _ctdAccessToken+ (\ s a -> s{_ctdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ctdUploadType :: Lens' CoursesTeachersDelete (Maybe Text)+ctdUploadType+ = lens _ctdUploadType+ (\ s a -> s{_ctdUploadType = a})++-- | Identifier of the teacher to delete. The identifier can be one of the+-- following: * the numeric identifier for the user * the email address of+-- the user * the string literal \`\"me\"\`, indicating the requesting user+ctdUserId :: Lens' CoursesTeachersDelete Text+ctdUserId+ = lens _ctdUserId (\ s a -> s{_ctdUserId = a})++-- | OAuth bearer token.+ctdBearerToken :: Lens' CoursesTeachersDelete (Maybe Text)+ctdBearerToken+ = lens _ctdBearerToken+ (\ s a -> s{_ctdBearerToken = a})++-- | JSONP+ctdCallback :: Lens' CoursesTeachersDelete (Maybe Text)+ctdCallback+ = lens _ctdCallback (\ s a -> s{_ctdCallback = a})++instance GoogleRequest CoursesTeachersDelete where+ type Rs CoursesTeachersDelete = Empty+ requestClient CoursesTeachersDelete{..}+ = go _ctdCourseId _ctdUserId _ctdXgafv+ _ctdUploadProtocol+ (Just _ctdPp)+ _ctdAccessToken+ _ctdUploadType+ _ctdBearerToken+ _ctdCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesTeachersDeleteResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Teachers/Get.hs view
@@ -0,0 +1,193 @@+{-# 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.Classroom.Courses.Teachers.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to view teachers of this course or for access errors. * \`NOT_FOUND\` if+-- no teacher of this course has the requested ID or if the course does not+-- exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.teachers.get@.+module Network.Google.Resource.Classroom.Courses.Teachers.Get+ (+ -- * REST Resource+ CoursesTeachersGetResource++ -- * Creating a Request+ , coursesTeachersGet+ , CoursesTeachersGet++ -- * Request Lenses+ , ctgXgafv+ , ctgUploadProtocol+ , ctgPp+ , ctgCourseId+ , ctgAccessToken+ , ctgUploadType+ , ctgUserId+ , ctgBearerToken+ , ctgCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.teachers.get@ method which the+-- 'CoursesTeachersGet' request conforms to.+type CoursesTeachersGetResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "teachers" :>+ Capture "userId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Teacher++-- | Returns a teacher of a course. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to view teachers of this course or for access errors. * \`NOT_FOUND\` if+-- no teacher of this course has the requested ID or if the course does not+-- exist.+--+-- /See:/ 'coursesTeachersGet' smart constructor.+data CoursesTeachersGet = CoursesTeachersGet+ { _ctgXgafv :: !(Maybe Text)+ , _ctgUploadProtocol :: !(Maybe Text)+ , _ctgPp :: !Bool+ , _ctgCourseId :: !Text+ , _ctgAccessToken :: !(Maybe Text)+ , _ctgUploadType :: !(Maybe Text)+ , _ctgUserId :: !Text+ , _ctgBearerToken :: !(Maybe Text)+ , _ctgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesTeachersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctgXgafv'+--+-- * 'ctgUploadProtocol'+--+-- * 'ctgPp'+--+-- * 'ctgCourseId'+--+-- * 'ctgAccessToken'+--+-- * 'ctgUploadType'+--+-- * 'ctgUserId'+--+-- * 'ctgBearerToken'+--+-- * 'ctgCallback'+coursesTeachersGet+ :: Text -- ^ 'ctgCourseId'+ -> Text -- ^ 'ctgUserId'+ -> CoursesTeachersGet+coursesTeachersGet pCtgCourseId_ pCtgUserId_ =+ CoursesTeachersGet+ { _ctgXgafv = Nothing+ , _ctgUploadProtocol = Nothing+ , _ctgPp = True+ , _ctgCourseId = pCtgCourseId_+ , _ctgAccessToken = Nothing+ , _ctgUploadType = Nothing+ , _ctgUserId = pCtgUserId_+ , _ctgBearerToken = Nothing+ , _ctgCallback = Nothing+ }++-- | V1 error format.+ctgXgafv :: Lens' CoursesTeachersGet (Maybe Text)+ctgXgafv = lens _ctgXgafv (\ s a -> s{_ctgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ctgUploadProtocol :: Lens' CoursesTeachersGet (Maybe Text)+ctgUploadProtocol+ = lens _ctgUploadProtocol+ (\ s a -> s{_ctgUploadProtocol = a})++-- | Pretty-print response.+ctgPp :: Lens' CoursesTeachersGet Bool+ctgPp = lens _ctgPp (\ s a -> s{_ctgPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ctgCourseId :: Lens' CoursesTeachersGet Text+ctgCourseId+ = lens _ctgCourseId (\ s a -> s{_ctgCourseId = a})++-- | OAuth access token.+ctgAccessToken :: Lens' CoursesTeachersGet (Maybe Text)+ctgAccessToken+ = lens _ctgAccessToken+ (\ s a -> s{_ctgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ctgUploadType :: Lens' CoursesTeachersGet (Maybe Text)+ctgUploadType+ = lens _ctgUploadType+ (\ s a -> s{_ctgUploadType = a})++-- | Identifier of the teacher to return. The identifier can be one of the+-- following: * the numeric identifier for the user * the email address of+-- the user * the string literal \`\"me\"\`, indicating the requesting user+ctgUserId :: Lens' CoursesTeachersGet Text+ctgUserId+ = lens _ctgUserId (\ s a -> s{_ctgUserId = a})++-- | OAuth bearer token.+ctgBearerToken :: Lens' CoursesTeachersGet (Maybe Text)+ctgBearerToken+ = lens _ctgBearerToken+ (\ s a -> s{_ctgBearerToken = a})++-- | JSONP+ctgCallback :: Lens' CoursesTeachersGet (Maybe Text)+ctgCallback+ = lens _ctgCallback (\ s a -> s{_ctgCallback = a})++instance GoogleRequest CoursesTeachersGet where+ type Rs CoursesTeachersGet = Teacher+ requestClient CoursesTeachersGet{..}+ = go _ctgCourseId _ctgUserId _ctgXgafv+ _ctgUploadProtocol+ (Just _ctgPp)+ _ctgAccessToken+ _ctgUploadType+ _ctgBearerToken+ _ctgCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesTeachersGetResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Teachers/List.hs view
@@ -0,0 +1,205 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Courses.Teachers.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of teachers of this course that the requester is+-- permitted to view. This method returns the following error codes: *+-- \`NOT_FOUND\` if the course does not exist. * \`PERMISSION_DENIED\` for+-- access errors.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.teachers.list@.+module Network.Google.Resource.Classroom.Courses.Teachers.List+ (+ -- * REST Resource+ CoursesTeachersListResource++ -- * Creating a Request+ , coursesTeachersList+ , CoursesTeachersList++ -- * Request Lenses+ , ctlXgafv+ , ctlUploadProtocol+ , ctlPp+ , ctlCourseId+ , ctlAccessToken+ , ctlUploadType+ , ctlBearerToken+ , ctlPageToken+ , ctlPageSize+ , ctlCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.teachers.list@ method which the+-- 'CoursesTeachersList' request conforms to.+type CoursesTeachersListResource =+ "v1" :>+ "courses" :>+ Capture "courseId" Text :>+ "teachers" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListTeachersResponse++-- | Returns a list of teachers of this course that the requester is+-- permitted to view. This method returns the following error codes: *+-- \`NOT_FOUND\` if the course does not exist. * \`PERMISSION_DENIED\` for+-- access errors.+--+-- /See:/ 'coursesTeachersList' smart constructor.+data CoursesTeachersList = CoursesTeachersList+ { _ctlXgafv :: !(Maybe Text)+ , _ctlUploadProtocol :: !(Maybe Text)+ , _ctlPp :: !Bool+ , _ctlCourseId :: !Text+ , _ctlAccessToken :: !(Maybe Text)+ , _ctlUploadType :: !(Maybe Text)+ , _ctlBearerToken :: !(Maybe Text)+ , _ctlPageToken :: !(Maybe Text)+ , _ctlPageSize :: !(Maybe (Textual Int32))+ , _ctlCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesTeachersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctlXgafv'+--+-- * 'ctlUploadProtocol'+--+-- * 'ctlPp'+--+-- * 'ctlCourseId'+--+-- * 'ctlAccessToken'+--+-- * 'ctlUploadType'+--+-- * 'ctlBearerToken'+--+-- * 'ctlPageToken'+--+-- * 'ctlPageSize'+--+-- * 'ctlCallback'+coursesTeachersList+ :: Text -- ^ 'ctlCourseId'+ -> CoursesTeachersList+coursesTeachersList pCtlCourseId_ =+ CoursesTeachersList+ { _ctlXgafv = Nothing+ , _ctlUploadProtocol = Nothing+ , _ctlPp = True+ , _ctlCourseId = pCtlCourseId_+ , _ctlAccessToken = Nothing+ , _ctlUploadType = Nothing+ , _ctlBearerToken = Nothing+ , _ctlPageToken = Nothing+ , _ctlPageSize = Nothing+ , _ctlCallback = Nothing+ }++-- | V1 error format.+ctlXgafv :: Lens' CoursesTeachersList (Maybe Text)+ctlXgafv = lens _ctlXgafv (\ s a -> s{_ctlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ctlUploadProtocol :: Lens' CoursesTeachersList (Maybe Text)+ctlUploadProtocol+ = lens _ctlUploadProtocol+ (\ s a -> s{_ctlUploadProtocol = a})++-- | Pretty-print response.+ctlPp :: Lens' CoursesTeachersList Bool+ctlPp = lens _ctlPp (\ s a -> s{_ctlPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ctlCourseId :: Lens' CoursesTeachersList Text+ctlCourseId+ = lens _ctlCourseId (\ s a -> s{_ctlCourseId = a})++-- | OAuth access token.+ctlAccessToken :: Lens' CoursesTeachersList (Maybe Text)+ctlAccessToken+ = lens _ctlAccessToken+ (\ s a -> s{_ctlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ctlUploadType :: Lens' CoursesTeachersList (Maybe Text)+ctlUploadType+ = lens _ctlUploadType+ (\ s a -> s{_ctlUploadType = a})++-- | OAuth bearer token.+ctlBearerToken :: Lens' CoursesTeachersList (Maybe Text)+ctlBearerToken+ = lens _ctlBearerToken+ (\ s a -> s{_ctlBearerToken = a})++-- | nextPageToken value returned from a previous list call, indicating that+-- the subsequent page of results should be returned. The list request must+-- be otherwise identical to the one that resulted in this token.+ctlPageToken :: Lens' CoursesTeachersList (Maybe Text)+ctlPageToken+ = lens _ctlPageToken (\ s a -> s{_ctlPageToken = a})++-- | Maximum number of items to return. Zero means no maximum. The server may+-- return fewer than the specified number of results.+ctlPageSize :: Lens' CoursesTeachersList (Maybe Int32)+ctlPageSize+ = lens _ctlPageSize (\ s a -> s{_ctlPageSize = a}) .+ mapping _Coerce++-- | JSONP+ctlCallback :: Lens' CoursesTeachersList (Maybe Text)+ctlCallback+ = lens _ctlCallback (\ s a -> s{_ctlCallback = a})++instance GoogleRequest CoursesTeachersList where+ type Rs CoursesTeachersList = ListTeachersResponse+ requestClient CoursesTeachersList{..}+ = go _ctlCourseId _ctlXgafv _ctlUploadProtocol+ (Just _ctlPp)+ _ctlAccessToken+ _ctlUploadType+ _ctlBearerToken+ _ctlPageToken+ _ctlPageSize+ _ctlCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy CoursesTeachersListResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Courses/Update.hs view
@@ -0,0 +1,186 @@+{-# 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.Classroom.Courses.Update+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to modify+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID. * \`FAILED_PRECONDITION\` for the+-- following request errors: * CourseNotModifiable+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.update@.+module Network.Google.Resource.Classroom.Courses.Update+ (+ -- * REST Resource+ CoursesUpdateResource++ -- * Creating a Request+ , coursesUpdate+ , CoursesUpdate++ -- * Request Lenses+ , cuXgafv+ , cuUploadProtocol+ , cuPp+ , cuAccessToken+ , cuUploadType+ , cuPayload+ , cuBearerToken+ , cuId+ , cuCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.courses.update@ method which the+-- 'CoursesUpdate' request conforms to.+type CoursesUpdateResource =+ "v1" :>+ "courses" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Course :> Put '[JSON] Course++-- | Updates a course. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to modify+-- the requested course or for access errors. * \`NOT_FOUND\` if no course+-- exists with the requested ID. * \`FAILED_PRECONDITION\` for the+-- following request errors: * CourseNotModifiable+--+-- /See:/ 'coursesUpdate' smart constructor.+data CoursesUpdate = CoursesUpdate+ { _cuXgafv :: !(Maybe Text)+ , _cuUploadProtocol :: !(Maybe Text)+ , _cuPp :: !Bool+ , _cuAccessToken :: !(Maybe Text)+ , _cuUploadType :: !(Maybe Text)+ , _cuPayload :: !Course+ , _cuBearerToken :: !(Maybe Text)+ , _cuId :: !Text+ , _cuCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuXgafv'+--+-- * 'cuUploadProtocol'+--+-- * 'cuPp'+--+-- * 'cuAccessToken'+--+-- * 'cuUploadType'+--+-- * 'cuPayload'+--+-- * 'cuBearerToken'+--+-- * 'cuId'+--+-- * 'cuCallback'+coursesUpdate+ :: Course -- ^ 'cuPayload'+ -> Text -- ^ 'cuId'+ -> CoursesUpdate+coursesUpdate pCuPayload_ pCuId_ =+ CoursesUpdate+ { _cuXgafv = Nothing+ , _cuUploadProtocol = Nothing+ , _cuPp = True+ , _cuAccessToken = Nothing+ , _cuUploadType = Nothing+ , _cuPayload = pCuPayload_+ , _cuBearerToken = Nothing+ , _cuId = pCuId_+ , _cuCallback = Nothing+ }++-- | V1 error format.+cuXgafv :: Lens' CoursesUpdate (Maybe Text)+cuXgafv = lens _cuXgafv (\ s a -> s{_cuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+cuUploadProtocol :: Lens' CoursesUpdate (Maybe Text)+cuUploadProtocol+ = lens _cuUploadProtocol+ (\ s a -> s{_cuUploadProtocol = a})++-- | Pretty-print response.+cuPp :: Lens' CoursesUpdate Bool+cuPp = lens _cuPp (\ s a -> s{_cuPp = a})++-- | OAuth access token.+cuAccessToken :: Lens' CoursesUpdate (Maybe Text)+cuAccessToken+ = lens _cuAccessToken+ (\ s a -> s{_cuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+cuUploadType :: Lens' CoursesUpdate (Maybe Text)+cuUploadType+ = lens _cuUploadType (\ s a -> s{_cuUploadType = a})++-- | Multipart request metadata.+cuPayload :: Lens' CoursesUpdate Course+cuPayload+ = lens _cuPayload (\ s a -> s{_cuPayload = a})++-- | OAuth bearer token.+cuBearerToken :: Lens' CoursesUpdate (Maybe Text)+cuBearerToken+ = lens _cuBearerToken+ (\ s a -> s{_cuBearerToken = a})++-- | Identifier of the course to update. This identifier can be either the+-- Classroom-assigned identifier or an alias.+cuId :: Lens' CoursesUpdate Text+cuId = lens _cuId (\ s a -> s{_cuId = a})++-- | JSONP+cuCallback :: Lens' CoursesUpdate (Maybe Text)+cuCallback+ = lens _cuCallback (\ s a -> s{_cuCallback = a})++instance GoogleRequest CoursesUpdate where+ type Rs CoursesUpdate = Course+ requestClient CoursesUpdate{..}+ = go _cuId _cuXgafv _cuUploadProtocol (Just _cuPp)+ _cuAccessToken+ _cuUploadType+ _cuBearerToken+ _cuCallback+ (Just AltJSON)+ _cuPayload+ classroomService+ where go+ = buildClient (Proxy :: Proxy CoursesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Invitations/Accept.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Invitations.Accept+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Accepts an invitation, removing it and adding the invited user to the+-- teachers or students (as appropriate) of the specified course. Only the+-- invited user may accept an invitation. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to accept the requested invitation or for access errors. *+-- \`FAILED_PRECONDITION\` for the following request errors: *+-- CourseMemberLimitReached * CourseNotModifiable *+-- CourseTeacherLimitReached * UserGroupsMembershipLimitReached *+-- \`NOT_FOUND\` if no invitation exists with the requested ID.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.invitations.accept@.+module Network.Google.Resource.Classroom.Invitations.Accept+ (+ -- * REST Resource+ InvitationsAcceptResource++ -- * Creating a Request+ , invitationsAccept+ , InvitationsAccept++ -- * Request Lenses+ , iaXgafv+ , iaUploadProtocol+ , iaPp+ , iaAccessToken+ , iaUploadType+ , iaBearerToken+ , iaId+ , iaCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.invitations.accept@ method which the+-- 'InvitationsAccept' request conforms to.+type InvitationsAcceptResource =+ "v1" :>+ "invitations" :>+ CaptureMode "id" "accept" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] Empty++-- | Accepts an invitation, removing it and adding the invited user to the+-- teachers or students (as appropriate) of the specified course. Only the+-- invited user may accept an invitation. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to accept the requested invitation or for access errors. *+-- \`FAILED_PRECONDITION\` for the following request errors: *+-- CourseMemberLimitReached * CourseNotModifiable *+-- CourseTeacherLimitReached * UserGroupsMembershipLimitReached *+-- \`NOT_FOUND\` if no invitation exists with the requested ID.+--+-- /See:/ 'invitationsAccept' smart constructor.+data InvitationsAccept = InvitationsAccept+ { _iaXgafv :: !(Maybe Text)+ , _iaUploadProtocol :: !(Maybe Text)+ , _iaPp :: !Bool+ , _iaAccessToken :: !(Maybe Text)+ , _iaUploadType :: !(Maybe Text)+ , _iaBearerToken :: !(Maybe Text)+ , _iaId :: !Text+ , _iaCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InvitationsAccept' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaXgafv'+--+-- * 'iaUploadProtocol'+--+-- * 'iaPp'+--+-- * 'iaAccessToken'+--+-- * 'iaUploadType'+--+-- * 'iaBearerToken'+--+-- * 'iaId'+--+-- * 'iaCallback'+invitationsAccept+ :: Text -- ^ 'iaId'+ -> InvitationsAccept+invitationsAccept pIaId_ =+ InvitationsAccept+ { _iaXgafv = Nothing+ , _iaUploadProtocol = Nothing+ , _iaPp = True+ , _iaAccessToken = Nothing+ , _iaUploadType = Nothing+ , _iaBearerToken = Nothing+ , _iaId = pIaId_+ , _iaCallback = Nothing+ }++-- | V1 error format.+iaXgafv :: Lens' InvitationsAccept (Maybe Text)+iaXgafv = lens _iaXgafv (\ s a -> s{_iaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+iaUploadProtocol :: Lens' InvitationsAccept (Maybe Text)+iaUploadProtocol+ = lens _iaUploadProtocol+ (\ s a -> s{_iaUploadProtocol = a})++-- | Pretty-print response.+iaPp :: Lens' InvitationsAccept Bool+iaPp = lens _iaPp (\ s a -> s{_iaPp = a})++-- | OAuth access token.+iaAccessToken :: Lens' InvitationsAccept (Maybe Text)+iaAccessToken+ = lens _iaAccessToken+ (\ s a -> s{_iaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+iaUploadType :: Lens' InvitationsAccept (Maybe Text)+iaUploadType+ = lens _iaUploadType (\ s a -> s{_iaUploadType = a})++-- | OAuth bearer token.+iaBearerToken :: Lens' InvitationsAccept (Maybe Text)+iaBearerToken+ = lens _iaBearerToken+ (\ s a -> s{_iaBearerToken = a})++-- | Identifier of the invitation to accept.+iaId :: Lens' InvitationsAccept Text+iaId = lens _iaId (\ s a -> s{_iaId = a})++-- | JSONP+iaCallback :: Lens' InvitationsAccept (Maybe Text)+iaCallback+ = lens _iaCallback (\ s a -> s{_iaCallback = a})++instance GoogleRequest InvitationsAccept where+ type Rs InvitationsAccept = Empty+ requestClient InvitationsAccept{..}+ = go _iaId _iaXgafv _iaUploadProtocol (Just _iaPp)+ _iaAccessToken+ _iaUploadType+ _iaBearerToken+ _iaCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy InvitationsAcceptResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Invitations/Create.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Invitations.Create+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an invitation. Only one invitation for a user and course may+-- exist at a time. Delete and re-create an invitation to make changes.+-- This method returns the following error codes: * \`PERMISSION_DENIED\`+-- if the requesting user is not permitted to create invitations for this+-- course or for access errors. * \`NOT_FOUND\` if the course or the user+-- does not exist. * \`FAILED_PRECONDITION\` if the requested user\'s+-- account is disabled or if the user already has this role or a role with+-- greater permissions. * \`ALREADY_EXISTS\` if an invitation for the+-- specified user and course already exists.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.invitations.create@.+module Network.Google.Resource.Classroom.Invitations.Create+ (+ -- * REST Resource+ InvitationsCreateResource++ -- * Creating a Request+ , invitationsCreate+ , InvitationsCreate++ -- * Request Lenses+ , icXgafv+ , icUploadProtocol+ , icPp+ , icAccessToken+ , icUploadType+ , icPayload+ , icBearerToken+ , icCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.invitations.create@ method which the+-- 'InvitationsCreate' request conforms to.+type InvitationsCreateResource =+ "v1" :>+ "invitations" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Invitation :> Post '[JSON] Invitation++-- | Creates an invitation. Only one invitation for a user and course may+-- exist at a time. Delete and re-create an invitation to make changes.+-- This method returns the following error codes: * \`PERMISSION_DENIED\`+-- if the requesting user is not permitted to create invitations for this+-- course or for access errors. * \`NOT_FOUND\` if the course or the user+-- does not exist. * \`FAILED_PRECONDITION\` if the requested user\'s+-- account is disabled or if the user already has this role or a role with+-- greater permissions. * \`ALREADY_EXISTS\` if an invitation for the+-- specified user and course already exists.+--+-- /See:/ 'invitationsCreate' smart constructor.+data InvitationsCreate = InvitationsCreate+ { _icXgafv :: !(Maybe Text)+ , _icUploadProtocol :: !(Maybe Text)+ , _icPp :: !Bool+ , _icAccessToken :: !(Maybe Text)+ , _icUploadType :: !(Maybe Text)+ , _icPayload :: !Invitation+ , _icBearerToken :: !(Maybe Text)+ , _icCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InvitationsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icXgafv'+--+-- * 'icUploadProtocol'+--+-- * 'icPp'+--+-- * 'icAccessToken'+--+-- * 'icUploadType'+--+-- * 'icPayload'+--+-- * 'icBearerToken'+--+-- * 'icCallback'+invitationsCreate+ :: Invitation -- ^ 'icPayload'+ -> InvitationsCreate+invitationsCreate pIcPayload_ =+ InvitationsCreate+ { _icXgafv = Nothing+ , _icUploadProtocol = Nothing+ , _icPp = True+ , _icAccessToken = Nothing+ , _icUploadType = Nothing+ , _icPayload = pIcPayload_+ , _icBearerToken = Nothing+ , _icCallback = Nothing+ }++-- | V1 error format.+icXgafv :: Lens' InvitationsCreate (Maybe Text)+icXgafv = lens _icXgafv (\ s a -> s{_icXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+icUploadProtocol :: Lens' InvitationsCreate (Maybe Text)+icUploadProtocol+ = lens _icUploadProtocol+ (\ s a -> s{_icUploadProtocol = a})++-- | Pretty-print response.+icPp :: Lens' InvitationsCreate Bool+icPp = lens _icPp (\ s a -> s{_icPp = a})++-- | OAuth access token.+icAccessToken :: Lens' InvitationsCreate (Maybe Text)+icAccessToken+ = lens _icAccessToken+ (\ s a -> s{_icAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+icUploadType :: Lens' InvitationsCreate (Maybe Text)+icUploadType+ = lens _icUploadType (\ s a -> s{_icUploadType = a})++-- | Multipart request metadata.+icPayload :: Lens' InvitationsCreate Invitation+icPayload+ = lens _icPayload (\ s a -> s{_icPayload = a})++-- | OAuth bearer token.+icBearerToken :: Lens' InvitationsCreate (Maybe Text)+icBearerToken+ = lens _icBearerToken+ (\ s a -> s{_icBearerToken = a})++-- | JSONP+icCallback :: Lens' InvitationsCreate (Maybe Text)+icCallback+ = lens _icCallback (\ s a -> s{_icCallback = a})++instance GoogleRequest InvitationsCreate where+ type Rs InvitationsCreate = Invitation+ requestClient InvitationsCreate{..}+ = go _icXgafv _icUploadProtocol (Just _icPp)+ _icAccessToken+ _icUploadType+ _icBearerToken+ _icCallback+ (Just AltJSON)+ _icPayload+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy InvitationsCreateResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Invitations/Delete.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Invitations.Delete+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an invitation. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to delete+-- the requested invitation or for access errors. * \`NOT_FOUND\` if no+-- invitation exists with the requested ID.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.invitations.delete@.+module Network.Google.Resource.Classroom.Invitations.Delete+ (+ -- * REST Resource+ InvitationsDeleteResource++ -- * Creating a Request+ , invitationsDelete+ , InvitationsDelete++ -- * Request Lenses+ , idXgafv+ , idUploadProtocol+ , idPp+ , idAccessToken+ , idUploadType+ , idBearerToken+ , idId+ , idCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.invitations.delete@ method which the+-- 'InvitationsDelete' request conforms to.+type InvitationsDeleteResource =+ "v1" :>+ "invitations" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes an invitation. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to delete+-- the requested invitation or for access errors. * \`NOT_FOUND\` if no+-- invitation exists with the requested ID.+--+-- /See:/ 'invitationsDelete' smart constructor.+data InvitationsDelete = InvitationsDelete+ { _idXgafv :: !(Maybe Text)+ , _idUploadProtocol :: !(Maybe Text)+ , _idPp :: !Bool+ , _idAccessToken :: !(Maybe Text)+ , _idUploadType :: !(Maybe Text)+ , _idBearerToken :: !(Maybe Text)+ , _idId :: !Text+ , _idCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InvitationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idXgafv'+--+-- * 'idUploadProtocol'+--+-- * 'idPp'+--+-- * 'idAccessToken'+--+-- * 'idUploadType'+--+-- * 'idBearerToken'+--+-- * 'idId'+--+-- * 'idCallback'+invitationsDelete+ :: Text -- ^ 'idId'+ -> InvitationsDelete+invitationsDelete pIdId_ =+ InvitationsDelete+ { _idXgafv = Nothing+ , _idUploadProtocol = Nothing+ , _idPp = True+ , _idAccessToken = Nothing+ , _idUploadType = Nothing+ , _idBearerToken = Nothing+ , _idId = pIdId_+ , _idCallback = Nothing+ }++-- | V1 error format.+idXgafv :: Lens' InvitationsDelete (Maybe Text)+idXgafv = lens _idXgafv (\ s a -> s{_idXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idUploadProtocol :: Lens' InvitationsDelete (Maybe Text)+idUploadProtocol+ = lens _idUploadProtocol+ (\ s a -> s{_idUploadProtocol = a})++-- | Pretty-print response.+idPp :: Lens' InvitationsDelete Bool+idPp = lens _idPp (\ s a -> s{_idPp = a})++-- | OAuth access token.+idAccessToken :: Lens' InvitationsDelete (Maybe Text)+idAccessToken+ = lens _idAccessToken+ (\ s a -> s{_idAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idUploadType :: Lens' InvitationsDelete (Maybe Text)+idUploadType+ = lens _idUploadType (\ s a -> s{_idUploadType = a})++-- | OAuth bearer token.+idBearerToken :: Lens' InvitationsDelete (Maybe Text)+idBearerToken+ = lens _idBearerToken+ (\ s a -> s{_idBearerToken = a})++-- | Identifier of the invitation to delete.+idId :: Lens' InvitationsDelete Text+idId = lens _idId (\ s a -> s{_idId = a})++-- | JSONP+idCallback :: Lens' InvitationsDelete (Maybe Text)+idCallback+ = lens _idCallback (\ s a -> s{_idCallback = a})++instance GoogleRequest InvitationsDelete where+ type Rs InvitationsDelete = Empty+ requestClient InvitationsDelete{..}+ = go _idId _idXgafv _idUploadProtocol (Just _idPp)+ _idAccessToken+ _idUploadType+ _idBearerToken+ _idCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy InvitationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Invitations/Get.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Classroom.Invitations.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an invitation. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to view+-- the requested invitation or for access errors. * \`NOT_FOUND\` if no+-- invitation exists with the requested ID.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.invitations.get@.+module Network.Google.Resource.Classroom.Invitations.Get+ (+ -- * REST Resource+ InvitationsGetResource++ -- * Creating a Request+ , invitationsGet+ , InvitationsGet++ -- * Request Lenses+ , igXgafv+ , igUploadProtocol+ , igPp+ , igAccessToken+ , igUploadType+ , igBearerToken+ , igId+ , igCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.invitations.get@ method which the+-- 'InvitationsGet' request conforms to.+type InvitationsGetResource =+ "v1" :>+ "invitations" :>+ Capture "id" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Invitation++-- | Returns an invitation. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to view+-- the requested invitation or for access errors. * \`NOT_FOUND\` if no+-- invitation exists with the requested ID.+--+-- /See:/ 'invitationsGet' smart constructor.+data InvitationsGet = InvitationsGet+ { _igXgafv :: !(Maybe Text)+ , _igUploadProtocol :: !(Maybe Text)+ , _igPp :: !Bool+ , _igAccessToken :: !(Maybe Text)+ , _igUploadType :: !(Maybe Text)+ , _igBearerToken :: !(Maybe Text)+ , _igId :: !Text+ , _igCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InvitationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igXgafv'+--+-- * 'igUploadProtocol'+--+-- * 'igPp'+--+-- * 'igAccessToken'+--+-- * 'igUploadType'+--+-- * 'igBearerToken'+--+-- * 'igId'+--+-- * 'igCallback'+invitationsGet+ :: Text -- ^ 'igId'+ -> InvitationsGet+invitationsGet pIgId_ =+ InvitationsGet+ { _igXgafv = Nothing+ , _igUploadProtocol = Nothing+ , _igPp = True+ , _igAccessToken = Nothing+ , _igUploadType = Nothing+ , _igBearerToken = Nothing+ , _igId = pIgId_+ , _igCallback = Nothing+ }++-- | V1 error format.+igXgafv :: Lens' InvitationsGet (Maybe Text)+igXgafv = lens _igXgafv (\ s a -> s{_igXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+igUploadProtocol :: Lens' InvitationsGet (Maybe Text)+igUploadProtocol+ = lens _igUploadProtocol+ (\ s a -> s{_igUploadProtocol = a})++-- | Pretty-print response.+igPp :: Lens' InvitationsGet Bool+igPp = lens _igPp (\ s a -> s{_igPp = a})++-- | OAuth access token.+igAccessToken :: Lens' InvitationsGet (Maybe Text)+igAccessToken+ = lens _igAccessToken+ (\ s a -> s{_igAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+igUploadType :: Lens' InvitationsGet (Maybe Text)+igUploadType+ = lens _igUploadType (\ s a -> s{_igUploadType = a})++-- | OAuth bearer token.+igBearerToken :: Lens' InvitationsGet (Maybe Text)+igBearerToken+ = lens _igBearerToken+ (\ s a -> s{_igBearerToken = a})++-- | Identifier of the invitation to return.+igId :: Lens' InvitationsGet Text+igId = lens _igId (\ s a -> s{_igId = a})++-- | JSONP+igCallback :: Lens' InvitationsGet (Maybe Text)+igCallback+ = lens _igCallback (\ s a -> s{_igCallback = a})++instance GoogleRequest InvitationsGet where+ type Rs InvitationsGet = Invitation+ requestClient InvitationsGet{..}+ = go _igId _igXgafv _igUploadProtocol (Just _igPp)+ _igAccessToken+ _igUploadType+ _igBearerToken+ _igCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient (Proxy :: Proxy InvitationsGetResource)+ mempty
+ gen/Network/Google/Resource/Classroom/Invitations/List.hs view
@@ -0,0 +1,218 @@+{-# 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.Classroom.Invitations.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of invitations that the requesting user is permitted to+-- view, restricted to those that match the list request. *Note:* At least+-- one of \`user_id\` or \`course_id\` must be supplied. Both fields can be+-- supplied. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` for access errors.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.invitations.list@.+module Network.Google.Resource.Classroom.Invitations.List+ (+ -- * REST Resource+ InvitationsListResource++ -- * Creating a Request+ , invitationsList+ , InvitationsList++ -- * Request Lenses+ , ilXgafv+ , ilUploadProtocol+ , ilPp+ , ilCourseId+ , ilAccessToken+ , ilUploadType+ , ilUserId+ , ilBearerToken+ , ilPageToken+ , ilPageSize+ , ilCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.invitations.list@ method which the+-- 'InvitationsList' request conforms to.+type InvitationsListResource =+ "v1" :>+ "invitations" :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "courseId" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "userId" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListInvitationsResponse++-- | Returns a list of invitations that the requesting user is permitted to+-- view, restricted to those that match the list request. *Note:* At least+-- one of \`user_id\` or \`course_id\` must be supplied. Both fields can be+-- supplied. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` for access errors.+--+-- /See:/ 'invitationsList' smart constructor.+data InvitationsList = InvitationsList+ { _ilXgafv :: !(Maybe Text)+ , _ilUploadProtocol :: !(Maybe Text)+ , _ilPp :: !Bool+ , _ilCourseId :: !(Maybe Text)+ , _ilAccessToken :: !(Maybe Text)+ , _ilUploadType :: !(Maybe Text)+ , _ilUserId :: !(Maybe Text)+ , _ilBearerToken :: !(Maybe Text)+ , _ilPageToken :: !(Maybe Text)+ , _ilPageSize :: !(Maybe (Textual Int32))+ , _ilCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InvitationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilXgafv'+--+-- * 'ilUploadProtocol'+--+-- * 'ilPp'+--+-- * 'ilCourseId'+--+-- * 'ilAccessToken'+--+-- * 'ilUploadType'+--+-- * 'ilUserId'+--+-- * 'ilBearerToken'+--+-- * 'ilPageToken'+--+-- * 'ilPageSize'+--+-- * 'ilCallback'+invitationsList+ :: InvitationsList+invitationsList =+ InvitationsList+ { _ilXgafv = Nothing+ , _ilUploadProtocol = Nothing+ , _ilPp = True+ , _ilCourseId = Nothing+ , _ilAccessToken = Nothing+ , _ilUploadType = Nothing+ , _ilUserId = Nothing+ , _ilBearerToken = Nothing+ , _ilPageToken = Nothing+ , _ilPageSize = Nothing+ , _ilCallback = Nothing+ }++-- | V1 error format.+ilXgafv :: Lens' InvitationsList (Maybe Text)+ilXgafv = lens _ilXgafv (\ s a -> s{_ilXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ilUploadProtocol :: Lens' InvitationsList (Maybe Text)+ilUploadProtocol+ = lens _ilUploadProtocol+ (\ s a -> s{_ilUploadProtocol = a})++-- | Pretty-print response.+ilPp :: Lens' InvitationsList Bool+ilPp = lens _ilPp (\ s a -> s{_ilPp = a})++-- | Restricts returned invitations to those for a course with the specified+-- identifier.+ilCourseId :: Lens' InvitationsList (Maybe Text)+ilCourseId+ = lens _ilCourseId (\ s a -> s{_ilCourseId = a})++-- | OAuth access token.+ilAccessToken :: Lens' InvitationsList (Maybe Text)+ilAccessToken+ = lens _ilAccessToken+ (\ s a -> s{_ilAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ilUploadType :: Lens' InvitationsList (Maybe Text)+ilUploadType+ = lens _ilUploadType (\ s a -> s{_ilUploadType = a})++-- | Restricts returned invitations to those for a specific user. The+-- identifier can be one of the following: * the numeric identifier for the+-- user * the email address of the user * the string literal \`\"me\"\`,+-- indicating the requesting user+ilUserId :: Lens' InvitationsList (Maybe Text)+ilUserId = lens _ilUserId (\ s a -> s{_ilUserId = a})++-- | OAuth bearer token.+ilBearerToken :: Lens' InvitationsList (Maybe Text)+ilBearerToken+ = lens _ilBearerToken+ (\ s a -> s{_ilBearerToken = a})++-- | nextPageToken value returned from a previous list call, indicating that+-- the subsequent page of results should be returned. The list request must+-- be otherwise identical to the one that resulted in this token.+ilPageToken :: Lens' InvitationsList (Maybe Text)+ilPageToken+ = lens _ilPageToken (\ s a -> s{_ilPageToken = a})++-- | Maximum number of items to return. Zero means no maximum. The server may+-- return fewer than the specified number of results.+ilPageSize :: Lens' InvitationsList (Maybe Int32)+ilPageSize+ = lens _ilPageSize (\ s a -> s{_ilPageSize = a}) .+ mapping _Coerce++-- | JSONP+ilCallback :: Lens' InvitationsList (Maybe Text)+ilCallback+ = lens _ilCallback (\ s a -> s{_ilCallback = a})++instance GoogleRequest InvitationsList where+ type Rs InvitationsList = ListInvitationsResponse+ requestClient InvitationsList{..}+ = go _ilXgafv _ilUploadProtocol (Just _ilPp)+ _ilCourseId+ _ilAccessToken+ _ilUploadType+ _ilUserId+ _ilBearerToken+ _ilPageToken+ _ilPageSize+ _ilCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy InvitationsListResource)+ mempty
+ gen/Network/Google/Resource/Classroom/UserProFiles/Get.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.Classroom.UserProFiles.Get+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a user profile. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- this user profile or if no profile exists with the requested ID or for+-- access errors.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.userProfiles.get@.+module Network.Google.Resource.Classroom.UserProFiles.Get+ (+ -- * REST Resource+ UserProFilesGetResource++ -- * Creating a Request+ , userProFilesGet+ , UserProFilesGet++ -- * Request Lenses+ , upfgXgafv+ , upfgUploadProtocol+ , upfgPp+ , upfgAccessToken+ , upfgUploadType+ , upfgUserId+ , upfgBearerToken+ , upfgCallback+ ) where++import Network.Google.Classroom.Types+import Network.Google.Prelude++-- | A resource alias for @classroom.userProfiles.get@ method which the+-- 'UserProFilesGet' request conforms to.+type UserProFilesGetResource =+ "v1" :>+ "userProfiles" :>+ Capture "userId" Text :>+ QueryParam "$.xgafv" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "pp" Bool :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "bearer_token" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] UserProFile++-- | Returns a user profile. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- this user profile or if no profile exists with the requested ID or for+-- access errors.+--+-- /See:/ 'userProFilesGet' smart constructor.+data UserProFilesGet = UserProFilesGet+ { _upfgXgafv :: !(Maybe Text)+ , _upfgUploadProtocol :: !(Maybe Text)+ , _upfgPp :: !Bool+ , _upfgAccessToken :: !(Maybe Text)+ , _upfgUploadType :: !(Maybe Text)+ , _upfgUserId :: !Text+ , _upfgBearerToken :: !(Maybe Text)+ , _upfgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UserProFilesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upfgXgafv'+--+-- * 'upfgUploadProtocol'+--+-- * 'upfgPp'+--+-- * 'upfgAccessToken'+--+-- * 'upfgUploadType'+--+-- * 'upfgUserId'+--+-- * 'upfgBearerToken'+--+-- * 'upfgCallback'+userProFilesGet+ :: Text -- ^ 'upfgUserId'+ -> UserProFilesGet+userProFilesGet pUpfgUserId_ =+ UserProFilesGet+ { _upfgXgafv = Nothing+ , _upfgUploadProtocol = Nothing+ , _upfgPp = True+ , _upfgAccessToken = Nothing+ , _upfgUploadType = Nothing+ , _upfgUserId = pUpfgUserId_+ , _upfgBearerToken = Nothing+ , _upfgCallback = Nothing+ }++-- | V1 error format.+upfgXgafv :: Lens' UserProFilesGet (Maybe Text)+upfgXgafv+ = lens _upfgXgafv (\ s a -> s{_upfgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+upfgUploadProtocol :: Lens' UserProFilesGet (Maybe Text)+upfgUploadProtocol+ = lens _upfgUploadProtocol+ (\ s a -> s{_upfgUploadProtocol = a})++-- | Pretty-print response.+upfgPp :: Lens' UserProFilesGet Bool+upfgPp = lens _upfgPp (\ s a -> s{_upfgPp = a})++-- | OAuth access token.+upfgAccessToken :: Lens' UserProFilesGet (Maybe Text)+upfgAccessToken+ = lens _upfgAccessToken+ (\ s a -> s{_upfgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+upfgUploadType :: Lens' UserProFilesGet (Maybe Text)+upfgUploadType+ = lens _upfgUploadType+ (\ s a -> s{_upfgUploadType = a})++-- | Identifier of the profile to return. The identifier can be one of the+-- following: * the numeric identifier for the user * the email address of+-- the user * the string literal \`\"me\"\`, indicating the requesting user+upfgUserId :: Lens' UserProFilesGet Text+upfgUserId+ = lens _upfgUserId (\ s a -> s{_upfgUserId = a})++-- | OAuth bearer token.+upfgBearerToken :: Lens' UserProFilesGet (Maybe Text)+upfgBearerToken+ = lens _upfgBearerToken+ (\ s a -> s{_upfgBearerToken = a})++-- | JSONP+upfgCallback :: Lens' UserProFilesGet (Maybe Text)+upfgCallback+ = lens _upfgCallback (\ s a -> s{_upfgCallback = a})++instance GoogleRequest UserProFilesGet where+ type Rs UserProFilesGet = UserProFile+ requestClient UserProFilesGet{..}+ = go _upfgUserId _upfgXgafv _upfgUploadProtocol+ (Just _upfgPp)+ _upfgAccessToken+ _upfgUploadType+ _upfgBearerToken+ _upfgCallback+ (Just AltJSON)+ classroomService+ where go+ = buildClient+ (Proxy :: Proxy UserProFilesGetResource)+ mempty
+ gogol-classroom.cabal view
@@ -0,0 +1,68 @@+name: gogol-classroom+version: 0.0.1+synopsis: Google Classroom 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:+ Google Classroom API+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v1@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.Classroom+ , Network.Google.Classroom.Types+ , Network.Google.Resource.Classroom.Courses.Aliases.Create+ , Network.Google.Resource.Classroom.Courses.Aliases.Delete+ , Network.Google.Resource.Classroom.Courses.Aliases.List+ , Network.Google.Resource.Classroom.Courses.Create+ , Network.Google.Resource.Classroom.Courses.Delete+ , Network.Google.Resource.Classroom.Courses.Get+ , Network.Google.Resource.Classroom.Courses.List+ , Network.Google.Resource.Classroom.Courses.Patch+ , Network.Google.Resource.Classroom.Courses.Students.Create+ , Network.Google.Resource.Classroom.Courses.Students.Delete+ , Network.Google.Resource.Classroom.Courses.Students.Get+ , Network.Google.Resource.Classroom.Courses.Students.List+ , Network.Google.Resource.Classroom.Courses.Teachers.Create+ , Network.Google.Resource.Classroom.Courses.Teachers.Delete+ , Network.Google.Resource.Classroom.Courses.Teachers.Get+ , Network.Google.Resource.Classroom.Courses.Teachers.List+ , Network.Google.Resource.Classroom.Courses.Update+ , Network.Google.Resource.Classroom.Invitations.Accept+ , Network.Google.Resource.Classroom.Invitations.Create+ , Network.Google.Resource.Classroom.Invitations.Delete+ , Network.Google.Resource.Classroom.Invitations.Get+ , Network.Google.Resource.Classroom.Invitations.List+ , Network.Google.Resource.Classroom.UserProFiles.Get++ other-modules:+ Network.Google.Classroom.Types.Product+ , Network.Google.Classroom.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5