Feat: switch team; team model
This commit is contained in:
@ -107,46 +107,13 @@ func HandleJoinTeam(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
// get username
|
||||
fi, _ := getFullInfoByCtx(r.Context())
|
||||
// get room
|
||||
if role == "mime" {
|
||||
if team == "blue" {
|
||||
fi.Room.BlueMime = fi.State.Username
|
||||
fi.State.Team = "blue"
|
||||
fi.State.Role = "mime"
|
||||
} else if team == "red" {
|
||||
fi.Room.RedMime = fi.State.Username
|
||||
fi.State.Team = "red"
|
||||
fi.State.Role = "mime"
|
||||
} else {
|
||||
msg := "uknown team:" + team
|
||||
log.Error(msg)
|
||||
abortWithError(w, msg)
|
||||
return
|
||||
}
|
||||
} else if role == "guesser" {
|
||||
if team == "blue" {
|
||||
fi.Room.BlueGuessers = append(fi.Room.BlueGuessers, fi.State.Username)
|
||||
fi.State.Team = "red"
|
||||
fi.State.Role = "guesser"
|
||||
} else if team == "red" {
|
||||
fi.Room.RedGuessers = append(fi.Room.RedGuessers, fi.State.Username)
|
||||
fi.State.Team = "red"
|
||||
fi.State.Role = "guesser"
|
||||
} else {
|
||||
msg := "uknown team:" + team
|
||||
log.Error(msg)
|
||||
abortWithError(w, msg)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
msg := "uknown role:" + role
|
||||
log.Error(msg)
|
||||
abortWithError(w, msg)
|
||||
fi, err := getFullInfoByCtx(r.Context())
|
||||
if err != nil {
|
||||
abortWithError(w, err.Error())
|
||||
return
|
||||
}
|
||||
if err := saveFullInfoByUsername(fi.State.Username, fi); err != nil {
|
||||
log.Error("failed to save state", "error", err)
|
||||
fi, err = joinTeam(r.Context(), role, team)
|
||||
if err != nil {
|
||||
abortWithError(w, err.Error())
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user