Files
EdgeAdmin/internal/web/actions/default/servers/certs/helper.go

60 lines
1.4 KiB
Go
Raw Normal View History

2020-11-24 17:36:42 +08:00
package certs
import (
2022-03-11 20:27:45 +08:00
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
2020-11-24 17:36:42 +08:00
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
2022-03-11 20:27:45 +08:00
"github.com/iwind/TeaGo/types"
2020-11-24 17:36:42 +08:00
"net/http"
)
type Helper struct {
}
func NewHelper() *Helper {
return &Helper{}
}
2022-03-11 20:27:45 +08:00
func (this *Helper) BeforeAction(actionWrapper actions.ActionWrapper) {
var action = actionWrapper.Object()
2020-11-24 17:36:42 +08:00
if action.Request.Method != http.MethodGet {
return
}
action.Data["teaMenu"] = "servers"
2022-03-11 20:27:45 +08:00
var countOCSP int64 = 0
parentAction, ok := actionWrapper.(actionutils.ActionInterface)
if ok {
countOCSPResp, err := parentAction.RPC().SSLCertRPC().CountAllSSLCertsWithOCSPError(parentAction.AdminContext(), &pb.CountAllSSLCertsWithOCSPErrorRequest{})
if err == nil {
countOCSP = countOCSPResp.Count
}
}
var ocspMenuName = "OCSP日志"
if countOCSP > 0 {
ocspMenuName += "(" + types.String(countOCSP) + ")"
}
var menu = []maps.Map{
2020-11-24 17:36:42 +08:00
{
"name": "证书",
"url": "/servers/certs",
"isActive": action.Data.GetString("leftMenuItem") == "cert",
},
{
"name": "申请证书",
2020-11-24 17:36:42 +08:00
"url": "/servers/certs/acme",
"isActive": action.Data.GetString("leftMenuItem") == "acme",
},
2022-03-11 20:27:45 +08:00
{
"name": ocspMenuName,
"url": "/servers/certs/ocsp",
"isActive": action.Data.GetString("leftMenuItem") == "ocsp",
},
2020-11-24 17:36:42 +08:00
}
2022-03-11 20:27:45 +08:00
action.Data["leftMenuItems"] = menu
2020-11-24 17:36:42 +08:00
}