game replace, game list
This commit is contained in:
@@ -29,9 +29,13 @@ func (server *Server) Routes() error {
|
||||
fmt.Sprintf("%s/%s%s", server.config.Server.File.Prefix, router.Wildcard, router.Wildcard): map[string]http.HandlerFunc{
|
||||
http.MethodGet: server.File,
|
||||
},
|
||||
fmt.Sprintf("%s/games", server.config.Server.API.Prefix): map[string]http.HandlerFunc{
|
||||
http.MethodGet: server.GameList,
|
||||
},
|
||||
fmt.Sprintf("%s/games/%s", server.config.Server.API.Prefix, router.Wildcard): map[string]http.HandlerFunc{
|
||||
http.MethodGet: server.GameGet,
|
||||
http.MethodPost: server.GameInsert,
|
||||
http.MethodPut: server.GameReplace,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -67,6 +71,15 @@ func (server *Server) File(w http.ResponseWriter, r *http.Request) {
|
||||
s.ServeHTTP(w, r)
|
||||
}
|
||||
|
||||
func (server *Server) GameList(w http.ResponseWriter, r *http.Request) {
|
||||
resp, err := server.gm.ListGames()
|
||||
if err != nil {
|
||||
internalError(w, err.Error())
|
||||
return
|
||||
}
|
||||
json.NewEncoder(w).Encode(resp)
|
||||
}
|
||||
|
||||
func (server *Server) GameGet(w http.ResponseWriter, r *http.Request) {
|
||||
var gameID string
|
||||
err := router.Params(r, &gameID)
|
||||
@@ -82,6 +95,27 @@ func (server *Server) GameGet(w http.ResponseWriter, r *http.Request) {
|
||||
json.NewEncoder(w).Encode(resp)
|
||||
}
|
||||
|
||||
func (server *Server) GameReplace(w http.ResponseWriter, r *http.Request) {
|
||||
var gameID string
|
||||
err := router.Params(r, &gameID)
|
||||
if err != nil {
|
||||
badRequest(w, err.Error())
|
||||
return
|
||||
}
|
||||
var game Game
|
||||
err = json.NewDecoder(r.Body).Decode(&game)
|
||||
if err != nil {
|
||||
badRequest(w, err.Error())
|
||||
return
|
||||
}
|
||||
err = server.gm.ReplaceGame(gameID, game)
|
||||
if err != nil {
|
||||
internalError(w, err.Error())
|
||||
return
|
||||
}
|
||||
json.NewEncoder(w).Encode(game)
|
||||
}
|
||||
|
||||
func (server *Server) GameInsert(w http.ResponseWriter, r *http.Request) {
|
||||
var gameID string
|
||||
err := router.Params(r, &gameID)
|
||||
|
||||
Reference in New Issue
Block a user