Feat: add example config
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,4 @@ | ||||
| .aider* | ||||
| golias | ||||
| store.json | ||||
| config.toml | ||||
|   | ||||
							
								
								
									
										44
									
								
								.golangci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.golangci.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| version: "2" | ||||
| run: | ||||
|   concurrency: 2 | ||||
|   tests: false | ||||
| linters: | ||||
|   default: none | ||||
|   enable: | ||||
|     - bodyclose | ||||
|     - errcheck | ||||
|     - fatcontext | ||||
|     - govet | ||||
|     - ineffassign | ||||
|     - noctx | ||||
|     - perfsprint | ||||
|     - prealloc | ||||
|     - staticcheck | ||||
|     - unused | ||||
|   settings: | ||||
|     funlen: | ||||
|       lines: 80 | ||||
|       statements: 50 | ||||
|     lll: | ||||
|       line-length: 80 | ||||
|   exclusions: | ||||
|     generated: lax | ||||
|     presets: | ||||
|       - comments | ||||
|       - common-false-positives | ||||
|       - legacy | ||||
|       - std-error-handling | ||||
|     paths: | ||||
|       - third_party$ | ||||
|       - builtin$ | ||||
|       - examples$ | ||||
| issues: | ||||
|   max-issues-per-linter: 0 | ||||
|   max-same-issues: 0 | ||||
| formatters: | ||||
|   exclusions: | ||||
|     generated: lax | ||||
|     paths: | ||||
|       - third_party$ | ||||
|       - builtin$ | ||||
|       - examples$ | ||||
							
								
								
									
										11
									
								
								config.example.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								config.example.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| BASE_URL = "https://localhost:3000" | ||||
| SESSION_LIFETIME_SECONDS = 30000 | ||||
| COOKIE_SECRET = "test" | ||||
|  | ||||
| [SERVICE] | ||||
| HOST = "localhost" | ||||
| PORT = "3000" | ||||
|  | ||||
| [LLM] | ||||
| TOKEN = "" | ||||
| URL = "https://api.deepseek.com/beta" | ||||
| @@ -10,7 +10,6 @@ type Config struct { | ||||
| 	ServerConfig    ServerConfig `toml:"SERVICE"` | ||||
| 	BaseURL         string       `toml:"BASE_URL"` | ||||
| 	SessionLifetime int          `toml:"SESSION_LIFETIME_SECONDS"` | ||||
| 	DBURI           string       `toml:"DBURI"` | ||||
| 	CookieSecret    string       `toml:"COOKIE_SECRET"` | ||||
| 	LLMConfig       LLMConfig    `toml:"LLM"` | ||||
| } | ||||
|   | ||||
| @@ -56,10 +56,6 @@ func removeRoom(roomID string) { | ||||
| } | ||||
|  | ||||
| // context | ||||
| func getRoomIDFromCtx(ctx context.Context) string { | ||||
| 	id, _ := ctx.Value(models.CtxRoomIDKey).(string) | ||||
| 	return id | ||||
| } | ||||
|  | ||||
| func getStateByCtx(ctx context.Context) (*models.UserState, error) { | ||||
| 	username, ok := ctx.Value(models.CtxUsernameKey).(string) | ||||
| @@ -74,15 +70,6 @@ func getStateByCtx(ctx context.Context) (*models.UserState, error) { | ||||
| 	return us, nil | ||||
| } | ||||
|  | ||||
| func saveStateByCtx(ctx context.Context, state *models.UserState) error { | ||||
| 	username, ok := ctx.Value(models.CtxUsernameKey).(string) | ||||
| 	if !ok { | ||||
| 		log.Debug("no username in ctx") | ||||
| 		return errors.New("no username in ctx") | ||||
| 	} | ||||
| 	return saveState(username, state) | ||||
| } | ||||
|  | ||||
| func saveFullInfo(fi *models.FullInfo) error { | ||||
| 	// INFO: unfortunately working no transactions; so case are possible where first object is updated but the second is not | ||||
| 	if err := saveState(fi.State.Username, fi.State); err != nil { | ||||
|   | ||||
| @@ -1,12 +1,10 @@ | ||||
| package handlers | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"crypto/hmac" | ||||
| 	"crypto/sha256" | ||||
| 	"encoding/base64" | ||||
| 	"encoding/json" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"golias/models" | ||||
| 	"golias/utils" | ||||
| @@ -178,11 +176,12 @@ func cacheSetSession(key string, session *models.Session) error { | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func updateRoomInSession(ctx context.Context, roomID string) (context.Context, error) { | ||||
| 	s, ok := ctx.Value(models.CtxSessionKey).(*models.Session) | ||||
| 	if !ok { | ||||
| 		return context.TODO(), errors.New("failed to extract session from ctx") | ||||
| 	} | ||||
| 	s.CurrentRoom = roomID | ||||
| 	return context.WithValue(ctx, "session", s), nil | ||||
| } | ||||
| // unused | ||||
| // func updateRoomInSession(ctx context.Context, roomID string) (context.Context, error) { | ||||
| // 	s, ok := ctx.Value(models.CtxSessionKey).(*models.Session) | ||||
| // 	if !ok { | ||||
| // 		return context.TODO(), errors.New("failed to extract session from ctx") | ||||
| // 	} | ||||
| // 	s.CurrentRoom = roomID | ||||
| // 	return context.WithValue(ctx, "session", s), nil | ||||
| // } | ||||
|   | ||||
| @@ -29,34 +29,6 @@ func init() { | ||||
| 	// go Notifier.Listen() | ||||
| } | ||||
|  | ||||
| var roundWords = map[string]string{ | ||||
| 	"hamster":    "blue", | ||||
| 	"child":      "red", | ||||
| 	"wheel":      "white", | ||||
| 	"condition":  "black", | ||||
| 	"test":       "white", | ||||
| 	"ball":       "blue", | ||||
| 	"violin":     "red", | ||||
| 	"rat":        "white", | ||||
| 	"perplexity": "blue", | ||||
| 	"notion":     "red", | ||||
| 	"guitar":     "blue", | ||||
| 	"ocean":      "blue", | ||||
| 	"moon":       "blue", | ||||
| 	"coffee":     "blue", | ||||
| 	"mountain":   "blue", | ||||
| 	"book":       "blue", | ||||
| 	"camera":     "blue", | ||||
| 	"apple":      "red", | ||||
| 	"fire":       "red", | ||||
| 	"rose":       "red", | ||||
| 	"sun":        "red", | ||||
| 	"cherry":     "red", | ||||
| 	"heart":      "red", | ||||
| 	"tomato":     "red", | ||||
| 	"cloud":      "white", | ||||
| } | ||||
|  | ||||
| func HandlePing(w http.ResponseWriter, r *http.Request) { | ||||
| 	w.Write([]byte("pong")) | ||||
| } | ||||
|   | ||||
| @@ -236,6 +236,7 @@ func (rr *RoomReq) CreateRoom(creator string) *Room { | ||||
| 		CreatedAt:   time.Now(), | ||||
| 		PlayerList:  []string{creator}, | ||||
| 		CreatorName: creator, | ||||
| 		BotMap:      make(map[string]BotPlayer), | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder