65 lines
1.0 KiB
Go
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,
|
|
}
|
|
}
|