mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package settings
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
						|
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
						|
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
 | 
						|
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
						|
	"github.com/iwind/TeaGo/actions"
 | 
						|
	"github.com/iwind/TeaGo/maps"
 | 
						|
)
 | 
						|
 | 
						|
type IndexAction struct {
 | 
						|
	actionutils.ParentAction
 | 
						|
}
 | 
						|
 | 
						|
func (this *IndexAction) Init() {
 | 
						|
	this.Nav("", "setting", "")
 | 
						|
	this.SecondMenu("basic")
 | 
						|
}
 | 
						|
 | 
						|
func (this *IndexAction) RunGet(params struct {
 | 
						|
	ClusterId int64
 | 
						|
}) {
 | 
						|
	clusterResp, err := this.RPC().NodeClusterRPC().FindEnabledNodeCluster(this.AdminContext(), &pb.FindEnabledNodeClusterRequest{ClusterId: params.ClusterId})
 | 
						|
	if err != nil {
 | 
						|
		this.ErrorPage(err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
	cluster := clusterResp.Cluster
 | 
						|
	if cluster == nil {
 | 
						|
		this.WriteString("not found cluster")
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	// 认证
 | 
						|
	var grantMap interface{} = nil
 | 
						|
 | 
						|
	if cluster.GrantId > 0 {
 | 
						|
		grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: cluster.GrantId})
 | 
						|
		if err != nil {
 | 
						|
			this.ErrorPage(err)
 | 
						|
			return
 | 
						|
		}
 | 
						|
		grant := grantResp.Grant
 | 
						|
		if grant != nil {
 | 
						|
			grantMap = maps.Map{
 | 
						|
				"id":         grant.Id,
 | 
						|
				"name":       grant.Name,
 | 
						|
				"method":     grant.Method,
 | 
						|
				"methodName": grantutils.FindGrantMethodName(grant.Method),
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	this.Data["grant"] = grantMap
 | 
						|
 | 
						|
	this.Data["cluster"] = maps.Map{
 | 
						|
		"id":         cluster.Id,
 | 
						|
		"name":       cluster.Name,
 | 
						|
		"installDir": cluster.InstallDir,
 | 
						|
	}
 | 
						|
 | 
						|
	this.Show()
 | 
						|
}
 | 
						|
 | 
						|
// 保存设置
 | 
						|
func (this *IndexAction) RunPost(params struct {
 | 
						|
	ClusterId  int64
 | 
						|
	Name       string
 | 
						|
	GrantId    int64
 | 
						|
	InstallDir string
 | 
						|
 | 
						|
	Must *actions.Must
 | 
						|
}) {
 | 
						|
	// 创建日志
 | 
						|
	defer this.CreateLog(oplogs.LevelInfo, "修改集群基础设置 %d", params.ClusterId)
 | 
						|
 | 
						|
	params.Must.
 | 
						|
		Field("name", params.Name).
 | 
						|
		Require("请输入集群名称")
 | 
						|
 | 
						|
	_, err := this.RPC().NodeClusterRPC().UpdateNodeCluster(this.AdminContext(), &pb.UpdateNodeClusterRequest{
 | 
						|
		ClusterId:  params.ClusterId,
 | 
						|
		Name:       params.Name,
 | 
						|
		GrantId:    params.GrantId,
 | 
						|
		InstallDir: params.InstallDir,
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		this.ErrorPage(err)
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	this.Success()
 | 
						|
}
 |