From 107b17c11f3c14bda2289136796499ce8f2d0590 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Mon, 6 Mar 2023 12:31:22 +0100 Subject: [PATCH] AddGrade erase any previous grade recorded for the user --- works.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/works.go b/works.go index 1ce2e81..e2d857d 100644 --- a/works.go +++ b/works.go @@ -472,6 +472,19 @@ func (u *User) GetMyWorkGrade(w *Work) (g WorkGrade, err error) { } func (w *Work) AddGrade(grade WorkGrade) error { + u := User{Id: grade.IdUser} + + // Search a previous record + g, err := u.GetMyWorkGrade(w) + if err != nil && err != sql.ErrNoRows { + return err + } else if err == nil { + _, err = g.Delete() + if err != nil { + return err + } + } + return w.AddGrades([]WorkGrade{grade}) }