Feat: db reconnect
This commit is contained in:
@ -75,6 +75,7 @@ func HandleFrontLogin(w http.ResponseWriter, r *http.Request) {
|
||||
abortWithError(w, msg)
|
||||
return
|
||||
}
|
||||
var makeplayer bool
|
||||
roomID := r.PostFormValue("room_id")
|
||||
// make sure username does not exists
|
||||
cleanName := utils.RemoveSpacesFromStr(username)
|
||||
@ -90,7 +91,9 @@ func HandleFrontLogin(w http.ResponseWriter, r *http.Request) {
|
||||
// userstate, err := loadState(cleanName)
|
||||
userstate, err := repo.PlayerGetByName(r.Context(), cleanName)
|
||||
if err != nil || userstate == nil {
|
||||
|
||||
userstate = models.InitPlayer(cleanName)
|
||||
makeplayer = true
|
||||
}
|
||||
fi := &models.FullInfo{
|
||||
State: userstate,
|
||||
@ -125,11 +128,13 @@ func HandleFrontLogin(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
// save state to cache
|
||||
// if err := saveState(cleanName, userstate); err != nil {
|
||||
if err := repo.PlayerUpdate(r.Context(), userstate); err != nil {
|
||||
// if err := saveFullInfo(r.Context(), fi); err != nil {
|
||||
log.Error("failed to save state", "error", err)
|
||||
abortWithError(w, err.Error())
|
||||
return
|
||||
if makeplayer {
|
||||
if err := repo.PlayerAdd(r.Context(), userstate); err != nil {
|
||||
// if err := saveFullInfo(r.Context(), fi); err != nil {
|
||||
log.Error("failed to save state", "error", err)
|
||||
abortWithError(w, err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
// if err := tmpl.ExecuteTemplate(w, "base", fi); err != nil {
|
||||
|
Reference in New Issue
Block a user