mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 01:21:08 +08:00
This commit is contained in:
parent
39d0a9b08f
commit
851483c5d2
@ -17,8 +17,8 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/88250/gulu"
|
||||
@ -44,21 +44,31 @@ func indexRepo(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
func importRepoKey(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
arg, ok := util.JsonArg(c, ret)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
util.PushMsg(model.Conf.Language(136), 1000*7)
|
||||
hexKey := arg["key"].(string)
|
||||
if err := model.IndexRepo(hexKey); 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 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)
|
||||
@ -67,4 +77,8 @@ func initRepoKey(c *gin.Context) {
|
||||
|
||||
time.Sleep(1 * time.Second)
|
||||
util.PushMsg(model.Conf.Language(138), 3000)
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"key": hex.EncodeToString(model.Conf.Repo.Key),
|
||||
}
|
||||
}
|
||||
|
@ -247,6 +247,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/importRepoKey", model.CheckAuth, importRepoKey)
|
||||
ginServer.Handle("POST", "/api/repo/indexRepo", model.CheckAuth, indexRepo)
|
||||
|
||||
ginServer.Handle("POST", "/api/notification/pushMsg", model.CheckAuth, pushMsg)
|
||||
|
@ -18,14 +18,40 @@ package model
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"os"
|
||||
|
||||
"github.com/siyuan-note/dejavu"
|
||||
"github.com/siyuan-note/encryption"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func ImportRepoKey(hexKey string) (err error) {
|
||||
key, err := hex.DecodeString(hexKey)
|
||||
if nil != err {
|
||||
return
|
||||
}
|
||||
Conf.Repo.Key = key
|
||||
Conf.Save()
|
||||
|
||||
if err = os.RemoveAll(Conf.Repo.GetSaveDir()); nil != err {
|
||||
return
|
||||
}
|
||||
if err = os.MkdirAll(Conf.Repo.GetSaveDir(), 0755); nil != err {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func InitRepoKey() (err error) {
|
||||
if err = os.RemoveAll(Conf.Repo.GetSaveDir()); nil != err {
|
||||
return
|
||||
}
|
||||
if err = os.MkdirAll(Conf.Repo.GetSaveDir(), 0755); nil != err {
|
||||
return
|
||||
}
|
||||
|
||||
randomBytes := make([]byte, 16)
|
||||
_, err = rand.Read(randomBytes)
|
||||
if nil != err {
|
||||
|
Loading…
Reference in New Issue
Block a user