From b885773a7ebe34fbf8231d51899cb67a9cbed7a7 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 18 Jun 2022 09:55:52 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E9=87=8D=E7=BD=AE=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BB=93=E5=BA=93=20https://github.com/siyuan-note/siyuan/issu?= =?UTF-8?q?es/5212?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/appearance/langs/en_US.json | 5 ++++- app/appearance/langs/fr_FR.json | 5 ++++- app/appearance/langs/zh_CHT.json | 5 ++++- app/appearance/langs/zh_CN.json | 5 ++++- kernel/api/repo.go | 15 +++++++++++++++ kernel/api/router.go | 1 + kernel/model/repository.go | 17 +++++++++++++++++ 7 files changed, 49 insertions(+), 4 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index ecf975c15..946fe6d93 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -886,6 +886,9 @@ "140": "Failed to create data snapshot: %s", "141": "Failed to rollback data snapshot", "142": "Snapshot memo cannot be empty", - "143": "Creating data snapshot..." + "143": "Creating data snapshot...", + "144": "Resetting data repository...", + "145": "Data repository reset completed", + "146": "Failed to reset data repository: %s" } } diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 4f396218b..386c22e36 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -886,6 +886,9 @@ "140": "Échec de la création de l'instantané des données: %s", "141": "Échec de la restauration de l'instantané des données", "142": "Le mémo d'instantané ne peut pas être vide", - "143": "Création d'un instantané de données..." + "143": "Création d'un instantané de données...", + "144": "Réinitialisation du référentiel de données...", + "145": "Réinitialisation du référentiel de données terminée", + "146": "Échec de la réinitialisation du référentiel de données : %s" } } diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index d12ff4a03..8fa2b9cc9 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -885,6 +885,9 @@ "140": "創建數據快照失敗:%s", "141": "回滾數據快照失敗", "142": "快照備註不能為空", - "143": "正在創建數據快照..." + "143": "正在創建數據快照...", + "144": "正在重置數據倉庫...", + "145": "數據倉庫重置完畢", + "146": "重置數據倉庫失敗:%s" } } diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index fb098fc23..19e3206ae 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -887,6 +887,9 @@ "140": "创建数据快照失败:%s", "141": "回滚数据快照失败", "142": "快照备注不能为空", - "143": "正在创建数据快照..." + "143": "正在创建数据快照...", + "144": "正在重置数据仓库...", + "145": "数据仓库重置完毕", + "146": "重置数据仓库失败:%s" } } diff --git a/kernel/api/repo.go b/kernel/api/repo.go index 076036735..fda9e09f5 100644 --- a/kernel/api/repo.go +++ b/kernel/api/repo.go @@ -116,3 +116,18 @@ func initRepoKey(c *gin.Context) { "key": hex.EncodeToString(model.Conf.Repo.Key), } } + +func resetRepo(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + if err := model.ResetRepo(); nil != err { + ret.Code = -1 + ret.Msg = fmt.Sprintf(model.Conf.Language(146), err.Error()) + return + } + + ret.Data = map[string]interface{}{ + "key": hex.EncodeToString(model.Conf.Repo.Key), + } +} diff --git a/kernel/api/router.go b/kernel/api/router.go index 52b233f03..43d925001 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -248,6 +248,7 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/bazaar/getBazaarPackageREAME", model.CheckAuth, getBazaarPackageREAME) ginServer.Handle("POST", "/api/repo/initRepoKey", model.CheckAuth, initRepoKey) + ginServer.Handle("POST", "/api/repo/resetRepo", model.CheckAuth, resetRepo) ginServer.Handle("POST", "/api/repo/importRepoKey", model.CheckAuth, importRepoKey) ginServer.Handle("POST", "/api/repo/indexRepo", model.CheckAuth, indexRepo) ginServer.Handle("POST", "/api/repo/checkoutRepo", model.CheckAuth, checkoutRepo) diff --git a/kernel/model/repository.go b/kernel/model/repository.go index cdb90dc69..c3f2d1be3 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -85,6 +85,23 @@ func ImportRepoKey(hexKey string) (err error) { return } +func ResetRepo() (err error) { + msgId := util.PushMsg(Conf.Language(144), 1000*60) + + if err = os.RemoveAll(Conf.Repo.GetSaveDir()); nil != err { + return + } + if err = os.MkdirAll(Conf.Repo.GetSaveDir(), 0755); nil != err { + return + } + + Conf.Repo.Key = nil + Conf.Save() + + util.PushUpdateMsg(msgId, Conf.Language(145), 3000) + return +} + func InitRepoKey() (err error) { msgId := util.PushMsg(Conf.Language(136), 1000*7)