package routers import ( "main/configs" "main/models" "main/utils" "net/http" "github.com/gorilla/mux" ) func ServersGet(w http.ResponseWriter, r *http.Request) { var listview models.ListView listview.Page = utils.ParamInt(r.URL.Query().Get("page"), 1) listview.PageSize = utils.ParamInt(r.URL.Query().Get("pageSize"), 10) var server_list []models.Server db := configs.ORMDB() db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&server_list) for _, server := range server_list { listview.List = append(listview.List, server) } listview.Next = listview.Page*listview.PageSize < int(listview.Total) listview.WriteJSON(w) } func ServersPost(w http.ResponseWriter, r *http.Request) { var server models.Server configs.ORMDB().Create(&server) w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(utils.ToJSON(server)) } func ServersItemGet(w http.ResponseWriter, r *http.Request) { server := models.Server{ID: utils.ParamInt(mux.Vars(r)["id"], 0)} configs.ORMDB().First(&server) w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(utils.ToJSON(server)) } func ServersItemPatch(w http.ResponseWriter, r *http.Request) { server := models.Server{ID: utils.ParamInt(mux.Vars(r)["id"], 0)} configs.ORMDB().First(&server) // TODO: update server configs.ORMDB().Save(&server) w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(utils.ToJSON(server)) } func ServersItemDelete(w http.ResponseWriter, r *http.Request) { server := models.Server{ID: utils.ParamInt(mux.Vars(r)["id"], 0)} configs.ORMDB().Delete(&server) w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(utils.ToJSON(server)) }