@@ -168,15 +168,19 @@ 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+
174+ const response = await api . delete ( `courses/${ course_id } /sets/${ problem . set_id
175+ } /problems/${ problem . set_problem_id } `) ;
176+ if ( response . status === 200 ) {
178177 // splice is used so vue3 reacts to changes.
179- this . set_problems . splice ( index , 1 ) ;
178+ this . set_problems . splice ( index , 1 ) ;
179+ } else {
180+ logger . error ( JSON . stringify ( response ) ) ;
181+ }
182+ } else {
183+ logger . error ( '[stores/set_problems/deleteSetProblem]: the set problem was not found in the store' ) ;
180184 }
181185 } ,
182186 // UserProblem actions
@@ -256,20 +260,22 @@ export const useSetProblemStore = defineStore('set_problems', {
256260 const course_id = useSessionStore ( ) . course . course_id ;
257261 const set_problem = this . set_problems . find ( prob => prob . set_problem_id === user_problem . set_problem_id ) ;
258262 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-
266263 const index = this . db_user_problems
267264 . 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 {
265+ if ( index >= 0 ) {
266+ const user_set = problem_set_store . findUserSet ( { user_set_id : user_problem . user_set_id , } ) ;
267+ if ( user_set == undefined ) throw 'deleteUserProblem: returned undefined user set' ;
268+
269+ const response = await api . delete ( `courses/${ course_id } /sets/${ set_problem ?. set_id ?? 0
270+ } /users/${ user_set ?. user_id } /problems/${ user_problem . user_problem_id } `) ;
271+ if ( response . status === 200 ) {
271272 // splice is used so vue3 reacts to changes.
272- this . set_problems . splice ( index , 1 ) ;
273+ this . set_problems . splice ( index , 1 ) ;
274+ } else {
275+ logger . error ( JSON . stringify ( response ) ) ;
276+ } }
277+ else {
278+ logger . error ( '[stores/set_problems/deleteUserProblem]: the set problem was not found in the store' ) ;
273279 }
274280 }
275281 }
0 commit comments