libfic: fix wipefiles: it didn't delete its dependencies

This commit is contained in:
nemunaire 2019-01-18 14:41:00 +01:00
parent 3b15fda470
commit 6be7ba09a5

View File

@ -246,7 +246,9 @@ func (f EFile) Delete() (int64, error) {
// WipeFiles deletes (only in the database, not on disk) files coming with the challenge.
func (e Exercice) WipeFiles() (int64, error) {
if res, err := DBExec("DELETE FROM exercice_files WHERE id_exercice = ?", e.Id); err != nil {
if _, err := DBExec("DELETE FROM exercice_files_deps WHERE id_flag IN (SELECT id_flag FROM exercice_flags WHERE id_exercice = ?)", e.Id); err != nil {
return 0, err
} else if res, err := DBExec("DELETE FROM exercice_files WHERE id_exercice = ?", e.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err