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

63 lines
1.6 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"
2023-06-28 19:07:42 +08:00
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
2022-03-11 20:27:45 +08:00
"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 {
2023-06-28 19:07:42 +08:00
helpers.LangHelper
2020-11-24 17:36:42 +08:00
}
func NewHelper() *Helper {
return &Helper{}
}
2023-06-28 19:07:42 +08:00
func (this *Helper) BeforeAction(actionPtr actions.ActionWrapper) {
var action = actionPtr.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
2023-06-28 19:07:42 +08:00
parentAction, ok := actionPtr.(actionutils.ActionInterface)
2022-03-11 20:27:45 +08:00
if ok {
countOCSPResp, err := parentAction.RPC().SSLCertRPC().CountAllSSLCertsWithOCSPError(parentAction.AdminContext(), &pb.CountAllSSLCertsWithOCSPErrorRequest{})
if err == nil {
countOCSP = countOCSPResp.Count
}
}
2023-06-28 19:07:42 +08:00
var ocspMenuName = this.Lang(actionPtr, codes.AdminCertMenuOCSP)
2022-03-11 20:27:45 +08:00
if countOCSP > 0 {
ocspMenuName += "(" + types.String(countOCSP) + ")"
}
var menu = []maps.Map{
2020-11-24 17:36:42 +08:00
{
2023-06-28 19:07:42 +08:00
"name": this.Lang(actionPtr, codes.AdminCertMenuCerts),
2020-11-24 17:36:42 +08:00
"url": "/servers/certs",
"isActive": action.Data.GetString("leftMenuItem") == "cert",
},
{
2023-06-28 19:07:42 +08:00
"name": this.Lang(actionPtr, codes.AdminCertMenuApply),
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
}