From 2c25d917b391156c4515a2cb9a4fbfd005acff3a Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 9 Dec 2017 00:52:43 +0100 Subject: [PATCH] libfic: add functions to wipe {files,hints,keys} --- libfic/file.go | 10 ++++++++++ libfic/hint.go | 10 ++++++++++ libfic/key.go | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/libfic/file.go b/libfic/file.go index c887509a..fdecadaa 100644 --- a/libfic/file.go +++ b/libfic/file.go @@ -185,6 +185,16 @@ func (f EFile) Delete() (int64, error) { } } +func (e Exercice) WipeFiles() (int64, error) { + 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 + } else { + return nb, err + } +} + func (f EFile) GetOrigin() string { return f.origin } diff --git a/libfic/hint.go b/libfic/hint.go index d329c692..aa374295 100644 --- a/libfic/hint.go +++ b/libfic/hint.go @@ -85,6 +85,16 @@ func (h EHint) Delete() (int64, error) { } } +func (e Exercice) WipeHints() (int64, error) { + if res, err := DBExec("DELETE FROM exercice_hints WHERE id_exercice = ?", e.Id); err != nil { + return 0, err + } else if nb, err := res.RowsAffected(); err != nil { + return 0, err + } else { + return nb, err + } +} + func (h EHint) GetExercice() (Exercice, error) { var eid int64 if err := DBQueryRow("SELECT id_exercice FROM exercice_hints WHERE id_hint = ?", h.Id).Scan(&eid); err != nil { diff --git a/libfic/key.go b/libfic/key.go index 2872ff1e..8fccfdbf 100644 --- a/libfic/key.go +++ b/libfic/key.go @@ -77,6 +77,16 @@ func (k Key) Delete() (int64, error) { } } +func (e Exercice) WipeKeys() (int64, error) { + if res, err := DBExec("DELETE FROM exercice_keys WHERE id_exercice = ?", e.Id); err != nil { + return 0, err + } else if nb, err := res.RowsAffected(); err != nil { + return 0, err + } else { + return nb, err + } +} + func (k Key) Check(val string) bool { hash := getHashedKey(val) if len(k.Checksum) != len(hash) {