Browse Source

:art: 数据快照 https://github.com/siyuan-note/siyuan/issues/5159

Liang Ding 3 years ago
parent
commit
3db97a8f59
3 changed files with 73 additions and 26 deletions
  1. 70 0
      kernel/api/repo.go
  2. 3 1
      kernel/api/router.go
  3. 0 25
      kernel/api/system.go

+ 70 - 0
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 <https://www.gnu.org/licenses/>.
+
+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)
+}

+ 3 - 1
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)
 }

+ 0 - 25
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)