Files
EdgeAdmin/internal/web/actions/default/db/index.go

58 lines
1.3 KiB
Go
Raw Normal View History

2020-09-13 20:37:07 +08:00
package db
2020-10-08 17:54:57 +08:00
import (
"github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils"
2020-10-08 17:54:57 +08:00
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/maps"
)
2020-09-13 20:37:07 +08:00
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("db", "db", "")
}
func (this *IndexAction) RunGet(params struct{}) {
2020-10-08 17:54:57 +08:00
countResp, err := this.RPC().DBNodeRPC().CountAllEnabledDBNodes(this.AdminContext(), &pb.CountAllEnabledDBNodesRequest{})
if err != nil {
this.ErrorPage(err)
return
}
count := countResp.Count
page := this.NewPage(count)
listResp, err := this.RPC().DBNodeRPC().ListEnabledDBNodes(this.AdminContext(), &pb.ListEnabledDBNodesRequest{
Offset: page.Offset,
Size: page.Size,
})
if err != nil {
this.ErrorPage(err)
return
}
nodeMaps := []maps.Map{}
for _, node := range listResp.DbNodes {
2020-10-08 17:54:57 +08:00
nodeMaps = append(nodeMaps, maps.Map{
"id": node.Id,
"isOn": node.IsOn,
"name": node.Name,
"host": node.Host,
"port": node.Port,
"database": node.Database,
"status": maps.Map{
2021-08-30 10:56:03 +08:00
"isOk": node.Status.IsOk,
"error": node.Status.Error,
"size": numberutils.FormatBytes(node.Status.Size),
"version": node.Status.Version,
},
2020-10-08 17:54:57 +08:00
})
}
this.Data["nodes"] = nodeMaps
this.Data["page"] = page.AsHTML()
2020-09-13 20:37:07 +08:00
this.Show()
}