Enha: load state instead of room

This commit is contained in:
Grail Finder
2025-05-07 06:06:21 +03:00
parent 5e92523dcd
commit 3eb54cffff
3 changed files with 15 additions and 7 deletions

View File

@ -80,6 +80,7 @@ func HandleFrontLogin(w http.ResponseWriter, r *http.Request) {
// } // }
// state := models.InitState(cleanName) // state := models.InitState(cleanName)
state := models.MakeTestState() state := models.MakeTestState()
state.Username = cleanName
// save state to cache // save state to cache
saveState(cleanName, state) saveState(cleanName, state)
tmpl.ExecuteTemplate(w, "base", state) tmpl.ExecuteTemplate(w, "base", state)

View File

@ -29,21 +29,27 @@ func HandleHideCreateForm(w http.ResponseWriter, r *http.Request) {
func HandleShowColor(w http.ResponseWriter, r *http.Request) { func HandleShowColor(w http.ResponseWriter, r *http.Request) {
word := r.URL.Query().Get("word") word := r.URL.Query().Get("word")
ctx := r.Context() ctx := r.Context()
session, ok := ctx.Value(models.CtxSessionKey).(models.Session) session, ok := ctx.Value(models.CtxSessionKey).(*models.Session)
if !ok { if !ok {
// trying to get color without a session -> error // trying to get color without a session -> error
abortWithError(w, "session not found") abortWithError(w, "session not found")
return return
} }
// get room by room-id // // get room by room-id
room, err := getRoomByID(session.CurrentRoom) // room, err := getRoomByID(session.CurrentRoom)
// if err != nil {
// log.Error("failed to get room", "error", err, "session", session)
// abortWithError(w, "failed to get room")
// return
// }
// log.Debug("got room", "room", room)
state, err := loadState(session.Username)
if err != nil { if err != nil {
log.Error("failed to get room", "error", err, "session", session) abortWithError(w, err.Error())
abortWithError(w, "failed to get room")
return return
} }
log.Debug("got room", "room", room) log.Debug("got state", "state", state)
// update room score // TODO: update room score
color, exists := roundWords[word] color, exists := roundWords[word]
log.Debug("got show-color request", "word", word, "color", color) log.Debug("got show-color request", "word", word, "color", color)
if !exists { if !exists {

View File

@ -77,6 +77,7 @@ func GetSession(next http.Handler) http.Handler {
return return
} }
userSession, err := cacheGetSession(sessionToken) userSession, err := cacheGetSession(sessionToken)
log.Debug("userSession from cache", "us", userSession)
if err != nil { if err != nil {
msg := "auth failed; session does not exists" msg := "auth failed; session does not exists"
err = errors.New(msg) err = errors.New(msg)