{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- | -- Module : Gogol.Classroom.Courses.CourseWork.StudentSubmissions.Patch -- Copyright : (c) 2015-2025 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Toni Cebrián -- 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 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:/ for @classroom.courses.courseWork.studentSubmissions.patch@. module Gogol.Classroom.Courses.CourseWork.StudentSubmissions.Patch ( -- * Resource ClassroomCoursesCourseWorkStudentSubmissionsPatchResource, -- ** Constructing a Request ClassroomCoursesCourseWorkStudentSubmissionsPatch (..), newClassroomCoursesCourseWorkStudentSubmissionsPatch, ) where import Gogol.Classroom.Types import Gogol.Prelude qualified as Core -- | A resource alias for @classroom.courses.courseWork.studentSubmissions.patch@ method which the -- 'ClassroomCoursesCourseWorkStudentSubmissionsPatch' request conforms to. type ClassroomCoursesCourseWorkStudentSubmissionsPatchResource = "v1" Core.:> "courses" Core.:> Core.Capture "courseId" Core.Text Core.:> "courseWork" Core.:> Core.Capture "courseWorkId" Core.Text Core.:> "studentSubmissions" Core.:> Core.Capture "id" Core.Text Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParam "updateMask" Core.FieldMask Core.:> Core.QueryParam "uploadType" Core.Text Core.:> Core.QueryParam "upload_protocol" Core.Text Core.:> Core.QueryParam "alt" Core.AltJSON Core.:> Core.ReqBody '[Core.JSON] StudentSubmission Core.:> Core.Patch '[Core.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 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:/ 'newClassroomCoursesCourseWorkStudentSubmissionsPatch' smart constructor. data ClassroomCoursesCourseWorkStudentSubmissionsPatch = ClassroomCoursesCourseWorkStudentSubmissionsPatch { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | JSONP callback :: (Core.Maybe Core.Text), -- | Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. courseId :: Core.Text, -- | Identifier of the course work. courseWorkId :: Core.Text, -- | Identifier of the student submission. id :: Core.Text, -- | Multipart request metadata. payload :: StudentSubmission, -- | 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@ updateMask :: (Core.Maybe Core.FieldMask), -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). uploadType :: (Core.Maybe Core.Text), -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). uploadProtocol :: (Core.Maybe Core.Text) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'ClassroomCoursesCourseWorkStudentSubmissionsPatch' with the minimum fields required to make a request. newClassroomCoursesCourseWorkStudentSubmissionsPatch :: -- | Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. See 'courseId'. Core.Text -> -- | Identifier of the course work. See 'courseWorkId'. Core.Text -> -- | Identifier of the student submission. See 'id'. Core.Text -> -- | Multipart request metadata. See 'payload'. StudentSubmission -> ClassroomCoursesCourseWorkStudentSubmissionsPatch newClassroomCoursesCourseWorkStudentSubmissionsPatch courseId courseWorkId id payload = ClassroomCoursesCourseWorkStudentSubmissionsPatch { xgafv = Core.Nothing, accessToken = Core.Nothing, callback = Core.Nothing, courseId = courseId, courseWorkId = courseWorkId, id = id, payload = payload, updateMask = Core.Nothing, uploadType = Core.Nothing, uploadProtocol = Core.Nothing } instance Core.GoogleRequest ClassroomCoursesCourseWorkStudentSubmissionsPatch where type Rs ClassroomCoursesCourseWorkStudentSubmissionsPatch = StudentSubmission type Scopes ClassroomCoursesCourseWorkStudentSubmissionsPatch = '[Classroom'Coursework'Me, Classroom'Coursework'Students] requestClient ClassroomCoursesCourseWorkStudentSubmissionsPatch {..} = go courseId courseWorkId id xgafv accessToken callback updateMask uploadType uploadProtocol (Core.Just Core.AltJSON) payload classroomService where go = Core.buildClient ( Core.Proxy :: Core.Proxy ClassroomCoursesCourseWorkStudentSubmissionsPatchResource ) Core.mempty