summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/handlers/main.go15
-rw-r--r--internal/models/models.go50
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)
- }
-}