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 +3/−3
- gen/Network/Google/Classroom.hs +260/−2
- gen/Network/Google/Classroom/Types.hs +248/−18
- gen/Network/Google/Classroom/Types/Product.hs +2575/−879
- gen/Network/Google/Classroom/Types/Sum.hs +1/−1
- gen/Network/Google/Resource/Classroom/Courses/Aliases/Create.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Aliases/Delete.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Aliases/List.hs +7/−4
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/Create.hs +207/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/Get.hs +197/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/List.hs +255/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Get.hs +220/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/List.hs +300/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/ModifyAttachments.hs +250/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Patch.hs +263/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Reclaim.hs +249/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Return.hs +251/−0
- gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/TurnIn.hs +249/−0
- gen/Network/Google/Resource/Classroom/Courses/Create.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Delete.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Get.hs +7/−4
- gen/Network/Google/Resource/Classroom/Courses/List.hs +7/−4
- gen/Network/Google/Resource/Classroom/Courses/Patch.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Students/Create.hs +8/−4
- gen/Network/Google/Resource/Classroom/Courses/Students/Delete.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Students/Get.hs +9/−4
- gen/Network/Google/Resource/Classroom/Courses/Students/List.hs +9/−4
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Create.hs +8/−4
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Delete.hs +6/−4
- gen/Network/Google/Resource/Classroom/Courses/Teachers/Get.hs +9/−4
- gen/Network/Google/Resource/Classroom/Courses/Teachers/List.hs +9/−4
- gen/Network/Google/Resource/Classroom/Courses/Update.hs +6/−4
- gen/Network/Google/Resource/Classroom/Invitations/Accept.hs +6/−4
- gen/Network/Google/Resource/Classroom/Invitations/Create.hs +6/−4
- gen/Network/Google/Resource/Classroom/Invitations/Delete.hs +6/−4
- gen/Network/Google/Resource/Classroom/Invitations/Get.hs +7/−4
- gen/Network/Google/Resource/Classroom/Invitations/List.hs +7/−4
- gen/Network/Google/Resource/Classroom/UserProFiles/Get.hs +9/−4
- gogol-classroom.cabal +14/−4
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