2020-10-28 12:35:49 +08:00
|
|
|
package cluster
|
|
|
|
|
|
|
|
|
|
import (
|
2021-01-31 16:03:52 +08:00
|
|
|
"context"
|
|
|
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
|
2020-10-28 12:35:49 +08:00
|
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils"
|
2023-06-28 16:18:52 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/langs"
|
|
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
|
2021-01-31 16:03:52 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
2020-10-28 12:35:49 +08:00
|
|
|
"github.com/iwind/TeaGo/maps"
|
|
|
|
|
)
|
|
|
|
|
|
2021-05-25 17:48:51 +08:00
|
|
|
// LeftMenuItemsForInstall 安装升级相关的左侧菜单
|
2023-06-28 16:18:52 +08:00
|
|
|
func LeftMenuItemsForInstall(ctx context.Context, clusterId int64, selectedItem string, langCode string) []maps.Map {
|
2021-01-31 16:03:52 +08:00
|
|
|
rpcClient, _ := rpc.SharedRPC()
|
|
|
|
|
countNotInstalled := int64(0)
|
|
|
|
|
countUpgrade := int64(0)
|
|
|
|
|
if rpcClient != nil {
|
|
|
|
|
{
|
2021-05-25 17:48:51 +08:00
|
|
|
resp, err := rpcClient.NodeRPC().CountAllNotInstalledNodesWithNodeClusterId(ctx, &pb.CountAllNotInstalledNodesWithNodeClusterIdRequest{NodeClusterId: clusterId})
|
2021-01-31 16:03:52 +08:00
|
|
|
if err == nil {
|
|
|
|
|
countNotInstalled = resp.Count
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
2021-05-25 17:48:51 +08:00
|
|
|
resp, err := rpcClient.NodeRPC().CountAllUpgradeNodesWithNodeClusterId(ctx, &pb.CountAllUpgradeNodesWithNodeClusterIdRequest{NodeClusterId: clusterId})
|
2021-01-31 16:03:52 +08:00
|
|
|
if err == nil {
|
|
|
|
|
countUpgrade = resp.Count
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-28 12:35:49 +08:00
|
|
|
return []maps.Map{
|
2020-10-28 12:47:24 +08:00
|
|
|
{
|
2023-06-28 16:18:52 +08:00
|
|
|
"name": langs.Message(langCode, codes.AdminNodeMenuInstallManually),
|
2020-10-28 12:47:24 +08:00
|
|
|
"url": "/clusters/cluster/installManual?clusterId=" + numberutils.FormatInt64(clusterId),
|
|
|
|
|
"isActive": selectedItem == "manual",
|
|
|
|
|
},
|
2020-10-28 12:35:49 +08:00
|
|
|
{
|
2023-06-28 16:18:52 +08:00
|
|
|
"name": langs.Message(langCode, codes.AdminNodeMenuInstallAutoRegister),
|
2020-10-28 12:35:49 +08:00
|
|
|
"url": "/clusters/cluster/installNodes?clusterId=" + numberutils.FormatInt64(clusterId),
|
|
|
|
|
"isActive": selectedItem == "register",
|
|
|
|
|
},
|
|
|
|
|
{
|
2023-06-28 16:18:52 +08:00
|
|
|
"name": langs.Message(langCode, codes.AdminNodeMenuInstallRemote, countNotInstalled),
|
2020-10-28 12:35:49 +08:00
|
|
|
"url": "/clusters/cluster/installRemote?clusterId=" + numberutils.FormatInt64(clusterId),
|
|
|
|
|
"isActive": selectedItem == "install",
|
|
|
|
|
},
|
|
|
|
|
{
|
2023-06-28 16:18:52 +08:00
|
|
|
"name": langs.Message(langCode, codes.AdminNodeMenuInstallRemoteUpgrade, countUpgrade),
|
2020-10-28 12:35:49 +08:00
|
|
|
"url": "/clusters/cluster/upgradeRemote?clusterId=" + numberutils.FormatInt64(clusterId),
|
|
|
|
|
"isActive": selectedItem == "upgrade",
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|