diff options
Diffstat (limited to 'internal')
-rw-r--r-- | internal/handlers/main.go | 15 | ||||
-rw-r--r-- | internal/models/models.go | 50 |
2 files changed, 11 insertions, 54 deletions
diff --git a/internal/handlers/main.go b/internal/handlers/main.go index 86f5b09..4945db8 100644 --- a/internal/handlers/main.go +++ b/internal/handlers/main.go @@ -3,15 +3,12 @@ package handlers import ( "demoon/config" "demoon/internal/database/repos" - "demoon/internal/models" "html/template" "log/slog" "net/http" "os" ) -var defUS = models.UserScore{} - // Handlers structure type Handlers struct { cfg config.Config @@ -45,17 +42,5 @@ func (h *Handlers) MainPage(w http.ResponseWriter, r *http.Request) { abortWithError(w, err.Error()) return } - // get recommendations - usernameRaw := r.Context().Value("username") - h.log.Info("got mainpage request", "username", usernameRaw) - if usernameRaw == nil { - tmpl.ExecuteTemplate(w, "main", defUS) - return - } - username := usernameRaw.(string) - if username == "" { - tmpl.ExecuteTemplate(w, "main", defUS) - return - } tmpl.ExecuteTemplate(w, "main", nil) } diff --git a/internal/models/models.go b/internal/models/models.go index 5bc120b..8dc113c 100644 --- a/internal/models/models.go +++ b/internal/models/models.go @@ -1,45 +1,17 @@ package models -import "time" - -type ActionType string - -const ( - ActionTypePlus ActionType = "ActionTypePlus" - ActionTypeMinus ActionType = "ActionTypeMinus" -) - type ( - UserScore struct { - ID uint32 `db:"id"` - Username string `db:"username"` - Password string `db:"password"` - Actions []Action - Recommendations []Action - BurnTime time.Time `db:"burn_time"` - Score int8 `db:"score"` - CreatedAt time.Time `db:"created_at"` + Question struct { + ID uint32 + Text string + Options []string + CorrectIndex uint8 + TopicID uint32 } - Action struct { - ID uint32 `db:"id"` - Name string `db:"name"` - Magnitude uint8 `db:"magnitude"` - Repeatable bool `db:"repeatable"` - Type ActionType `db:"type"` - Done bool `db:"done"` - Username string `db:"username"` - CreatedAt time.Time `db:"created_at"` + // + Topic struct { + ID uint32 + Name string + Level uint32 } ) - -func (us *UserScore) UpdateScore(act *Action) { - switch act.Type { - case ActionTypePlus: - us.Score += int8(act.Magnitude) - if !act.Repeatable { - act.Done = true - } - case ActionTypeMinus: - us.Score -= int8(act.Magnitude) - } -} |