New route to delete grades

This commit is contained in:
nemunaire 2023-03-05 13:17:25 +01:00
parent 6f9b83ef24
commit 706e786190
5 changed files with 107 additions and 5 deletions

View file

@ -192,6 +192,15 @@ func declareAPIAdminWorksRoutes(router *gin.RouterGroup) {
c.JSON(http.StatusOK, true)
})
gradesRoutes := worksRoutes.Group("/grades/:gid")
gradesRoutes.Use(gradeHandler)
gradesRoutes.DELETE("", func(c *gin.Context) {
g := c.MustGet("grade").(*WorkGrade)
g.Delete()
c.JSON(http.StatusOK, true)
})
}
func declareAPIAuthWorksRoutes(router *gin.RouterGroup) {
@ -387,6 +396,16 @@ type WorkGrade struct {
Comment string `json:"comment,omitempty"`
}
func (g WorkGrade) Delete() (int64, error) {
if res, err := DBExec("DELETE FROM user_work_grades WHERE id_gradation = ?", g.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (w *Work) GetGrades(cnd string, param ...interface{}) (grades []WorkGrade, err error) {
param = append([]interface{}{w.Id}, param...)
@ -410,6 +429,12 @@ func (w *Work) GetGrades(cnd string, param ...interface{}) (grades []WorkGrade,
}
}
func (w *Work) GetGrade(id int64) (g *WorkGrade, err error) {
g = new(WorkGrade)
err = DBQueryRow("SELECT G.id_gradation, G.id_user, U.login, G.id_work, G.date, G.grade, G.comment FROM user_work_grades G INNER JOIN users U ON U.id_user = G.id_user WHERE id_work = ? AND id_gradation = ?", w.Id, id).Scan(&g.Id, &g.IdUser, &g.Login, &g.IdWork, &g.Date, &g.Grade, &g.Comment)
return
}
func (u *User) GetMyWorkGrade(w *Work) (g WorkGrade, err error) {
err = DBQueryRow("SELECT id_gradation, id_user, id_work, date, grade, comment FROM user_work_grades WHERE id_work = ? AND id_user = ? ORDER BY date DESC LIMIT 1", w.Id, u.Id).Scan(&g.Id, &g.IdUser, &g.IdWork, &g.Date, &g.Grade, &g.Comment)
return