From 3db97a8f59937f62f6e10fbb0fe74fbe516889ec Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 13 Jun 2022 16:33:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=95=B0=E6=8D=AE=E5=BF=AB=E7=85=A7=20?= =?UTF-8?q?https://github.com/siyuan-note/siyuan/issues/5159?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/api/repo.go | 70 ++++++++++++++++++++++++++++++++++++++++++++ kernel/api/router.go | 4 ++- kernel/api/system.go | 25 ---------------- 3 files changed, 73 insertions(+), 26 deletions(-) create mode 100644 kernel/api/repo.go diff --git a/kernel/api/repo.go b/kernel/api/repo.go new file mode 100644 index 000000000..d5e5ad251 --- /dev/null +++ b/kernel/api/repo.go @@ -0,0 +1,70 @@ +// SiYuan - Build Your Eternal Digital Garden +// Copyright (c) 2020-present, b3log.org +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package api + +import ( + "net/http" + "os" + "time" + + "github.com/88250/gulu" + "github.com/gin-gonic/gin" + "github.com/siyuan-note/siyuan/kernel/model" + "github.com/siyuan-note/siyuan/kernel/util" +) + +func indexRepo(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + arg, ok := util.JsonArg(c, ret) + if !ok { + return + } + + message := arg["message"].(string) + if err := model.IndexRepo(message); nil != err { + ret.Code = -1 + ret.Msg = model.Conf.Language(137) + return + } +} + +func initRepoKey(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + util.PushMsg(model.Conf.Language(136), 1000*7) + if err := os.RemoveAll(model.Conf.Repo.GetSaveDir()); nil != err { + ret.Code = -1 + ret.Msg = err.Error() + return + } + if err := os.MkdirAll(model.Conf.Repo.GetSaveDir(), 0755); nil != err { + ret.Code = -1 + ret.Msg = err.Error() + return + } + if err := model.InitRepoKey(); nil != err { + ret.Code = -1 + ret.Msg = model.Conf.Language(137) + return + } + + time.Sleep(1 * time.Second) + util.PushMsg(model.Conf.Language(138), 3000) +} diff --git a/kernel/api/router.go b/kernel/api/router.go index 920a88cae..f2f8c557e 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -45,7 +45,6 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/system/setAppearanceMode", model.CheckAuth, setAppearanceMode) ginServer.Handle("POST", "/api/system/getSysFonts", model.CheckAuth, getSysFonts) ginServer.Handle("POST", "/api/system/setE2EEPasswd", model.CheckAuth, setE2EEPasswd) - ginServer.Handle("POST", "/api/system/initRepoKey", model.CheckAuth, initRepoKey) ginServer.Handle("POST", "/api/system/exit", model.CheckAuth, exit) ginServer.Handle("POST", "/api/system/setUILayout", model.CheckAuth, setUILayout) ginServer.Handle("POST", "/api/system/getConf", model.CheckAuth, getConf) @@ -247,6 +246,9 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/bazaar/uninstallBazaarTheme", model.CheckAuth, uninstallBazaarTheme) ginServer.Handle("POST", "/api/bazaar/getBazaarPackageREAME", model.CheckAuth, getBazaarPackageREAME) + ginServer.Handle("POST", "/api/repo/initRepoKey", model.CheckAuth, initRepoKey) + ginServer.Handle("POST", "/api/repo/indexRepo", model.CheckAuth, indexRepo) + ginServer.Handle("POST", "/api/notification/pushMsg", model.CheckAuth, pushMsg) ginServer.Handle("POST", "/api/notification/pushErrMsg", model.CheckAuth, pushErrMsg) } diff --git a/kernel/api/system.go b/kernel/api/system.go index 543b2e6f9..0c1af57e6 100644 --- a/kernel/api/system.go +++ b/kernel/api/system.go @@ -366,31 +366,6 @@ func setE2EEPasswd(c *gin.Context) { model.SyncData(false, false, true) } -func initRepoKey(c *gin.Context) { - ret := gulu.Ret.NewResult() - defer c.JSON(http.StatusOK, ret) - - util.PushMsg(model.Conf.Language(136), 1000*7) - if err := os.RemoveAll(model.Conf.Repo.GetSaveDir()); nil != err { - ret.Code = -1 - ret.Msg = err.Error() - return - } - if err := os.MkdirAll(model.Conf.Repo.GetSaveDir(), 0755); nil != err { - ret.Code = -1 - ret.Msg = err.Error() - return - } - if err := model.InitRepoKey(); nil != err { - ret.Code = -1 - ret.Msg = model.Conf.Language(137) - return - } - - time.Sleep(1 * time.Second) - util.PushMsg(model.Conf.Language(138), 3000) -} - func addUIProcess(c *gin.Context) { pid := c.Query("pid") util.UIProcessIDs.Store(pid, true)