Files
golias/models/state.go
2025-05-03 08:55:48 +03:00

65 lines
1.0 KiB
Go

package models
import "time"
type (
UserTeam string
UserRole string
)
const (
// UserTeam
UserTeamBlue = "blue"
UserTeamRed = "red"
UserTeamNone = "none"
//UserRole
UserRoleMime = "mime"
UserRoleGuesser = "guesser"
UserRoleNone = "none"
)
func StrToUserTeam(s string) UserTeam {
switch s {
case "blue":
return UserTeamBlue
case "red":
return UserTeamRed
default:
return UserTeamNone
}
}
func StrToUserRole(s string) UserRole {
switch s {
case "mime":
return UserRoleMime
case "guesser":
return UserRoleGuesser
default:
return UserRoleNone
}
}
type UserState struct {
Username string
Room RoomPublic
Team UserTeam
Role UserRole
}
func MakeTestState() *UserState {
cards := []WordCard{
{Word: "hamster", Color: "blue"}, // help to fill wordcards based on roundWords; ai!
}
room := RoomPublic{
ID: "test-id",
CreatedAt: time.Now(),
CreatorName: "test-name",
}
return &UserState{
Username: "test-name",
Team: UserTeamNone,
Role: UserRoleNone,
}
}