@@ -168,15 +168,19 @@ export const useSetProblemStore = defineStore('set_problems', {
168
168
*/
169
169
async deleteSetProblem ( problem : SetProblem ) : Promise < void > {
170
170
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 } `) ;
174
171
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 ) {
178
177
// 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' ) ;
180
184
}
181
185
} ,
182
186
// UserProblem actions
@@ -256,20 +260,22 @@ export const useSetProblemStore = defineStore('set_problems', {
256
260
const course_id = useSessionStore ( ) . course . course_id ;
257
261
const set_problem = this . set_problems . find ( prob => prob . set_problem_id === user_problem . set_problem_id ) ;
258
262
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
-
266
263
const index = this . db_user_problems
267
264
. 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 ) {
271
272
// 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' ) ;
273
279
}
274
280
}
275
281
}
0 commit comments