admin: Display student needing help on home page

This commit is contained in:
nemunaire 2022-05-01 11:18:08 +02:00
commit 5b1be21728
3 changed files with 54 additions and 0 deletions

24
help.go
View file

@ -7,6 +7,9 @@ import (
)
func init() {
router.GET("/api/help", apiAuthHandler(func(u *User, ps httprouter.Params, body []byte) HTTPResponse {
return formatApiResponse(getNeedHelps())
}, adminRestricted))
router.POST("/api/help", apiAuthHandler(func(u *User, ps httprouter.Params, body []byte) HTTPResponse {
return formatApiResponse(u.NewNeedHelp())
}, loggedUser))
@ -20,6 +23,27 @@ type NeedHelp struct {
DateTreated *time.Time `json:"treated,omitempty"`
}
func getNeedHelps() (nh []NeedHelp, err error) {
if rows, errr := DBQuery("SELECT id_need_help, id_user, date, comment, date_treated FROM user_need_help"); errr != nil {
return nil, errr
} else {
defer rows.Close()
for rows.Next() {
var n NeedHelp
if err = rows.Scan(&n.Id, &n.IdUser, &n.Date, &n.Comment, &n.DateTreated); err != nil {
return
}
nh = append(nh, n)
}
if err = rows.Err(); err != nil {
return
}
return
}
}
func (u *User) NewNeedHelp() (NeedHelp, error) {
if res, err := DBExec("INSERT INTO user_need_help (id_user, comment) VALUES (?, ?)", u.Id, ""); err != nil {
return NeedHelp{}, err