186 lines
3.9 KiB
Go
186 lines
3.9 KiB
Go
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)
|
|
}
|