Enha: model update
This commit is contained in:
		| @@ -14,9 +14,9 @@ import ( | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	log      *slog.Logger | ||||
| 	cfg      *config.Config | ||||
| 	memcache cache.Cache | ||||
| 	log *slog.Logger | ||||
| 	cfg *config.Config | ||||
| 	// memcache cache.Cache | ||||
| 	Notifier *broker.Broker | ||||
| 	repo     repos.AllRepos | ||||
| ) | ||||
| @@ -26,7 +26,7 @@ func init() { | ||||
| 		Level:     slog.LevelDebug, | ||||
| 		AddSource: true, | ||||
| 	})) | ||||
| 	memcache = cache.MemCache | ||||
| 	// memcache = cache.MemCache | ||||
| 	cfg = config.LoadConfigOrDefault("") | ||||
| 	Notifier = broker.Notifier | ||||
| 	cache.MemCache.StartBackupRoutine(15 * time.Second) // Reduced backup interval | ||||
| @@ -91,17 +91,25 @@ func HandleExit(w http.ResponseWriter, r *http.Request) { | ||||
| 		creatorLeft = true | ||||
| 	} | ||||
| 	exitedRoom := fi.ExitRoom() | ||||
| 	if err := saveRoom(exitedRoom); err != nil { | ||||
| 		abortWithError(w, err.Error()) | ||||
| 		return | ||||
| 	} | ||||
| 	// if err := saveRoom(exitedRoom); err != nil { | ||||
| 	// 	abortWithError(w, err.Error()) | ||||
| 	// 	return | ||||
| 	// } | ||||
| 	if creatorLeft { | ||||
| 		removeRoom(exitedRoom.ID) | ||||
| 		if err := repo.DeleteRoomByID(r.Context(), exitedRoom.ID); err != nil { | ||||
| 			log.Error("failed to remove room", "error", err) | ||||
| 		} | ||||
| 		// removeRoom(exitedRoom.ID) | ||||
| 		// TODO: notify users if creator left | ||||
| 		// and throw them away | ||||
| 		notify(models.NotifyRoomListUpdate, "") | ||||
| 	} | ||||
| 	if err := saveState(fi.State.Username, fi.State); err != nil { | ||||
| 	// scary to update the whole room | ||||
| 	if err := repo.UpdateRoom(r.Context(), exitedRoom); err != nil { | ||||
| 		abortWithError(w, err.Error()) | ||||
| 		return | ||||
| 	} | ||||
| 	if err := repo.PlayerExitRoom(fi.State.Username); err != nil { | ||||
| 		abortWithError(w, err.Error()) | ||||
| 		return | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder