package controller
import (
"net/http"
"github.com/go-chi/chi"
"github.com/goodrain/rainbond/api/handler"
httputil "github.com/goodrain/rainbond/util/http"
)
type ResourceCenterController struct{}
func (c *ResourceCenterController) GetWorkloadDetail(w http.ResponseWriter, r *http.Request) {
tenantName := chi.URLParam(r, "tenant_name")
resource := chi.URLParam(r, "resource")
name := chi.URLParam(r, "name")
group := r.URL.Query().Get("group")
version := r.URL.Query().Get("version")
bean, err := handler.GetResourceCenterHandler().GetWorkloadDetail(tenantName, group, version, resource, name)
if err != nil {
httputil.ReturnBcodeError(r, w, err)
return
}
httputil.ReturnSuccess(r, w, bean)
}
func (c *ResourceCenterController) GetPodDetail(w http.ResponseWriter, r *http.Request) {
tenantName := chi.URLParam(r, "tenant_name")
podName := chi.URLParam(r, "pod_name")
bean, err := handler.GetResourceCenterHandler().GetPodDetail(tenantName, podName)
if err != nil {
httputil.ReturnBcodeError(r, w, err)
return
}
httputil.ReturnSuccess(r, w, bean)
}
func (c *ResourceCenterController) ListEvents(w http.ResponseWriter, r *http.Request) {
tenantName := chi.URLParam(r, "tenant_name")
namespace := r.URL.Query().Get("namespace")
kind := r.URL.Query().Get("kind")
name := r.URL.Query().Get("name")
bean, err := handler.GetResourceCenterHandler().ListEvents(tenantName, namespace, kind, name)
if err != nil {
httputil.ReturnBcodeError(r, w, err)
return
}
httputil.ReturnSuccess(r, w, map[string]interface{}{
"list": bean,
"total": len(bean),
})
}
func GetResourceCenterController() *ResourceCenterController {
return &ResourceCenterController{}
}