mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
feat: add leaderboard data model
This commit is contained in:
parent
0ab7faf7b6
commit
beffe71ea6
@ -216,6 +216,9 @@ func (c *Config) GetMigrationFunc(dbDialect string) models.MigrationFunc {
|
|||||||
if err := db.AutoMigrate(&models.Diagnostics{}); err != nil && !c.Db.AutoMigrateFailSilently {
|
if err := db.AutoMigrate(&models.Diagnostics{}); err != nil && !c.Db.AutoMigrateFailSilently {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := db.AutoMigrate(&models.LeaderboardItem{}); err != nil && !c.Db.AutoMigrateFailSilently {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
15
models/leaderboard.go
Normal file
15
models/leaderboard.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package models
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
type LeaderboardItem struct {
|
||||||
|
ID uint `json:"-" gorm:"primary_key; size:32"`
|
||||||
|
User *User `json:"-" gorm:"not null; constraint:OnUpdate:CASCADE,OnDelete:CASCADE"`
|
||||||
|
UserID string `json:"user_id" gorm:"not null; index:idx_leaderboard_user"`
|
||||||
|
Rank uint `json:"rank" gorm:"not null; size:16"`
|
||||||
|
Interval string `json:"interval" gorm:"not null; size:32; index:idx_leaderboard_combined"`
|
||||||
|
By uint8 `json:"aggregated_by" gorm:"index:idx_leaderboard_combined"`
|
||||||
|
Total time.Duration `json:"total" gorm:"not null" swaggertype:"primitive,integer"`
|
||||||
|
Key string `json:"key" gorm:"size:255"`
|
||||||
|
CreatedAt CustomTime `gorm:"type:timestamp; default:CURRENT_TIMESTAMP" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user