From 77b828839a6b0870c65d152a27484e0584cd876f Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 31 Jan 2021 11:03:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E6=A3=80=E6=9F=A5=E8=BE=B9?= =?UTF-8?q?=E7=BC=98=E8=8A=82=E7=82=B9=E6=96=B0=E7=89=88=E6=9C=AC=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/rpc/services/service_node.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/internal/rpc/services/service_node.go b/internal/rpc/services/service_node.go index 3867e916..533ddac6 100644 --- a/internal/rpc/services/service_node.go +++ b/internal/rpc/services/service_node.go @@ -14,6 +14,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/logs" "github.com/iwind/TeaGo/types" + stringutil "github.com/iwind/TeaGo/utils/string" "net" ) @@ -1254,3 +1255,17 @@ func (this *NodeService) FindEnabledNodesWithIds(ctx context.Context, req *pb.Fi } return &pb.FindEnabledNodesWithIdsResponse{Nodes: pbNodes}, nil } + +// 检查新版本 +func (this *NodeService) CheckNodeLatestVersion(ctx context.Context, req *pb.CheckNodeLatestVersionRequest) (*pb.CheckNodeLatestVersionResponse, error) { + deployFiles := installers.SharedDeployManager.LoadFiles() + for _, file := range deployFiles { + if file.OS == req.Os && file.Arch == req.Arch && stringutil.VersionCompare(file.Version, req.CurrentVersion) > 0 { + return &pb.CheckNodeLatestVersionResponse{ + HasNewVersion: true, + NewVersion: file.Version, + }, nil + } + } + return &pb.CheckNodeLatestVersionResponse{HasNewVersion: false}, nil +}