packages feed

gogol-classroom 0.0.1 → 0.1.0

raw patch · 39 files changed

+5704/−999 lines, 39 filesdep ~gogol-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: gogol-core

API changes (from Hackage documentation)

- Network.Google.Classroom.Types: classroomCoursesReadonlyScope :: OAuthScope
- Network.Google.Classroom.Types: classroomProfileEmailsScope :: OAuthScope
- Network.Google.Classroom.Types: classroomProfilePhotosScope :: OAuthScope
- Network.Google.Classroom.Types: classroomRostersReadonlyScope :: OAuthScope
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Aliases.Create.C1_0CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Aliases.Create.D1CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_0CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_1CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_2CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_3CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_4CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_5CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_6CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_7CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Create.S1_0_8CoursesAliasesCreate
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Aliases.Delete.C1_0CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Aliases.Delete.D1CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_0CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_1CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_2CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_3CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_4CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_5CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_6CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_7CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.Delete.S1_0_8CoursesAliasesDelete
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Aliases.List.C1_0CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Aliases.List.D1CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_0CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_1CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_2CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_3CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_4CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_5CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_6CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_7CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_8CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Aliases.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Aliases.List.S1_0_9CoursesAliasesList
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Create.C1_0CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Create.D1CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_0CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_1CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_2CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_3CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_4CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_5CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_6CoursesCreate
- Network.Google.Resource.Classroom.Courses.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Create.S1_0_7CoursesCreate
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Delete.C1_0CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Delete.D1CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_0CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_1CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_2CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_3CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_4CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_5CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_6CoursesDelete
- Network.Google.Resource.Classroom.Courses.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Delete.S1_0_7CoursesDelete
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Get.C1_0CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Get.D1CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_0CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_1CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_2CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_3CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_4CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_5CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_6CoursesGet
- Network.Google.Resource.Classroom.Courses.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Get.S1_0_7CoursesGet
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.List.C1_0CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.List.D1CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_0CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_10CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_1CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_2CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_3CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_4CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_5CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_6CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_7CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_8CoursesList
- Network.Google.Resource.Classroom.Courses.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.List.S1_0_9CoursesList
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Patch.C1_0CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Patch.D1CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_0CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_1CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_2CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_3CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_4CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_5CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_6CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_7CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_8CoursesPatch
- Network.Google.Resource.Classroom.Courses.Patch: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Patch.S1_0_9CoursesPatch
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Students.Create.C1_0CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Students.Create.D1CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_0CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_1CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_2CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_3CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_4CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_5CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_6CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_7CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_8CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Create.S1_0_9CoursesStudentsCreate
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Students.Delete.C1_0CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Students.Delete.D1CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_0CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_1CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_2CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_3CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_4CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_5CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_6CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_7CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Delete.S1_0_8CoursesStudentsDelete
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Students.Get.C1_0CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Students.Get.D1CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_0CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_1CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_2CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_3CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_4CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_5CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_6CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_7CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.Get.S1_0_8CoursesStudentsGet
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Students.List.C1_0CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Students.List.D1CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_0CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_1CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_2CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_3CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_4CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_5CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_6CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_7CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_8CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Students.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Students.List.S1_0_9CoursesStudentsList
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Teachers.Create.C1_0CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Teachers.Create.D1CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_0CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_1CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_2CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_3CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_4CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_5CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_6CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_7CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Create.S1_0_8CoursesTeachersCreate
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Teachers.Delete.C1_0CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Teachers.Delete.D1CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_0CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_1CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_2CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_3CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_4CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_5CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_6CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_7CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Delete.S1_0_8CoursesTeachersDelete
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Teachers.Get.C1_0CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Teachers.Get.D1CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_0CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_1CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_2CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_3CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_4CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_5CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_6CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_7CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.Get.S1_0_8CoursesTeachersGet
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Teachers.List.C1_0CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Teachers.List.D1CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_0CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_1CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_2CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_3CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_4CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_5CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_6CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_7CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_8CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Teachers.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Teachers.List.S1_0_9CoursesTeachersList
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Courses.Update.C1_0CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Courses.Update.D1CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_0CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_1CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_2CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_3CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_4CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_5CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_6CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_7CoursesUpdate
- Network.Google.Resource.Classroom.Courses.Update: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Courses.Update.S1_0_8CoursesUpdate
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Invitations.Accept.C1_0InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Invitations.Accept.D1InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_0InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_1InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_2InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_3InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_4InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_5InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_6InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Accept: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Accept.S1_0_7InvitationsAccept
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Invitations.Create.C1_0InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Invitations.Create.D1InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_0InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_1InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_2InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_3InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_4InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_5InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_6InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Create: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Create.S1_0_7InvitationsCreate
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Invitations.Delete.C1_0InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Invitations.Delete.D1InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_0InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_1InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_2InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_3InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_4InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_5InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_6InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Delete: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Delete.S1_0_7InvitationsDelete
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Invitations.Get.C1_0InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Invitations.Get.D1InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_0InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_1InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_2InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_3InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_4InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_5InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_6InvitationsGet
- Network.Google.Resource.Classroom.Invitations.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.Get.S1_0_7InvitationsGet
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.Invitations.List.C1_0InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.Invitations.List.D1InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_0InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_10InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_1InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_2InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_3InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_4InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_5InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_6InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_7InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_8InvitationsList
- Network.Google.Resource.Classroom.Invitations.List: instance GHC.Generics.Selector Network.Google.Resource.Classroom.Invitations.List.S1_0_9InvitationsList
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Constructor Network.Google.Resource.Classroom.UserProFiles.Get.C1_0UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Datatype Network.Google.Resource.Classroom.UserProFiles.Get.D1UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_0UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_1UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_2UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_3UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_4UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_5UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_6UserProFilesGet
- Network.Google.Resource.Classroom.UserProFiles.Get: instance GHC.Generics.Selector Network.Google.Resource.Classroom.UserProFiles.Get.S1_0_7UserProFilesGet
+ Network.Google.Classroom: aDriveFile :: Lens' Attachment (Maybe DriveFile)
+ Network.Google.Classroom: aForm :: Lens' Attachment (Maybe Form)
+ Network.Google.Classroom: aLink :: Lens' Attachment (Maybe Link)
+ Network.Google.Classroom: aStudentWorkFolder :: Lens' Assignment (Maybe DriveFolder)
+ Network.Google.Classroom: aYouTubeVideo :: Lens' Attachment (Maybe YouTubeVideo)
+ Network.Google.Classroom: asAttachments :: Lens' AssignmentSubmission [Attachment]
+ Network.Google.Classroom: assignment :: Assignment
+ Network.Google.Classroom: assignmentSubmission :: AssignmentSubmission
+ Network.Google.Classroom: attachment :: Attachment
+ Network.Google.Classroom: cCourseGroupEmail :: Lens' Course (Maybe Text)
+ Network.Google.Classroom: cCourseMaterialSets :: Lens' Course [CourseMaterialSet]
+ Network.Google.Classroom: cTeacherFolder :: Lens' Course (Maybe DriveFolder)
+ Network.Google.Classroom: cTeacherGroupEmail :: Lens' Course (Maybe Text)
+ Network.Google.Classroom: classroomCourseWorkReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.course-work.readonly"]
+ Network.Google.Classroom: classroomCoursesReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses.readonly"]
+ Network.Google.Classroom: classroomCoursesScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses"]
+ Network.Google.Classroom: classroomCourseworkMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]
+ Network.Google.Classroom: classroomCourseworkMeScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me"]
+ Network.Google.Classroom: classroomCourseworkStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]
+ Network.Google.Classroom: classroomCourseworkStudentsScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students"]
+ Network.Google.Classroom: classroomProFileEmailsScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.emails"]
+ Network.Google.Classroom: classroomProFilePhotosScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.photos"]
+ Network.Google.Classroom: classroomRostersReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters.readonly"]
+ Network.Google.Classroom: classroomRostersScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters"]
+ Network.Google.Classroom: classroomStudentSubmissionsMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]
+ Network.Google.Classroom: classroomStudentSubmissionsStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]
+ Network.Google.Classroom: cmDriveFile :: Lens' CourseMaterial (Maybe DriveFile)
+ Network.Google.Classroom: cmForm :: Lens' CourseMaterial (Maybe Form)
+ Network.Google.Classroom: cmLink :: Lens' CourseMaterial (Maybe Link)
+ Network.Google.Classroom: cmYouTubeVideo :: Lens' CourseMaterial (Maybe YouTubeVideo)
+ Network.Google.Classroom: cmsMaterials :: Lens' CourseMaterialSet [CourseMaterial]
+ Network.Google.Classroom: cmsTitle :: Lens' CourseMaterialSet (Maybe Text)
+ Network.Google.Classroom: courseMaterial :: CourseMaterial
+ Network.Google.Classroom: courseMaterialSet :: CourseMaterialSet
+ Network.Google.Classroom: courseWork :: CourseWork
+ Network.Google.Classroom: cwAlternateLink :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwAssignment :: Lens' CourseWork (Maybe Assignment)
+ Network.Google.Classroom: cwAssociatedWithDeveloper :: Lens' CourseWork (Maybe Bool)
+ Network.Google.Classroom: cwCourseId :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwCreationTime :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwDescription :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwDueDate :: Lens' CourseWork (Maybe Date)
+ Network.Google.Classroom: cwDueTime :: Lens' CourseWork (Maybe TimeOfDay')
+ Network.Google.Classroom: cwId :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwMaterials :: Lens' CourseWork [Material]
+ Network.Google.Classroom: cwMaxPoints :: Lens' CourseWork (Maybe Double)
+ Network.Google.Classroom: cwMultipleChoiceQuestion :: Lens' CourseWork (Maybe MultipleChoiceQuestion)
+ Network.Google.Classroom: cwState :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwSubmissionModificationMode :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwTitle :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwUpdateTime :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: cwWorkType :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom: dAlternateLink :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom: dDay :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom: dId :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom: dMonth :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom: dTitle :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom: dYear :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom: data Assignment
+ Network.Google.Classroom: data AssignmentSubmission
+ Network.Google.Classroom: data Attachment
+ Network.Google.Classroom: data CourseMaterial
+ Network.Google.Classroom: data CourseMaterialSet
+ Network.Google.Classroom: data CourseWork
+ Network.Google.Classroom: data Date
+ Network.Google.Classroom: data DriveFile
+ Network.Google.Classroom: data DriveFolder
+ Network.Google.Classroom: data Form
+ Network.Google.Classroom: data Link
+ Network.Google.Classroom: data ListCourseWorkResponse
+ Network.Google.Classroom: data ListStudentSubmissionsResponse
+ Network.Google.Classroom: data Material
+ Network.Google.Classroom: data ModifyAttachmentsRequest
+ Network.Google.Classroom: data MultipleChoiceQuestion
+ Network.Google.Classroom: data MultipleChoiceSubmission
+ Network.Google.Classroom: data ReclaimStudentSubmissionRequest
+ Network.Google.Classroom: data ReturnStudentSubmissionRequest
+ Network.Google.Classroom: data SharedDriveFile
+ Network.Google.Classroom: data ShortAnswerSubmission
+ Network.Google.Classroom: data StudentSubmission
+ Network.Google.Classroom: data TimeOfDay'
+ Network.Google.Classroom: data TurnInStudentSubmissionRequest
+ Network.Google.Classroom: data YouTubeVideo
+ Network.Google.Classroom: date :: Date
+ Network.Google.Classroom: dfAlternateLink :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom: dfId :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom: dfThumbnailURL :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom: dfTitle :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom: driveFile :: DriveFile
+ Network.Google.Classroom: driveFolder :: DriveFolder
+ Network.Google.Classroom: fFormURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom: fResponseURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom: fThumbnailURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom: fTitle :: Lens' Form (Maybe Text)
+ Network.Google.Classroom: form :: Form
+ Network.Google.Classroom: lThumbnailURL :: Lens' Link (Maybe Text)
+ Network.Google.Classroom: lTitle :: Lens' Link (Maybe Text)
+ Network.Google.Classroom: lURL :: Lens' Link (Maybe Text)
+ Network.Google.Classroom: lcwrCourseWork :: Lens' ListCourseWorkResponse [CourseWork]
+ Network.Google.Classroom: lcwrNextPageToken :: Lens' ListCourseWorkResponse (Maybe Text)
+ Network.Google.Classroom: link :: Link
+ Network.Google.Classroom: listCourseWorkResponse :: ListCourseWorkResponse
+ Network.Google.Classroom: listStudentSubmissionsResponse :: ListStudentSubmissionsResponse
+ Network.Google.Classroom: lssrNextPageToken :: Lens' ListStudentSubmissionsResponse (Maybe Text)
+ Network.Google.Classroom: lssrStudentSubmissions :: Lens' ListStudentSubmissionsResponse [StudentSubmission]
+ Network.Google.Classroom: mDriveFile :: Lens' Material (Maybe SharedDriveFile)
+ Network.Google.Classroom: mForm :: Lens' Material (Maybe Form)
+ Network.Google.Classroom: mLink :: Lens' Material (Maybe Link)
+ Network.Google.Classroom: mYouTubeVideo :: Lens' Material (Maybe YouTubeVideo)
+ Network.Google.Classroom: marAddAttachments :: Lens' ModifyAttachmentsRequest [Attachment]
+ Network.Google.Classroom: material :: Material
+ Network.Google.Classroom: mcqChoices :: Lens' MultipleChoiceQuestion [Text]
+ Network.Google.Classroom: mcsAnswer :: Lens' MultipleChoiceSubmission (Maybe Text)
+ Network.Google.Classroom: modifyAttachmentsRequest :: ModifyAttachmentsRequest
+ Network.Google.Classroom: multipleChoiceQuestion :: MultipleChoiceQuestion
+ Network.Google.Classroom: multipleChoiceSubmission :: MultipleChoiceSubmission
+ Network.Google.Classroom: reclaimStudentSubmissionRequest :: ReclaimStudentSubmissionRequest
+ Network.Google.Classroom: returnStudentSubmissionRequest :: ReturnStudentSubmissionRequest
+ Network.Google.Classroom: sStudentWorkFolder :: Lens' Student (Maybe DriveFolder)
+ Network.Google.Classroom: sasAnswer :: Lens' ShortAnswerSubmission (Maybe Text)
+ Network.Google.Classroom: sdfDriveFile :: Lens' SharedDriveFile (Maybe DriveFile)
+ Network.Google.Classroom: sdfShareMode :: Lens' SharedDriveFile (Maybe Text)
+ Network.Google.Classroom: sharedDriveFile :: SharedDriveFile
+ Network.Google.Classroom: shortAnswerSubmission :: ShortAnswerSubmission
+ Network.Google.Classroom: ssAlternateLink :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssAssignedGrade :: Lens' StudentSubmission (Maybe Double)
+ Network.Google.Classroom: ssAssignmentSubmission :: Lens' StudentSubmission (Maybe AssignmentSubmission)
+ Network.Google.Classroom: ssAssociatedWithDeveloper :: Lens' StudentSubmission (Maybe Bool)
+ Network.Google.Classroom: ssCourseId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssCourseWorkId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssCourseWorkType :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssCreationTime :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssDraftGrade :: Lens' StudentSubmission (Maybe Double)
+ Network.Google.Classroom: ssId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssLate :: Lens' StudentSubmission (Maybe Bool)
+ Network.Google.Classroom: ssMultipleChoiceSubmission :: Lens' StudentSubmission (Maybe MultipleChoiceSubmission)
+ Network.Google.Classroom: ssShortAnswerSubmission :: Lens' StudentSubmission (Maybe ShortAnswerSubmission)
+ Network.Google.Classroom: ssState :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssUpdateTime :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: ssUserId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom: studentSubmission :: StudentSubmission
+ Network.Google.Classroom: timeOfDay :: TimeOfDay'
+ Network.Google.Classroom: todHours :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom: todMinutes :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom: todNanos :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom: todSeconds :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom: turnInStudentSubmissionRequest :: TurnInStudentSubmissionRequest
+ Network.Google.Classroom: youTubeVideo :: YouTubeVideo
+ Network.Google.Classroom: ytvAlternateLink :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom: ytvId :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom: ytvThumbnailURL :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom: ytvTitle :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom.Types: aDriveFile :: Lens' Attachment (Maybe DriveFile)
+ Network.Google.Classroom.Types: aForm :: Lens' Attachment (Maybe Form)
+ Network.Google.Classroom.Types: aLink :: Lens' Attachment (Maybe Link)
+ Network.Google.Classroom.Types: aStudentWorkFolder :: Lens' Assignment (Maybe DriveFolder)
+ Network.Google.Classroom.Types: aYouTubeVideo :: Lens' Attachment (Maybe YouTubeVideo)
+ Network.Google.Classroom.Types: asAttachments :: Lens' AssignmentSubmission [Attachment]
+ Network.Google.Classroom.Types: assignment :: Assignment
+ Network.Google.Classroom.Types: assignmentSubmission :: AssignmentSubmission
+ Network.Google.Classroom.Types: attachment :: Attachment
+ Network.Google.Classroom.Types: cCourseGroupEmail :: Lens' Course (Maybe Text)
+ Network.Google.Classroom.Types: cCourseMaterialSets :: Lens' Course [CourseMaterialSet]
+ Network.Google.Classroom.Types: cTeacherFolder :: Lens' Course (Maybe DriveFolder)
+ Network.Google.Classroom.Types: cTeacherGroupEmail :: Lens' Course (Maybe Text)
+ Network.Google.Classroom.Types: classroomCourseWorkReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.course-work.readonly"]
+ Network.Google.Classroom.Types: classroomCoursesReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses.readonly"]
+ Network.Google.Classroom.Types: classroomCourseworkMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]
+ Network.Google.Classroom.Types: classroomCourseworkMeScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me"]
+ Network.Google.Classroom.Types: classroomCourseworkStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]
+ Network.Google.Classroom.Types: classroomCourseworkStudentsScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students"]
+ Network.Google.Classroom.Types: classroomProFileEmailsScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.emails"]
+ Network.Google.Classroom.Types: classroomProFilePhotosScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.photos"]
+ Network.Google.Classroom.Types: classroomRostersReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters.readonly"]
+ Network.Google.Classroom.Types: classroomStudentSubmissionsMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]
+ Network.Google.Classroom.Types: classroomStudentSubmissionsStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]
+ Network.Google.Classroom.Types: cmDriveFile :: Lens' CourseMaterial (Maybe DriveFile)
+ Network.Google.Classroom.Types: cmForm :: Lens' CourseMaterial (Maybe Form)
+ Network.Google.Classroom.Types: cmLink :: Lens' CourseMaterial (Maybe Link)
+ Network.Google.Classroom.Types: cmYouTubeVideo :: Lens' CourseMaterial (Maybe YouTubeVideo)
+ Network.Google.Classroom.Types: cmsMaterials :: Lens' CourseMaterialSet [CourseMaterial]
+ Network.Google.Classroom.Types: cmsTitle :: Lens' CourseMaterialSet (Maybe Text)
+ Network.Google.Classroom.Types: courseMaterial :: CourseMaterial
+ Network.Google.Classroom.Types: courseMaterialSet :: CourseMaterialSet
+ Network.Google.Classroom.Types: courseWork :: CourseWork
+ Network.Google.Classroom.Types: cwAlternateLink :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwAssignment :: Lens' CourseWork (Maybe Assignment)
+ Network.Google.Classroom.Types: cwAssociatedWithDeveloper :: Lens' CourseWork (Maybe Bool)
+ Network.Google.Classroom.Types: cwCourseId :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwCreationTime :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwDescription :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwDueDate :: Lens' CourseWork (Maybe Date)
+ Network.Google.Classroom.Types: cwDueTime :: Lens' CourseWork (Maybe TimeOfDay')
+ Network.Google.Classroom.Types: cwId :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwMaterials :: Lens' CourseWork [Material]
+ Network.Google.Classroom.Types: cwMaxPoints :: Lens' CourseWork (Maybe Double)
+ Network.Google.Classroom.Types: cwMultipleChoiceQuestion :: Lens' CourseWork (Maybe MultipleChoiceQuestion)
+ Network.Google.Classroom.Types: cwState :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwSubmissionModificationMode :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwTitle :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwUpdateTime :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: cwWorkType :: Lens' CourseWork (Maybe Text)
+ Network.Google.Classroom.Types: dAlternateLink :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom.Types: dDay :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom.Types: dId :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom.Types: dMonth :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom.Types: dTitle :: Lens' DriveFolder (Maybe Text)
+ Network.Google.Classroom.Types: dYear :: Lens' Date (Maybe Int32)
+ Network.Google.Classroom.Types: data Assignment
+ Network.Google.Classroom.Types: data AssignmentSubmission
+ Network.Google.Classroom.Types: data Attachment
+ Network.Google.Classroom.Types: data CourseMaterial
+ Network.Google.Classroom.Types: data CourseMaterialSet
+ Network.Google.Classroom.Types: data CourseWork
+ Network.Google.Classroom.Types: data Date
+ Network.Google.Classroom.Types: data DriveFile
+ Network.Google.Classroom.Types: data DriveFolder
+ Network.Google.Classroom.Types: data Form
+ Network.Google.Classroom.Types: data Link
+ Network.Google.Classroom.Types: data ListCourseWorkResponse
+ Network.Google.Classroom.Types: data ListStudentSubmissionsResponse
+ Network.Google.Classroom.Types: data Material
+ Network.Google.Classroom.Types: data ModifyAttachmentsRequest
+ Network.Google.Classroom.Types: data MultipleChoiceQuestion
+ Network.Google.Classroom.Types: data MultipleChoiceSubmission
+ Network.Google.Classroom.Types: data ReclaimStudentSubmissionRequest
+ Network.Google.Classroom.Types: data ReturnStudentSubmissionRequest
+ Network.Google.Classroom.Types: data SharedDriveFile
+ Network.Google.Classroom.Types: data ShortAnswerSubmission
+ Network.Google.Classroom.Types: data StudentSubmission
+ Network.Google.Classroom.Types: data TimeOfDay'
+ Network.Google.Classroom.Types: data TurnInStudentSubmissionRequest
+ Network.Google.Classroom.Types: data YouTubeVideo
+ Network.Google.Classroom.Types: date :: Date
+ Network.Google.Classroom.Types: dfAlternateLink :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom.Types: dfId :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom.Types: dfThumbnailURL :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom.Types: dfTitle :: Lens' DriveFile (Maybe Text)
+ Network.Google.Classroom.Types: driveFile :: DriveFile
+ Network.Google.Classroom.Types: driveFolder :: DriveFolder
+ Network.Google.Classroom.Types: fFormURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom.Types: fResponseURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom.Types: fThumbnailURL :: Lens' Form (Maybe Text)
+ Network.Google.Classroom.Types: fTitle :: Lens' Form (Maybe Text)
+ Network.Google.Classroom.Types: form :: Form
+ Network.Google.Classroom.Types: lThumbnailURL :: Lens' Link (Maybe Text)
+ Network.Google.Classroom.Types: lTitle :: Lens' Link (Maybe Text)
+ Network.Google.Classroom.Types: lURL :: Lens' Link (Maybe Text)
+ Network.Google.Classroom.Types: lcwrCourseWork :: Lens' ListCourseWorkResponse [CourseWork]
+ Network.Google.Classroom.Types: lcwrNextPageToken :: Lens' ListCourseWorkResponse (Maybe Text)
+ Network.Google.Classroom.Types: link :: Link
+ Network.Google.Classroom.Types: listCourseWorkResponse :: ListCourseWorkResponse
+ Network.Google.Classroom.Types: listStudentSubmissionsResponse :: ListStudentSubmissionsResponse
+ Network.Google.Classroom.Types: lssrNextPageToken :: Lens' ListStudentSubmissionsResponse (Maybe Text)
+ Network.Google.Classroom.Types: lssrStudentSubmissions :: Lens' ListStudentSubmissionsResponse [StudentSubmission]
+ Network.Google.Classroom.Types: mDriveFile :: Lens' Material (Maybe SharedDriveFile)
+ Network.Google.Classroom.Types: mForm :: Lens' Material (Maybe Form)
+ Network.Google.Classroom.Types: mLink :: Lens' Material (Maybe Link)
+ Network.Google.Classroom.Types: mYouTubeVideo :: Lens' Material (Maybe YouTubeVideo)
+ Network.Google.Classroom.Types: marAddAttachments :: Lens' ModifyAttachmentsRequest [Attachment]
+ Network.Google.Classroom.Types: material :: Material
+ Network.Google.Classroom.Types: mcqChoices :: Lens' MultipleChoiceQuestion [Text]
+ Network.Google.Classroom.Types: mcsAnswer :: Lens' MultipleChoiceSubmission (Maybe Text)
+ Network.Google.Classroom.Types: modifyAttachmentsRequest :: ModifyAttachmentsRequest
+ Network.Google.Classroom.Types: multipleChoiceQuestion :: MultipleChoiceQuestion
+ Network.Google.Classroom.Types: multipleChoiceSubmission :: MultipleChoiceSubmission
+ Network.Google.Classroom.Types: reclaimStudentSubmissionRequest :: ReclaimStudentSubmissionRequest
+ Network.Google.Classroom.Types: returnStudentSubmissionRequest :: ReturnStudentSubmissionRequest
+ Network.Google.Classroom.Types: sStudentWorkFolder :: Lens' Student (Maybe DriveFolder)
+ Network.Google.Classroom.Types: sasAnswer :: Lens' ShortAnswerSubmission (Maybe Text)
+ Network.Google.Classroom.Types: sdfDriveFile :: Lens' SharedDriveFile (Maybe DriveFile)
+ Network.Google.Classroom.Types: sdfShareMode :: Lens' SharedDriveFile (Maybe Text)
+ Network.Google.Classroom.Types: sharedDriveFile :: SharedDriveFile
+ Network.Google.Classroom.Types: shortAnswerSubmission :: ShortAnswerSubmission
+ Network.Google.Classroom.Types: ssAlternateLink :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssAssignedGrade :: Lens' StudentSubmission (Maybe Double)
+ Network.Google.Classroom.Types: ssAssignmentSubmission :: Lens' StudentSubmission (Maybe AssignmentSubmission)
+ Network.Google.Classroom.Types: ssAssociatedWithDeveloper :: Lens' StudentSubmission (Maybe Bool)
+ Network.Google.Classroom.Types: ssCourseId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssCourseWorkId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssCourseWorkType :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssCreationTime :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssDraftGrade :: Lens' StudentSubmission (Maybe Double)
+ Network.Google.Classroom.Types: ssId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssLate :: Lens' StudentSubmission (Maybe Bool)
+ Network.Google.Classroom.Types: ssMultipleChoiceSubmission :: Lens' StudentSubmission (Maybe MultipleChoiceSubmission)
+ Network.Google.Classroom.Types: ssShortAnswerSubmission :: Lens' StudentSubmission (Maybe ShortAnswerSubmission)
+ Network.Google.Classroom.Types: ssState :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssUpdateTime :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: ssUserId :: Lens' StudentSubmission (Maybe Text)
+ Network.Google.Classroom.Types: studentSubmission :: StudentSubmission
+ Network.Google.Classroom.Types: timeOfDay :: TimeOfDay'
+ Network.Google.Classroom.Types: todHours :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom.Types: todMinutes :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom.Types: todNanos :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom.Types: todSeconds :: Lens' TimeOfDay' (Maybe Int32)
+ Network.Google.Classroom.Types: turnInStudentSubmissionRequest :: TurnInStudentSubmissionRequest
+ Network.Google.Classroom.Types: youTubeVideo :: YouTubeVideo
+ Network.Google.Classroom.Types: ytvAlternateLink :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom.Types: ytvId :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom.Types: ytvThumbnailURL :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Classroom.Types: ytvTitle :: Lens' YouTubeVideo (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcAccessToken :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcBearerToken :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcCallback :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcCourseId :: Lens' CoursesCourseWorkCreate Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcPayload :: Lens' CoursesCourseWorkCreate CourseWork
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcPp :: Lens' CoursesCourseWorkCreate Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcUploadProtocol :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcUploadType :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: ccwcXgafv :: Lens' CoursesCourseWorkCreate (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: coursesCourseWorkCreate :: Text -> CourseWork -> CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: data CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.Create.CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.Create.CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.Create.CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.Create.CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.Create.CoursesCourseWorkCreate
+ Network.Google.Resource.Classroom.Courses.CourseWork.Create: type CoursesCourseWorkCreateResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (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] CourseWork :> Post '[JSON] CourseWork))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgAccessToken :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgBearerToken :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgCallback :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgCourseId :: Lens' CoursesCourseWorkGet Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgId :: Lens' CoursesCourseWorkGet Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgPp :: Lens' CoursesCourseWorkGet Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgUploadProtocol :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgUploadType :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: ccwgXgafv :: Lens' CoursesCourseWorkGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: coursesCourseWorkGet :: Text -> Text -> CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: data CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.Get.CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.Get.CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.Get.CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.Get.CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.Get.CoursesCourseWorkGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.Get: type CoursesCourseWorkGetResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (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] CourseWork))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlAccessToken :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlBearerToken :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlCallback :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlCourseId :: Lens' CoursesCourseWorkList Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlCourseWorkStates :: Lens' CoursesCourseWorkList [Text]
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlOrderBy :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlPageSize :: Lens' CoursesCourseWorkList (Maybe Int32)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlPageToken :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlPp :: Lens' CoursesCourseWorkList Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlUploadProtocol :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlUploadType :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: ccwlXgafv :: Lens' CoursesCourseWorkList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: coursesCourseWorkList :: Text -> CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: data CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.List.CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.List.CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.List.CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.List.CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.List.CoursesCourseWorkList
+ Network.Google.Resource.Classroom.Courses.CourseWork.List: type CoursesCourseWorkListResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "orderBy" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParams "courseWorkStates" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListCourseWorkResponse)))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgCallback :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgCourseId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgPp :: Lens' CoursesCourseWorkStudentSubmissionsGet Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgUploadType :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: ccwssgXgafv :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: coursesCourseWorkStudentSubmissionsGet :: Text -> Text -> Text -> CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: data CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get.CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get.CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get.CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get.CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get.CoursesCourseWorkStudentSubmissionsGet
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get: type CoursesCourseWorkStudentSubmissionsGetResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (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] StudentSubmission))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslCallback :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslCourseId :: Lens' CoursesCourseWorkStudentSubmissionsList Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsList Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslLate :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslPageSize :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Int32)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslPageToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslPp :: Lens' CoursesCourseWorkStudentSubmissionsList Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslStates :: Lens' CoursesCourseWorkStudentSubmissionsList [Text]
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslUploadType :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslUserId :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: ccwsslXgafv :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: coursesCourseWorkStudentSubmissionsList :: Text -> Text -> CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: data CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List.CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List.CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List.CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List.CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List.CoursesCourseWorkStudentSubmissionsList
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List: type CoursesCourseWorkStudentSubmissionsListResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (QueryParams "states" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "late" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (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] ListStudentSubmissionsResponse))))))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaCallback :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaCourseId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaPayload :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments ModifyAttachmentsRequest
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaPp :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaUploadType :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: ccwssmaXgafv :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: coursesCourseWorkStudentSubmissionsModifyAttachments :: Text -> ModifyAttachmentsRequest -> Text -> Text -> CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: data CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments.CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments.CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments.CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments.CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments.CoursesCourseWorkStudentSubmissionsModifyAttachments
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments: type CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (CaptureMode "id" "modifyAttachments" 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] ModifyAttachmentsRequest :> Post '[JSON] StudentSubmission)))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspCallback :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspCourseId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspPayload :: Lens' CoursesCourseWorkStudentSubmissionsPatch StudentSubmission
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspPp :: Lens' CoursesCourseWorkStudentSubmissionsPatch Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspUpdateMask :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspUploadType :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: ccwsspXgafv :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: coursesCourseWorkStudentSubmissionsPatch :: Text -> StudentSubmission -> Text -> Text -> CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: data CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch.CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch.CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch.CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch.CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch.CoursesCourseWorkStudentSubmissionsPatch
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch: type CoursesCourseWorkStudentSubmissionsPatchResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (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] StudentSubmission :> Patch '[JSON] StudentSubmission))))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couCallback :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couCourseId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couPayload :: Lens' CoursesCourseWorkStudentSubmissionsReclaim ReclaimStudentSubmissionRequest
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couPp :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couUploadType :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: couXgafv :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: coursesCourseWorkStudentSubmissionsReclaim :: Text -> ReclaimStudentSubmissionRequest -> Text -> Text -> CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: data CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim.CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim.CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim.CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim.CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim.CoursesCourseWorkStudentSubmissionsReclaim
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim: type CoursesCourseWorkStudentSubmissionsReclaimResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (CaptureMode "id" "reclaim" 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] ReclaimStudentSubmissionRequest :> Post '[JSON] Empty)))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrCallback :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrCourseId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrPayload :: Lens' CoursesCourseWorkStudentSubmissionsReturn ReturnStudentSubmissionRequest
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrPp :: Lens' CoursesCourseWorkStudentSubmissionsReturn Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrUploadType :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: ccwssrXgafv :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: coursesCourseWorkStudentSubmissionsReturn :: Text -> ReturnStudentSubmissionRequest -> Text -> Text -> CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: data CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return.CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return.CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return.CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return.CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return.CoursesCourseWorkStudentSubmissionsReturn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return: type CoursesCourseWorkStudentSubmissionsReturnResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (CaptureMode "id" "return" 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] ReturnStudentSubmissionRequest :> Post '[JSON] Empty)))))))))))))))
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiCallback :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiCourseId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiPayload :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn TurnInStudentSubmissionRequest
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiPp :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Bool
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiUploadType :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: ccwsstiXgafv :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: coursesCourseWorkStudentSubmissionsTurnIn :: Text -> TurnInStudentSubmissionRequest -> Text -> Text -> CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: data CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: instance Data.Data.Data Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn.CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: instance GHC.Classes.Eq Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn.CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: instance GHC.Generics.Generic Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn.CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: instance GHC.Show.Show Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn.CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn.CoursesCourseWorkStudentSubmissionsTurnIn
+ Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn: type CoursesCourseWorkStudentSubmissionsTurnInResource = "v1" :> ("courses" :> (Capture "courseId" Text :> ("courseWork" :> (Capture "courseWorkId" Text :> ("studentSubmissions" :> (CaptureMode "id" "turnIn" 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] TurnInStudentSubmissionRequest :> Post '[JSON] Empty)))))))))))))))
- Network.Google.Classroom: classroomService :: Service
+ Network.Google.Classroom: classroomService :: ServiceConfig
- Network.Google.Classroom: 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)))))))))))))))))))))
+ Network.Google.Classroom: type ClassroomAPI = InvitationsListResource :<|> (InvitationsAcceptResource :<|> (InvitationsGetResource :<|> (InvitationsCreateResource :<|> (InvitationsDeleteResource :<|> (CoursesCourseWorkStudentSubmissionsReturnResource :<|> (CoursesCourseWorkStudentSubmissionsListResource :<|> (CoursesCourseWorkStudentSubmissionsReclaimResource :<|> (CoursesCourseWorkStudentSubmissionsPatchResource :<|> (CoursesCourseWorkStudentSubmissionsGetResource :<|> (CoursesCourseWorkStudentSubmissionsTurnInResource :<|> (CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource :<|> (CoursesCourseWorkListResource :<|> (CoursesCourseWorkGetResource :<|> (CoursesCourseWorkCreateResource :<|> (CoursesTeachersListResource :<|> (CoursesTeachersGetResource :<|> (CoursesTeachersCreateResource :<|> (CoursesTeachersDeleteResource :<|> (CoursesAliasesListResource :<|> (CoursesAliasesCreateResource :<|> (CoursesAliasesDeleteResource :<|> (CoursesStudentsListResource :<|> (CoursesStudentsGetResource :<|> (CoursesStudentsCreateResource :<|> (CoursesStudentsDeleteResource :<|> (CoursesListResource :<|> (CoursesPatchResource :<|> (CoursesGetResource :<|> (CoursesCreateResource :<|> (CoursesDeleteResource :<|> (CoursesUpdateResource :<|> UserProFilesGetResource)))))))))))))))))))))))))))))))
- Network.Google.Classroom.Types: classroomCoursesScope :: OAuthScope
+ Network.Google.Classroom.Types: classroomCoursesScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses"]
- Network.Google.Classroom.Types: classroomRostersScope :: OAuthScope
+ Network.Google.Classroom.Types: classroomRostersScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters"]
- Network.Google.Classroom.Types: classroomService :: Service
+ Network.Google.Classroom.Types: classroomService :: ServiceConfig

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.0.1`+`0.1.0`   ## Description@@ -18,9 +18,9 @@  ## Contribute -For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues). -> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.   ## Licence
gen/Network/Google/Classroom.hs view
@@ -7,13 +7,13 @@  -- | -- Module      : Network.Google.Classroom--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 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+-- Manages classes, rosters, and invitations in Google Classroom. -- -- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> module Network.Google.Classroom@@ -21,6 +21,21 @@     -- * Service Configuration       classroomService +    -- * OAuth Scopes+    , classroomRostersReadOnlyScope+    , classroomCoursesScope+    , classroomCourseworkStudentsReadOnlyScope+    , classroomProFileEmailsScope+    , classroomProFilePhotosScope+    , classroomCourseworkMeScope+    , classroomCourseWorkReadOnlyScope+    , classroomStudentSubmissionsStudentsReadOnlyScope+    , classroomRostersScope+    , classroomCoursesReadOnlyScope+    , classroomCourseworkStudentsScope+    , classroomCourseworkMeReadOnlyScope+    , classroomStudentSubmissionsMeReadOnlyScope+     -- * API Declaration     , ClassroomAPI @@ -35,6 +50,36 @@     -- ** classroom.courses.aliases.list     , module Network.Google.Resource.Classroom.Courses.Aliases.List +    -- ** classroom.courses.courseWork.create+    , module Network.Google.Resource.Classroom.Courses.CourseWork.Create++    -- ** classroom.courses.courseWork.get+    , module Network.Google.Resource.Classroom.Courses.CourseWork.Get++    -- ** classroom.courses.courseWork.list+    , module Network.Google.Resource.Classroom.Courses.CourseWork.List++    -- ** classroom.courses.courseWork.studentSubmissions.get+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get++    -- ** classroom.courses.courseWork.studentSubmissions.list+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List++    -- ** classroom.courses.courseWork.studentSubmissions.modifyAttachments+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments++    -- ** classroom.courses.courseWork.studentSubmissions.patch+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch++    -- ** classroom.courses.courseWork.studentSubmissions.reclaim+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim++    -- ** classroom.courses.courseWork.studentSubmissions.return+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return++    -- ** classroom.courses.courseWork.studentSubmissions.turnIn+    , module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn+     -- ** classroom.courses.create     , module Network.Google.Resource.Classroom.Courses.Create @@ -103,6 +148,49 @@     , lcarNextPageToken     , lcarAliases +    -- ** CourseWork+    , CourseWork+    , courseWork+    , cwCreationTime+    , cwState+    , cwMaterials+    , cwCourseId+    , cwMaxPoints+    , cwWorkType+    , cwDueTime+    , cwAssociatedWithDeveloper+    , cwUpdateTime+    , cwMultipleChoiceQuestion+    , cwId+    , cwSubmissionModificationMode+    , cwDueDate+    , cwTitle+    , cwAlternateLink+    , cwAssignment+    , cwDescription++    -- ** DriveFile+    , DriveFile+    , driveFile+    , dfThumbnailURL+    , dfId+    , dfTitle+    , dfAlternateLink++    -- ** ReturnStudentSubmissionRequest+    , ReturnStudentSubmissionRequest+    , returnStudentSubmissionRequest++    -- ** ReclaimStudentSubmissionRequest+    , ReclaimStudentSubmissionRequest+    , reclaimStudentSubmissionRequest++    -- ** ListCourseWorkResponse+    , ListCourseWorkResponse+    , listCourseWorkResponse+    , lcwrCourseWork+    , lcwrNextPageToken+     -- ** Empty     , Empty     , empty@@ -112,12 +200,61 @@     , globalPermission     , gpPermission +    -- ** Link+    , Link+    , link+    , lThumbnailURL+    , lURL+    , lTitle++    -- ** AssignmentSubmission+    , AssignmentSubmission+    , assignmentSubmission+    , asAttachments++    -- ** ModifyAttachmentsRequest+    , ModifyAttachmentsRequest+    , modifyAttachmentsRequest+    , marAddAttachments++    -- ** ListStudentSubmissionsResponse+    , ListStudentSubmissionsResponse+    , listStudentSubmissionsResponse+    , lssrNextPageToken+    , lssrStudentSubmissions++    -- ** Material+    , Material+    , material+    , mDriveFile+    , mLink+    , mYouTubeVideo+    , mForm++    -- ** MultipleChoiceSubmission+    , MultipleChoiceSubmission+    , multipleChoiceSubmission+    , mcsAnswer+     -- ** ListInvitationsResponse     , ListInvitationsResponse     , listInvitationsResponse     , lirNextPageToken     , lirInvitations +    -- ** CourseMaterial+    , CourseMaterial+    , courseMaterial+    , cmDriveFile+    , cmLink+    , cmYouTubeVideo+    , cmForm++    -- ** ShortAnswerSubmission+    , ShortAnswerSubmission+    , shortAnswerSubmission+    , sasAnswer+     -- ** Invitation     , Invitation     , invitation@@ -126,6 +263,49 @@     , iRole     , iId +    -- ** Attachment+    , Attachment+    , attachment+    , aDriveFile+    , aLink+    , aYouTubeVideo+    , aForm++    -- ** StudentSubmission+    , StudentSubmission+    , studentSubmission+    , ssCreationTime+    , ssLate+    , ssState+    , ssCourseId+    , ssMultipleChoiceSubmission+    , ssAssignmentSubmission+    , ssShortAnswerSubmission+    , ssAssociatedWithDeveloper+    , ssUserId+    , ssUpdateTime+    , ssCourseWorkType+    , ssAssignedGrade+    , ssId+    , ssDraftGrade+    , ssAlternateLink+    , ssCourseWorkId++    -- ** Date+    , Date+    , date+    , dDay+    , dYear+    , dMonth++    -- ** YouTubeVideo+    , YouTubeVideo+    , youTubeVideo+    , ytvThumbnailURL+    , ytvId+    , ytvTitle+    , ytvAlternateLink+     -- ** Teacher     , Teacher     , teacher@@ -133,6 +313,12 @@     , tProFile     , tUserId +    -- ** CourseMaterialSet+    , CourseMaterialSet+    , courseMaterialSet+    , cmsMaterials+    , cmsTitle+     -- ** Name     , Name     , name@@ -146,6 +332,10 @@     , lcrNextPageToken     , lcrCourses +    -- ** TurnInStudentSubmissionRequest+    , TurnInStudentSubmissionRequest+    , turnInStudentSubmissionRequest+     -- ** UserProFile     , UserProFile     , userProFile@@ -155,11 +345,26 @@     , upfId     , upfPermissions +    -- ** DriveFolder+    , DriveFolder+    , driveFolder+    , dId+    , dTitle+    , dAlternateLink++    -- ** MultipleChoiceQuestion+    , MultipleChoiceQuestion+    , multipleChoiceQuestion+    , mcqChoices+     -- ** Course     , Course     , course     , cCreationTime     , cRoom+    , cCourseMaterialSets+    , cTeacherGroupEmail+    , cTeacherFolder     , cCourseState     , cEnrollmentCode     , cUpdateTime@@ -167,21 +372,49 @@     , cName     , cId     , cAlternateLink+    , cCourseGroupEmail     , cDescription     , cDescriptionHeading     , cSection +    -- ** TimeOfDay'+    , TimeOfDay'+    , timeOfDay+    , todNanos+    , todHours+    , todMinutes+    , todSeconds++    -- ** Assignment+    , Assignment+    , assignment+    , aStudentWorkFolder+     -- ** ListStudentsResponse     , ListStudentsResponse     , listStudentsResponse     , lsrNextPageToken     , lsrStudents +    -- ** SharedDriveFile+    , SharedDriveFile+    , sharedDriveFile+    , sdfDriveFile+    , sdfShareMode+     -- ** CourseAlias     , CourseAlias     , courseAlias     , caAlias +    -- ** Form+    , Form+    , form+    , fThumbnailURL+    , fFormURL+    , fTitle+    , fResponseURL+     -- ** ListTeachersResponse     , ListTeachersResponse     , listTeachersResponse@@ -193,6 +426,7 @@     , student     , sCourseId     , sProFile+    , sStudentWorkFolder     , sUserId     ) where @@ -201,6 +435,16 @@ 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.CourseWork.Create+import           Network.Google.Resource.Classroom.Courses.CourseWork.Get+import           Network.Google.Resource.Classroom.Courses.CourseWork.List+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return+import           Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn import           Network.Google.Resource.Classroom.Courses.Create import           Network.Google.Resource.Classroom.Courses.Delete import           Network.Google.Resource.Classroom.Courses.Get@@ -233,6 +477,20 @@        :<|> InvitationsGetResource        :<|> InvitationsCreateResource        :<|> InvitationsDeleteResource+       :<|>+       CoursesCourseWorkStudentSubmissionsReturnResource+       :<|> CoursesCourseWorkStudentSubmissionsListResource+       :<|>+       CoursesCourseWorkStudentSubmissionsReclaimResource+       :<|> CoursesCourseWorkStudentSubmissionsPatchResource+       :<|> CoursesCourseWorkStudentSubmissionsGetResource+       :<|>+       CoursesCourseWorkStudentSubmissionsTurnInResource+       :<|>+       CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource+       :<|> CoursesCourseWorkListResource+       :<|> CoursesCourseWorkGetResource+       :<|> CoursesCourseWorkCreateResource        :<|> CoursesTeachersListResource        :<|> CoursesTeachersGetResource        :<|> CoursesTeachersCreateResource
gen/Network/Google/Classroom/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DataKinds          #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric      #-} {-# LANGUAGE NoImplicitPrelude  #-}@@ -7,7 +8,7 @@  -- | -- Module      : Network.Google.Classroom.Types--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -19,12 +20,19 @@       classroomService      -- * OAuth Scopes-    , classroomRostersReadonlyScope+    , classroomRostersReadOnlyScope     , classroomCoursesScope-    , classroomProfileEmailsScope-    , classroomProfilePhotosScope+    , classroomCourseworkStudentsReadOnlyScope+    , classroomProFileEmailsScope+    , classroomProFilePhotosScope+    , classroomCourseworkMeScope+    , classroomCourseWorkReadOnlyScope+    , classroomStudentSubmissionsStudentsReadOnlyScope     , classroomRostersScope-    , classroomCoursesReadonlyScope+    , classroomCoursesReadOnlyScope+    , classroomCourseworkStudentsScope+    , classroomCourseworkMeReadOnlyScope+    , classroomStudentSubmissionsMeReadOnlyScope      -- * ListCourseAliasesResponse     , ListCourseAliasesResponse@@ -32,6 +40,49 @@     , lcarNextPageToken     , lcarAliases +    -- * CourseWork+    , CourseWork+    , courseWork+    , cwCreationTime+    , cwState+    , cwMaterials+    , cwCourseId+    , cwMaxPoints+    , cwWorkType+    , cwDueTime+    , cwAssociatedWithDeveloper+    , cwUpdateTime+    , cwMultipleChoiceQuestion+    , cwId+    , cwSubmissionModificationMode+    , cwDueDate+    , cwTitle+    , cwAlternateLink+    , cwAssignment+    , cwDescription++    -- * DriveFile+    , DriveFile+    , driveFile+    , dfThumbnailURL+    , dfId+    , dfTitle+    , dfAlternateLink++    -- * ReturnStudentSubmissionRequest+    , ReturnStudentSubmissionRequest+    , returnStudentSubmissionRequest++    -- * ReclaimStudentSubmissionRequest+    , ReclaimStudentSubmissionRequest+    , reclaimStudentSubmissionRequest++    -- * ListCourseWorkResponse+    , ListCourseWorkResponse+    , listCourseWorkResponse+    , lcwrCourseWork+    , lcwrNextPageToken+     -- * Empty     , Empty     , empty@@ -41,12 +92,61 @@     , globalPermission     , gpPermission +    -- * Link+    , Link+    , link+    , lThumbnailURL+    , lURL+    , lTitle++    -- * AssignmentSubmission+    , AssignmentSubmission+    , assignmentSubmission+    , asAttachments++    -- * ModifyAttachmentsRequest+    , ModifyAttachmentsRequest+    , modifyAttachmentsRequest+    , marAddAttachments++    -- * ListStudentSubmissionsResponse+    , ListStudentSubmissionsResponse+    , listStudentSubmissionsResponse+    , lssrNextPageToken+    , lssrStudentSubmissions++    -- * Material+    , Material+    , material+    , mDriveFile+    , mLink+    , mYouTubeVideo+    , mForm++    -- * MultipleChoiceSubmission+    , MultipleChoiceSubmission+    , multipleChoiceSubmission+    , mcsAnswer+     -- * ListInvitationsResponse     , ListInvitationsResponse     , listInvitationsResponse     , lirNextPageToken     , lirInvitations +    -- * CourseMaterial+    , CourseMaterial+    , courseMaterial+    , cmDriveFile+    , cmLink+    , cmYouTubeVideo+    , cmForm++    -- * ShortAnswerSubmission+    , ShortAnswerSubmission+    , shortAnswerSubmission+    , sasAnswer+     -- * Invitation     , Invitation     , invitation@@ -55,6 +155,49 @@     , iRole     , iId +    -- * Attachment+    , Attachment+    , attachment+    , aDriveFile+    , aLink+    , aYouTubeVideo+    , aForm++    -- * StudentSubmission+    , StudentSubmission+    , studentSubmission+    , ssCreationTime+    , ssLate+    , ssState+    , ssCourseId+    , ssMultipleChoiceSubmission+    , ssAssignmentSubmission+    , ssShortAnswerSubmission+    , ssAssociatedWithDeveloper+    , ssUserId+    , ssUpdateTime+    , ssCourseWorkType+    , ssAssignedGrade+    , ssId+    , ssDraftGrade+    , ssAlternateLink+    , ssCourseWorkId++    -- * Date+    , Date+    , date+    , dDay+    , dYear+    , dMonth++    -- * YouTubeVideo+    , YouTubeVideo+    , youTubeVideo+    , ytvThumbnailURL+    , ytvId+    , ytvTitle+    , ytvAlternateLink+     -- * Teacher     , Teacher     , teacher@@ -62,6 +205,12 @@     , tProFile     , tUserId +    -- * CourseMaterialSet+    , CourseMaterialSet+    , courseMaterialSet+    , cmsMaterials+    , cmsTitle+     -- * Name     , Name     , name@@ -75,6 +224,10 @@     , lcrNextPageToken     , lcrCourses +    -- * TurnInStudentSubmissionRequest+    , TurnInStudentSubmissionRequest+    , turnInStudentSubmissionRequest+     -- * UserProFile     , UserProFile     , userProFile@@ -84,11 +237,26 @@     , upfId     , upfPermissions +    -- * DriveFolder+    , DriveFolder+    , driveFolder+    , dId+    , dTitle+    , dAlternateLink++    -- * MultipleChoiceQuestion+    , MultipleChoiceQuestion+    , multipleChoiceQuestion+    , mcqChoices+     -- * Course     , Course     , course     , cCreationTime     , cRoom+    , cCourseMaterialSets+    , cTeacherGroupEmail+    , cTeacherFolder     , cCourseState     , cEnrollmentCode     , cUpdateTime@@ -96,21 +264,49 @@     , cName     , cId     , cAlternateLink+    , cCourseGroupEmail     , cDescription     , cDescriptionHeading     , cSection +    -- * TimeOfDay'+    , TimeOfDay'+    , timeOfDay+    , todNanos+    , todHours+    , todMinutes+    , todSeconds++    -- * Assignment+    , Assignment+    , assignment+    , aStudentWorkFolder+     -- * ListStudentsResponse     , ListStudentsResponse     , listStudentsResponse     , lsrNextPageToken     , lsrStudents +    -- * SharedDriveFile+    , SharedDriveFile+    , sharedDriveFile+    , sdfDriveFile+    , sdfShareMode+     -- * CourseAlias     , CourseAlias     , courseAlias     , caAlias +    -- * Form+    , Form+    , form+    , fThumbnailURL+    , fFormURL+    , fTitle+    , fResponseURL+     -- * ListTeachersResponse     , ListTeachersResponse     , listTeachersResponse@@ -122,6 +318,7 @@     , student     , sCourseId     , sProFile+    , sStudentWorkFolder     , sUserId     ) where @@ -130,31 +327,64 @@ 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 :: ServiceConfig 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";+classroomRostersReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters.readonly"]+classroomRostersReadOnlyScope = Proxy;  -- | Manage your Google Classroom classes-classroomCoursesScope :: OAuthScope-classroomCoursesScope = "https://www.googleapis.com/auth/classroom.courses";+classroomCoursesScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses"]+classroomCoursesScope = Proxy; +-- | View course work and grades for students in the Google Classroom classes+-- you teach or administer+classroomCourseworkStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students.readonly"]+classroomCourseworkStudentsReadOnlyScope = Proxy;+ -- | View the email addresses of people in your classes-classroomProfileEmailsScope :: OAuthScope-classroomProfileEmailsScope = "https://www.googleapis.com/auth/classroom.profile.emails";+classroomProFileEmailsScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.emails"]+classroomProFileEmailsScope = Proxy;  -- | View the profile photos of people in your classes-classroomProfilePhotosScope :: OAuthScope-classroomProfilePhotosScope = "https://www.googleapis.com/auth/classroom.profile.photos";+classroomProFilePhotosScope :: Proxy '["https://www.googleapis.com/auth/classroom.profile.photos"]+classroomProFilePhotosScope = Proxy; +-- | Manage your course work and view your grades in Google Classroom+classroomCourseworkMeScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me"]+classroomCourseworkMeScope = Proxy;++-- | View instructions for teacher-assigned work in your Google Classroom+-- classes+classroomCourseWorkReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.course-work.readonly"]+classroomCourseWorkReadOnlyScope = Proxy;++-- | View course work and grades for students in the Google Classroom classes+-- you teach or administer+classroomStudentSubmissionsStudentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]+classroomStudentSubmissionsStudentsReadOnlyScope = Proxy;+ -- | Manage your Google Classroom class rosters-classroomRostersScope :: OAuthScope-classroomRostersScope = "https://www.googleapis.com/auth/classroom.rosters";+classroomRostersScope :: Proxy '["https://www.googleapis.com/auth/classroom.rosters"]+classroomRostersScope = Proxy;  -- | View your Google Classroom classes-classroomCoursesReadonlyScope :: OAuthScope-classroomCoursesReadonlyScope = "https://www.googleapis.com/auth/classroom.courses.readonly";+classroomCoursesReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.courses.readonly"]+classroomCoursesReadOnlyScope = Proxy;++-- | Manage course work and grades for students in the Google Classroom+-- classes you teach and view the course work and grades for classes you+-- administer+classroomCourseworkStudentsScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.students"]+classroomCourseworkStudentsScope = Proxy;++-- | View your course work and grades in Google Classroom+classroomCourseworkMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.coursework.me.readonly"]+classroomCourseworkMeReadOnlyScope = Proxy;++-- | View your course work and grades in Google Classroom+classroomStudentSubmissionsMeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"]+classroomStudentSubmissionsMeReadOnlyScope = Proxy;
gen/Network/Google/Classroom/Types/Product.hs view
@@ -9,883 +9,2579 @@  -- | -- 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,+-- Copyright   : (c) 2015-2016 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])++-- | Course work created by a teacher for students of the course.+--+-- /See:/ 'courseWork' smart constructor.+data CourseWork = CourseWork'+    { _cwCreationTime               :: !(Maybe Text)+    , _cwState                      :: !(Maybe Text)+    , _cwMaterials                  :: !(Maybe [Material])+    , _cwCourseId                   :: !(Maybe Text)+    , _cwMaxPoints                  :: !(Maybe (Textual Double))+    , _cwWorkType                   :: !(Maybe Text)+    , _cwDueTime                    :: !(Maybe TimeOfDay')+    , _cwAssociatedWithDeveloper    :: !(Maybe Bool)+    , _cwUpdateTime                 :: !(Maybe Text)+    , _cwMultipleChoiceQuestion     :: !(Maybe MultipleChoiceQuestion)+    , _cwId                         :: !(Maybe Text)+    , _cwSubmissionModificationMode :: !(Maybe Text)+    , _cwDueDate                    :: !(Maybe Date)+    , _cwTitle                      :: !(Maybe Text)+    , _cwAlternateLink              :: !(Maybe Text)+    , _cwAssignment                 :: !(Maybe Assignment)+    , _cwDescription                :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CourseWork' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cwCreationTime'+--+-- * 'cwState'+--+-- * 'cwMaterials'+--+-- * 'cwCourseId'+--+-- * 'cwMaxPoints'+--+-- * 'cwWorkType'+--+-- * 'cwDueTime'+--+-- * 'cwAssociatedWithDeveloper'+--+-- * 'cwUpdateTime'+--+-- * 'cwMultipleChoiceQuestion'+--+-- * 'cwId'+--+-- * 'cwSubmissionModificationMode'+--+-- * 'cwDueDate'+--+-- * 'cwTitle'+--+-- * 'cwAlternateLink'+--+-- * 'cwAssignment'+--+-- * 'cwDescription'+courseWork+    :: CourseWork+courseWork =+    CourseWork'+    { _cwCreationTime = Nothing+    , _cwState = Nothing+    , _cwMaterials = Nothing+    , _cwCourseId = Nothing+    , _cwMaxPoints = Nothing+    , _cwWorkType = Nothing+    , _cwDueTime = Nothing+    , _cwAssociatedWithDeveloper = Nothing+    , _cwUpdateTime = Nothing+    , _cwMultipleChoiceQuestion = Nothing+    , _cwId = Nothing+    , _cwSubmissionModificationMode = Nothing+    , _cwDueDate = Nothing+    , _cwTitle = Nothing+    , _cwAlternateLink = Nothing+    , _cwAssignment = Nothing+    , _cwDescription = Nothing+    }++-- | Timestamp when this course work was created. Read-only.+cwCreationTime :: Lens' CourseWork (Maybe Text)+cwCreationTime+  = lens _cwCreationTime+      (\ s a -> s{_cwCreationTime = a})++-- | Status of this course work.. If unspecified, the default state is+-- \`DRAFT\`.+cwState :: Lens' CourseWork (Maybe Text)+cwState = lens _cwState (\ s a -> s{_cwState = a})++-- | Additional materials.+cwMaterials :: Lens' CourseWork [Material]+cwMaterials+  = lens _cwMaterials (\ s a -> s{_cwMaterials = a}) .+      _Default+      . _Coerce++-- | Identifier of the course. Read-only.+cwCourseId :: Lens' CourseWork (Maybe Text)+cwCourseId+  = lens _cwCourseId (\ s a -> s{_cwCourseId = a})++-- | Maximum grade for this course work. If zero or unspecified, this+-- assignment is considered ungraded. This must be an integer value.+cwMaxPoints :: Lens' CourseWork (Maybe Double)+cwMaxPoints+  = lens _cwMaxPoints (\ s a -> s{_cwMaxPoints = a}) .+      mapping _Coerce++-- | Type of this course work. The type is set when the course work is+-- created and cannot be changed. When creating course work, this must be+-- \`ASSIGNMENT\`.+cwWorkType :: Lens' CourseWork (Maybe Text)+cwWorkType+  = lens _cwWorkType (\ s a -> s{_cwWorkType = a})++-- | Optional time of day, in UTC, that submissions for this this course work+-- are due. This must be specified if \`due_date\` is specified.+cwDueTime :: Lens' CourseWork (Maybe TimeOfDay')+cwDueTime+  = lens _cwDueTime (\ s a -> s{_cwDueTime = a})++-- | Whether this course work item is associated with the Developer Console+-- project making the request. See google.classroom.Work.CreateCourseWork+-- for more details. Read-only.+cwAssociatedWithDeveloper :: Lens' CourseWork (Maybe Bool)+cwAssociatedWithDeveloper+  = lens _cwAssociatedWithDeveloper+      (\ s a -> s{_cwAssociatedWithDeveloper = a})++-- | Timestamp of the most recent change to this course work. Read-only.+cwUpdateTime :: Lens' CourseWork (Maybe Text)+cwUpdateTime+  = lens _cwUpdateTime (\ s a -> s{_cwUpdateTime = a})++-- | Multiple choice question details. This is populated only when+-- \`work_type\` is \`MULTIPLE_CHOICE_QUESTION\`.+cwMultipleChoiceQuestion :: Lens' CourseWork (Maybe MultipleChoiceQuestion)+cwMultipleChoiceQuestion+  = lens _cwMultipleChoiceQuestion+      (\ s a -> s{_cwMultipleChoiceQuestion = a})++-- | Classroom-assigned identifier of this course work, unique per course.+-- Read-only.+cwId :: Lens' CourseWork (Maybe Text)+cwId = lens _cwId (\ s a -> s{_cwId = a})++-- | Setting to determine when students are allowed to modify submissions. If+-- unspecified, the default value is \`MODIFIABLE_UNTIL_TURNED_IN\`.+cwSubmissionModificationMode :: Lens' CourseWork (Maybe Text)+cwSubmissionModificationMode+  = lens _cwSubmissionModificationMode+      (\ s a -> s{_cwSubmissionModificationMode = a})++-- | Optional date, in UTC, that submissions for this this course work are+-- due. This must be specified if \`due_time\` is specified.+cwDueDate :: Lens' CourseWork (Maybe Date)+cwDueDate+  = lens _cwDueDate (\ s a -> s{_cwDueDate = a})++-- | Title of this course work. The title must be a valid UTF-8 string+-- containing between 1 and 3000 characters.+cwTitle :: Lens' CourseWork (Maybe Text)+cwTitle = lens _cwTitle (\ s a -> s{_cwTitle = a})++-- | Absolute link to this course work in the Classroom web UI. This is only+-- populated if \`state\` is \`PUBLISHED\`. Read-only.+cwAlternateLink :: Lens' CourseWork (Maybe Text)+cwAlternateLink+  = lens _cwAlternateLink+      (\ s a -> s{_cwAlternateLink = a})++-- | Assignment details. This is populated only when \`work_type\` is+-- \`ASSIGNMENT\`.+cwAssignment :: Lens' CourseWork (Maybe Assignment)+cwAssignment+  = lens _cwAssignment (\ s a -> s{_cwAssignment = a})++-- | Optional description of this course work. If set, the description must+-- be a valid UTF-8 string containing no more than 30,000 characters.+cwDescription :: Lens' CourseWork (Maybe Text)+cwDescription+  = lens _cwDescription+      (\ s a -> s{_cwDescription = a})++instance FromJSON CourseWork where+        parseJSON+          = withObject "CourseWork"+              (\ o ->+                 CourseWork' <$>+                   (o .:? "creationTime") <*> (o .:? "state") <*>+                     (o .:? "materials" .!= mempty)+                     <*> (o .:? "courseId")+                     <*> (o .:? "maxPoints")+                     <*> (o .:? "workType")+                     <*> (o .:? "dueTime")+                     <*> (o .:? "associatedWithDeveloper")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "multipleChoiceQuestion")+                     <*> (o .:? "id")+                     <*> (o .:? "submissionModificationMode")+                     <*> (o .:? "dueDate")+                     <*> (o .:? "title")+                     <*> (o .:? "alternateLink")+                     <*> (o .:? "assignment")+                     <*> (o .:? "description"))++instance ToJSON CourseWork where+        toJSON CourseWork'{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _cwCreationTime,+                  ("state" .=) <$> _cwState,+                  ("materials" .=) <$> _cwMaterials,+                  ("courseId" .=) <$> _cwCourseId,+                  ("maxPoints" .=) <$> _cwMaxPoints,+                  ("workType" .=) <$> _cwWorkType,+                  ("dueTime" .=) <$> _cwDueTime,+                  ("associatedWithDeveloper" .=) <$>+                    _cwAssociatedWithDeveloper,+                  ("updateTime" .=) <$> _cwUpdateTime,+                  ("multipleChoiceQuestion" .=) <$>+                    _cwMultipleChoiceQuestion,+                  ("id" .=) <$> _cwId,+                  ("submissionModificationMode" .=) <$>+                    _cwSubmissionModificationMode,+                  ("dueDate" .=) <$> _cwDueDate,+                  ("title" .=) <$> _cwTitle,+                  ("alternateLink" .=) <$> _cwAlternateLink,+                  ("assignment" .=) <$> _cwAssignment,+                  ("description" .=) <$> _cwDescription])++-- | Representation of a Google Drive file.+--+-- /See:/ 'driveFile' smart constructor.+data DriveFile = DriveFile'+    { _dfThumbnailURL  :: !(Maybe Text)+    , _dfId            :: !(Maybe Text)+    , _dfTitle         :: !(Maybe Text)+    , _dfAlternateLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfThumbnailURL'+--+-- * 'dfId'+--+-- * 'dfTitle'+--+-- * 'dfAlternateLink'+driveFile+    :: DriveFile+driveFile =+    DriveFile'+    { _dfThumbnailURL = Nothing+    , _dfId = Nothing+    , _dfTitle = Nothing+    , _dfAlternateLink = Nothing+    }++-- | URL of a thumbnail image of the Drive item. Read-only.+dfThumbnailURL :: Lens' DriveFile (Maybe Text)+dfThumbnailURL+  = lens _dfThumbnailURL+      (\ s a -> s{_dfThumbnailURL = a})++-- | Drive API resource ID.+dfId :: Lens' DriveFile (Maybe Text)+dfId = lens _dfId (\ s a -> s{_dfId = a})++-- | Title of the Drive item. Read-only.+dfTitle :: Lens' DriveFile (Maybe Text)+dfTitle = lens _dfTitle (\ s a -> s{_dfTitle = a})++-- | URL that can be used to access the Drive item. Read-only.+dfAlternateLink :: Lens' DriveFile (Maybe Text)+dfAlternateLink+  = lens _dfAlternateLink+      (\ s a -> s{_dfAlternateLink = a})++instance FromJSON DriveFile where+        parseJSON+          = withObject "DriveFile"+              (\ o ->+                 DriveFile' <$>+                   (o .:? "thumbnailUrl") <*> (o .:? "id") <*>+                     (o .:? "title")+                     <*> (o .:? "alternateLink"))++instance ToJSON DriveFile where+        toJSON DriveFile'{..}+          = object+              (catMaybes+                 [("thumbnailUrl" .=) <$> _dfThumbnailURL,+                  ("id" .=) <$> _dfId, ("title" .=) <$> _dfTitle,+                  ("alternateLink" .=) <$> _dfAlternateLink])++-- | Request to return a student submission.+--+-- /See:/ 'returnStudentSubmissionRequest' smart constructor.+data ReturnStudentSubmissionRequest =+    ReturnStudentSubmissionRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReturnStudentSubmissionRequest' with the minimum fields required to make a request.+--+returnStudentSubmissionRequest+    :: ReturnStudentSubmissionRequest+returnStudentSubmissionRequest = ReturnStudentSubmissionRequest'++instance FromJSON ReturnStudentSubmissionRequest+         where+        parseJSON+          = withObject "ReturnStudentSubmissionRequest"+              (\ o -> pure ReturnStudentSubmissionRequest')++instance ToJSON ReturnStudentSubmissionRequest where+        toJSON = const emptyObject++-- | Request to reclaim a student submission.+--+-- /See:/ 'reclaimStudentSubmissionRequest' smart constructor.+data ReclaimStudentSubmissionRequest =+    ReclaimStudentSubmissionRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReclaimStudentSubmissionRequest' with the minimum fields required to make a request.+--+reclaimStudentSubmissionRequest+    :: ReclaimStudentSubmissionRequest+reclaimStudentSubmissionRequest = ReclaimStudentSubmissionRequest'++instance FromJSON ReclaimStudentSubmissionRequest+         where+        parseJSON+          = withObject "ReclaimStudentSubmissionRequest"+              (\ o -> pure ReclaimStudentSubmissionRequest')++instance ToJSON ReclaimStudentSubmissionRequest where+        toJSON = const emptyObject++-- | Response when listing course work.+--+-- /See:/ 'listCourseWorkResponse' smart constructor.+data ListCourseWorkResponse = ListCourseWorkResponse'+    { _lcwrCourseWork    :: !(Maybe [CourseWork])+    , _lcwrNextPageToken :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListCourseWorkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcwrCourseWork'+--+-- * 'lcwrNextPageToken'+listCourseWorkResponse+    :: ListCourseWorkResponse+listCourseWorkResponse =+    ListCourseWorkResponse'+    { _lcwrCourseWork = Nothing+    , _lcwrNextPageToken = Nothing+    }++-- | Course work items that match the request.+lcwrCourseWork :: Lens' ListCourseWorkResponse [CourseWork]+lcwrCourseWork+  = lens _lcwrCourseWork+      (\ s a -> s{_lcwrCourseWork = a})+      . _Default+      . _Coerce++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lcwrNextPageToken :: Lens' ListCourseWorkResponse (Maybe Text)+lcwrNextPageToken+  = lens _lcwrNextPageToken+      (\ s a -> s{_lcwrNextPageToken = a})++instance FromJSON ListCourseWorkResponse where+        parseJSON+          = withObject "ListCourseWorkResponse"+              (\ o ->+                 ListCourseWorkResponse' <$>+                   (o .:? "courseWork" .!= mempty) <*>+                     (o .:? "nextPageToken"))++instance ToJSON ListCourseWorkResponse where+        toJSON ListCourseWorkResponse'{..}+          = object+              (catMaybes+                 [("courseWork" .=) <$> _lcwrCourseWork,+                  ("nextPageToken" .=) <$> _lcwrNextPageToken])++-- | 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])++-- | URL item.+--+-- /See:/ 'link' smart constructor.+data Link = Link'+    { _lThumbnailURL :: !(Maybe Text)+    , _lURL          :: !(Maybe Text)+    , _lTitle        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Link' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lThumbnailURL'+--+-- * 'lURL'+--+-- * 'lTitle'+link+    :: Link+link =+    Link'+    { _lThumbnailURL = Nothing+    , _lURL = Nothing+    , _lTitle = Nothing+    }++-- | URL of a thumbnail image of the target URL. Read-only.+lThumbnailURL :: Lens' Link (Maybe Text)+lThumbnailURL+  = lens _lThumbnailURL+      (\ s a -> s{_lThumbnailURL = a})++-- | URL to link to. This must be a valid UTF-8 string containing between 1+-- and 2024 characters.+lURL :: Lens' Link (Maybe Text)+lURL = lens _lURL (\ s a -> s{_lURL = a})++-- | Title of the target of the URL. Read-only.+lTitle :: Lens' Link (Maybe Text)+lTitle = lens _lTitle (\ s a -> s{_lTitle = a})++instance FromJSON Link where+        parseJSON+          = withObject "Link"+              (\ o ->+                 Link' <$>+                   (o .:? "thumbnailUrl") <*> (o .:? "url") <*>+                     (o .:? "title"))++instance ToJSON Link where+        toJSON Link'{..}+          = object+              (catMaybes+                 [("thumbnailUrl" .=) <$> _lThumbnailURL,+                  ("url" .=) <$> _lURL, ("title" .=) <$> _lTitle])++-- | Student work for an assignment.+--+-- /See:/ 'assignmentSubmission' smart constructor.+newtype AssignmentSubmission = AssignmentSubmission'+    { _asAttachments :: Maybe [Attachment]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AssignmentSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asAttachments'+assignmentSubmission+    :: AssignmentSubmission+assignmentSubmission =+    AssignmentSubmission'+    { _asAttachments = Nothing+    }++-- | Attachments added by the student. Drive files that correspond to+-- materials with a share mode of SUBMISSION_COPY may not exist yet if the+-- student has not accessed the assignment in Classroom. Some attachment+-- metadata is only populated if the requesting user has permission to+-- access it. Identifier and alternate_link fields are available, but+-- others (e.g. title) may not be.+asAttachments :: Lens' AssignmentSubmission [Attachment]+asAttachments+  = lens _asAttachments+      (\ s a -> s{_asAttachments = a})+      . _Default+      . _Coerce++instance FromJSON AssignmentSubmission where+        parseJSON+          = withObject "AssignmentSubmission"+              (\ o ->+                 AssignmentSubmission' <$>+                   (o .:? "attachments" .!= mempty))++instance ToJSON AssignmentSubmission where+        toJSON AssignmentSubmission'{..}+          = object+              (catMaybes [("attachments" .=) <$> _asAttachments])++-- | Request to modify the attachments of a student submission.+--+-- /See:/ 'modifyAttachmentsRequest' smart constructor.+newtype ModifyAttachmentsRequest = ModifyAttachmentsRequest'+    { _marAddAttachments :: Maybe [Attachment]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyAttachmentsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'marAddAttachments'+modifyAttachmentsRequest+    :: ModifyAttachmentsRequest+modifyAttachmentsRequest =+    ModifyAttachmentsRequest'+    { _marAddAttachments = Nothing+    }++-- | Attachments to add. This may only contain link attachments.+marAddAttachments :: Lens' ModifyAttachmentsRequest [Attachment]+marAddAttachments+  = lens _marAddAttachments+      (\ s a -> s{_marAddAttachments = a})+      . _Default+      . _Coerce++instance FromJSON ModifyAttachmentsRequest where+        parseJSON+          = withObject "ModifyAttachmentsRequest"+              (\ o ->+                 ModifyAttachmentsRequest' <$>+                   (o .:? "addAttachments" .!= mempty))++instance ToJSON ModifyAttachmentsRequest where+        toJSON ModifyAttachmentsRequest'{..}+          = object+              (catMaybes+                 [("addAttachments" .=) <$> _marAddAttachments])++-- | Response when listing student submissions.+--+-- /See:/ 'listStudentSubmissionsResponse' smart constructor.+data ListStudentSubmissionsResponse = ListStudentSubmissionsResponse'+    { _lssrNextPageToken      :: !(Maybe Text)+    , _lssrStudentSubmissions :: !(Maybe [StudentSubmission])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListStudentSubmissionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssrNextPageToken'+--+-- * 'lssrStudentSubmissions'+listStudentSubmissionsResponse+    :: ListStudentSubmissionsResponse+listStudentSubmissionsResponse =+    ListStudentSubmissionsResponse'+    { _lssrNextPageToken = Nothing+    , _lssrStudentSubmissions = Nothing+    }++-- | Token identifying the next page of results to return. If empty, no+-- further results are available.+lssrNextPageToken :: Lens' ListStudentSubmissionsResponse (Maybe Text)+lssrNextPageToken+  = lens _lssrNextPageToken+      (\ s a -> s{_lssrNextPageToken = a})++-- | Student work that matches the request.+lssrStudentSubmissions :: Lens' ListStudentSubmissionsResponse [StudentSubmission]+lssrStudentSubmissions+  = lens _lssrStudentSubmissions+      (\ s a -> s{_lssrStudentSubmissions = a})+      . _Default+      . _Coerce++instance FromJSON ListStudentSubmissionsResponse+         where+        parseJSON+          = withObject "ListStudentSubmissionsResponse"+              (\ o ->+                 ListStudentSubmissionsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "studentSubmissions" .!= mempty))++instance ToJSON ListStudentSubmissionsResponse where+        toJSON ListStudentSubmissionsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lssrNextPageToken,+                  ("studentSubmissions" .=) <$>+                    _lssrStudentSubmissions])++-- | Material attached to course work. When creating attachments, only the+-- Link field may be specified.+--+-- /See:/ 'material' smart constructor.+data Material = Material'+    { _mDriveFile    :: !(Maybe SharedDriveFile)+    , _mLink         :: !(Maybe Link)+    , _mYouTubeVideo :: !(Maybe YouTubeVideo)+    , _mForm         :: !(Maybe Form)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Material' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mDriveFile'+--+-- * 'mLink'+--+-- * 'mYouTubeVideo'+--+-- * 'mForm'+material+    :: Material+material =+    Material'+    { _mDriveFile = Nothing+    , _mLink = Nothing+    , _mYouTubeVideo = Nothing+    , _mForm = Nothing+    }++-- | Google Drive file material.+mDriveFile :: Lens' Material (Maybe SharedDriveFile)+mDriveFile+  = lens _mDriveFile (\ s a -> s{_mDriveFile = a})++-- | Link material.+mLink :: Lens' Material (Maybe Link)+mLink = lens _mLink (\ s a -> s{_mLink = a})++-- | YouTube video material.+mYouTubeVideo :: Lens' Material (Maybe YouTubeVideo)+mYouTubeVideo+  = lens _mYouTubeVideo+      (\ s a -> s{_mYouTubeVideo = a})++-- | Google Forms material.+mForm :: Lens' Material (Maybe Form)+mForm = lens _mForm (\ s a -> s{_mForm = a})++instance FromJSON Material where+        parseJSON+          = withObject "Material"+              (\ o ->+                 Material' <$>+                   (o .:? "driveFile") <*> (o .:? "link") <*>+                     (o .:? "youtubeVideo")+                     <*> (o .:? "form"))++instance ToJSON Material where+        toJSON Material'{..}+          = object+              (catMaybes+                 [("driveFile" .=) <$> _mDriveFile,+                  ("link" .=) <$> _mLink,+                  ("youtubeVideo" .=) <$> _mYouTubeVideo,+                  ("form" .=) <$> _mForm])++-- | Student work for a multiple-choice question.+--+-- /See:/ 'multipleChoiceSubmission' smart constructor.+newtype MultipleChoiceSubmission = MultipleChoiceSubmission'+    { _mcsAnswer :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MultipleChoiceSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcsAnswer'+multipleChoiceSubmission+    :: MultipleChoiceSubmission+multipleChoiceSubmission =+    MultipleChoiceSubmission'+    { _mcsAnswer = Nothing+    }++-- | Student\'s select choice.+mcsAnswer :: Lens' MultipleChoiceSubmission (Maybe Text)+mcsAnswer+  = lens _mcsAnswer (\ s a -> s{_mcsAnswer = a})++instance FromJSON MultipleChoiceSubmission where+        parseJSON+          = withObject "MultipleChoiceSubmission"+              (\ o ->+                 MultipleChoiceSubmission' <$> (o .:? "answer"))++instance ToJSON MultipleChoiceSubmission where+        toJSON MultipleChoiceSubmission'{..}+          = object (catMaybes [("answer" .=) <$> _mcsAnswer])++-- | 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])++-- | A material attached to a course as part of a material set.+--+-- /See:/ 'courseMaterial' smart constructor.+data CourseMaterial = CourseMaterial'+    { _cmDriveFile    :: !(Maybe DriveFile)+    , _cmLink         :: !(Maybe Link)+    , _cmYouTubeVideo :: !(Maybe YouTubeVideo)+    , _cmForm         :: !(Maybe Form)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CourseMaterial' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmDriveFile'+--+-- * 'cmLink'+--+-- * 'cmYouTubeVideo'+--+-- * 'cmForm'+courseMaterial+    :: CourseMaterial+courseMaterial =+    CourseMaterial'+    { _cmDriveFile = Nothing+    , _cmLink = Nothing+    , _cmYouTubeVideo = Nothing+    , _cmForm = Nothing+    }++-- | Google Drive file attachment.+cmDriveFile :: Lens' CourseMaterial (Maybe DriveFile)+cmDriveFile+  = lens _cmDriveFile (\ s a -> s{_cmDriveFile = a})++-- | Link atatchment.+cmLink :: Lens' CourseMaterial (Maybe Link)+cmLink = lens _cmLink (\ s a -> s{_cmLink = a})++-- | Youtube video attachment.+cmYouTubeVideo :: Lens' CourseMaterial (Maybe YouTubeVideo)+cmYouTubeVideo+  = lens _cmYouTubeVideo+      (\ s a -> s{_cmYouTubeVideo = a})++-- | Google Forms attachment.+cmForm :: Lens' CourseMaterial (Maybe Form)+cmForm = lens _cmForm (\ s a -> s{_cmForm = a})++instance FromJSON CourseMaterial where+        parseJSON+          = withObject "CourseMaterial"+              (\ o ->+                 CourseMaterial' <$>+                   (o .:? "driveFile") <*> (o .:? "link") <*>+                     (o .:? "youTubeVideo")+                     <*> (o .:? "form"))++instance ToJSON CourseMaterial where+        toJSON CourseMaterial'{..}+          = object+              (catMaybes+                 [("driveFile" .=) <$> _cmDriveFile,+                  ("link" .=) <$> _cmLink,+                  ("youTubeVideo" .=) <$> _cmYouTubeVideo,+                  ("form" .=) <$> _cmForm])++-- | Student work for a short answer question.+--+-- /See:/ 'shortAnswerSubmission' smart constructor.+newtype ShortAnswerSubmission = ShortAnswerSubmission'+    { _sasAnswer :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ShortAnswerSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sasAnswer'+shortAnswerSubmission+    :: ShortAnswerSubmission+shortAnswerSubmission =+    ShortAnswerSubmission'+    { _sasAnswer = Nothing+    }++-- | Student response to a short-answer question.+sasAnswer :: Lens' ShortAnswerSubmission (Maybe Text)+sasAnswer+  = lens _sasAnswer (\ s a -> s{_sasAnswer = a})++instance FromJSON ShortAnswerSubmission where+        parseJSON+          = withObject "ShortAnswerSubmission"+              (\ o -> ShortAnswerSubmission' <$> (o .:? "answer"))++instance ToJSON ShortAnswerSubmission where+        toJSON ShortAnswerSubmission'{..}+          = object (catMaybes [("answer" .=) <$> _sasAnswer])++-- | 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])++-- | Attachment added to student assignment work. When creating attachments,+-- only the Link field may be specified.+--+-- /See:/ 'attachment' smart constructor.+data Attachment = Attachment'+    { _aDriveFile    :: !(Maybe DriveFile)+    , _aLink         :: !(Maybe Link)+    , _aYouTubeVideo :: !(Maybe YouTubeVideo)+    , _aForm         :: !(Maybe Form)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Attachment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aDriveFile'+--+-- * 'aLink'+--+-- * 'aYouTubeVideo'+--+-- * 'aForm'+attachment+    :: Attachment+attachment =+    Attachment'+    { _aDriveFile = Nothing+    , _aLink = Nothing+    , _aYouTubeVideo = Nothing+    , _aForm = Nothing+    }++-- | Google Drive file attachment.+aDriveFile :: Lens' Attachment (Maybe DriveFile)+aDriveFile+  = lens _aDriveFile (\ s a -> s{_aDriveFile = a})++-- | Link attachment.+aLink :: Lens' Attachment (Maybe Link)+aLink = lens _aLink (\ s a -> s{_aLink = a})++-- | Youtube video attachment.+aYouTubeVideo :: Lens' Attachment (Maybe YouTubeVideo)+aYouTubeVideo+  = lens _aYouTubeVideo+      (\ s a -> s{_aYouTubeVideo = a})++-- | Google Forms attachment.+aForm :: Lens' Attachment (Maybe Form)+aForm = lens _aForm (\ s a -> s{_aForm = a})++instance FromJSON Attachment where+        parseJSON+          = withObject "Attachment"+              (\ o ->+                 Attachment' <$>+                   (o .:? "driveFile") <*> (o .:? "link") <*>+                     (o .:? "youTubeVideo")+                     <*> (o .:? "form"))++instance ToJSON Attachment where+        toJSON Attachment'{..}+          = object+              (catMaybes+                 [("driveFile" .=) <$> _aDriveFile,+                  ("link" .=) <$> _aLink,+                  ("youTubeVideo" .=) <$> _aYouTubeVideo,+                  ("form" .=) <$> _aForm])++-- | Student submission for course work. StudentSubmission items are+-- generated when a CourseWork item is created. StudentSubmissions that+-- have never been accessed (i.e. with \`state\` = NEW) may not have a+-- creation time or update time.+--+-- /See:/ 'studentSubmission' smart constructor.+data StudentSubmission = StudentSubmission'+    { _ssCreationTime             :: !(Maybe Text)+    , _ssLate                     :: !(Maybe Bool)+    , _ssState                    :: !(Maybe Text)+    , _ssCourseId                 :: !(Maybe Text)+    , _ssMultipleChoiceSubmission :: !(Maybe MultipleChoiceSubmission)+    , _ssAssignmentSubmission     :: !(Maybe AssignmentSubmission)+    , _ssShortAnswerSubmission    :: !(Maybe ShortAnswerSubmission)+    , _ssAssociatedWithDeveloper  :: !(Maybe Bool)+    , _ssUserId                   :: !(Maybe Text)+    , _ssUpdateTime               :: !(Maybe Text)+    , _ssCourseWorkType           :: !(Maybe Text)+    , _ssAssignedGrade            :: !(Maybe (Textual Double))+    , _ssId                       :: !(Maybe Text)+    , _ssDraftGrade               :: !(Maybe (Textual Double))+    , _ssAlternateLink            :: !(Maybe Text)+    , _ssCourseWorkId             :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StudentSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssCreationTime'+--+-- * 'ssLate'+--+-- * 'ssState'+--+-- * 'ssCourseId'+--+-- * 'ssMultipleChoiceSubmission'+--+-- * 'ssAssignmentSubmission'+--+-- * 'ssShortAnswerSubmission'+--+-- * 'ssAssociatedWithDeveloper'+--+-- * 'ssUserId'+--+-- * 'ssUpdateTime'+--+-- * 'ssCourseWorkType'+--+-- * 'ssAssignedGrade'+--+-- * 'ssId'+--+-- * 'ssDraftGrade'+--+-- * 'ssAlternateLink'+--+-- * 'ssCourseWorkId'+studentSubmission+    :: StudentSubmission+studentSubmission =+    StudentSubmission'+    { _ssCreationTime = Nothing+    , _ssLate = Nothing+    , _ssState = Nothing+    , _ssCourseId = Nothing+    , _ssMultipleChoiceSubmission = Nothing+    , _ssAssignmentSubmission = Nothing+    , _ssShortAnswerSubmission = Nothing+    , _ssAssociatedWithDeveloper = Nothing+    , _ssUserId = Nothing+    , _ssUpdateTime = Nothing+    , _ssCourseWorkType = Nothing+    , _ssAssignedGrade = Nothing+    , _ssId = Nothing+    , _ssDraftGrade = Nothing+    , _ssAlternateLink = Nothing+    , _ssCourseWorkId = Nothing+    }++-- | Creation time of this submission.. This may be unset if the student has+-- not accessed this item. Read-only.+ssCreationTime :: Lens' StudentSubmission (Maybe Text)+ssCreationTime+  = lens _ssCreationTime+      (\ s a -> s{_ssCreationTime = a})++-- | Whether this submission is late. Read-only.+ssLate :: Lens' StudentSubmission (Maybe Bool)+ssLate = lens _ssLate (\ s a -> s{_ssLate = a})++-- | State of this submission. Read-only.+ssState :: Lens' StudentSubmission (Maybe Text)+ssState = lens _ssState (\ s a -> s{_ssState = a})++-- | Identifier of the course. Read-only.+ssCourseId :: Lens' StudentSubmission (Maybe Text)+ssCourseId+  = lens _ssCourseId (\ s a -> s{_ssCourseId = a})++-- | Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.+ssMultipleChoiceSubmission :: Lens' StudentSubmission (Maybe MultipleChoiceSubmission)+ssMultipleChoiceSubmission+  = lens _ssMultipleChoiceSubmission+      (\ s a -> s{_ssMultipleChoiceSubmission = a})++-- | Submission content when course_work_type is ASSIGNMENT .+ssAssignmentSubmission :: Lens' StudentSubmission (Maybe AssignmentSubmission)+ssAssignmentSubmission+  = lens _ssAssignmentSubmission+      (\ s a -> s{_ssAssignmentSubmission = a})++-- | Submission content when course_work_type is SHORT_ANSWER_QUESTION.+ssShortAnswerSubmission :: Lens' StudentSubmission (Maybe ShortAnswerSubmission)+ssShortAnswerSubmission+  = lens _ssShortAnswerSubmission+      (\ s a -> s{_ssShortAnswerSubmission = a})++-- | Whether this student submission is associated with the Developer Console+-- project making the request. See google.classroom.Work.CreateCourseWork+-- for more details. Read-only.+ssAssociatedWithDeveloper :: Lens' StudentSubmission (Maybe Bool)+ssAssociatedWithDeveloper+  = lens _ssAssociatedWithDeveloper+      (\ s a -> s{_ssAssociatedWithDeveloper = a})++-- | Identifier for the student that owns this submission. Read-only.+ssUserId :: Lens' StudentSubmission (Maybe Text)+ssUserId = lens _ssUserId (\ s a -> s{_ssUserId = a})++-- | Last update time of this submission. This may be unset if the student+-- has not accessed this item. Read-only.+ssUpdateTime :: Lens' StudentSubmission (Maybe Text)+ssUpdateTime+  = lens _ssUpdateTime (\ s a -> s{_ssUpdateTime = a})++-- | Type of course work this submission is for. Read-only.+ssCourseWorkType :: Lens' StudentSubmission (Maybe Text)+ssCourseWorkType+  = lens _ssCourseWorkType+      (\ s a -> s{_ssCourseWorkType = a})++-- | Optional grade. If unset, no grade was set. This must be an integer+-- value. This may be modified only by course teachers.+ssAssignedGrade :: Lens' StudentSubmission (Maybe Double)+ssAssignedGrade+  = lens _ssAssignedGrade+      (\ s a -> s{_ssAssignedGrade = a})+      . mapping _Coerce++-- | Classroom-assigned Identifier for the student submission. This is unique+-- among submissions for the relevant course work. Read-only.+ssId :: Lens' StudentSubmission (Maybe Text)+ssId = lens _ssId (\ s a -> s{_ssId = a})++-- | Optional pending grade. If unset, no grade was set. This must be an+-- integer value. This is only visible to and modifiable by course+-- teachers.+ssDraftGrade :: Lens' StudentSubmission (Maybe Double)+ssDraftGrade+  = lens _ssDraftGrade (\ s a -> s{_ssDraftGrade = a})+      . mapping _Coerce++-- | Absolute link to the submission in the Classroom web UI. Read-only.+ssAlternateLink :: Lens' StudentSubmission (Maybe Text)+ssAlternateLink+  = lens _ssAlternateLink+      (\ s a -> s{_ssAlternateLink = a})++-- | Identifier for the course work this corresponds to. Read-only.+ssCourseWorkId :: Lens' StudentSubmission (Maybe Text)+ssCourseWorkId+  = lens _ssCourseWorkId+      (\ s a -> s{_ssCourseWorkId = a})++instance FromJSON StudentSubmission where+        parseJSON+          = withObject "StudentSubmission"+              (\ o ->+                 StudentSubmission' <$>+                   (o .:? "creationTime") <*> (o .:? "late") <*>+                     (o .:? "state")+                     <*> (o .:? "courseId")+                     <*> (o .:? "multipleChoiceSubmission")+                     <*> (o .:? "assignmentSubmission")+                     <*> (o .:? "shortAnswerSubmission")+                     <*> (o .:? "associatedWithDeveloper")+                     <*> (o .:? "userId")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "courseWorkType")+                     <*> (o .:? "assignedGrade")+                     <*> (o .:? "id")+                     <*> (o .:? "draftGrade")+                     <*> (o .:? "alternateLink")+                     <*> (o .:? "courseWorkId"))++instance ToJSON StudentSubmission where+        toJSON StudentSubmission'{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _ssCreationTime,+                  ("late" .=) <$> _ssLate, ("state" .=) <$> _ssState,+                  ("courseId" .=) <$> _ssCourseId,+                  ("multipleChoiceSubmission" .=) <$>+                    _ssMultipleChoiceSubmission,+                  ("assignmentSubmission" .=) <$>+                    _ssAssignmentSubmission,+                  ("shortAnswerSubmission" .=) <$>+                    _ssShortAnswerSubmission,+                  ("associatedWithDeveloper" .=) <$>+                    _ssAssociatedWithDeveloper,+                  ("userId" .=) <$> _ssUserId,+                  ("updateTime" .=) <$> _ssUpdateTime,+                  ("courseWorkType" .=) <$> _ssCourseWorkType,+                  ("assignedGrade" .=) <$> _ssAssignedGrade,+                  ("id" .=) <$> _ssId,+                  ("draftGrade" .=) <$> _ssDraftGrade,+                  ("alternateLink" .=) <$> _ssAlternateLink,+                  ("courseWorkId" .=) <$> _ssCourseWorkId])++-- | Represents a whole calendar date, e.g. date of birth. The time of day+-- and time zone are either specified elsewhere or are not significant. The+-- date is relative to the Proleptic Gregorian Calendar. The day may be 0+-- to represent a year and month where the day is not significant, e.g.+-- credit card expiration date. The year may be 0 to represent a month and+-- day independent of year, e.g. anniversary date. Related types are+-- google.type.TimeOfDay and \`google.protobuf.Timestamp\`.+--+-- /See:/ 'date' smart constructor.+data Date = Date'+    { _dDay   :: !(Maybe (Textual Int32))+    , _dYear  :: !(Maybe (Textual Int32))+    , _dMonth :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Date' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDay'+--+-- * 'dYear'+--+-- * 'dMonth'+date+    :: Date+date =+    Date'+    { _dDay = Nothing+    , _dYear = Nothing+    , _dMonth = Nothing+    }++-- | Day of month. Must be from 1 to 31 and valid for the year and month, or+-- 0 if specifying a year\/month where the day is not significant.+dDay :: Lens' Date (Maybe Int32)+dDay+  = lens _dDay (\ s a -> s{_dDay = a}) .+      mapping _Coerce++-- | Year of date. Must be from 1 to 9999, or 0 if specifying a date without+-- a year.+dYear :: Lens' Date (Maybe Int32)+dYear+  = lens _dYear (\ s a -> s{_dYear = a}) .+      mapping _Coerce++-- | Month of year. Must be from 1 to 12.+dMonth :: Lens' Date (Maybe Int32)+dMonth+  = lens _dMonth (\ s a -> s{_dMonth = a}) .+      mapping _Coerce++instance FromJSON Date where+        parseJSON+          = withObject "Date"+              (\ o ->+                 Date' <$>+                   (o .:? "day") <*> (o .:? "year") <*> (o .:? "month"))++instance ToJSON Date where+        toJSON Date'{..}+          = object+              (catMaybes+                 [("day" .=) <$> _dDay, ("year" .=) <$> _dYear,+                  ("month" .=) <$> _dMonth])++-- | YouTube video item.+--+-- /See:/ 'youTubeVideo' smart constructor.+data YouTubeVideo = YouTubeVideo'+    { _ytvThumbnailURL  :: !(Maybe Text)+    , _ytvId            :: !(Maybe Text)+    , _ytvTitle         :: !(Maybe Text)+    , _ytvAlternateLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'YouTubeVideo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ytvThumbnailURL'+--+-- * 'ytvId'+--+-- * 'ytvTitle'+--+-- * 'ytvAlternateLink'+youTubeVideo+    :: YouTubeVideo+youTubeVideo =+    YouTubeVideo'+    { _ytvThumbnailURL = Nothing+    , _ytvId = Nothing+    , _ytvTitle = Nothing+    , _ytvAlternateLink = Nothing+    }++-- | URL of a thumbnail image of the YouTube video. Read-only.+ytvThumbnailURL :: Lens' YouTubeVideo (Maybe Text)+ytvThumbnailURL+  = lens _ytvThumbnailURL+      (\ s a -> s{_ytvThumbnailURL = a})++-- | YouTube API resource ID.+ytvId :: Lens' YouTubeVideo (Maybe Text)+ytvId = lens _ytvId (\ s a -> s{_ytvId = a})++-- | Title of the YouTube video. Read-only.+ytvTitle :: Lens' YouTubeVideo (Maybe Text)+ytvTitle = lens _ytvTitle (\ s a -> s{_ytvTitle = a})++-- | URL that can be used to view the YouTube video. Read-only.+ytvAlternateLink :: Lens' YouTubeVideo (Maybe Text)+ytvAlternateLink+  = lens _ytvAlternateLink+      (\ s a -> s{_ytvAlternateLink = a})++instance FromJSON YouTubeVideo where+        parseJSON+          = withObject "YouTubeVideo"+              (\ o ->+                 YouTubeVideo' <$>+                   (o .:? "thumbnailUrl") <*> (o .:? "id") <*>+                     (o .:? "title")+                     <*> (o .:? "alternateLink"))++instance ToJSON YouTubeVideo where+        toJSON YouTubeVideo'{..}+          = object+              (catMaybes+                 [("thumbnailUrl" .=) <$> _ytvThumbnailURL,+                  ("id" .=) <$> _ytvId, ("title" .=) <$> _ytvTitle,+                  ("alternateLink" .=) <$> _ytvAlternateLink])++-- | 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])++-- | A set of materials that appears on the \"About\" page of the course.+-- These materials might include a syllabus, schedule, or other background+-- information relating to the course as a whole.+--+-- /See:/ 'courseMaterialSet' smart constructor.+data CourseMaterialSet = CourseMaterialSet'+    { _cmsMaterials :: !(Maybe [CourseMaterial])+    , _cmsTitle     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CourseMaterialSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmsMaterials'+--+-- * 'cmsTitle'+courseMaterialSet+    :: CourseMaterialSet+courseMaterialSet =+    CourseMaterialSet'+    { _cmsMaterials = Nothing+    , _cmsTitle = Nothing+    }++-- | Materials attached to this set.+cmsMaterials :: Lens' CourseMaterialSet [CourseMaterial]+cmsMaterials+  = lens _cmsMaterials (\ s a -> s{_cmsMaterials = a})+      . _Default+      . _Coerce++-- | Title for this set.+cmsTitle :: Lens' CourseMaterialSet (Maybe Text)+cmsTitle = lens _cmsTitle (\ s a -> s{_cmsTitle = a})++instance FromJSON CourseMaterialSet where+        parseJSON+          = withObject "CourseMaterialSet"+              (\ o ->+                 CourseMaterialSet' <$>+                   (o .:? "materials" .!= mempty) <*> (o .:? "title"))++instance ToJSON CourseMaterialSet where+        toJSON CourseMaterialSet'{..}+          = object+              (catMaybes+                 [("materials" .=) <$> _cmsMaterials,+                  ("title" .=) <$> _cmsTitle])++-- | 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])++-- | Request to turn in a student submission.+--+-- /See:/ 'turnInStudentSubmissionRequest' smart constructor.+data TurnInStudentSubmissionRequest =+    TurnInStudentSubmissionRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TurnInStudentSubmissionRequest' with the minimum fields required to make a request.+--+turnInStudentSubmissionRequest+    :: TurnInStudentSubmissionRequest+turnInStudentSubmissionRequest = TurnInStudentSubmissionRequest'++instance FromJSON TurnInStudentSubmissionRequest+         where+        parseJSON+          = withObject "TurnInStudentSubmissionRequest"+              (\ o -> pure TurnInStudentSubmissionRequest')++instance ToJSON TurnInStudentSubmissionRequest where+        toJSON = const emptyObject++-- | 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])++-- | Representation of a Google Drive folder.+--+-- /See:/ 'driveFolder' smart constructor.+data DriveFolder = DriveFolder'+    { _dId            :: !(Maybe Text)+    , _dTitle         :: !(Maybe Text)+    , _dAlternateLink :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveFolder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dId'+--+-- * 'dTitle'+--+-- * 'dAlternateLink'+driveFolder+    :: DriveFolder+driveFolder =+    DriveFolder'+    { _dId = Nothing+    , _dTitle = Nothing+    , _dAlternateLink = Nothing+    }++-- | Drive API resource ID.+dId :: Lens' DriveFolder (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a})++-- | Title of the Drive folder. Read-only.+dTitle :: Lens' DriveFolder (Maybe Text)+dTitle = lens _dTitle (\ s a -> s{_dTitle = a})++-- | URL that can be used to access the Drive folder. Read-only.+dAlternateLink :: Lens' DriveFolder (Maybe Text)+dAlternateLink+  = lens _dAlternateLink+      (\ s a -> s{_dAlternateLink = a})++instance FromJSON DriveFolder where+        parseJSON+          = withObject "DriveFolder"+              (\ o ->+                 DriveFolder' <$>+                   (o .:? "id") <*> (o .:? "title") <*>+                     (o .:? "alternateLink"))++instance ToJSON DriveFolder where+        toJSON DriveFolder'{..}+          = object+              (catMaybes+                 [("id" .=) <$> _dId, ("title" .=) <$> _dTitle,+                  ("alternateLink" .=) <$> _dAlternateLink])++-- | Additional details for multiple-choice questions.+--+-- /See:/ 'multipleChoiceQuestion' smart constructor.+newtype MultipleChoiceQuestion = MultipleChoiceQuestion'+    { _mcqChoices :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MultipleChoiceQuestion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcqChoices'+multipleChoiceQuestion+    :: MultipleChoiceQuestion+multipleChoiceQuestion =+    MultipleChoiceQuestion'+    { _mcqChoices = Nothing+    }++-- | Possible choices.+mcqChoices :: Lens' MultipleChoiceQuestion [Text]+mcqChoices+  = lens _mcqChoices (\ s a -> s{_mcqChoices = a}) .+      _Default+      . _Coerce++instance FromJSON MultipleChoiceQuestion where+        parseJSON+          = withObject "MultipleChoiceQuestion"+              (\ o ->+                 MultipleChoiceQuestion' <$>+                   (o .:? "choices" .!= mempty))++instance ToJSON MultipleChoiceQuestion where+        toJSON MultipleChoiceQuestion'{..}+          = object (catMaybes [("choices" .=) <$> _mcqChoices])++-- | A Course in Classroom.+--+-- /See:/ 'course' smart constructor.+data Course = Course'+    { _cCreationTime       :: !(Maybe Text)+    , _cRoom               :: !(Maybe Text)+    , _cCourseMaterialSets :: !(Maybe [CourseMaterialSet])+    , _cTeacherGroupEmail  :: !(Maybe Text)+    , _cTeacherFolder      :: !(Maybe DriveFolder)+    , _cCourseState        :: !(Maybe Text)+    , _cEnrollmentCode     :: !(Maybe Text)+    , _cUpdateTime         :: !(Maybe Text)+    , _cOwnerId            :: !(Maybe Text)+    , _cName               :: !(Maybe Text)+    , _cId                 :: !(Maybe Text)+    , _cAlternateLink      :: !(Maybe Text)+    , _cCourseGroupEmail   :: !(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'+--+-- * 'cCourseMaterialSets'+--+-- * 'cTeacherGroupEmail'+--+-- * 'cTeacherFolder'+--+-- * 'cCourseState'+--+-- * 'cEnrollmentCode'+--+-- * 'cUpdateTime'+--+-- * 'cOwnerId'+--+-- * 'cName'+--+-- * 'cId'+--+-- * 'cAlternateLink'+--+-- * 'cCourseGroupEmail'+--+-- * 'cDescription'+--+-- * 'cDescriptionHeading'+--+-- * 'cSection'+course+    :: Course+course =+    Course'+    { _cCreationTime = Nothing+    , _cRoom = Nothing+    , _cCourseMaterialSets = Nothing+    , _cTeacherGroupEmail = Nothing+    , _cTeacherFolder = Nothing+    , _cCourseState = Nothing+    , _cEnrollmentCode = Nothing+    , _cUpdateTime = Nothing+    , _cOwnerId = Nothing+    , _cName = Nothing+    , _cId = Nothing+    , _cAlternateLink = Nothing+    , _cCourseGroupEmail = Nothing+    , _cDescription = Nothing+    , _cDescriptionHeading = Nothing+    , _cSection = Nothing+    }++-- | Creation time of the course. Specifying this field in a course update+-- mask results 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})++-- | Sets of materials that appear on the \"about\" page of this course.+-- Read-only.+cCourseMaterialSets :: Lens' Course [CourseMaterialSet]+cCourseMaterialSets+  = lens _cCourseMaterialSets+      (\ s a -> s{_cCourseMaterialSets = a})+      . _Default+      . _Coerce++-- | The email address of a Google group containing all teachers of the+-- course. This group does not accept email and can only be used for+-- permissions. Read-only.+cTeacherGroupEmail :: Lens' Course (Maybe Text)+cTeacherGroupEmail+  = lens _cTeacherGroupEmail+      (\ s a -> s{_cTeacherGroupEmail = a})++-- | Information about a Drive Folder that is shared with all teachers of the+-- course. This field will only be set for teachers of the course and+-- domain administrators. Read-only.+cTeacherFolder :: Lens' Course (Maybe DriveFolder)+cTeacherFolder+  = lens _cTeacherFolder+      (\ s a -> s{_cTeacherFolder = 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 results 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 results 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 results 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 results 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})++-- | The email address of a Google group containing all members of the+-- course. This group does not accept email and can only be used for+-- permissions. Read-only.+cCourseGroupEmail :: Lens' Course (Maybe Text)+cCourseGroupEmail+  = lens _cCourseGroupEmail+      (\ s a -> s{_cCourseGroupEmail = 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 .:? "courseMaterialSets" .!= mempty)+                     <*> (o .:? "teacherGroupEmail")+                     <*> (o .:? "teacherFolder")+                     <*> (o .:? "courseState")+                     <*> (o .:? "enrollmentCode")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "ownerId")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "alternateLink")+                     <*> (o .:? "courseGroupEmail")+                     <*> (o .:? "description")+                     <*> (o .:? "descriptionHeading")+                     <*> (o .:? "section"))++instance ToJSON Course where+        toJSON Course'{..}+          = object+              (catMaybes+                 [("creationTime" .=) <$> _cCreationTime,+                  ("room" .=) <$> _cRoom,+                  ("courseMaterialSets" .=) <$> _cCourseMaterialSets,+                  ("teacherGroupEmail" .=) <$> _cTeacherGroupEmail,+                  ("teacherFolder" .=) <$> _cTeacherFolder,+                  ("courseState" .=) <$> _cCourseState,+                  ("enrollmentCode" .=) <$> _cEnrollmentCode,+                  ("updateTime" .=) <$> _cUpdateTime,+                  ("ownerId" .=) <$> _cOwnerId, ("name" .=) <$> _cName,+                  ("id" .=) <$> _cId,+                  ("alternateLink" .=) <$> _cAlternateLink,+                  ("courseGroupEmail" .=) <$> _cCourseGroupEmail,+                  ("description" .=) <$> _cDescription,+                  ("descriptionHeading" .=) <$> _cDescriptionHeading,+                  ("section" .=) <$> _cSection])++-- | Represents a time of day. The date and time zone are either not+-- significant or are specified elsewhere. An API may chose to allow leap+-- seconds. Related types are google.type.Date and+-- \`google.protobuf.Timestamp\`.+--+-- /See:/ 'timeOfDay' smart constructor.+data TimeOfDay' = TimeOfDay''+    { _todNanos   :: !(Maybe (Textual Int32))+    , _todHours   :: !(Maybe (Textual Int32))+    , _todMinutes :: !(Maybe (Textual Int32))+    , _todSeconds :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeOfDay' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'todNanos'+--+-- * 'todHours'+--+-- * 'todMinutes'+--+-- * 'todSeconds'+timeOfDay+    :: TimeOfDay'+timeOfDay =+    TimeOfDay''+    { _todNanos = Nothing+    , _todHours = Nothing+    , _todMinutes = Nothing+    , _todSeconds = Nothing+    }++-- | Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.+todNanos :: Lens' TimeOfDay' (Maybe Int32)+todNanos+  = lens _todNanos (\ s a -> s{_todNanos = a}) .+      mapping _Coerce++-- | Hours of day in 24 hour format. Should be from 0 to 23. An API may+-- choose to allow the value \"24:00:00\" for scenarios like business+-- closing time.+todHours :: Lens' TimeOfDay' (Maybe Int32)+todHours+  = lens _todHours (\ s a -> s{_todHours = a}) .+      mapping _Coerce++-- | Minutes of hour of day. Must be from 0 to 59.+todMinutes :: Lens' TimeOfDay' (Maybe Int32)+todMinutes+  = lens _todMinutes (\ s a -> s{_todMinutes = a}) .+      mapping _Coerce++-- | Seconds of minutes of the time. Must normally be from 0 to 59. An API+-- may allow the value 60 if it allows leap-seconds.+todSeconds :: Lens' TimeOfDay' (Maybe Int32)+todSeconds+  = lens _todSeconds (\ s a -> s{_todSeconds = a}) .+      mapping _Coerce++instance FromJSON TimeOfDay' where+        parseJSON+          = withObject "TimeOfDay"+              (\ o ->+                 TimeOfDay'' <$>+                   (o .:? "nanos") <*> (o .:? "hours") <*>+                     (o .:? "minutes")+                     <*> (o .:? "seconds"))++instance ToJSON TimeOfDay' where+        toJSON TimeOfDay''{..}+          = object+              (catMaybes+                 [("nanos" .=) <$> _todNanos,+                  ("hours" .=) <$> _todHours,+                  ("minutes" .=) <$> _todMinutes,+                  ("seconds" .=) <$> _todSeconds])++-- | Additional details for assignments.+--+-- /See:/ 'assignment' smart constructor.+newtype Assignment = Assignment'+    { _aStudentWorkFolder :: Maybe DriveFolder+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Assignment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aStudentWorkFolder'+assignment+    :: Assignment+assignment =+    Assignment'+    { _aStudentWorkFolder = Nothing+    }++-- | Drive folder where attachments from student submissions are placed. This+-- is only populated for course teachers.+aStudentWorkFolder :: Lens' Assignment (Maybe DriveFolder)+aStudentWorkFolder+  = lens _aStudentWorkFolder+      (\ s a -> s{_aStudentWorkFolder = a})++instance FromJSON Assignment where+        parseJSON+          = withObject "Assignment"+              (\ o -> Assignment' <$> (o .:? "studentWorkFolder"))++instance ToJSON Assignment where+        toJSON Assignment'{..}+          = object+              (catMaybes+                 [("studentWorkFolder" .=) <$> _aStudentWorkFolder])++-- | 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])++-- | Drive file that is used as material for course work.+--+-- /See:/ 'sharedDriveFile' smart constructor.+data SharedDriveFile = SharedDriveFile'+    { _sdfDriveFile :: !(Maybe DriveFile)+    , _sdfShareMode :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SharedDriveFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdfDriveFile'+--+-- * 'sdfShareMode'+sharedDriveFile+    :: SharedDriveFile+sharedDriveFile =+    SharedDriveFile'+    { _sdfDriveFile = Nothing+    , _sdfShareMode = Nothing+    }++-- | Drive file details.+sdfDriveFile :: Lens' SharedDriveFile (Maybe DriveFile)+sdfDriveFile+  = lens _sdfDriveFile (\ s a -> s{_sdfDriveFile = a})++-- | Mechanism by which students access the Drive item.+sdfShareMode :: Lens' SharedDriveFile (Maybe Text)+sdfShareMode+  = lens _sdfShareMode (\ s a -> s{_sdfShareMode = a})++instance FromJSON SharedDriveFile where+        parseJSON+          = withObject "SharedDriveFile"+              (\ o ->+                 SharedDriveFile' <$>+                   (o .:? "driveFile") <*> (o .:? "shareMode"))++instance ToJSON SharedDriveFile where+        toJSON SharedDriveFile'{..}+          = object+              (catMaybes+                 [("driveFile" .=) <$> _sdfDriveFile,+                  ("shareMode" .=) <$> _sdfShareMode])++-- | 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])++-- | Google Forms item.+--+-- /See:/ 'form' smart constructor.+data Form = Form'+    { _fThumbnailURL :: !(Maybe Text)+    , _fFormURL      :: !(Maybe Text)+    , _fTitle        :: !(Maybe Text)+    , _fResponseURL  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Form' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fThumbnailURL'+--+-- * 'fFormURL'+--+-- * 'fTitle'+--+-- * 'fResponseURL'+form+    :: Form+form =+    Form'+    { _fThumbnailURL = Nothing+    , _fFormURL = Nothing+    , _fTitle = Nothing+    , _fResponseURL = Nothing+    }++-- | URL of a thumbnail image of the Form. Read-only.+fThumbnailURL :: Lens' Form (Maybe Text)+fThumbnailURL+  = lens _fThumbnailURL+      (\ s a -> s{_fThumbnailURL = a})++-- | URL of the form.+fFormURL :: Lens' Form (Maybe Text)+fFormURL = lens _fFormURL (\ s a -> s{_fFormURL = a})++-- | Title of the Form. Read-only.+fTitle :: Lens' Form (Maybe Text)+fTitle = lens _fTitle (\ s a -> s{_fTitle = a})++-- | URL of the form responses document. Only set if respsonses have been+-- recorded and only when the requesting user is an editor of the form.+-- Read-only.+fResponseURL :: Lens' Form (Maybe Text)+fResponseURL+  = lens _fResponseURL (\ s a -> s{_fResponseURL = a})++instance FromJSON Form where+        parseJSON+          = withObject "Form"+              (\ o ->+                 Form' <$>+                   (o .:? "thumbnailUrl") <*> (o .:? "formUrl") <*>+                     (o .:? "title")+                     <*> (o .:? "responseUrl"))++instance ToJSON Form where+        toJSON Form'{..}+          = object+              (catMaybes+                 [("thumbnailUrl" .=) <$> _fThumbnailURL,+                  ("formUrl" .=) <$> _fFormURL,+                  ("title" .=) <$> _fTitle,+                  ("responseUrl" .=) <$> _fResponseURL])++-- | 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)+    , _sStudentWorkFolder :: !(Maybe DriveFolder)+    , _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'+--+-- * 'sStudentWorkFolder'+--+-- * 'sUserId'+student+    :: Student+student =+    Student'+    { _sCourseId = Nothing+    , _sProFile = Nothing+    , _sStudentWorkFolder = 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})++-- | Information about a Drive Folder for this student\'s work in this+-- course. Only visible to the student and domain administrators.+-- Read-only.+sStudentWorkFolder :: Lens' Student (Maybe DriveFolder)+sStudentWorkFolder+  = lens _sStudentWorkFolder+      (\ s a -> s{_sStudentWorkFolder = 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 .:? "studentWorkFolder")+                     <*> (o .:? "userId"))++instance ToJSON Student where+        toJSON Student'{..}+          = object+              (catMaybes+                 [("courseId" .=) <$> _sCourseId,+                  ("profile" .=) <$> _sProFile,+                  ("studentWorkFolder" .=) <$> _sStudentWorkFolder,                   ("userId" .=) <$> _sUserId])
gen/Network/Google/Classroom/Types/Sum.hs view
@@ -8,7 +8,7 @@  -- | -- Module      : Network.Google.Classroom.Types.Sum--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated
gen/Network/Google/Resource/Classroom/Courses/Aliases/Create.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Aliases.Create--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -74,7 +74,7 @@ -- does not exist. * \`ALREADY_EXISTS\` if the alias already exists. -- -- /See:/ 'coursesAliasesCreate' smart constructor.-data CoursesAliasesCreate = CoursesAliasesCreate+data CoursesAliasesCreate = CoursesAliasesCreate'     { _cacXgafv          :: !(Maybe Text)     , _cacUploadProtocol :: !(Maybe Text)     , _cacPp             :: !Bool@@ -112,7 +112,7 @@     -> CourseAlias -- ^ 'cacPayload'     -> CoursesAliasesCreate coursesAliasesCreate pCacCourseId_ pCacPayload_ =-    CoursesAliasesCreate+    CoursesAliasesCreate'     { _cacXgafv = Nothing     , _cacUploadProtocol = Nothing     , _cacPp = True@@ -174,7 +174,9 @@  instance GoogleRequest CoursesAliasesCreate where         type Rs CoursesAliasesCreate = CourseAlias-        requestClient CoursesAliasesCreate{..}+        type Scopes CoursesAliasesCreate =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesAliasesCreate'{..}           = go _cacCourseId _cacXgafv _cacUploadProtocol               (Just _cacPp)               _cacAccessToken
gen/Network/Google/Resource/Classroom/Courses/Aliases/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Aliases.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -73,7 +73,7 @@ -- does not exist. -- -- /See:/ 'coursesAliasesDelete' smart constructor.-data CoursesAliasesDelete = CoursesAliasesDelete+data CoursesAliasesDelete = CoursesAliasesDelete'     { _cadXgafv          :: !(Maybe Text)     , _cadUploadProtocol :: !(Maybe Text)     , _cadPp             :: !Bool@@ -111,7 +111,7 @@     -> Text -- ^ 'cadAlias'     -> CoursesAliasesDelete coursesAliasesDelete pCadCourseId_ pCadAlias_ =-    CoursesAliasesDelete+    CoursesAliasesDelete'     { _cadXgafv = Nothing     , _cadUploadProtocol = Nothing     , _cadPp = True@@ -172,7 +172,9 @@  instance GoogleRequest CoursesAliasesDelete where         type Rs CoursesAliasesDelete = Empty-        requestClient CoursesAliasesDelete{..}+        type Scopes CoursesAliasesDelete =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesAliasesDelete'{..}           = go _cadCourseId _cadAlias _cadXgafv               _cadUploadProtocol               (Just _cadPp)
gen/Network/Google/Resource/Classroom/Courses/Aliases/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Aliases.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -76,7 +76,7 @@ -- if the course does not exist. -- -- /See:/ 'coursesAliasesList' smart constructor.-data CoursesAliasesList = CoursesAliasesList+data CoursesAliasesList = CoursesAliasesList'     { _calXgafv          :: !(Maybe Text)     , _calUploadProtocol :: !(Maybe Text)     , _calPp             :: !Bool@@ -116,7 +116,7 @@     :: Text -- ^ 'calCourseId'     -> CoursesAliasesList coursesAliasesList pCalCourseId_ =-    CoursesAliasesList+    CoursesAliasesList'     { _calXgafv = Nothing     , _calUploadProtocol = Nothing     , _calPp = True@@ -190,7 +190,10 @@ instance GoogleRequest CoursesAliasesList where         type Rs CoursesAliasesList =              ListCourseAliasesResponse-        requestClient CoursesAliasesList{..}+        type Scopes CoursesAliasesList =+             '["https://www.googleapis.com/auth/classroom.courses",+               "https://www.googleapis.com/auth/classroom.courses.readonly"]+        requestClient CoursesAliasesList'{..}           = go _calCourseId _calXgafv _calUploadProtocol               (Just _calPp)               _calAccessToken
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/Create.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.CourseWork.Create+-- Copyright   : (c) 2015-2016 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 course work. The resulting course work (and corresponding+-- student submissions) are associated with the Developer Console project+-- of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to make+-- the request. Classroom API requests to modify course work and student+-- submissions must be made with an OAuth client ID from the associated+-- Developer Console project. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to access the requested course, create course work in the requested+-- course, or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.create@.+module Network.Google.Resource.Classroom.Courses.CourseWork.Create+    (+    -- * REST Resource+      CoursesCourseWorkCreateResource++    -- * Creating a Request+    , coursesCourseWorkCreate+    , CoursesCourseWorkCreate++    -- * Request Lenses+    , ccwcXgafv+    , ccwcUploadProtocol+    , ccwcPp+    , ccwcCourseId+    , ccwcAccessToken+    , ccwcUploadType+    , ccwcPayload+    , ccwcBearerToken+    , ccwcCallback+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.create@ method which the+-- 'CoursesCourseWorkCreate' request conforms to.+type CoursesCourseWorkCreateResource =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             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] CourseWork :>+                               Post '[JSON] CourseWork++-- | Creates course work. The resulting course work (and corresponding+-- student submissions) are associated with the Developer Console project+-- of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to make+-- the request. Classroom API requests to modify course work and student+-- submissions must be made with an OAuth client ID from the associated+-- Developer Console project. This method returns the following error+-- codes: * \`PERMISSION_DENIED\` if the requesting user is not permitted+-- to access the requested course, create course work in the requested+-- course, or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course does not exist.+--+-- /See:/ 'coursesCourseWorkCreate' smart constructor.+data CoursesCourseWorkCreate = CoursesCourseWorkCreate'+    { _ccwcXgafv          :: !(Maybe Text)+    , _ccwcUploadProtocol :: !(Maybe Text)+    , _ccwcPp             :: !Bool+    , _ccwcCourseId       :: !Text+    , _ccwcAccessToken    :: !(Maybe Text)+    , _ccwcUploadType     :: !(Maybe Text)+    , _ccwcPayload        :: !CourseWork+    , _ccwcBearerToken    :: !(Maybe Text)+    , _ccwcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwcXgafv'+--+-- * 'ccwcUploadProtocol'+--+-- * 'ccwcPp'+--+-- * 'ccwcCourseId'+--+-- * 'ccwcAccessToken'+--+-- * 'ccwcUploadType'+--+-- * 'ccwcPayload'+--+-- * 'ccwcBearerToken'+--+-- * 'ccwcCallback'+coursesCourseWorkCreate+    :: Text -- ^ 'ccwcCourseId'+    -> CourseWork -- ^ 'ccwcPayload'+    -> CoursesCourseWorkCreate+coursesCourseWorkCreate pCcwcCourseId_ pCcwcPayload_ =+    CoursesCourseWorkCreate'+    { _ccwcXgafv = Nothing+    , _ccwcUploadProtocol = Nothing+    , _ccwcPp = True+    , _ccwcCourseId = pCcwcCourseId_+    , _ccwcAccessToken = Nothing+    , _ccwcUploadType = Nothing+    , _ccwcPayload = pCcwcPayload_+    , _ccwcBearerToken = Nothing+    , _ccwcCallback = Nothing+    }++-- | V1 error format.+ccwcXgafv :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcXgafv+  = lens _ccwcXgafv (\ s a -> s{_ccwcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwcUploadProtocol :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcUploadProtocol+  = lens _ccwcUploadProtocol+      (\ s a -> s{_ccwcUploadProtocol = a})++-- | Pretty-print response.+ccwcPp :: Lens' CoursesCourseWorkCreate Bool+ccwcPp = lens _ccwcPp (\ s a -> s{_ccwcPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwcCourseId :: Lens' CoursesCourseWorkCreate Text+ccwcCourseId+  = lens _ccwcCourseId (\ s a -> s{_ccwcCourseId = a})++-- | OAuth access token.+ccwcAccessToken :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcAccessToken+  = lens _ccwcAccessToken+      (\ s a -> s{_ccwcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwcUploadType :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcUploadType+  = lens _ccwcUploadType+      (\ s a -> s{_ccwcUploadType = a})++-- | Multipart request metadata.+ccwcPayload :: Lens' CoursesCourseWorkCreate CourseWork+ccwcPayload+  = lens _ccwcPayload (\ s a -> s{_ccwcPayload = a})++-- | OAuth bearer token.+ccwcBearerToken :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcBearerToken+  = lens _ccwcBearerToken+      (\ s a -> s{_ccwcBearerToken = a})++-- | JSONP+ccwcCallback :: Lens' CoursesCourseWorkCreate (Maybe Text)+ccwcCallback+  = lens _ccwcCallback (\ s a -> s{_ccwcCallback = a})++instance GoogleRequest CoursesCourseWorkCreate where+        type Rs CoursesCourseWorkCreate = CourseWork+        type Scopes CoursesCourseWorkCreate =+             '["https://www.googleapis.com/auth/classroom.coursework.students"]+        requestClient CoursesCourseWorkCreate'{..}+          = go _ccwcCourseId _ccwcXgafv _ccwcUploadProtocol+              (Just _ccwcPp)+              _ccwcAccessToken+              _ccwcUploadType+              _ccwcBearerToken+              _ccwcCallback+              (Just AltJSON)+              _ccwcPayload+              classroomService+          where go+                  = buildClient+                      (Proxy :: Proxy CoursesCourseWorkCreateResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/Get.hs view
@@ -0,0 +1,197 @@+{-# 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.CourseWork.Get+-- Copyright   : (c) 2015-2016 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 course work. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or course work, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course or course work does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.get@.+module Network.Google.Resource.Classroom.Courses.CourseWork.Get+    (+    -- * REST Resource+      CoursesCourseWorkGetResource++    -- * Creating a Request+    , coursesCourseWorkGet+    , CoursesCourseWorkGet++    -- * Request Lenses+    , ccwgXgafv+    , ccwgUploadProtocol+    , ccwgPp+    , ccwgCourseId+    , ccwgAccessToken+    , ccwgUploadType+    , ccwgBearerToken+    , ccwgId+    , ccwgCallback+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.get@ method which the+-- 'CoursesCourseWorkGet' request conforms to.+type CoursesCourseWorkGetResource =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             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] CourseWork++-- | Returns course work. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or course work, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course or course work does not exist.+--+-- /See:/ 'coursesCourseWorkGet' smart constructor.+data CoursesCourseWorkGet = CoursesCourseWorkGet'+    { _ccwgXgafv          :: !(Maybe Text)+    , _ccwgUploadProtocol :: !(Maybe Text)+    , _ccwgPp             :: !Bool+    , _ccwgCourseId       :: !Text+    , _ccwgAccessToken    :: !(Maybe Text)+    , _ccwgUploadType     :: !(Maybe Text)+    , _ccwgBearerToken    :: !(Maybe Text)+    , _ccwgId             :: !Text+    , _ccwgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwgXgafv'+--+-- * 'ccwgUploadProtocol'+--+-- * 'ccwgPp'+--+-- * 'ccwgCourseId'+--+-- * 'ccwgAccessToken'+--+-- * 'ccwgUploadType'+--+-- * 'ccwgBearerToken'+--+-- * 'ccwgId'+--+-- * 'ccwgCallback'+coursesCourseWorkGet+    :: Text -- ^ 'ccwgCourseId'+    -> Text -- ^ 'ccwgId'+    -> CoursesCourseWorkGet+coursesCourseWorkGet pCcwgCourseId_ pCcwgId_ =+    CoursesCourseWorkGet'+    { _ccwgXgafv = Nothing+    , _ccwgUploadProtocol = Nothing+    , _ccwgPp = True+    , _ccwgCourseId = pCcwgCourseId_+    , _ccwgAccessToken = Nothing+    , _ccwgUploadType = Nothing+    , _ccwgBearerToken = Nothing+    , _ccwgId = pCcwgId_+    , _ccwgCallback = Nothing+    }++-- | V1 error format.+ccwgXgafv :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgXgafv+  = lens _ccwgXgafv (\ s a -> s{_ccwgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwgUploadProtocol :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgUploadProtocol+  = lens _ccwgUploadProtocol+      (\ s a -> s{_ccwgUploadProtocol = a})++-- | Pretty-print response.+ccwgPp :: Lens' CoursesCourseWorkGet Bool+ccwgPp = lens _ccwgPp (\ s a -> s{_ccwgPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwgCourseId :: Lens' CoursesCourseWorkGet Text+ccwgCourseId+  = lens _ccwgCourseId (\ s a -> s{_ccwgCourseId = a})++-- | OAuth access token.+ccwgAccessToken :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgAccessToken+  = lens _ccwgAccessToken+      (\ s a -> s{_ccwgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwgUploadType :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgUploadType+  = lens _ccwgUploadType+      (\ s a -> s{_ccwgUploadType = a})++-- | OAuth bearer token.+ccwgBearerToken :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgBearerToken+  = lens _ccwgBearerToken+      (\ s a -> s{_ccwgBearerToken = a})++-- | Identifier of the course work.+ccwgId :: Lens' CoursesCourseWorkGet Text+ccwgId = lens _ccwgId (\ s a -> s{_ccwgId = a})++-- | JSONP+ccwgCallback :: Lens' CoursesCourseWorkGet (Maybe Text)+ccwgCallback+  = lens _ccwgCallback (\ s a -> s{_ccwgCallback = a})++instance GoogleRequest CoursesCourseWorkGet where+        type Rs CoursesCourseWorkGet = CourseWork+        type Scopes CoursesCourseWorkGet =+             '["https://www.googleapis.com/auth/classroom.course-work.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.me.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.students",+               "https://www.googleapis.com/auth/classroom.coursework.students.readonly"]+        requestClient CoursesCourseWorkGet'{..}+          = go _ccwgCourseId _ccwgId _ccwgXgafv+              _ccwgUploadProtocol+              (Just _ccwgPp)+              _ccwgAccessToken+              _ccwgUploadType+              _ccwgBearerToken+              _ccwgCallback+              (Just AltJSON)+              classroomService+          where go+                  = buildClient+                      (Proxy :: Proxy CoursesCourseWorkGetResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/List.hs view
@@ -0,0 +1,255 @@+{-# 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.CourseWork.List+-- Copyright   : (c) 2015-2016 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 course work that the requester is permitted to view.+-- Course students may only view \`PUBLISHED\` course work. Course teachers+-- and domain administrators may view all course work. 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. * \`INVALID_ARGUMENT\` if the request is malformed. *+-- \`NOT_FOUND\` if the requested course does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.list@.+module Network.Google.Resource.Classroom.Courses.CourseWork.List+    (+    -- * REST Resource+      CoursesCourseWorkListResource++    -- * Creating a Request+    , coursesCourseWorkList+    , CoursesCourseWorkList++    -- * Request Lenses+    , ccwlXgafv+    , ccwlUploadProtocol+    , ccwlOrderBy+    , ccwlPp+    , ccwlCourseId+    , ccwlAccessToken+    , ccwlCourseWorkStates+    , ccwlUploadType+    , ccwlBearerToken+    , ccwlPageToken+    , ccwlPageSize+    , ccwlCallback+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.list@ method which the+-- 'CoursesCourseWorkList' request conforms to.+type CoursesCourseWorkListResource =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             QueryParam "$.xgafv" Text :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "orderBy" Text :>+                   QueryParam "pp" Bool :>+                     QueryParam "access_token" Text :>+                       QueryParams "courseWorkStates" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "pageToken" Text :>+                               QueryParam "pageSize" (Textual Int32) :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] ListCourseWorkResponse++-- | Returns a list of course work that the requester is permitted to view.+-- Course students may only view \`PUBLISHED\` course work. Course teachers+-- and domain administrators may view all course work. 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. * \`INVALID_ARGUMENT\` if the request is malformed. *+-- \`NOT_FOUND\` if the requested course does not exist.+--+-- /See:/ 'coursesCourseWorkList' smart constructor.+data CoursesCourseWorkList = CoursesCourseWorkList'+    { _ccwlXgafv            :: !(Maybe Text)+    , _ccwlUploadProtocol   :: !(Maybe Text)+    , _ccwlOrderBy          :: !(Maybe Text)+    , _ccwlPp               :: !Bool+    , _ccwlCourseId         :: !Text+    , _ccwlAccessToken      :: !(Maybe Text)+    , _ccwlCourseWorkStates :: !(Maybe [Text])+    , _ccwlUploadType       :: !(Maybe Text)+    , _ccwlBearerToken      :: !(Maybe Text)+    , _ccwlPageToken        :: !(Maybe Text)+    , _ccwlPageSize         :: !(Maybe (Textual Int32))+    , _ccwlCallback         :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwlXgafv'+--+-- * 'ccwlUploadProtocol'+--+-- * 'ccwlOrderBy'+--+-- * 'ccwlPp'+--+-- * 'ccwlCourseId'+--+-- * 'ccwlAccessToken'+--+-- * 'ccwlCourseWorkStates'+--+-- * 'ccwlUploadType'+--+-- * 'ccwlBearerToken'+--+-- * 'ccwlPageToken'+--+-- * 'ccwlPageSize'+--+-- * 'ccwlCallback'+coursesCourseWorkList+    :: Text -- ^ 'ccwlCourseId'+    -> CoursesCourseWorkList+coursesCourseWorkList pCcwlCourseId_ =+    CoursesCourseWorkList'+    { _ccwlXgafv = Nothing+    , _ccwlUploadProtocol = Nothing+    , _ccwlOrderBy = Nothing+    , _ccwlPp = True+    , _ccwlCourseId = pCcwlCourseId_+    , _ccwlAccessToken = Nothing+    , _ccwlCourseWorkStates = Nothing+    , _ccwlUploadType = Nothing+    , _ccwlBearerToken = Nothing+    , _ccwlPageToken = Nothing+    , _ccwlPageSize = Nothing+    , _ccwlCallback = Nothing+    }++-- | V1 error format.+ccwlXgafv :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlXgafv+  = lens _ccwlXgafv (\ s a -> s{_ccwlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwlUploadProtocol :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlUploadProtocol+  = lens _ccwlUploadProtocol+      (\ s a -> s{_ccwlUploadProtocol = a})++-- | Optional sort ordering for results. A comma-separated list of fields+-- with an optional sort direction keyword. Supported fields are+-- \`updateTime\` and \`dueDate\`. Supported direction keywords are \`asc\`+-- and \`desc\`. If not specified, \`updateTime desc\` is the default+-- behavior. Examples: \`dueDate asc,updateTime desc\`,+-- \`updateTime,dueDate desc\`+ccwlOrderBy :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlOrderBy+  = lens _ccwlOrderBy (\ s a -> s{_ccwlOrderBy = a})++-- | Pretty-print response.+ccwlPp :: Lens' CoursesCourseWorkList Bool+ccwlPp = lens _ccwlPp (\ s a -> s{_ccwlPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwlCourseId :: Lens' CoursesCourseWorkList Text+ccwlCourseId+  = lens _ccwlCourseId (\ s a -> s{_ccwlCourseId = a})++-- | OAuth access token.+ccwlAccessToken :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlAccessToken+  = lens _ccwlAccessToken+      (\ s a -> s{_ccwlAccessToken = a})++-- | Restriction on the work status to return. Only courseWork that matches+-- is returned. If unspecified, items with a work status of \`PUBLISHED\`+-- is returned.+ccwlCourseWorkStates :: Lens' CoursesCourseWorkList [Text]+ccwlCourseWorkStates+  = lens _ccwlCourseWorkStates+      (\ s a -> s{_ccwlCourseWorkStates = a})+      . _Default+      . _Coerce++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwlUploadType :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlUploadType+  = lens _ccwlUploadType+      (\ s a -> s{_ccwlUploadType = a})++-- | OAuth bearer token.+ccwlBearerToken :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlBearerToken+  = lens _ccwlBearerToken+      (\ s a -> s{_ccwlBearerToken = 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.+ccwlPageToken :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlPageToken+  = lens _ccwlPageToken+      (\ s a -> s{_ccwlPageToken = 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.+ccwlPageSize :: Lens' CoursesCourseWorkList (Maybe Int32)+ccwlPageSize+  = lens _ccwlPageSize (\ s a -> s{_ccwlPageSize = a})+      . mapping _Coerce++-- | JSONP+ccwlCallback :: Lens' CoursesCourseWorkList (Maybe Text)+ccwlCallback+  = lens _ccwlCallback (\ s a -> s{_ccwlCallback = a})++instance GoogleRequest CoursesCourseWorkList where+        type Rs CoursesCourseWorkList =+             ListCourseWorkResponse+        type Scopes CoursesCourseWorkList =+             '["https://www.googleapis.com/auth/classroom.course-work.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.me.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.students",+               "https://www.googleapis.com/auth/classroom.coursework.students.readonly"]+        requestClient CoursesCourseWorkList'{..}+          = go _ccwlCourseId _ccwlXgafv _ccwlUploadProtocol+              _ccwlOrderBy+              (Just _ccwlPp)+              _ccwlAccessToken+              (_ccwlCourseWorkStates ^. _Default)+              _ccwlUploadType+              _ccwlBearerToken+              _ccwlPageToken+              _ccwlPageSize+              _ccwlCallback+              (Just AltJSON)+              classroomService+          where go+                  = buildClient+                      (Proxy :: Proxy CoursesCourseWorkListResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Get.hs view
@@ -0,0 +1,220 @@+{-# 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.CourseWork.StudentSubmissions.Get+-- Copyright   : (c) 2015-2016 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 submission. * \`PERMISSION_DENIED\` if the requesting+-- user is not permitted to access the requested course, course work, or+-- student submission or for access errors. * \`INVALID_ARGUMENT\` if the+-- request is malformed. * \`NOT_FOUND\` if the requested course, course+-- work, or student submission does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.get@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsGetResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsGet+    , CoursesCourseWorkStudentSubmissionsGet++    -- * Request Lenses+    , ccwssgXgafv+    , ccwssgUploadProtocol+    , ccwssgPp+    , ccwssgCourseId+    , ccwssgAccessToken+    , ccwssgUploadType+    , ccwssgBearerToken+    , ccwssgId+    , ccwssgCallback+    , ccwssgCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.get@ method which the+-- 'CoursesCourseWorkStudentSubmissionsGet' request conforms to.+type CoursesCourseWorkStudentSubmissionsGetResource =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 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] StudentSubmission++-- | Returns a student submission. * \`PERMISSION_DENIED\` if the requesting+-- user is not permitted to access the requested course, course work, or+-- student submission or for access errors. * \`INVALID_ARGUMENT\` if the+-- request is malformed. * \`NOT_FOUND\` if the requested course, course+-- work, or student submission does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsGet' smart constructor.+data CoursesCourseWorkStudentSubmissionsGet = CoursesCourseWorkStudentSubmissionsGet'+    { _ccwssgXgafv          :: !(Maybe Text)+    , _ccwssgUploadProtocol :: !(Maybe Text)+    , _ccwssgPp             :: !Bool+    , _ccwssgCourseId       :: !Text+    , _ccwssgAccessToken    :: !(Maybe Text)+    , _ccwssgUploadType     :: !(Maybe Text)+    , _ccwssgBearerToken    :: !(Maybe Text)+    , _ccwssgId             :: !Text+    , _ccwssgCallback       :: !(Maybe Text)+    , _ccwssgCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwssgXgafv'+--+-- * 'ccwssgUploadProtocol'+--+-- * 'ccwssgPp'+--+-- * 'ccwssgCourseId'+--+-- * 'ccwssgAccessToken'+--+-- * 'ccwssgUploadType'+--+-- * 'ccwssgBearerToken'+--+-- * 'ccwssgId'+--+-- * 'ccwssgCallback'+--+-- * 'ccwssgCourseWorkId'+coursesCourseWorkStudentSubmissionsGet+    :: Text -- ^ 'ccwssgCourseId'+    -> Text -- ^ 'ccwssgId'+    -> Text -- ^ 'ccwssgCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsGet+coursesCourseWorkStudentSubmissionsGet pCcwssgCourseId_ pCcwssgId_ pCcwssgCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsGet'+    { _ccwssgXgafv = Nothing+    , _ccwssgUploadProtocol = Nothing+    , _ccwssgPp = True+    , _ccwssgCourseId = pCcwssgCourseId_+    , _ccwssgAccessToken = Nothing+    , _ccwssgUploadType = Nothing+    , _ccwssgBearerToken = Nothing+    , _ccwssgId = pCcwssgId_+    , _ccwssgCallback = Nothing+    , _ccwssgCourseWorkId = pCcwssgCourseWorkId_+    }++-- | V1 error format.+ccwssgXgafv :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgXgafv+  = lens _ccwssgXgafv (\ s a -> s{_ccwssgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwssgUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgUploadProtocol+  = lens _ccwssgUploadProtocol+      (\ s a -> s{_ccwssgUploadProtocol = a})++-- | Pretty-print response.+ccwssgPp :: Lens' CoursesCourseWorkStudentSubmissionsGet Bool+ccwssgPp = lens _ccwssgPp (\ s a -> s{_ccwssgPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwssgCourseId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text+ccwssgCourseId+  = lens _ccwssgCourseId+      (\ s a -> s{_ccwssgCourseId = a})++-- | OAuth access token.+ccwssgAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgAccessToken+  = lens _ccwssgAccessToken+      (\ s a -> s{_ccwssgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwssgUploadType :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgUploadType+  = lens _ccwssgUploadType+      (\ s a -> s{_ccwssgUploadType = a})++-- | OAuth bearer token.+ccwssgBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgBearerToken+  = lens _ccwssgBearerToken+      (\ s a -> s{_ccwssgBearerToken = a})++-- | Identifier of the student submission.+ccwssgId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text+ccwssgId = lens _ccwssgId (\ s a -> s{_ccwssgId = a})++-- | JSONP+ccwssgCallback :: Lens' CoursesCourseWorkStudentSubmissionsGet (Maybe Text)+ccwssgCallback+  = lens _ccwssgCallback+      (\ s a -> s{_ccwssgCallback = a})++-- | Identifier of the course work.+ccwssgCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsGet Text+ccwssgCourseWorkId+  = lens _ccwssgCourseWorkId+      (\ s a -> s{_ccwssgCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsGet where+        type Rs CoursesCourseWorkStudentSubmissionsGet =+             StudentSubmission+        type Scopes CoursesCourseWorkStudentSubmissionsGet =+             '["https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.me.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.students",+               "https://www.googleapis.com/auth/classroom.coursework.students.readonly",+               "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",+               "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]+        requestClient+          CoursesCourseWorkStudentSubmissionsGet'{..}+          = go _ccwssgCourseId _ccwssgCourseWorkId _ccwssgId+              _ccwssgXgafv+              _ccwssgUploadProtocol+              (Just _ccwssgPp)+              _ccwssgAccessToken+              _ccwssgUploadType+              _ccwssgBearerToken+              _ccwssgCallback+              (Just AltJSON)+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy CoursesCourseWorkStudentSubmissionsGetResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/List.hs view
@@ -0,0 +1,300 @@+{-# 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.CourseWork.StudentSubmissions.List+-- Copyright   : (c) 2015-2016 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 student submissions that the requester is permitted to+-- view, factoring in the OAuth scopes of the request. \`-\` may be+-- specified as the \`course_work_id\` to include student submissions for+-- multiple course work items. Course students may only view their own+-- work. Course teachers and domain administrators may view all student+-- submissions. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or course work, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.list@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsListResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsList+    , CoursesCourseWorkStudentSubmissionsList++    -- * Request Lenses+    , ccwsslStates+    , ccwsslXgafv+    , ccwsslLate+    , ccwsslUploadProtocol+    , ccwsslPp+    , ccwsslCourseId+    , ccwsslAccessToken+    , ccwsslUploadType+    , ccwsslUserId+    , ccwsslBearerToken+    , ccwsslPageToken+    , ccwsslPageSize+    , ccwsslCallback+    , ccwsslCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.list@ method which the+-- 'CoursesCourseWorkStudentSubmissionsList' request conforms to.+type CoursesCourseWorkStudentSubmissionsListResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 QueryParams "states" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "late" Text :>+                       QueryParam "upload_protocol" Text :>+                         QueryParam "pp" Bool :>+                           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]+                                             ListStudentSubmissionsResponse++-- | Returns a list of student submissions that the requester is permitted to+-- view, factoring in the OAuth scopes of the request. \`-\` may be+-- specified as the \`course_work_id\` to include student submissions for+-- multiple course work items. Course students may only view their own+-- work. Course teachers and domain administrators may view all student+-- submissions. This method returns the following error codes: *+-- \`PERMISSION_DENIED\` if the requesting user is not permitted to access+-- the requested course or course work, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsList' smart constructor.+data CoursesCourseWorkStudentSubmissionsList = CoursesCourseWorkStudentSubmissionsList'+    { _ccwsslStates         :: !(Maybe [Text])+    , _ccwsslXgafv          :: !(Maybe Text)+    , _ccwsslLate           :: !(Maybe Text)+    , _ccwsslUploadProtocol :: !(Maybe Text)+    , _ccwsslPp             :: !Bool+    , _ccwsslCourseId       :: !Text+    , _ccwsslAccessToken    :: !(Maybe Text)+    , _ccwsslUploadType     :: !(Maybe Text)+    , _ccwsslUserId         :: !(Maybe Text)+    , _ccwsslBearerToken    :: !(Maybe Text)+    , _ccwsslPageToken      :: !(Maybe Text)+    , _ccwsslPageSize       :: !(Maybe (Textual Int32))+    , _ccwsslCallback       :: !(Maybe Text)+    , _ccwsslCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwsslStates'+--+-- * 'ccwsslXgafv'+--+-- * 'ccwsslLate'+--+-- * 'ccwsslUploadProtocol'+--+-- * 'ccwsslPp'+--+-- * 'ccwsslCourseId'+--+-- * 'ccwsslAccessToken'+--+-- * 'ccwsslUploadType'+--+-- * 'ccwsslUserId'+--+-- * 'ccwsslBearerToken'+--+-- * 'ccwsslPageToken'+--+-- * 'ccwsslPageSize'+--+-- * 'ccwsslCallback'+--+-- * 'ccwsslCourseWorkId'+coursesCourseWorkStudentSubmissionsList+    :: Text -- ^ 'ccwsslCourseId'+    -> Text -- ^ 'ccwsslCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsList+coursesCourseWorkStudentSubmissionsList pCcwsslCourseId_ pCcwsslCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsList'+    { _ccwsslStates = Nothing+    , _ccwsslXgafv = Nothing+    , _ccwsslLate = Nothing+    , _ccwsslUploadProtocol = Nothing+    , _ccwsslPp = True+    , _ccwsslCourseId = pCcwsslCourseId_+    , _ccwsslAccessToken = Nothing+    , _ccwsslUploadType = Nothing+    , _ccwsslUserId = Nothing+    , _ccwsslBearerToken = Nothing+    , _ccwsslPageToken = Nothing+    , _ccwsslPageSize = Nothing+    , _ccwsslCallback = Nothing+    , _ccwsslCourseWorkId = pCcwsslCourseWorkId_+    }++-- | Requested submission states. If specified, returned student submissions+-- match one of the specified submission states.+ccwsslStates :: Lens' CoursesCourseWorkStudentSubmissionsList [Text]+ccwsslStates+  = lens _ccwsslStates (\ s a -> s{_ccwsslStates = a})+      . _Default+      . _Coerce++-- | V1 error format.+ccwsslXgafv :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslXgafv+  = lens _ccwsslXgafv (\ s a -> s{_ccwsslXgafv = a})++-- | Requested lateness value. If specified, returned student submissions are+-- restricted by the requested value. If unspecified, submissions are+-- returned regardless of \`late\` value.+ccwsslLate :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslLate+  = lens _ccwsslLate (\ s a -> s{_ccwsslLate = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwsslUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslUploadProtocol+  = lens _ccwsslUploadProtocol+      (\ s a -> s{_ccwsslUploadProtocol = a})++-- | Pretty-print response.+ccwsslPp :: Lens' CoursesCourseWorkStudentSubmissionsList Bool+ccwsslPp = lens _ccwsslPp (\ s a -> s{_ccwsslPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwsslCourseId :: Lens' CoursesCourseWorkStudentSubmissionsList Text+ccwsslCourseId+  = lens _ccwsslCourseId+      (\ s a -> s{_ccwsslCourseId = a})++-- | OAuth access token.+ccwsslAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslAccessToken+  = lens _ccwsslAccessToken+      (\ s a -> s{_ccwsslAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwsslUploadType :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslUploadType+  = lens _ccwsslUploadType+      (\ s a -> s{_ccwsslUploadType = a})++-- | Optional argument to restrict returned student work to those owned by+-- the 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+ccwsslUserId :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslUserId+  = lens _ccwsslUserId (\ s a -> s{_ccwsslUserId = a})++-- | OAuth bearer token.+ccwsslBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslBearerToken+  = lens _ccwsslBearerToken+      (\ s a -> s{_ccwsslBearerToken = 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.+ccwsslPageToken :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslPageToken+  = lens _ccwsslPageToken+      (\ s a -> s{_ccwsslPageToken = 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.+ccwsslPageSize :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Int32)+ccwsslPageSize+  = lens _ccwsslPageSize+      (\ s a -> s{_ccwsslPageSize = a})+      . mapping _Coerce++-- | JSONP+ccwsslCallback :: Lens' CoursesCourseWorkStudentSubmissionsList (Maybe Text)+ccwsslCallback+  = lens _ccwsslCallback+      (\ s a -> s{_ccwsslCallback = a})++-- | Identifer of the student work to request. If \`user_id\` is specified,+-- this may be set to the string literal \`\"-\"\` to request student work+-- for all course work in the specified course.+ccwsslCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsList Text+ccwsslCourseWorkId+  = lens _ccwsslCourseWorkId+      (\ s a -> s{_ccwsslCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsList where+        type Rs CoursesCourseWorkStudentSubmissionsList =+             ListStudentSubmissionsResponse+        type Scopes CoursesCourseWorkStudentSubmissionsList =+             '["https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.me.readonly",+               "https://www.googleapis.com/auth/classroom.coursework.students",+               "https://www.googleapis.com/auth/classroom.coursework.students.readonly",+               "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",+               "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"]+        requestClient+          CoursesCourseWorkStudentSubmissionsList'{..}+          = go _ccwsslCourseId _ccwsslCourseWorkId+              (_ccwsslStates ^. _Default)+              _ccwsslXgafv+              _ccwsslLate+              _ccwsslUploadProtocol+              (Just _ccwsslPp)+              _ccwsslAccessToken+              _ccwsslUploadType+              _ccwsslUserId+              _ccwsslBearerToken+              _ccwsslPageToken+              _ccwsslPageSize+              _ccwsslCallback+              (Just AltJSON)+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsListResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/ModifyAttachments.hs view
@@ -0,0 +1,250 @@+{-# 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.CourseWork.StudentSubmissions.ModifyAttachments+-- Copyright   : (c) 2015-2016 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)+--+-- Modifies attachments of student submission. Attachments may only be+-- added to student submissions whose type is \`ASSIGNMENT\`. This request+-- must be made by the Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, if the user is+-- not permitted to modify attachments on the requested student submission,+-- or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course, course work, or+-- student submission does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.modifyAttachments@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsModifyAttachments+    , CoursesCourseWorkStudentSubmissionsModifyAttachments++    -- * Request Lenses+    , ccwssmaXgafv+    , ccwssmaUploadProtocol+    , ccwssmaPp+    , ccwssmaCourseId+    , ccwssmaAccessToken+    , ccwssmaUploadType+    , ccwssmaPayload+    , ccwssmaBearerToken+    , ccwssmaId+    , ccwssmaCallback+    , ccwssmaCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.modifyAttachments@ method which the+-- 'CoursesCourseWorkStudentSubmissionsModifyAttachments' request conforms to.+type CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 CaptureMode "id" "modifyAttachments" 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] ModifyAttachmentsRequest :>+                                     Post '[JSON] StudentSubmission++-- | Modifies attachments of student submission. Attachments may only be+-- added to student submissions whose type is \`ASSIGNMENT\`. This request+-- must be made by the Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, if the user is+-- not permitted to modify attachments on the requested student submission,+-- or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course, course work, or+-- student submission does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsModifyAttachments' smart constructor.+data CoursesCourseWorkStudentSubmissionsModifyAttachments = CoursesCourseWorkStudentSubmissionsModifyAttachments'+    { _ccwssmaXgafv          :: !(Maybe Text)+    , _ccwssmaUploadProtocol :: !(Maybe Text)+    , _ccwssmaPp             :: !Bool+    , _ccwssmaCourseId       :: !Text+    , _ccwssmaAccessToken    :: !(Maybe Text)+    , _ccwssmaUploadType     :: !(Maybe Text)+    , _ccwssmaPayload        :: !ModifyAttachmentsRequest+    , _ccwssmaBearerToken    :: !(Maybe Text)+    , _ccwssmaId             :: !Text+    , _ccwssmaCallback       :: !(Maybe Text)+    , _ccwssmaCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsModifyAttachments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwssmaXgafv'+--+-- * 'ccwssmaUploadProtocol'+--+-- * 'ccwssmaPp'+--+-- * 'ccwssmaCourseId'+--+-- * 'ccwssmaAccessToken'+--+-- * 'ccwssmaUploadType'+--+-- * 'ccwssmaPayload'+--+-- * 'ccwssmaBearerToken'+--+-- * 'ccwssmaId'+--+-- * 'ccwssmaCallback'+--+-- * 'ccwssmaCourseWorkId'+coursesCourseWorkStudentSubmissionsModifyAttachments+    :: Text -- ^ 'ccwssmaCourseId'+    -> ModifyAttachmentsRequest -- ^ 'ccwssmaPayload'+    -> Text -- ^ 'ccwssmaId'+    -> Text -- ^ 'ccwssmaCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsModifyAttachments+coursesCourseWorkStudentSubmissionsModifyAttachments pCcwssmaCourseId_ pCcwssmaPayload_ pCcwssmaId_ pCcwssmaCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsModifyAttachments'+    { _ccwssmaXgafv = Nothing+    , _ccwssmaUploadProtocol = Nothing+    , _ccwssmaPp = True+    , _ccwssmaCourseId = pCcwssmaCourseId_+    , _ccwssmaAccessToken = Nothing+    , _ccwssmaUploadType = Nothing+    , _ccwssmaPayload = pCcwssmaPayload_+    , _ccwssmaBearerToken = Nothing+    , _ccwssmaId = pCcwssmaId_+    , _ccwssmaCallback = Nothing+    , _ccwssmaCourseWorkId = pCcwssmaCourseWorkId_+    }++-- | V1 error format.+ccwssmaXgafv :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaXgafv+  = lens _ccwssmaXgafv (\ s a -> s{_ccwssmaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwssmaUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaUploadProtocol+  = lens _ccwssmaUploadProtocol+      (\ s a -> s{_ccwssmaUploadProtocol = a})++-- | Pretty-print response.+ccwssmaPp :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Bool+ccwssmaPp+  = lens _ccwssmaPp (\ s a -> s{_ccwssmaPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwssmaCourseId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text+ccwssmaCourseId+  = lens _ccwssmaCourseId+      (\ s a -> s{_ccwssmaCourseId = a})++-- | OAuth access token.+ccwssmaAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaAccessToken+  = lens _ccwssmaAccessToken+      (\ s a -> s{_ccwssmaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwssmaUploadType :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaUploadType+  = lens _ccwssmaUploadType+      (\ s a -> s{_ccwssmaUploadType = a})++-- | Multipart request metadata.+ccwssmaPayload :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments ModifyAttachmentsRequest+ccwssmaPayload+  = lens _ccwssmaPayload+      (\ s a -> s{_ccwssmaPayload = a})++-- | OAuth bearer token.+ccwssmaBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaBearerToken+  = lens _ccwssmaBearerToken+      (\ s a -> s{_ccwssmaBearerToken = a})++-- | Identifier of the student submission.+ccwssmaId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text+ccwssmaId+  = lens _ccwssmaId (\ s a -> s{_ccwssmaId = a})++-- | JSONP+ccwssmaCallback :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments (Maybe Text)+ccwssmaCallback+  = lens _ccwssmaCallback+      (\ s a -> s{_ccwssmaCallback = a})++-- | Identifier of the course work.+ccwssmaCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsModifyAttachments Text+ccwssmaCourseWorkId+  = lens _ccwssmaCourseWorkId+      (\ s a -> s{_ccwssmaCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsModifyAttachments+         where+        type Rs+               CoursesCourseWorkStudentSubmissionsModifyAttachments+             = StudentSubmission+        type Scopes+               CoursesCourseWorkStudentSubmissionsModifyAttachments+             =+             '["https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.students"]+        requestClient+          CoursesCourseWorkStudentSubmissionsModifyAttachments'{..}+          = go _ccwssmaCourseId _ccwssmaCourseWorkId _ccwssmaId+              _ccwssmaXgafv+              _ccwssmaUploadProtocol+              (Just _ccwssmaPp)+              _ccwssmaAccessToken+              _ccwssmaUploadType+              _ccwssmaBearerToken+              _ccwssmaCallback+              (Just AltJSON)+              _ccwssmaPayload+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsModifyAttachmentsResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Patch.hs view
@@ -0,0 +1,263 @@+{-# 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.CourseWork.StudentSubmissions.Patch+-- Copyright   : (c) 2015-2016 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 of a student submission. See+-- google.classroom.v1.StudentSubmission for details of which fields may be+-- updated and who may change them. This request must be made by the+-- Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting developer project+-- did not create the corresponding course work, if the user is not+-- permitted to make the requested modification to the student submission,+-- or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course, course work, or+-- student submission does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.patch@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsPatchResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsPatch+    , CoursesCourseWorkStudentSubmissionsPatch++    -- * Request Lenses+    , ccwsspXgafv+    , ccwsspUploadProtocol+    , ccwsspUpdateMask+    , ccwsspPp+    , ccwsspCourseId+    , ccwsspAccessToken+    , ccwsspUploadType+    , ccwsspPayload+    , ccwsspBearerToken+    , ccwsspId+    , ccwsspCallback+    , ccwsspCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.patch@ method which the+-- 'CoursesCourseWorkStudentSubmissionsPatch' request conforms to.+type CoursesCourseWorkStudentSubmissionsPatchResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 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] StudentSubmission :>+                                       Patch '[JSON] StudentSubmission++-- | Updates one or more fields of a student submission. See+-- google.classroom.v1.StudentSubmission for details of which fields may be+-- updated and who may change them. This request must be made by the+-- Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting developer project+-- did not create the corresponding course work, if the user is not+-- permitted to make the requested modification to the student submission,+-- or for access errors. * \`INVALID_ARGUMENT\` if the request is+-- malformed. * \`NOT_FOUND\` if the requested course, course work, or+-- student submission does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsPatch' smart constructor.+data CoursesCourseWorkStudentSubmissionsPatch = CoursesCourseWorkStudentSubmissionsPatch'+    { _ccwsspXgafv          :: !(Maybe Text)+    , _ccwsspUploadProtocol :: !(Maybe Text)+    , _ccwsspUpdateMask     :: !(Maybe Text)+    , _ccwsspPp             :: !Bool+    , _ccwsspCourseId       :: !Text+    , _ccwsspAccessToken    :: !(Maybe Text)+    , _ccwsspUploadType     :: !(Maybe Text)+    , _ccwsspPayload        :: !StudentSubmission+    , _ccwsspBearerToken    :: !(Maybe Text)+    , _ccwsspId             :: !Text+    , _ccwsspCallback       :: !(Maybe Text)+    , _ccwsspCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwsspXgafv'+--+-- * 'ccwsspUploadProtocol'+--+-- * 'ccwsspUpdateMask'+--+-- * 'ccwsspPp'+--+-- * 'ccwsspCourseId'+--+-- * 'ccwsspAccessToken'+--+-- * 'ccwsspUploadType'+--+-- * 'ccwsspPayload'+--+-- * 'ccwsspBearerToken'+--+-- * 'ccwsspId'+--+-- * 'ccwsspCallback'+--+-- * 'ccwsspCourseWorkId'+coursesCourseWorkStudentSubmissionsPatch+    :: Text -- ^ 'ccwsspCourseId'+    -> StudentSubmission -- ^ 'ccwsspPayload'+    -> Text -- ^ 'ccwsspId'+    -> Text -- ^ 'ccwsspCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsPatch+coursesCourseWorkStudentSubmissionsPatch pCcwsspCourseId_ pCcwsspPayload_ pCcwsspId_ pCcwsspCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsPatch'+    { _ccwsspXgafv = Nothing+    , _ccwsspUploadProtocol = Nothing+    , _ccwsspUpdateMask = Nothing+    , _ccwsspPp = True+    , _ccwsspCourseId = pCcwsspCourseId_+    , _ccwsspAccessToken = Nothing+    , _ccwsspUploadType = Nothing+    , _ccwsspPayload = pCcwsspPayload_+    , _ccwsspBearerToken = Nothing+    , _ccwsspId = pCcwsspId_+    , _ccwsspCallback = Nothing+    , _ccwsspCourseWorkId = pCcwsspCourseWorkId_+    }++-- | V1 error format.+ccwsspXgafv :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspXgafv+  = lens _ccwsspXgafv (\ s a -> s{_ccwsspXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwsspUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspUploadProtocol+  = lens _ccwsspUploadProtocol+      (\ s a -> s{_ccwsspUploadProtocol = a})++-- | Mask that identifies which fields on the student submission to update.+-- This field is required to do an update. The update fails if invalid+-- fields are specified. The following fields may be specified by teachers:+-- * \`draft_grade\` * \`assigned_grade\`+ccwsspUpdateMask :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspUpdateMask+  = lens _ccwsspUpdateMask+      (\ s a -> s{_ccwsspUpdateMask = a})++-- | Pretty-print response.+ccwsspPp :: Lens' CoursesCourseWorkStudentSubmissionsPatch Bool+ccwsspPp = lens _ccwsspPp (\ s a -> s{_ccwsspPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwsspCourseId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text+ccwsspCourseId+  = lens _ccwsspCourseId+      (\ s a -> s{_ccwsspCourseId = a})++-- | OAuth access token.+ccwsspAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspAccessToken+  = lens _ccwsspAccessToken+      (\ s a -> s{_ccwsspAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwsspUploadType :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspUploadType+  = lens _ccwsspUploadType+      (\ s a -> s{_ccwsspUploadType = a})++-- | Multipart request metadata.+ccwsspPayload :: Lens' CoursesCourseWorkStudentSubmissionsPatch StudentSubmission+ccwsspPayload+  = lens _ccwsspPayload+      (\ s a -> s{_ccwsspPayload = a})++-- | OAuth bearer token.+ccwsspBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspBearerToken+  = lens _ccwsspBearerToken+      (\ s a -> s{_ccwsspBearerToken = a})++-- | Identifier of the student submission.+ccwsspId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text+ccwsspId = lens _ccwsspId (\ s a -> s{_ccwsspId = a})++-- | JSONP+ccwsspCallback :: Lens' CoursesCourseWorkStudentSubmissionsPatch (Maybe Text)+ccwsspCallback+  = lens _ccwsspCallback+      (\ s a -> s{_ccwsspCallback = a})++-- | Identifier of the course work.+ccwsspCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsPatch Text+ccwsspCourseWorkId+  = lens _ccwsspCourseWorkId+      (\ s a -> s{_ccwsspCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsPatch where+        type Rs CoursesCourseWorkStudentSubmissionsPatch =+             StudentSubmission+        type Scopes CoursesCourseWorkStudentSubmissionsPatch+             =+             '["https://www.googleapis.com/auth/classroom.coursework.me",+               "https://www.googleapis.com/auth/classroom.coursework.students"]+        requestClient+          CoursesCourseWorkStudentSubmissionsPatch'{..}+          = go _ccwsspCourseId _ccwsspCourseWorkId _ccwsspId+              _ccwsspXgafv+              _ccwsspUploadProtocol+              _ccwsspUpdateMask+              (Just _ccwsspPp)+              _ccwsspAccessToken+              _ccwsspUploadType+              _ccwsspBearerToken+              _ccwsspCallback+              (Just AltJSON)+              _ccwsspPayload+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Reclaim.hs view
@@ -0,0 +1,249 @@+{-# 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.CourseWork.StudentSubmissions.Reclaim+-- Copyright   : (c) 2015-2016 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)+--+-- Reclaims a student submission on behalf of the student that owns it.+-- Reclaiming a student submission transfers ownership of attached Drive+-- files to the student and update the submission state. Only the student+-- that ownes the requested student submission may call this method, and+-- only for a student submission that has been turned in. This request must+-- be made by the Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, unsubmit the+-- requested student submission, or for access errors. *+-- \`FAILED_PRECONDITION\` if the student submission has not been turned+-- in. * \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\`+-- if the requested course, course work, or student submission does not+-- exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.reclaim@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsReclaimResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsReclaim+    , CoursesCourseWorkStudentSubmissionsReclaim++    -- * Request Lenses+    , couXgafv+    , couUploadProtocol+    , couPp+    , couCourseId+    , couAccessToken+    , couUploadType+    , couPayload+    , couBearerToken+    , couId+    , couCallback+    , couCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.reclaim@ method which the+-- 'CoursesCourseWorkStudentSubmissionsReclaim' request conforms to.+type CoursesCourseWorkStudentSubmissionsReclaimResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 CaptureMode "id" "reclaim" 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]+                                     ReclaimStudentSubmissionRequest+                                     :> Post '[JSON] Empty++-- | Reclaims a student submission on behalf of the student that owns it.+-- Reclaiming a student submission transfers ownership of attached Drive+-- files to the student and update the submission state. Only the student+-- that ownes the requested student submission may call this method, and+-- only for a student submission that has been turned in. This request must+-- be made by the Developer Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, unsubmit the+-- requested student submission, or for access errors. *+-- \`FAILED_PRECONDITION\` if the student submission has not been turned+-- in. * \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\`+-- if the requested course, course work, or student submission does not+-- exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsReclaim' smart constructor.+data CoursesCourseWorkStudentSubmissionsReclaim = CoursesCourseWorkStudentSubmissionsReclaim'+    { _couXgafv          :: !(Maybe Text)+    , _couUploadProtocol :: !(Maybe Text)+    , _couPp             :: !Bool+    , _couCourseId       :: !Text+    , _couAccessToken    :: !(Maybe Text)+    , _couUploadType     :: !(Maybe Text)+    , _couPayload        :: !ReclaimStudentSubmissionRequest+    , _couBearerToken    :: !(Maybe Text)+    , _couId             :: !Text+    , _couCallback       :: !(Maybe Text)+    , _couCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsReclaim' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'couXgafv'+--+-- * 'couUploadProtocol'+--+-- * 'couPp'+--+-- * 'couCourseId'+--+-- * 'couAccessToken'+--+-- * 'couUploadType'+--+-- * 'couPayload'+--+-- * 'couBearerToken'+--+-- * 'couId'+--+-- * 'couCallback'+--+-- * 'couCourseWorkId'+coursesCourseWorkStudentSubmissionsReclaim+    :: Text -- ^ 'couCourseId'+    -> ReclaimStudentSubmissionRequest -- ^ 'couPayload'+    -> Text -- ^ 'couId'+    -> Text -- ^ 'couCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsReclaim+coursesCourseWorkStudentSubmissionsReclaim pCouCourseId_ pCouPayload_ pCouId_ pCouCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsReclaim'+    { _couXgafv = Nothing+    , _couUploadProtocol = Nothing+    , _couPp = True+    , _couCourseId = pCouCourseId_+    , _couAccessToken = Nothing+    , _couUploadType = Nothing+    , _couPayload = pCouPayload_+    , _couBearerToken = Nothing+    , _couId = pCouId_+    , _couCallback = Nothing+    , _couCourseWorkId = pCouCourseWorkId_+    }++-- | V1 error format.+couXgafv :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couXgafv = lens _couXgafv (\ s a -> s{_couXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+couUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couUploadProtocol+  = lens _couUploadProtocol+      (\ s a -> s{_couUploadProtocol = a})++-- | Pretty-print response.+couPp :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Bool+couPp = lens _couPp (\ s a -> s{_couPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+couCourseId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text+couCourseId+  = lens _couCourseId (\ s a -> s{_couCourseId = a})++-- | OAuth access token.+couAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couAccessToken+  = lens _couAccessToken+      (\ s a -> s{_couAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+couUploadType :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couUploadType+  = lens _couUploadType+      (\ s a -> s{_couUploadType = a})++-- | Multipart request metadata.+couPayload :: Lens' CoursesCourseWorkStudentSubmissionsReclaim ReclaimStudentSubmissionRequest+couPayload+  = lens _couPayload (\ s a -> s{_couPayload = a})++-- | OAuth bearer token.+couBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couBearerToken+  = lens _couBearerToken+      (\ s a -> s{_couBearerToken = a})++-- | Identifier of the student submission.+couId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text+couId = lens _couId (\ s a -> s{_couId = a})++-- | JSONP+couCallback :: Lens' CoursesCourseWorkStudentSubmissionsReclaim (Maybe Text)+couCallback+  = lens _couCallback (\ s a -> s{_couCallback = a})++-- | Identifier of the course work.+couCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsReclaim Text+couCourseWorkId+  = lens _couCourseWorkId+      (\ s a -> s{_couCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsReclaim where+        type Rs CoursesCourseWorkStudentSubmissionsReclaim =+             Empty+        type Scopes+               CoursesCourseWorkStudentSubmissionsReclaim+             =+             '["https://www.googleapis.com/auth/classroom.coursework.me"]+        requestClient+          CoursesCourseWorkStudentSubmissionsReclaim'{..}+          = go _couCourseId _couCourseWorkId _couId _couXgafv+              _couUploadProtocol+              (Just _couPp)+              _couAccessToken+              _couUploadType+              _couBearerToken+              _couCallback+              (Just AltJSON)+              _couPayload+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsReclaimResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Return.hs view
@@ -0,0 +1,251 @@+{-# 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.CourseWork.StudentSubmissions.Return+-- Copyright   : (c) 2015-2016 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 submission. Returning a student submission transfers+-- ownership of attached Drive files to the student and may also update the+-- submission state. Unlike the Classroom application, returning a student+-- submission does not set assignedGrade to the draftGrade value. Only a+-- teacher of the course that contains the requested student submission may+-- call this method. This request must be made by the Developer Console+-- project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, return the+-- requested student submission, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course, course work, or student submission does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.return@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsReturnResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsReturn+    , CoursesCourseWorkStudentSubmissionsReturn++    -- * Request Lenses+    , ccwssrXgafv+    , ccwssrUploadProtocol+    , ccwssrPp+    , ccwssrCourseId+    , ccwssrAccessToken+    , ccwssrUploadType+    , ccwssrPayload+    , ccwssrBearerToken+    , ccwssrId+    , ccwssrCallback+    , ccwssrCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.return@ method which the+-- 'CoursesCourseWorkStudentSubmissionsReturn' request conforms to.+type CoursesCourseWorkStudentSubmissionsReturnResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 CaptureMode "id" "return" 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]+                                     ReturnStudentSubmissionRequest+                                     :> Post '[JSON] Empty++-- | Returns a student submission. Returning a student submission transfers+-- ownership of attached Drive files to the student and may also update the+-- submission state. Unlike the Classroom application, returning a student+-- submission does not set assignedGrade to the draftGrade value. Only a+-- teacher of the course that contains the requested student submission may+-- call this method. This request must be made by the Developer Console+-- project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, return the+-- requested student submission, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course, course work, or student submission does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsReturn' smart constructor.+data CoursesCourseWorkStudentSubmissionsReturn = CoursesCourseWorkStudentSubmissionsReturn'+    { _ccwssrXgafv          :: !(Maybe Text)+    , _ccwssrUploadProtocol :: !(Maybe Text)+    , _ccwssrPp             :: !Bool+    , _ccwssrCourseId       :: !Text+    , _ccwssrAccessToken    :: !(Maybe Text)+    , _ccwssrUploadType     :: !(Maybe Text)+    , _ccwssrPayload        :: !ReturnStudentSubmissionRequest+    , _ccwssrBearerToken    :: !(Maybe Text)+    , _ccwssrId             :: !Text+    , _ccwssrCallback       :: !(Maybe Text)+    , _ccwssrCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsReturn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwssrXgafv'+--+-- * 'ccwssrUploadProtocol'+--+-- * 'ccwssrPp'+--+-- * 'ccwssrCourseId'+--+-- * 'ccwssrAccessToken'+--+-- * 'ccwssrUploadType'+--+-- * 'ccwssrPayload'+--+-- * 'ccwssrBearerToken'+--+-- * 'ccwssrId'+--+-- * 'ccwssrCallback'+--+-- * 'ccwssrCourseWorkId'+coursesCourseWorkStudentSubmissionsReturn+    :: Text -- ^ 'ccwssrCourseId'+    -> ReturnStudentSubmissionRequest -- ^ 'ccwssrPayload'+    -> Text -- ^ 'ccwssrId'+    -> Text -- ^ 'ccwssrCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsReturn+coursesCourseWorkStudentSubmissionsReturn pCcwssrCourseId_ pCcwssrPayload_ pCcwssrId_ pCcwssrCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsReturn'+    { _ccwssrXgafv = Nothing+    , _ccwssrUploadProtocol = Nothing+    , _ccwssrPp = True+    , _ccwssrCourseId = pCcwssrCourseId_+    , _ccwssrAccessToken = Nothing+    , _ccwssrUploadType = Nothing+    , _ccwssrPayload = pCcwssrPayload_+    , _ccwssrBearerToken = Nothing+    , _ccwssrId = pCcwssrId_+    , _ccwssrCallback = Nothing+    , _ccwssrCourseWorkId = pCcwssrCourseWorkId_+    }++-- | V1 error format.+ccwssrXgafv :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrXgafv+  = lens _ccwssrXgafv (\ s a -> s{_ccwssrXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwssrUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrUploadProtocol+  = lens _ccwssrUploadProtocol+      (\ s a -> s{_ccwssrUploadProtocol = a})++-- | Pretty-print response.+ccwssrPp :: Lens' CoursesCourseWorkStudentSubmissionsReturn Bool+ccwssrPp = lens _ccwssrPp (\ s a -> s{_ccwssrPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwssrCourseId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text+ccwssrCourseId+  = lens _ccwssrCourseId+      (\ s a -> s{_ccwssrCourseId = a})++-- | OAuth access token.+ccwssrAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrAccessToken+  = lens _ccwssrAccessToken+      (\ s a -> s{_ccwssrAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwssrUploadType :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrUploadType+  = lens _ccwssrUploadType+      (\ s a -> s{_ccwssrUploadType = a})++-- | Multipart request metadata.+ccwssrPayload :: Lens' CoursesCourseWorkStudentSubmissionsReturn ReturnStudentSubmissionRequest+ccwssrPayload+  = lens _ccwssrPayload+      (\ s a -> s{_ccwssrPayload = a})++-- | OAuth bearer token.+ccwssrBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrBearerToken+  = lens _ccwssrBearerToken+      (\ s a -> s{_ccwssrBearerToken = a})++-- | Identifier of the student submission.+ccwssrId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text+ccwssrId = lens _ccwssrId (\ s a -> s{_ccwssrId = a})++-- | JSONP+ccwssrCallback :: Lens' CoursesCourseWorkStudentSubmissionsReturn (Maybe Text)+ccwssrCallback+  = lens _ccwssrCallback+      (\ s a -> s{_ccwssrCallback = a})++-- | Identifier of the course work.+ccwssrCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsReturn Text+ccwssrCourseWorkId+  = lens _ccwssrCourseWorkId+      (\ s a -> s{_ccwssrCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsReturn where+        type Rs CoursesCourseWorkStudentSubmissionsReturn =+             Empty+        type Scopes CoursesCourseWorkStudentSubmissionsReturn+             =+             '["https://www.googleapis.com/auth/classroom.coursework.students"]+        requestClient+          CoursesCourseWorkStudentSubmissionsReturn'{..}+          = go _ccwssrCourseId _ccwssrCourseWorkId _ccwssrId+              _ccwssrXgafv+              _ccwssrUploadProtocol+              (Just _ccwssrPp)+              _ccwssrAccessToken+              _ccwssrUploadType+              _ccwssrBearerToken+              _ccwssrCallback+              (Just AltJSON)+              _ccwssrPayload+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsReturnResource)+                      mempty
+ gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/TurnIn.hs view
@@ -0,0 +1,249 @@+{-# 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.CourseWork.StudentSubmissions.TurnIn+-- Copyright   : (c) 2015-2016 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)+--+-- Turns in a student submission. Turning in a student submission transfers+-- ownership of attached Drive files to the teacher and may also update the+-- submission state. This may only be called by the student that owns the+-- specified student submission. This request must be made by the Developer+-- Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, turn in the+-- requested student submission, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course, course work, or student submission does not exist.+--+-- /See:/ <https://developers.google.com/classroom/ Google Classroom API Reference> for @classroom.courses.courseWork.studentSubmissions.turnIn@.+module Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn+    (+    -- * REST Resource+      CoursesCourseWorkStudentSubmissionsTurnInResource++    -- * Creating a Request+    , coursesCourseWorkStudentSubmissionsTurnIn+    , CoursesCourseWorkStudentSubmissionsTurnIn++    -- * Request Lenses+    , ccwsstiXgafv+    , ccwsstiUploadProtocol+    , ccwsstiPp+    , ccwsstiCourseId+    , ccwsstiAccessToken+    , ccwsstiUploadType+    , ccwsstiPayload+    , ccwsstiBearerToken+    , ccwsstiId+    , ccwsstiCallback+    , ccwsstiCourseWorkId+    ) where++import           Network.Google.Classroom.Types+import           Network.Google.Prelude++-- | A resource alias for @classroom.courses.courseWork.studentSubmissions.turnIn@ method which the+-- 'CoursesCourseWorkStudentSubmissionsTurnIn' request conforms to.+type CoursesCourseWorkStudentSubmissionsTurnInResource+     =+     "v1" :>+       "courses" :>+         Capture "courseId" Text :>+           "courseWork" :>+             Capture "courseWorkId" Text :>+               "studentSubmissions" :>+                 CaptureMode "id" "turnIn" 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]+                                     TurnInStudentSubmissionRequest+                                     :> Post '[JSON] Empty++-- | Turns in a student submission. Turning in a student submission transfers+-- ownership of attached Drive files to the teacher and may also update the+-- submission state. This may only be called by the student that owns the+-- specified student submission. This request must be made by the Developer+-- Console project of the [OAuth client+-- ID](https:\/\/support.google.com\/cloud\/answer\/6158849) used to create+-- the corresponding course work item. This method returns the following+-- error codes: * \`PERMISSION_DENIED\` if the requesting user is not+-- permitted to access the requested course or course work, turn in the+-- requested student submission, or for access errors. *+-- \`INVALID_ARGUMENT\` if the request is malformed. * \`NOT_FOUND\` if the+-- requested course, course work, or student submission does not exist.+--+-- /See:/ 'coursesCourseWorkStudentSubmissionsTurnIn' smart constructor.+data CoursesCourseWorkStudentSubmissionsTurnIn = CoursesCourseWorkStudentSubmissionsTurnIn'+    { _ccwsstiXgafv          :: !(Maybe Text)+    , _ccwsstiUploadProtocol :: !(Maybe Text)+    , _ccwsstiPp             :: !Bool+    , _ccwsstiCourseId       :: !Text+    , _ccwsstiAccessToken    :: !(Maybe Text)+    , _ccwsstiUploadType     :: !(Maybe Text)+    , _ccwsstiPayload        :: !TurnInStudentSubmissionRequest+    , _ccwsstiBearerToken    :: !(Maybe Text)+    , _ccwsstiId             :: !Text+    , _ccwsstiCallback       :: !(Maybe Text)+    , _ccwsstiCourseWorkId   :: !Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CoursesCourseWorkStudentSubmissionsTurnIn' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccwsstiXgafv'+--+-- * 'ccwsstiUploadProtocol'+--+-- * 'ccwsstiPp'+--+-- * 'ccwsstiCourseId'+--+-- * 'ccwsstiAccessToken'+--+-- * 'ccwsstiUploadType'+--+-- * 'ccwsstiPayload'+--+-- * 'ccwsstiBearerToken'+--+-- * 'ccwsstiId'+--+-- * 'ccwsstiCallback'+--+-- * 'ccwsstiCourseWorkId'+coursesCourseWorkStudentSubmissionsTurnIn+    :: Text -- ^ 'ccwsstiCourseId'+    -> TurnInStudentSubmissionRequest -- ^ 'ccwsstiPayload'+    -> Text -- ^ 'ccwsstiId'+    -> Text -- ^ 'ccwsstiCourseWorkId'+    -> CoursesCourseWorkStudentSubmissionsTurnIn+coursesCourseWorkStudentSubmissionsTurnIn pCcwsstiCourseId_ pCcwsstiPayload_ pCcwsstiId_ pCcwsstiCourseWorkId_ =+    CoursesCourseWorkStudentSubmissionsTurnIn'+    { _ccwsstiXgafv = Nothing+    , _ccwsstiUploadProtocol = Nothing+    , _ccwsstiPp = True+    , _ccwsstiCourseId = pCcwsstiCourseId_+    , _ccwsstiAccessToken = Nothing+    , _ccwsstiUploadType = Nothing+    , _ccwsstiPayload = pCcwsstiPayload_+    , _ccwsstiBearerToken = Nothing+    , _ccwsstiId = pCcwsstiId_+    , _ccwsstiCallback = Nothing+    , _ccwsstiCourseWorkId = pCcwsstiCourseWorkId_+    }++-- | V1 error format.+ccwsstiXgafv :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiXgafv+  = lens _ccwsstiXgafv (\ s a -> s{_ccwsstiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ccwsstiUploadProtocol :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiUploadProtocol+  = lens _ccwsstiUploadProtocol+      (\ s a -> s{_ccwsstiUploadProtocol = a})++-- | Pretty-print response.+ccwsstiPp :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Bool+ccwsstiPp+  = lens _ccwsstiPp (\ s a -> s{_ccwsstiPp = a})++-- | Identifier of the course. This identifier can be either the+-- Classroom-assigned identifier or an alias.+ccwsstiCourseId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text+ccwsstiCourseId+  = lens _ccwsstiCourseId+      (\ s a -> s{_ccwsstiCourseId = a})++-- | OAuth access token.+ccwsstiAccessToken :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiAccessToken+  = lens _ccwsstiAccessToken+      (\ s a -> s{_ccwsstiAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ccwsstiUploadType :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiUploadType+  = lens _ccwsstiUploadType+      (\ s a -> s{_ccwsstiUploadType = a})++-- | Multipart request metadata.+ccwsstiPayload :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn TurnInStudentSubmissionRequest+ccwsstiPayload+  = lens _ccwsstiPayload+      (\ s a -> s{_ccwsstiPayload = a})++-- | OAuth bearer token.+ccwsstiBearerToken :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiBearerToken+  = lens _ccwsstiBearerToken+      (\ s a -> s{_ccwsstiBearerToken = a})++-- | Identifier of the student submission.+ccwsstiId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text+ccwsstiId+  = lens _ccwsstiId (\ s a -> s{_ccwsstiId = a})++-- | JSONP+ccwsstiCallback :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn (Maybe Text)+ccwsstiCallback+  = lens _ccwsstiCallback+      (\ s a -> s{_ccwsstiCallback = a})++-- | Identifier of the course work.+ccwsstiCourseWorkId :: Lens' CoursesCourseWorkStudentSubmissionsTurnIn Text+ccwsstiCourseWorkId+  = lens _ccwsstiCourseWorkId+      (\ s a -> s{_ccwsstiCourseWorkId = a})++instance GoogleRequest+         CoursesCourseWorkStudentSubmissionsTurnIn where+        type Rs CoursesCourseWorkStudentSubmissionsTurnIn =+             Empty+        type Scopes CoursesCourseWorkStudentSubmissionsTurnIn+             =+             '["https://www.googleapis.com/auth/classroom.coursework.me"]+        requestClient+          CoursesCourseWorkStudentSubmissionsTurnIn'{..}+          = go _ccwsstiCourseId _ccwsstiCourseWorkId _ccwsstiId+              _ccwsstiXgafv+              _ccwsstiUploadProtocol+              (Just _ccwsstiPp)+              _ccwsstiAccessToken+              _ccwsstiUploadType+              _ccwsstiBearerToken+              _ccwsstiCallback+              (Just AltJSON)+              _ccwsstiPayload+              classroomService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           CoursesCourseWorkStudentSubmissionsTurnInResource)+                      mempty
gen/Network/Google/Resource/Classroom/Courses/Create.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Create--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -78,7 +78,7 @@ -- specified in the \`id\` and already exists. -- -- /See:/ 'coursesCreate' smart constructor.-data CoursesCreate = CoursesCreate+data CoursesCreate = CoursesCreate'     { _ccXgafv          :: !(Maybe Text)     , _ccUploadProtocol :: !(Maybe Text)     , _ccPp             :: !Bool@@ -112,7 +112,7 @@     :: Course -- ^ 'ccPayload'     -> CoursesCreate coursesCreate pCcPayload_ =-    CoursesCreate+    CoursesCreate'     { _ccXgafv = Nothing     , _ccUploadProtocol = Nothing     , _ccPp = True@@ -166,7 +166,9 @@  instance GoogleRequest CoursesCreate where         type Rs CoursesCreate = Course-        requestClient CoursesCreate{..}+        type Scopes CoursesCreate =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesCreate'{..}           = go _ccXgafv _ccUploadProtocol (Just _ccPp)               _ccAccessToken               _ccUploadType
gen/Network/Google/Resource/Classroom/Courses/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -70,7 +70,7 @@ -- exists with the requested ID. -- -- /See:/ 'coursesDelete' smart constructor.-data CoursesDelete = CoursesDelete+data CoursesDelete = CoursesDelete'     { _cdXgafv          :: !(Maybe Text)     , _cdUploadProtocol :: !(Maybe Text)     , _cdPp             :: !Bool@@ -104,7 +104,7 @@     :: Text -- ^ 'cdId'     -> CoursesDelete coursesDelete pCdId_ =-    CoursesDelete+    CoursesDelete'     { _cdXgafv = Nothing     , _cdUploadProtocol = Nothing     , _cdPp = True@@ -158,7 +158,9 @@  instance GoogleRequest CoursesDelete where         type Rs CoursesDelete = Empty-        requestClient CoursesDelete{..}+        type Scopes CoursesDelete =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesDelete'{..}           = go _cdId _cdXgafv _cdUploadProtocol (Just _cdPp)               _cdAccessToken               _cdUploadType
gen/Network/Google/Resource/Classroom/Courses/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -70,7 +70,7 @@ -- exists with the requested ID. -- -- /See:/ 'coursesGet' smart constructor.-data CoursesGet = CoursesGet+data CoursesGet = CoursesGet'     { _cgXgafv          :: !(Maybe Text)     , _cgUploadProtocol :: !(Maybe Text)     , _cgPp             :: !Bool@@ -104,7 +104,7 @@     :: Text -- ^ 'cgId'     -> CoursesGet coursesGet pCgId_ =-    CoursesGet+    CoursesGet'     { _cgXgafv = Nothing     , _cgUploadProtocol = Nothing     , _cgPp = True@@ -158,7 +158,10 @@  instance GoogleRequest CoursesGet where         type Rs CoursesGet = Course-        requestClient CoursesGet{..}+        type Scopes CoursesGet =+             '["https://www.googleapis.com/auth/classroom.courses",+               "https://www.googleapis.com/auth/classroom.courses.readonly"]+        requestClient CoursesGet'{..}           = go _cgId _cgXgafv _cgUploadProtocol (Just _cgPp)               _cgAccessToken               _cgUploadType
gen/Network/Google/Resource/Classroom/Courses/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -79,7 +79,7 @@ -- if any users specified in the query arguments do not exist. -- -- /See:/ 'coursesList' smart constructor.-data CoursesList = CoursesList+data CoursesList = CoursesList'     { _clStudentId      :: !(Maybe Text)     , _clXgafv          :: !(Maybe Text)     , _clUploadProtocol :: !(Maybe Text)@@ -121,7 +121,7 @@ coursesList     :: CoursesList coursesList =-    CoursesList+    CoursesList'     { _clStudentId = Nothing     , _clXgafv = Nothing     , _clUploadProtocol = Nothing@@ -204,7 +204,10 @@  instance GoogleRequest CoursesList where         type Rs CoursesList = ListCoursesResponse-        requestClient CoursesList{..}+        type Scopes CoursesList =+             '["https://www.googleapis.com/auth/classroom.courses",+               "https://www.googleapis.com/auth/classroom.courses.readonly"]+        requestClient CoursesList'{..}           = go _clStudentId _clXgafv _clUploadProtocol               (Just _clPp)               _clAccessToken
gen/Network/Google/Resource/Classroom/Courses/Patch.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Patch--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -80,7 +80,7 @@ -- following request errors: * CourseNotModifiable -- -- /See:/ 'coursesPatch' smart constructor.-data CoursesPatch = CoursesPatch+data CoursesPatch = CoursesPatch'     { _cpXgafv          :: !(Maybe Text)     , _cpUploadProtocol :: !(Maybe Text)     , _cpUpdateMask     :: !(Maybe Text)@@ -121,7 +121,7 @@     -> Text -- ^ 'cpId'     -> CoursesPatch coursesPatch pCpPayload_ pCpId_ =-    CoursesPatch+    CoursesPatch'     { _cpXgafv = Nothing     , _cpUploadProtocol = Nothing     , _cpUpdateMask = Nothing@@ -192,7 +192,9 @@  instance GoogleRequest CoursesPatch where         type Rs CoursesPatch = Course-        requestClient CoursesPatch{..}+        type Scopes CoursesPatch =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesPatch'{..}           = go _cpId _cpXgafv _cpUploadProtocol _cpUpdateMask               (Just _cpPp)               _cpAccessToken
gen/Network/Google/Resource/Classroom/Courses/Students/Create.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Students.Create--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -85,7 +85,7 @@ -- course. -- -- /See:/ 'coursesStudentsCreate' smart constructor.-data CoursesStudentsCreate = CoursesStudentsCreate+data CoursesStudentsCreate = CoursesStudentsCreate'     { _cscXgafv          :: !(Maybe Text)     , _cscUploadProtocol :: !(Maybe Text)     , _cscPp             :: !Bool@@ -126,7 +126,7 @@     -> Student -- ^ 'cscPayload'     -> CoursesStudentsCreate coursesStudentsCreate pCscCourseId_ pCscPayload_ =-    CoursesStudentsCreate+    CoursesStudentsCreate'     { _cscXgafv = Nothing     , _cscUploadProtocol = Nothing     , _cscPp = True@@ -198,7 +198,11 @@  instance GoogleRequest CoursesStudentsCreate where         type Rs CoursesStudentsCreate = Student-        requestClient CoursesStudentsCreate{..}+        type Scopes CoursesStudentsCreate =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters"]+        requestClient CoursesStudentsCreate'{..}           = go _cscCourseId _cscXgafv _cscUploadProtocol               (Just _cscPp)               _cscAccessToken
gen/Network/Google/Resource/Classroom/Courses/Students/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Students.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -75,7 +75,7 @@ -- not exist. -- -- /See:/ 'coursesStudentsDelete' smart constructor.-data CoursesStudentsDelete = CoursesStudentsDelete+data CoursesStudentsDelete = CoursesStudentsDelete'     { _csdXgafv          :: !(Maybe Text)     , _csdUploadProtocol :: !(Maybe Text)     , _csdPp             :: !Bool@@ -113,7 +113,7 @@     -> Text -- ^ 'csdUserId'     -> CoursesStudentsDelete coursesStudentsDelete pCsdCourseId_ pCsdUserId_ =-    CoursesStudentsDelete+    CoursesStudentsDelete'     { _csdXgafv = Nothing     , _csdUploadProtocol = Nothing     , _csdPp = True@@ -177,7 +177,9 @@  instance GoogleRequest CoursesStudentsDelete where         type Rs CoursesStudentsDelete = Empty-        requestClient CoursesStudentsDelete{..}+        type Scopes CoursesStudentsDelete =+             '["https://www.googleapis.com/auth/classroom.rosters"]+        requestClient CoursesStudentsDelete'{..}           = go _csdCourseId _csdUserId _csdXgafv               _csdUploadProtocol               (Just _csdPp)
gen/Network/Google/Resource/Classroom/Courses/Students/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Students.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -75,7 +75,7 @@ -- exist. -- -- /See:/ 'coursesStudentsGet' smart constructor.-data CoursesStudentsGet = CoursesStudentsGet+data CoursesStudentsGet = CoursesStudentsGet'     { _csgXgafv          :: !(Maybe Text)     , _csgUploadProtocol :: !(Maybe Text)     , _csgPp             :: !Bool@@ -113,7 +113,7 @@     -> Text -- ^ 'csgUserId'     -> CoursesStudentsGet coursesStudentsGet pCsgCourseId_ pCsgUserId_ =-    CoursesStudentsGet+    CoursesStudentsGet'     { _csgXgafv = Nothing     , _csgUploadProtocol = Nothing     , _csgPp = True@@ -177,7 +177,12 @@  instance GoogleRequest CoursesStudentsGet where         type Rs CoursesStudentsGet = Student-        requestClient CoursesStudentsGet{..}+        type Scopes CoursesStudentsGet =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient CoursesStudentsGet'{..}           = go _csgCourseId _csgUserId _csgXgafv               _csgUploadProtocol               (Just _csgPp)
gen/Network/Google/Resource/Classroom/Courses/Students/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Students.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -76,7 +76,7 @@ -- access errors. -- -- /See:/ 'coursesStudentsList' smart constructor.-data CoursesStudentsList = CoursesStudentsList+data CoursesStudentsList = CoursesStudentsList'     { _cslXgafv          :: !(Maybe Text)     , _cslUploadProtocol :: !(Maybe Text)     , _cslPp             :: !Bool@@ -116,7 +116,7 @@     :: Text -- ^ 'cslCourseId'     -> CoursesStudentsList coursesStudentsList pCslCourseId_ =-    CoursesStudentsList+    CoursesStudentsList'     { _cslXgafv = Nothing     , _cslUploadProtocol = Nothing     , _cslPp = True@@ -188,7 +188,12 @@  instance GoogleRequest CoursesStudentsList where         type Rs CoursesStudentsList = ListStudentsResponse-        requestClient CoursesStudentsList{..}+        type Scopes CoursesStudentsList =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient CoursesStudentsList'{..}           = go _cslCourseId _cslXgafv _cslUploadProtocol               (Just _cslPp)               _cslAccessToken
gen/Network/Google/Resource/Classroom/Courses/Teachers/Create.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Teachers.Create--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -83,7 +83,7 @@ -- course. -- -- /See:/ 'coursesTeachersCreate' smart constructor.-data CoursesTeachersCreate = CoursesTeachersCreate+data CoursesTeachersCreate = CoursesTeachersCreate'     { _ctcXgafv          :: !(Maybe Text)     , _ctcUploadProtocol :: !(Maybe Text)     , _ctcPp             :: !Bool@@ -121,7 +121,7 @@     -> Teacher -- ^ 'ctcPayload'     -> CoursesTeachersCreate coursesTeachersCreate pCtcCourseId_ pCtcPayload_ =-    CoursesTeachersCreate+    CoursesTeachersCreate'     { _ctcXgafv = Nothing     , _ctcUploadProtocol = Nothing     , _ctcPp = True@@ -183,7 +183,11 @@  instance GoogleRequest CoursesTeachersCreate where         type Rs CoursesTeachersCreate = Teacher-        requestClient CoursesTeachersCreate{..}+        type Scopes CoursesTeachersCreate =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters"]+        requestClient CoursesTeachersCreate'{..}           = go _ctcCourseId _ctcXgafv _ctcUploadProtocol               (Just _ctcPp)               _ctcAccessToken
gen/Network/Google/Resource/Classroom/Courses/Teachers/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Teachers.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -77,7 +77,7 @@ -- primary teacher of this course. -- -- /See:/ 'coursesTeachersDelete' smart constructor.-data CoursesTeachersDelete = CoursesTeachersDelete+data CoursesTeachersDelete = CoursesTeachersDelete'     { _ctdXgafv          :: !(Maybe Text)     , _ctdUploadProtocol :: !(Maybe Text)     , _ctdPp             :: !Bool@@ -115,7 +115,7 @@     -> Text -- ^ 'ctdUserId'     -> CoursesTeachersDelete coursesTeachersDelete pCtdCourseId_ pCtdUserId_ =-    CoursesTeachersDelete+    CoursesTeachersDelete'     { _ctdXgafv = Nothing     , _ctdUploadProtocol = Nothing     , _ctdPp = True@@ -179,7 +179,9 @@  instance GoogleRequest CoursesTeachersDelete where         type Rs CoursesTeachersDelete = Empty-        requestClient CoursesTeachersDelete{..}+        type Scopes CoursesTeachersDelete =+             '["https://www.googleapis.com/auth/classroom.rosters"]+        requestClient CoursesTeachersDelete'{..}           = go _ctdCourseId _ctdUserId _ctdXgafv               _ctdUploadProtocol               (Just _ctdPp)
gen/Network/Google/Resource/Classroom/Courses/Teachers/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Teachers.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -75,7 +75,7 @@ -- exist. -- -- /See:/ 'coursesTeachersGet' smart constructor.-data CoursesTeachersGet = CoursesTeachersGet+data CoursesTeachersGet = CoursesTeachersGet'     { _ctgXgafv          :: !(Maybe Text)     , _ctgUploadProtocol :: !(Maybe Text)     , _ctgPp             :: !Bool@@ -113,7 +113,7 @@     -> Text -- ^ 'ctgUserId'     -> CoursesTeachersGet coursesTeachersGet pCtgCourseId_ pCtgUserId_ =-    CoursesTeachersGet+    CoursesTeachersGet'     { _ctgXgafv = Nothing     , _ctgUploadProtocol = Nothing     , _ctgPp = True@@ -177,7 +177,12 @@  instance GoogleRequest CoursesTeachersGet where         type Rs CoursesTeachersGet = Teacher-        requestClient CoursesTeachersGet{..}+        type Scopes CoursesTeachersGet =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient CoursesTeachersGet'{..}           = go _ctgCourseId _ctgUserId _ctgXgafv               _ctgUploadProtocol               (Just _ctgPp)
gen/Network/Google/Resource/Classroom/Courses/Teachers/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Teachers.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -76,7 +76,7 @@ -- access errors. -- -- /See:/ 'coursesTeachersList' smart constructor.-data CoursesTeachersList = CoursesTeachersList+data CoursesTeachersList = CoursesTeachersList'     { _ctlXgafv          :: !(Maybe Text)     , _ctlUploadProtocol :: !(Maybe Text)     , _ctlPp             :: !Bool@@ -116,7 +116,7 @@     :: Text -- ^ 'ctlCourseId'     -> CoursesTeachersList coursesTeachersList pCtlCourseId_ =-    CoursesTeachersList+    CoursesTeachersList'     { _ctlXgafv = Nothing     , _ctlUploadProtocol = Nothing     , _ctlPp = True@@ -188,7 +188,12 @@  instance GoogleRequest CoursesTeachersList where         type Rs CoursesTeachersList = ListTeachersResponse-        requestClient CoursesTeachersList{..}+        type Scopes CoursesTeachersList =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient CoursesTeachersList'{..}           = go _ctlCourseId _ctlXgafv _ctlUploadProtocol               (Just _ctlPp)               _ctlAccessToken
gen/Network/Google/Resource/Classroom/Courses/Update.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Courses.Update--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -74,7 +74,7 @@ -- following request errors: * CourseNotModifiable -- -- /See:/ 'coursesUpdate' smart constructor.-data CoursesUpdate = CoursesUpdate+data CoursesUpdate = CoursesUpdate'     { _cuXgafv          :: !(Maybe Text)     , _cuUploadProtocol :: !(Maybe Text)     , _cuPp             :: !Bool@@ -112,7 +112,7 @@     -> Text -- ^ 'cuId'     -> CoursesUpdate coursesUpdate pCuPayload_ pCuId_ =-    CoursesUpdate+    CoursesUpdate'     { _cuXgafv = Nothing     , _cuUploadProtocol = Nothing     , _cuPp = True@@ -172,7 +172,9 @@  instance GoogleRequest CoursesUpdate where         type Rs CoursesUpdate = Course-        requestClient CoursesUpdate{..}+        type Scopes CoursesUpdate =+             '["https://www.googleapis.com/auth/classroom.courses"]+        requestClient CoursesUpdate'{..}           = go _cuId _cuXgafv _cuUploadProtocol (Just _cuPp)               _cuAccessToken               _cuUploadType
gen/Network/Google/Resource/Classroom/Invitations/Accept.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Invitations.Accept--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -80,7 +80,7 @@ -- \`NOT_FOUND\` if no invitation exists with the requested ID. -- -- /See:/ 'invitationsAccept' smart constructor.-data InvitationsAccept = InvitationsAccept+data InvitationsAccept = InvitationsAccept'     { _iaXgafv          :: !(Maybe Text)     , _iaUploadProtocol :: !(Maybe Text)     , _iaPp             :: !Bool@@ -114,7 +114,7 @@     :: Text -- ^ 'iaId'     -> InvitationsAccept invitationsAccept pIaId_ =-    InvitationsAccept+    InvitationsAccept'     { _iaXgafv = Nothing     , _iaUploadProtocol = Nothing     , _iaPp = True@@ -167,7 +167,9 @@  instance GoogleRequest InvitationsAccept where         type Rs InvitationsAccept = Empty-        requestClient InvitationsAccept{..}+        type Scopes InvitationsAccept =+             '["https://www.googleapis.com/auth/classroom.rosters"]+        requestClient InvitationsAccept'{..}           = go _iaId _iaXgafv _iaUploadProtocol (Just _iaPp)               _iaAccessToken               _iaUploadType
gen/Network/Google/Resource/Classroom/Invitations/Create.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Invitations.Create--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -80,7 +80,7 @@ -- specified user and course already exists. -- -- /See:/ 'invitationsCreate' smart constructor.-data InvitationsCreate = InvitationsCreate+data InvitationsCreate = InvitationsCreate'     { _icXgafv          :: !(Maybe Text)     , _icUploadProtocol :: !(Maybe Text)     , _icPp             :: !Bool@@ -114,7 +114,7 @@     :: Invitation -- ^ 'icPayload'     -> InvitationsCreate invitationsCreate pIcPayload_ =-    InvitationsCreate+    InvitationsCreate'     { _icXgafv = Nothing     , _icUploadProtocol = Nothing     , _icPp = True@@ -168,7 +168,9 @@  instance GoogleRequest InvitationsCreate where         type Rs InvitationsCreate = Invitation-        requestClient InvitationsCreate{..}+        type Scopes InvitationsCreate =+             '["https://www.googleapis.com/auth/classroom.rosters"]+        requestClient InvitationsCreate'{..}           = go _icXgafv _icUploadProtocol (Just _icPp)               _icAccessToken               _icUploadType
gen/Network/Google/Resource/Classroom/Invitations/Delete.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Invitations.Delete--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -70,7 +70,7 @@ -- invitation exists with the requested ID. -- -- /See:/ 'invitationsDelete' smart constructor.-data InvitationsDelete = InvitationsDelete+data InvitationsDelete = InvitationsDelete'     { _idXgafv          :: !(Maybe Text)     , _idUploadProtocol :: !(Maybe Text)     , _idPp             :: !Bool@@ -104,7 +104,7 @@     :: Text -- ^ 'idId'     -> InvitationsDelete invitationsDelete pIdId_ =-    InvitationsDelete+    InvitationsDelete'     { _idXgafv = Nothing     , _idUploadProtocol = Nothing     , _idPp = True@@ -157,7 +157,9 @@  instance GoogleRequest InvitationsDelete where         type Rs InvitationsDelete = Empty-        requestClient InvitationsDelete{..}+        type Scopes InvitationsDelete =+             '["https://www.googleapis.com/auth/classroom.rosters"]+        requestClient InvitationsDelete'{..}           = go _idId _idXgafv _idUploadProtocol (Just _idPp)               _idAccessToken               _idUploadType
gen/Network/Google/Resource/Classroom/Invitations/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Invitations.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -70,7 +70,7 @@ -- invitation exists with the requested ID. -- -- /See:/ 'invitationsGet' smart constructor.-data InvitationsGet = InvitationsGet+data InvitationsGet = InvitationsGet'     { _igXgafv          :: !(Maybe Text)     , _igUploadProtocol :: !(Maybe Text)     , _igPp             :: !Bool@@ -104,7 +104,7 @@     :: Text -- ^ 'igId'     -> InvitationsGet invitationsGet pIgId_ =-    InvitationsGet+    InvitationsGet'     { _igXgafv = Nothing     , _igUploadProtocol = Nothing     , _igPp = True@@ -157,7 +157,10 @@  instance GoogleRequest InvitationsGet where         type Rs InvitationsGet = Invitation-        requestClient InvitationsGet{..}+        type Scopes InvitationsGet =+             '["https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient InvitationsGet'{..}           = go _igId _igXgafv _igUploadProtocol (Just _igPp)               _igAccessToken               _igUploadType
gen/Network/Google/Resource/Classroom/Invitations/List.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.Invitations.List--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -79,7 +79,7 @@ -- \`PERMISSION_DENIED\` for access errors. -- -- /See:/ 'invitationsList' smart constructor.-data InvitationsList = InvitationsList+data InvitationsList = InvitationsList'     { _ilXgafv          :: !(Maybe Text)     , _ilUploadProtocol :: !(Maybe Text)     , _ilPp             :: !Bool@@ -121,7 +121,7 @@ invitationsList     :: InvitationsList invitationsList =-    InvitationsList+    InvitationsList'     { _ilXgafv = Nothing     , _ilUploadProtocol = Nothing     , _ilPp = True@@ -200,7 +200,10 @@  instance GoogleRequest InvitationsList where         type Rs InvitationsList = ListInvitationsResponse-        requestClient InvitationsList{..}+        type Scopes InvitationsList =+             '["https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient InvitationsList'{..}           = go _ilXgafv _ilUploadProtocol (Just _ilPp)               _ilCourseId               _ilAccessToken
gen/Network/Google/Resource/Classroom/UserProFiles/Get.hs view
@@ -14,7 +14,7 @@  -- | -- Module      : Network.Google.Resource.Classroom.UserProFiles.Get--- Copyright   : (c) 2015 Brendan Hay+-- Copyright   : (c) 2015-2016 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated@@ -70,7 +70,7 @@ -- access errors. -- -- /See:/ 'userProFilesGet' smart constructor.-data UserProFilesGet = UserProFilesGet+data UserProFilesGet = UserProFilesGet'     { _upfgXgafv          :: !(Maybe Text)     , _upfgUploadProtocol :: !(Maybe Text)     , _upfgPp             :: !Bool@@ -104,7 +104,7 @@     :: Text -- ^ 'upfgUserId'     -> UserProFilesGet userProFilesGet pUpfgUserId_ =-    UserProFilesGet+    UserProFilesGet'     { _upfgXgafv = Nothing     , _upfgUploadProtocol = Nothing     , _upfgPp = True@@ -162,7 +162,12 @@  instance GoogleRequest UserProFilesGet where         type Rs UserProFilesGet = UserProFile-        requestClient UserProFilesGet{..}+        type Scopes UserProFilesGet =+             '["https://www.googleapis.com/auth/classroom.profile.emails",+               "https://www.googleapis.com/auth/classroom.profile.photos",+               "https://www.googleapis.com/auth/classroom.rosters",+               "https://www.googleapis.com/auth/classroom.rosters.readonly"]+        requestClient UserProFilesGet'{..}           = go _upfgUserId _upfgXgafv _upfgUploadProtocol               (Just _upfgPp)               _upfgAccessToken
gogol-classroom.cabal view
@@ -1,5 +1,5 @@ name:                  gogol-classroom-version:               0.0.1+version:               0.1.0 synopsis:              Google Classroom SDK. homepage:              https://github.com/brendanhay/gogol bug-reports:           https://github.com/brendanhay/gogol/issues@@ -7,14 +7,14 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2015 Brendan Hay+copyright:             Copyright (c) 2015-2016 Brendan Hay category:              Network, Google, Cloud build-type:            Simple cabal-version:         >= 1.10 extra-source-files:    README.md  description:-    Google Classroom API+    Manages classes, rosters, and invitations in Google Classroom.     .     /Warning:/ This is an experimental prototype/preview release which is still     under exploratory development and not intended for public use, caveat emptor!@@ -38,6 +38,16 @@         , 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.CourseWork.Create+        , Network.Google.Resource.Classroom.Courses.CourseWork.Get+        , Network.Google.Resource.Classroom.Courses.CourseWork.List+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Get+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.List+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.ModifyAttachments+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Patch+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Reclaim+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.Return+        , Network.Google.Resource.Classroom.Courses.CourseWork.StudentSubmissions.TurnIn         , Network.Google.Resource.Classroom.Courses.Create         , Network.Google.Resource.Classroom.Courses.Delete         , Network.Google.Resource.Classroom.Courses.Get@@ -64,5 +74,5 @@         , Network.Google.Classroom.Types.Sum      build-depends:-          gogol-core == 0.0.1.*+          gogol-core == 0.1.0.*         , base       >= 4.7 && < 5