hangman/internal/session/session.go
2025-06-26 14:29:56 +02:00

46 lines
727 B
Go

package session
import (
"fmt"
petname "github.com/dustinkirkland/golang-petname"
)
type User struct {
Name string
PublicKey string
PrivateKey string
}
var lastSessionId int = 0
var sessionStorage []Session = []Session{}
var nameToSession map[string]*Session = make(map[string]*Session)
type Session struct {
id int
Name string
Users []User
}
func NewSession() Session {
sessionName := petname.Generate(3, "-")
s := Session{
id: lastSessionId,
Name: sessionName,
Users: []User{},
}
sessionStorage = append(sessionStorage, s)
nameToSession[sessionName] = &s
lastSessionId++
fmt.Println(sessionName)
return s
}
func GetSession(name string) *Session {
return nameToSession[name]
}