Feat: room and actions repos
This commit is contained in:
		| @@ -70,33 +70,33 @@ type CardMark struct { | ||||
|  | ||||
| type Room struct { | ||||
| 	ID             string    `json:"id" db:"id"` | ||||
| 	CreatedAt      time.Time `json:"created_at" db:"created_at"` // limit? | ||||
| 	RoomLink       string | ||||
| 	CreatorName    string `json:"creator_name"` | ||||
| 	ActionHistory  []Action | ||||
| 	TeamTurn       UserTeam | ||||
| 	RedTeam        Team | ||||
| 	BlueTeam       Team | ||||
| 	Cards          []WordCard | ||||
| 	ThisTurnLimit  uint8 // how many cards guessers can open this turn | ||||
| 	OpenedThisTurn uint8 // how many cards have been opened this turn | ||||
| 	WCMap          map[string]WordColor | ||||
| 	BotMap         map[string]BotPlayer // key is bot name | ||||
| 	BlueCounter    uint8 | ||||
| 	RedCounter     uint8 | ||||
| 	RedTurn        bool // false is blue turn | ||||
| 	MimeDone       bool | ||||
| 	IsPublic       bool | ||||
| 	IsRunning      bool   `json:"is_running"` | ||||
| 	Language       string `json:"language" example:"en" form:"language"` | ||||
| 	RoundTime      int32  `json:"round_time"` | ||||
| 	IsOver         bool | ||||
| 	TeamWon        UserTeam // blue | red | ||||
| 	// | ||||
| 	Mark CardMark // card is marked | ||||
| 	// needed for debug | ||||
| 	LogJournal []string | ||||
| 	Settings   GameSettings | ||||
| 	CreatedAt      time.Time `json:"created_at" db:"created_at"` | ||||
| 	CreatorName    string    `json:"creator_name" db:"creator_name"` | ||||
| 	TeamTurn       UserTeam  `db:"team_turn"` | ||||
| 	ThisTurnLimit  uint8     `db:"this_turn_limit"` | ||||
| 	OpenedThisTurn uint8     `db:"opened_this_turn"` | ||||
| 	BlueCounter    uint8     `db:"blue_counter"` | ||||
| 	RedCounter     uint8     `db:"red_counter"` | ||||
| 	RedTurn        bool      `db:"red_turn"` | ||||
| 	MimeDone       bool      `db:"mime_done"` | ||||
| 	IsPublic       bool      `db:"is_public"` | ||||
| 	IsRunning      bool      `json:"is_running" db:"is_running"` | ||||
| 	Language       string    `json:"language" example:"en" form:"language" db:"language"` | ||||
| 	RoundTime      uint32    `json:"round_time" db:"round_time"` | ||||
| 	IsOver         bool      `db:"is_over"` | ||||
| 	TeamWon        UserTeam  `db:"team_won"` | ||||
| 	RoomPass       string    `json:"room_pass" db:"room_pass"` | ||||
| 	// fields not in db | ||||
| 	RoomLink      string               `db:"-"` | ||||
| 	ActionHistory []Action             `db:"-"` | ||||
| 	RedTeam       Team                 `db:"-"` | ||||
| 	BlueTeam      Team                 `db:"-"` | ||||
| 	Cards         []WordCard           `db:"-"` | ||||
| 	WCMap         map[string]WordColor `db:"-"` | ||||
| 	BotMap        map[string]BotPlayer `db:"-"` | ||||
| 	Mark          CardMark             `db:"-"` | ||||
| 	LogJournal    []string             `db:"-"` | ||||
| 	Settings      GameSettings         `db:"-"` | ||||
| } | ||||
|  | ||||
| func (r *Room) ClearMarks() { | ||||
| @@ -325,10 +325,10 @@ type WordCard struct { | ||||
| } | ||||
|  | ||||
| type GameSettings struct { | ||||
| 	Language        string `json:"language" example:"en" form:"language"` | ||||
| 	RoomPass        string `json:"room_pass"` | ||||
| 	TurnSecondsLeft uint32 | ||||
| 	RoundTime       uint32 | ||||
| 	Language        string `json:"language" example:"en" form:"language" db:"language"` | ||||
| 	RoomPass        string `json:"room_pass" db:"room_pass"` | ||||
| 	TurnSecondsLeft uint32 `db:"-"` | ||||
| 	RoundTime       uint32 `json:"round_time" db:"round_time"` | ||||
| } | ||||
|  | ||||
| // ===== | ||||
| @@ -343,19 +343,14 @@ type RoomReq struct { | ||||
|  | ||||
| func (rr *RoomReq) CreateRoom(creator string) *Room { | ||||
| 	roomID := xid.New().String() | ||||
| 	settings := GameSettings{ | ||||
| 		Language:  rr.Language, | ||||
| 		RoomPass:  rr.RoomPass, | ||||
| 		RoundTime: rr.RoundTime, | ||||
| 	} | ||||
| 	return &Room{ | ||||
| 		// RoomName: , | ||||
| 		ID:        roomID, | ||||
| 		CreatedAt: time.Now(), | ||||
| 		// PlayerList:  []string{creator}, | ||||
| 		ID:          roomID, | ||||
| 		CreatedAt:   time.Now(), | ||||
| 		CreatorName: creator, | ||||
| 		Language:    rr.Language, | ||||
| 		RoundTime:   rr.RoundTime, | ||||
| 		RoomPass:    rr.RoomPass, | ||||
| 		BotMap:      make(map[string]BotPlayer), | ||||
| 		Settings:    settings, | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder