mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-03 14:51:08 +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/getLocalStorage", model.CheckAuth, getLocalStorage)
|
||||||
ginServer.Handle("POST", "/api/storage/setLocalStorageVal", model.CheckAuth, setLocalStorageVal)
|
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/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/setCriterion", model.CheckAuth, model.CheckReadonly, setCriterion)
|
||||||
ginServer.Handle("POST", "/api/storage/getCriteria", model.CheckAuth, getCriteria)
|
ginServer.Handle("POST", "/api/storage/getCriteria", model.CheckAuth, getCriteria)
|
||||||
ginServer.Handle("POST", "/api/storage/removeCriterion", model.CheckAuth, model.CheckReadonly, removeCriterion)
|
ginServer.Handle("POST", "/api/storage/removeCriterion", model.CheckAuth, model.CheckReadonly, removeCriterion)
|
||||||
|
@ -95,6 +95,35 @@ func getCriteria(c *gin.Context) {
|
|||||||
ret.Data = data
|
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) {
|
func removeLocalStorageVal(c *gin.Context) {
|
||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
defer c.JSON(http.StatusOK, ret)
|
defer c.JSON(http.StatusOK, ret)
|
||||||
@ -105,7 +134,7 @@ func removeLocalStorageVal(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
key := arg["key"].(string)
|
key := arg["key"].(string)
|
||||||
err := model.RemoveLocalStorageVal(key)
|
err := model.RemoveLocalStorageVals([]string{key})
|
||||||
if nil != err {
|
if nil != err {
|
||||||
ret.Code = -1
|
ret.Code = -1
|
||||||
ret.Msg = err.Error()
|
ret.Msg = err.Error()
|
||||||
|
@ -286,7 +286,7 @@ func getCriteria() (ret []*Criterion, err error) {
|
|||||||
|
|
||||||
var localStorageLock = sync.Mutex{}
|
var localStorageLock = sync.Mutex{}
|
||||||
|
|
||||||
func RemoveLocalStorageVal(key string) (err error) {
|
func RemoveLocalStorageVals(keys []string) (err error) {
|
||||||
localStorageLock.Lock()
|
localStorageLock.Lock()
|
||||||
defer localStorageLock.Unlock()
|
defer localStorageLock.Unlock()
|
||||||
|
|
||||||
@ -295,7 +295,9 @@ func RemoveLocalStorageVal(key string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(localStorage, key)
|
for _, key := range keys {
|
||||||
|
delete(localStorage, key)
|
||||||
|
}
|
||||||
return setLocalStorage(localStorage)
|
return setLocalStorage(localStorage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user