mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 00:31:54 +08:00
可以远程停止和启动DNS节点
This commit is contained in:
@@ -275,6 +275,7 @@ func (this *NSNodeService) FindEnabledNSNode(ctx context.Context, req *pb.FindEn
|
|||||||
},
|
},
|
||||||
InstallStatus: installStatusResult,
|
InstallStatus: installStatusResult,
|
||||||
IsOn: node.IsOn == 1,
|
IsOn: node.IsOn == 1,
|
||||||
|
IsActive: node.IsActive == 1,
|
||||||
NodeLogin: respLogin,
|
NodeLogin: respLogin,
|
||||||
}}, nil
|
}}, nil
|
||||||
}
|
}
|
||||||
@@ -517,3 +518,55 @@ func (this *NSNodeService) UpdateNSNodeLogin(ctx context.Context, req *pb.Update
|
|||||||
|
|
||||||
return this.Success()
|
return this.Success()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StartNSNode 启动节点
|
||||||
|
func (this *NSNodeService) StartNSNode(ctx context.Context, req *pb.StartNSNodeRequest) (*pb.StartNSNodeResponse, error) {
|
||||||
|
// 校验节点
|
||||||
|
_, err := this.ValidateAdmin(ctx, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = installers.SharedNSNodeQueue().StartNode(req.NsNodeId)
|
||||||
|
if err != nil {
|
||||||
|
return &pb.StartNSNodeResponse{
|
||||||
|
IsOk: false,
|
||||||
|
Error: err.Error(),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改状态
|
||||||
|
var tx = this.NullTx()
|
||||||
|
err = models.SharedNSNodeDAO.UpdateNodeActive(tx, req.NsNodeId, true)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &pb.StartNSNodeResponse{IsOk: true}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// StopNSNode 停止节点
|
||||||
|
func (this *NSNodeService) StopNSNode(ctx context.Context, req *pb.StopNSNodeRequest) (*pb.StopNSNodeResponse, error) {
|
||||||
|
// 校验节点
|
||||||
|
_, err := this.ValidateAdmin(ctx, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = installers.SharedNSNodeQueue().StopNode(req.NsNodeId)
|
||||||
|
if err != nil {
|
||||||
|
return &pb.StopNSNodeResponse{
|
||||||
|
IsOk: false,
|
||||||
|
Error: err.Error(),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改状态
|
||||||
|
var tx = this.NullTx()
|
||||||
|
err = models.SharedNSNodeDAO.UpdateNodeActive(tx, req.NsNodeId, false)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &pb.StopNSNodeResponse{IsOk: true}, nil
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user