49 lines
992 B
Go
49 lines
992 B
Go
package clusters
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
|
)
|
|
|
|
type UpgradeStatusAction struct {
|
|
actionutils.ParentAction
|
|
}
|
|
|
|
func (this *UpgradeStatusAction) RunPost(params struct {
|
|
NodeId int64
|
|
}) {
|
|
resp, err := this.RPC().HTTPDNSNodeRPC().FindHTTPDNSNode(this.AdminContext(), &pb.FindHTTPDNSNodeRequest{
|
|
NodeId: params.NodeId,
|
|
})
|
|
if err != nil {
|
|
this.ErrorPage(err)
|
|
return
|
|
}
|
|
if resp.GetNode() == nil {
|
|
this.Data["status"] = nil
|
|
this.Success()
|
|
return
|
|
}
|
|
|
|
this.Data["status"] = decodeUpgradeInstallStatusMap(resp.GetNode().GetInstallStatusJSON())
|
|
this.Success()
|
|
}
|
|
|
|
func decodeUpgradeInstallStatusMap(raw []byte) map[string]interface{} {
|
|
result := map[string]interface{}{
|
|
"isRunning": false,
|
|
"isFinished": false,
|
|
"isOk": false,
|
|
"error": "",
|
|
"errorCode": "",
|
|
}
|
|
if len(raw) == 0 {
|
|
return result
|
|
}
|
|
|
|
_ = json.Unmarshal(raw, &result)
|
|
return result
|
|
}
|