Enha: leave one room model for now
This commit is contained in:
		| @@ -43,6 +43,9 @@ type Room struct { | ||||
| 	Cards        []WordCard | ||||
| 	GameSettings *GameSettings `json:"settings"` | ||||
| 	Result       uint8         // 0 for unknown; 1 is win for red; 2 if for blue; | ||||
| 	BlueCounter  uint8 | ||||
| 	RedCounter   uint8 | ||||
| 	RedTurn      bool // false is blue turn | ||||
| } | ||||
|  | ||||
| type WordCard struct { | ||||
| @@ -51,34 +54,6 @@ type WordCard struct { | ||||
| 	Revealed bool | ||||
| } | ||||
|  | ||||
| type RoomPublic struct { | ||||
| 	ID           string        `json:"id" db:"id"` | ||||
| 	CreatedAt    time.Time     `json:"created_at" db:"created_at"` | ||||
| 	PlayerList   []string      `json:"player_list"` | ||||
| 	CreatorName  string        `json:"creator_name"` | ||||
| 	GameSettings *GameSettings `json:"settings"` | ||||
| 	RedMime      string | ||||
| 	TeamTurn     string | ||||
| 	BlueMime     string | ||||
| 	RedGuessers  []string | ||||
| 	BlueGuessers []string | ||||
| 	Cards        []WordCard | ||||
| } | ||||
|  | ||||
| func (r Room) ToPublic() RoomPublic { | ||||
| 	return RoomPublic{ | ||||
| 		ID:           r.ID, | ||||
| 		CreatedAt:    r.CreatedAt, | ||||
| 		PlayerList:   r.PlayerList, | ||||
| 		GameSettings: r.GameSettings, | ||||
| 		CreatorName:  r.CreatorName, | ||||
| 		RedMime:      r.RedMime, | ||||
| 		BlueMime:     r.BlueMime, | ||||
| 		RedGuessers:  r.RedGuessers, | ||||
| 		BlueGuessers: r.BlueGuessers, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| type GameSettings struct { | ||||
| 	IsRunning   bool   `json:"is_running"` | ||||
| 	Language    string `json:"language" example:"en" form:"language"` | ||||
|   | ||||
| @@ -42,7 +42,7 @@ func StrToUserRole(s string) UserRole { | ||||
|  | ||||
| type UserState struct { | ||||
| 	Username string | ||||
| 	Room     RoomPublic | ||||
| 	Room     Room | ||||
| 	Team     UserTeam | ||||
| 	Role     UserRole | ||||
| } | ||||
| @@ -54,8 +54,13 @@ func MakeTestState() *UserState { | ||||
| 		{Word: "wheel", Color: "white"}, | ||||
| 		{Word: "condition", Color: "black"}, | ||||
| 		{Word: "test", Color: "white"}, | ||||
| 		{Word: "ball", Color: "blue"}, | ||||
| 		{Word: "violin", Color: "red"}, | ||||
| 		{Word: "rat", Color: "white"}, | ||||
| 		{Word: "perplexity", Color: "blue"}, | ||||
| 		{Word: "notion", Color: "red"}, | ||||
| 	} | ||||
| 	room := RoomPublic{ | ||||
| 	room := Room{ | ||||
| 		ID:          "test-id", | ||||
| 		CreatedAt:   time.Now(), | ||||
| 		CreatorName: "test-name", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder