@@ -46,6 +46,7 @@ async function getAssignmentMetadata(assignmentId, cid, sid = 0, gid = 0) {
4646
4747async function getAssignmentDetail ( { assignmentId, page = 1 , itemsPerPage = 10 , order = { } } ) {
4848 const params = {
49+ ...buildCidParams ( ) ,
4950 page,
5051 itemsPerPage,
5152 ...Object . fromEntries ( Object . entries ( order ) . map ( ( [ key , val ] ) => [ `order[${ key } ]` , val ] ) ) ,
@@ -56,6 +57,7 @@ async function getAssignmentDetail({ assignmentId, page = 1, itemsPerPage = 10,
5657
5758async function getAssignmentDetailForTeacher ( { assignmentId, page = 1 , itemsPerPage = 10 , order = { } } ) {
5859 const params = {
60+ ...buildCidParams ( ) ,
5961 page,
6062 itemsPerPage,
6163 ...Object . fromEntries ( Object . entries ( order ) . map ( ( [ key , val ] ) => [ `order[${ key } ]` , val ] ) ) ,
@@ -72,18 +74,23 @@ async function uploadStudentAssignment(formData, queryParams) {
7274}
7375
7476async function getStudentProgress ( queryParams = { } ) {
75- const params = new URLSearchParams ( queryParams ) . toString ( )
77+ const merged = { ...buildCidParams ( ) , ...queryParams }
78+ const params = new URLSearchParams ( merged ) . toString ( )
7679 const url = params ? `/assignments/progress?${ params } ` : `/assignments/progress`
7780 const response = await axios . get ( url )
7881 return response . data
7982}
8083
8184async function deleteAssignmentSubmission ( submissionId ) {
82- await axios . delete ( `/assignments/submissions/${ submissionId } ` )
85+ await axios . delete ( `/assignments/submissions/${ submissionId } ` , {
86+ params : buildCidParams ( ) ,
87+ } )
8388}
8489
8590async function updateSubmission ( id , data ) {
86- await axios . patch ( `/assignments/submissions/${ id } /edit` , data )
91+ await axios . patch ( `/assignments/submissions/${ id } /edit` , data , {
92+ params : buildCidParams ( ) ,
93+ } )
8794}
8895
8996async function uploadComment ( submissionId , parentResourceNodeId , formData , sendMail = false ) {
@@ -113,13 +120,17 @@ async function loadComments(submissionId) {
113120 } )
114121 return response . data [ "hydra:member" ] || [ ]
115122 } catch ( error ) {
116- console . error ( "Failed to load comments" , error )
123+ console . error ( "[Assignments] Failed to load comments" , error )
117124 return [ ]
118125 }
119126}
120127
121128async function moveSubmission ( submissionId , newAssignmentId ) {
122- const response = await axios . patch ( `/assignments/submissions/${ submissionId } /move` , { newAssignmentId } )
129+ const response = await axios . patch (
130+ `/assignments/submissions/${ submissionId } /move` ,
131+ { newAssignmentId } ,
132+ { params : buildCidParams ( ) } ,
133+ )
123134 return response . data
124135}
125136
@@ -130,18 +141,19 @@ async function getUnsubmittedUsers(assignmentId) {
130141}
131142
132143async function sendEmailToUnsubmitted ( assignmentId , queryParams = { } ) {
133- const params = new URLSearchParams ( queryParams ) . toString ( )
144+ const merged = { ...buildCidParams ( ) , ...queryParams }
145+ const params = new URLSearchParams ( merged ) . toString ( )
134146 const response = await axios . post ( `/assignments/${ assignmentId } /unsubmitted-users/email?${ params } ` )
135147 return response . data
136148}
137149
138150async function deleteAllCorrections ( assignmentId , cid , sid = 0 ) {
139- const params = { cid, ...( sid && { sid } ) }
151+ const params = { ... buildCidParams ( ) , cid, ...( sid && { sid } ) }
140152 await axios . delete ( `/assignments/${ assignmentId } /corrections/delete` , { params } )
141153}
142154
143155async function exportAssignmentPdf ( assignmentId , cid , sid = 0 , gid = 0 ) {
144- const params = { cid, ...( sid && { sid } ) , ...( gid && { gid } ) }
156+ const params = { ... buildCidParams ( ) , cid, ...( sid && { sid } ) , ...( gid && { gid } ) }
145157 const response = await axios . get ( `/assignments/${ assignmentId } /export/pdf` , {
146158 params,
147159 responseType : "blob" ,
@@ -151,6 +163,7 @@ async function exportAssignmentPdf(assignmentId, cid, sid = 0, gid = 0) {
151163
152164async function downloadAssignments ( assignmentId ) {
153165 const response = await axios . get ( `/assignments/${ assignmentId } /download-package` , {
166+ params : buildCidParams ( ) ,
154167 responseType : "blob" ,
155168 } )
156169 return response . data
@@ -161,6 +174,7 @@ async function uploadCorrectionsPackage(assignmentId, file) {
161174 formData . append ( "file" , file )
162175
163176 const response = await axios . post ( `/assignments/${ assignmentId } /upload-corrections-package` , formData , {
177+ params : buildCidParams ( ) ,
164178 headers : { "Content-Type" : "multipart/form-data" } ,
165179 } )
166180
@@ -171,6 +185,36 @@ async function updateScore(iid, qualification) {
171185 return axios . put ( `${ ENTRYPOINT } c_student_publications/${ iid } ` , { qualification } , { params : buildCidParams ( ) } )
172186}
173187
188+ async function aiGradeSubmission ( submissionId , payload = { } ) {
189+ const response = await axios . post ( `/assignments/submissions/${ submissionId } /ai-grade` , payload , {
190+ headers : { "Content-Type" : "application/json" } ,
191+ params : buildCidParams ( ) ,
192+ } )
193+ return response . data
194+ }
195+
196+ async function getAiTextProviders ( ) {
197+ const { data } = await axios . get ( "/assignments/ai/text-providers" )
198+ return data
199+ }
200+
201+ async function getAiTaskGraderDefaultPrompt ( submissionId , params = { } ) {
202+ const { data } = await axios . get ( `/assignments/submissions/${ submissionId } /ai-task-grader-default-prompt` , {
203+ params,
204+ } )
205+ return data
206+ }
207+
208+ async function aiTaskGrade ( submissionId , payload ) {
209+ const { data } = await axios . post ( `/assignments/submissions/${ submissionId } /ai-task-grade` , payload )
210+ return data
211+ }
212+
213+ async function getAiTaskGradeCapabilities ( submissionId ) {
214+ const { data } = await this . api . get ( `/assignments/submissions/${ submissionId } /ai-task-grade-capabilities` )
215+ return data
216+ }
217+
174218export default {
175219 ...makeService ( "c_student_publications" ) ,
176220 findStudentAssignments,
@@ -192,4 +236,9 @@ export default {
192236 uploadCorrectionsPackage,
193237 updateScore,
194238 updatePublication,
239+ aiGradeSubmission,
240+ getAiTextProviders,
241+ getAiTaskGraderDefaultPrompt,
242+ aiTaskGrade,
243+ getAiTaskGradeCapabilities,
195244}
0 commit comments