You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
3.9 KiB
185 lines
3.9 KiB
package http |
|
|
|
import ( |
|
"go-common/app/admin/main/apm/conf" |
|
"go-common/app/admin/main/apm/model/ut" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
// @params PCurveReq |
|
// @router get /x/admin/apm/ut/dashboard/pcurve |
|
// @response PCurveResp |
|
func utDashCurve(c *bm.Context) { |
|
var ( |
|
curve []*ut.PCurveResp |
|
err error |
|
) |
|
v := new(ut.PCurveReq) |
|
if err = c.Bind(v); err != nil { |
|
return |
|
} |
|
if curve, err = apmSvc.DashCurveGraph(c, name(c), v); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(curve, nil) |
|
} |
|
|
|
// @params PCurveReq |
|
// @router get /x/admin/apm/ut/dashboard/histogram |
|
// @response PCurveDetailResp |
|
func utDashHistogram(c *bm.Context) { |
|
var ( |
|
histogram []*ut.PCurveDetailResp |
|
err error |
|
) |
|
v := new(ut.PCurveReq) |
|
if err = c.Bind(v); err != nil { |
|
return |
|
} |
|
if histogram, err = apmSvc.DashGraphDetail(c, name(c), v); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(histogram, nil) |
|
} |
|
|
|
// @params PCurveReq |
|
// @router get /x/admin/apm/ut/dashboard/user/detail |
|
// @response PCurveDetailResp |
|
func utDashUserDetail(c *bm.Context) { |
|
var ( |
|
detail []*ut.PCurveDetailResp |
|
err error |
|
) |
|
v := new(ut.PCurveReq) |
|
if err = c.Bind(v); err != nil { |
|
return |
|
} |
|
if detail, err = apmSvc.DashGraphDetailSingle(c, name(c), v); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(detail, nil) |
|
} |
|
|
|
// @params QATrendReq |
|
// @router get /x/admin/apm/ut/quality/trend |
|
// @response QATrendResp |
|
func utQATrend(c *bm.Context) { |
|
var ( |
|
trend *ut.QATrendResp |
|
err error |
|
) |
|
v := new(ut.QATrendReq) |
|
if err = c.Bind(v); err != nil { |
|
return |
|
} |
|
if trend, err = apmSvc.QATrend(c, v); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(trend, nil) |
|
} |
|
|
|
// @params commits |
|
// @router get /x/admin/apm/ut/commits |
|
// @response CommitInfo |
|
func utGeneralCommit(c *bm.Context) { |
|
var ( |
|
cmInfos []*ut.CommitInfo |
|
err error |
|
) |
|
v := new(struct { |
|
Commits string `form:"commits"` |
|
}) |
|
if err = c.Bind(v); err != nil { |
|
return |
|
} |
|
if cmInfos, err = apmSvc.UTGernalCommit(c, v.Commits); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(cmInfos, nil) |
|
} |
|
|
|
// @params pkg |
|
// @router get /x/admin/apm/ut/dashboard/pkgs |
|
// @response []*ut.PkgAnls |
|
func utDashPkgsTree(c *bm.Context) { |
|
var ( |
|
err error |
|
pkgs []*ut.PkgAnls |
|
username = name(c) |
|
req = new(struct { |
|
PKG string `form:"pkg"` |
|
}) |
|
) |
|
if err = c.Bind(req); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
if pkgs, err = apmSvc.DashPkgsTree(c, req.PKG, username); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(pkgs, nil) |
|
} |
|
|
|
// @params project_id,merge_id,commit_id |
|
// @router get /x/admin/apm/ut/git/report |
|
// @response EmptyResp |
|
func utGitReport(c *bm.Context) { |
|
var ( |
|
err error |
|
req = new(struct { |
|
ProjectID int `form:"project_id" validate:"required"` |
|
MergeID int `form:"merge_id" validate:"required"` |
|
CommitID string `form:"commit_id" validate:"required"` |
|
}) |
|
) |
|
if err = c.Bind(req); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
if err = apmSvc.GitReport(c, req.ProjectID, req.MergeID, req.CommitID); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
} |
|
|
|
// @params username,times |
|
// @router get /x/admin/apm/ut/dashboard/history/commit |
|
// @response []*ut.PkgAnls |
|
func dashHistoryCommit(c *bm.Context) { |
|
var ( |
|
err error |
|
pkgs = make([]*ut.PkgAnls, 0) |
|
req = new(struct { |
|
UserName string `form:"user_name" default:""` |
|
Times int64 `form:"times" default:"10"` |
|
}) |
|
) |
|
if err = c.Bind(req); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
if req.UserName == "" { |
|
req.UserName = name(c) |
|
} |
|
if pkgs, err = apmSvc.CommitHistory(c, req.UserName, req.Times); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
data := new(struct { |
|
Pkgs []*ut.PkgAnls `json:"pkgs"` |
|
BaseLine struct { |
|
Coverage int `json:"coverage"` |
|
PassRate int `json:"pass_rate"` |
|
} `json:"base_line"` |
|
}) |
|
data.Pkgs = pkgs |
|
data.BaseLine.Coverage = conf.Conf.UTBaseLine.Coverage |
|
data.BaseLine.PassRate = conf.Conf.UTBaseLine.Passrate |
|
c.JSON(data, nil) |
|
}
|
|
|