admin: Really expose route to update team history
Related-to: a35aa7be707a10a43b10c3ce9abd25689e505398
This commit is contained in:
parent
a0bc832910
commit
c7fc18bfb4
@ -1,7 +1,6 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"math/rand"
|
||||
@ -146,6 +145,7 @@ func declareTeamsRoutes(router *gin.RouterGroup) {
|
||||
|
||||
c.JSON(http.StatusOK, history)
|
||||
})
|
||||
apiTeamsRoutes.PATCH("/history.json", updateHistory)
|
||||
apiTeamsRoutes.DELETE("/history.json", delHistory)
|
||||
apiTeamsPublicRoutes.GET("/tries", func(c *gin.Context) {
|
||||
team := c.MustGet("team").(*fic.Team)
|
||||
@ -486,10 +486,14 @@ type uploadedHistory struct {
|
||||
Coefficient float32
|
||||
}
|
||||
|
||||
func updateHistory(team *fic.Team, body []byte) (interface{}, error) {
|
||||
func updateHistory(c *gin.Context) {
|
||||
team := c.MustGet("team").(*fic.Team)
|
||||
|
||||
var uh uploadedHistory
|
||||
if err := json.Unmarshal(body, &uh); err != nil {
|
||||
return nil, err
|
||||
err := c.ShouldBindJSON(&uh)
|
||||
if err != nil {
|
||||
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"errmsg": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
var givenId int64
|
||||
@ -499,7 +503,13 @@ func updateHistory(team *fic.Team, body []byte) (interface{}, error) {
|
||||
givenId = *uh.Primary
|
||||
}
|
||||
|
||||
return team.UpdateHistoryCoeff(uh.Kind, uh.Time, givenId, uh.Coefficient)
|
||||
_, err = team.UpdateHistoryCoeff(uh.Kind, uh.Time, givenId, uh.Coefficient)
|
||||
if err != nil {
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": fmt.Sprintf("Unable to update this history line: %s", err.Error())})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, true)
|
||||
}
|
||||
|
||||
func delHistory(c *gin.Context) {
|
||||
|
@ -55,7 +55,7 @@ func (t *Team) GetHistory() ([]map[string]interface{}, error) {
|
||||
}
|
||||
|
||||
// UpdateHistoryCoeff updates the coefficient for a given entry.
|
||||
func (t *Team) UpdateHistoryCoeff(kind string, h time.Time, givenId int64, newCoeff float32) (interface{}, error) {
|
||||
func (t *Team) UpdateHistoryCoeff(kind string, h time.Time, givenId int64, newCoeff float32) (int64, error) {
|
||||
if kind == "hint" {
|
||||
if res, err := DBExec("UPDATE team_hints SET coefficient = ? WHERE id_team = ? AND time = ? AND id_hint = ?", newCoeff, t.Id, h, givenId); err != nil {
|
||||
return 0, err
|
||||
@ -81,7 +81,7 @@ func (t *Team) UpdateHistoryCoeff(kind string, h time.Time, givenId int64, newCo
|
||||
return nb, err
|
||||
}
|
||||
} else {
|
||||
return nil, nil
|
||||
return 0, nil
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user