2025-08-17 18:25:13 +08:00

72 lines
2.0 KiB
Go

package api
import (
"122.51.31.227/go-course/go18/devcloud/mcenter/apps/token"
"122.51.31.227/go-course/go18/devcloud/mpaas/apps/application"
"github.com/emicklei/go-restful/v3"
"github.com/gin-gonic/gin/binding"
"github.com/infraboard/mcube/v2/http/restful/response"
"github.com/infraboard/mcube/v2/ioc/config/log"
)
func (h *UserRestfulApiHandler) QueryApplication(r *restful.Request, w *restful.Response) {
req := application.NewQueryApplicationRequest()
// 过滤条件在认证完成后的上下文中
tk := token.GetTokenFromCtx(r.Request.Context())
req.ResourceScope = tk.ResourceScope
log.L().Debug().Msgf("resource scope: %s", tk.ResourceScope)
// 用户的参数
if err := binding.Query.Bind(r.Request, &req.QueryApplicationRequestSpec); err != nil {
response.Failed(w, err)
return
}
set, err := h.svc.QueryApplication(r.Request.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}
func (h *UserRestfulApiHandler) CreateApplication(r *restful.Request, w *restful.Response) {
req := application.NewCreateApplicationRequest()
if err := r.ReadEntity(req); err != nil {
response.Failed(w, err)
return
}
// 过滤条件在认证完成后的上下文中
tk := token.GetTokenFromCtx(r.Request.Context())
req.SetNamespaceId(*tk.NamespaceId)
req.CreateBy = tk.UserName
set, err := h.svc.CreateApplication(r.Request.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}
func (h *UserRestfulApiHandler) DeleteApplication(r *restful.Request, w *restful.Response) {
req := application.NewDeleteApplicationRequest(r.PathParameter("id"))
// 过滤条件在认证完成后的上下文中
tk := token.GetTokenFromCtx(r.Request.Context())
req.ResourceScope = tk.ResourceScope
log.L().Debug().Msgf("resource scope: %s", tk.ResourceScope)
set, err := h.svc.DeleteApplication(r.Request.Context(), req)
if err != nil {
response.Failed(w, err)
return
}
response.Success(w, set)
}