@@ -168,15 +168,18 @@ export const useSetProblemStore = defineStore('set_problems', {
168168 */
169169 async deleteSetProblem ( problem : SetProblem ) : Promise < void > {
170170 const course_id = useSessionStore ( ) . course . course_id ;
171-
172- await api . delete ( `courses/${ course_id } /sets/${
173- problem . set_id } /problems/${ problem . set_problem_id } `) ;
174171 const index = this . set_problems . findIndex ( prob => prob . set_problem_id === problem . set_problem_id ) ;
175- if ( index < 0 ) {
176- logger . error ( '[stores/set_problems/deleteSetProblem]: the set problem was not found in the store' ) ;
177- } else {
172+ if ( index >= 0 ) {
173+ const response = await api . delete ( `courses/${ course_id } /sets/${ problem . set_id
174+ } /problems/${ problem . set_problem_id } `) ;
175+ if ( response . status === 200 ) {
178176 // splice is used so vue3 reacts to changes.
179- this . set_problems . splice ( index , 1 ) ;
177+ this . set_problems . splice ( index , 1 ) ;
178+ } else {
179+ logger . error ( JSON . stringify ( response ) ) ;
180+ }
181+ } else {
182+ logger . error ( '[stores/set_problems/deleteSetProblem]: the set problem was not found in the store' ) ;
180183 }
181184 } ,
182185 // UserProblem actions
@@ -256,20 +259,22 @@ export const useSetProblemStore = defineStore('set_problems', {
256259 const course_id = useSessionStore ( ) . course . course_id ;
257260 const set_problem = this . set_problems . find ( prob => prob . set_problem_id === user_problem . set_problem_id ) ;
258261 const problem_set_store = useProblemSetStore ( ) ;
259- const user_set = problem_set_store . findUserSet ( { user_set_id : user_problem . user_set_id , } ) ;
260- if ( user_set == undefined ) {
261- throw 'deleteUserProblem: returned undefined user set' ;
262- }
263- await api . delete ( `courses/${ course_id } /sets/${ set_problem ?. set_id ?? 0
264- } /users/${ user_set . user_id } /problems/${ user_problem . user_problem_id } `) ;
265-
266262 const index = this . db_user_problems
267263 . findIndex ( user_problem => user_problem . user_problem_id === user_problem . user_problem_id ) ;
268- if ( index < 0 ) {
269- logger . error ( '[stores/set_problems/deleteUserProblem]: the set problem was not found in the store' ) ;
270- } else {
264+ if ( index >= 0 ) {
265+ const user_set = problem_set_store . findUserSet ( { user_set_id : user_problem . user_set_id , } ) ;
266+ if ( user_set == undefined ) throw 'deleteUserProblem: returned undefined user set' ;
267+
268+ const response = await api . delete ( `courses/${ course_id } /sets/${ set_problem ?. set_id ?? 0
269+ } /users/${ user_set ?. user_id } /problems/${ user_problem . user_problem_id } `) ;
270+ if ( response . status === 200 ) {
271271 // splice is used so vue3 reacts to changes.
272- this . set_problems . splice ( index , 1 ) ;
272+ this . set_problems . splice ( index , 1 ) ;
273+ } else {
274+ logger . error ( JSON . stringify ( response ) ) ;
275+ }
276+ } else {
277+ logger . error ( '[stores/set_problems/deleteUserProblem]: the set problem was not found in the store' ) ;
273278 }
274279 }
275280 }
0 commit comments