mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 03:30:29 +08:00
🎨 增加批量移除本地 kv 存储接口
This commit is contained in:
parent
f36a8721e9
commit
a5d0a6afae
@ -61,6 +61,7 @@ func ServeAPI(ginServer *gin.Engine) {
|
||||
ginServer.Handle("POST", "/api/storage/getLocalStorage", model.CheckAuth, getLocalStorage)
|
||||
ginServer.Handle("POST", "/api/storage/setLocalStorageVal", model.CheckAuth, setLocalStorageVal)
|
||||
ginServer.Handle("POST", "/api/storage/removeLocalStorageVal", model.CheckAuth, model.CheckReadonly, removeLocalStorageVal)
|
||||
ginServer.Handle("POST", "/api/storage/removeLocalStorageVals", model.CheckAuth, model.CheckReadonly, removeLocalStorageVals)
|
||||
ginServer.Handle("POST", "/api/storage/setCriterion", model.CheckAuth, model.CheckReadonly, setCriterion)
|
||||
ginServer.Handle("POST", "/api/storage/getCriteria", model.CheckAuth, getCriteria)
|
||||
ginServer.Handle("POST", "/api/storage/removeCriterion", model.CheckAuth, model.CheckReadonly, removeCriterion)
|
||||
|
@ -95,6 +95,35 @@ func getCriteria(c *gin.Context) {
|
||||
ret.Data = data
|
||||
}
|
||||
|
||||
func removeLocalStorageVals(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
arg, ok := util.JsonArg(c, ret)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
var keys []string
|
||||
keysArg := arg["keys"].([]interface{})
|
||||
for _, key := range keysArg {
|
||||
keys = append(keys, key.(string))
|
||||
}
|
||||
|
||||
err := model.RemoveLocalStorageVals(keys)
|
||||
if nil != err {
|
||||
ret.Code = -1
|
||||
ret.Msg = err.Error()
|
||||
return
|
||||
}
|
||||
|
||||
app := arg["app"].(string)
|
||||
evt := util.NewCmdResult("removeLocalStorageVal", 0, util.PushModeBroadcastMainExcludeSelfApp)
|
||||
evt.AppId = app
|
||||
evt.Data = map[string]interface{}{"keys": keys}
|
||||
util.PushEvent(evt)
|
||||
}
|
||||
|
||||
func removeLocalStorageVal(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
@ -105,7 +134,7 @@ func removeLocalStorageVal(c *gin.Context) {
|
||||
}
|
||||
|
||||
key := arg["key"].(string)
|
||||
err := model.RemoveLocalStorageVal(key)
|
||||
err := model.RemoveLocalStorageVals([]string{key})
|
||||
if nil != err {
|
||||
ret.Code = -1
|
||||
ret.Msg = err.Error()
|
||||
|
@ -286,7 +286,7 @@ func getCriteria() (ret []*Criterion, err error) {
|
||||
|
||||
var localStorageLock = sync.Mutex{}
|
||||
|
||||
func RemoveLocalStorageVal(key string) (err error) {
|
||||
func RemoveLocalStorageVals(keys []string) (err error) {
|
||||
localStorageLock.Lock()
|
||||
defer localStorageLock.Unlock()
|
||||
|
||||
@ -295,7 +295,9 @@ func RemoveLocalStorageVal(key string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
delete(localStorage, key)
|
||||
for _, key := range keys {
|
||||
delete(localStorage, key)
|
||||
}
|
||||
return setLocalStorage(localStorage)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user