mirror of
https://github.com/chaitin/MonkeyCode.git
synced 2026-02-02 23:03:57 +08:00
72 lines
1.8 KiB
Go
72 lines
1.8 KiB
Go
package v1
|
|
|
|
import (
|
|
"github.com/GoYoko/web"
|
|
|
|
"github.com/chaitin/MonkeyCode/backend/domain"
|
|
"github.com/chaitin/MonkeyCode/backend/internal/middleware"
|
|
)
|
|
|
|
type SecurityHandler struct {
|
|
usecase domain.SecurityScanningUsecase
|
|
}
|
|
|
|
func NewSecurityHandler(
|
|
w *web.Web,
|
|
usecase domain.SecurityScanningUsecase,
|
|
auth *middleware.AuthMiddleware,
|
|
active *middleware.ActiveMiddleware,
|
|
) *SecurityHandler {
|
|
s := &SecurityHandler{
|
|
usecase: usecase,
|
|
}
|
|
|
|
g := w.Group("/api/v1/security/scanning")
|
|
g.Use(auth.Auth(), active.Active("admin"))
|
|
|
|
g.GET("", web.BindHandler(s.List))
|
|
g.GET("/detail", web.BaseHandler(s.Detail))
|
|
|
|
return s
|
|
}
|
|
|
|
// List 获取扫描结果
|
|
//
|
|
// @Tags Security Scanning
|
|
// @Summary 获取扫描结果
|
|
// @Description 获取扫描结果
|
|
// @ID security-scanning-list
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param page query domain.ListSecurityScanningReq true "参数"
|
|
// @Success 200 {object} web.Resp{data=domain.ListSecurityScanningResp}
|
|
// @Failure 401 {object} string
|
|
// @Router /api/v1/security/scanning [get]
|
|
func (s *SecurityHandler) List(c *web.Context, req domain.ListSecurityScanningReq) error {
|
|
resp, err := s.usecase.List(c.Request().Context(), req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return c.Success(resp)
|
|
}
|
|
|
|
// Detail 获取扫描风险详情
|
|
//
|
|
// @Tags Security Scanning
|
|
// @Summary 获取扫描风险详情
|
|
// @Description 获取扫描风险详情
|
|
// @ID security-scanning-detail
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param id query string true "扫描任务id"
|
|
// @Success 200 {object} web.Resp{data=[]domain.SecurityScanningRiskDetail}
|
|
// @Failure 401 {object} string
|
|
// @Router /api/v1/security/scanning/detail [get]
|
|
func (s *SecurityHandler) Detail(c *web.Context) error {
|
|
resp, err := s.usecase.Detail(c.Request().Context(), "", c.QueryParam("id"))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return c.Success(resp)
|
|
}
|