Skip to content

Commit 4f9891d

Browse files
committed
feat(stat): check time before writing to db
1 parent c1e1dfa commit 4f9891d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

services/stat.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package services
22

33
import (
4+
"fmt"
45
"net/http"
56
"strconv"
67
"time"
@@ -39,10 +40,14 @@ func EndpointStat(ng *gin.Engine) {
3940
err := db.Transaction(func(tx *gorm.DB) error {
4041
for _, v := range form {
4142
for _, t := range v.At {
43+
timeParsed := time.Unix(t, 0)
44+
if timeParsed.After(time.Now().Add(time.Hour)) {
45+
return fmt.Errorf("play time is significantly larger than current time: %v", timeParsed)
46+
}
4247
record := model.PlayRecord{
4348
UserID: user.ID,
4449
Track: v.Track,
45-
At: time.Unix(t, 0),
50+
At: timeParsed,
4651
}
4752
if err := tx.Save(&record).Error; err != nil {
4853
return err

0 commit comments

Comments
 (0)