This commit is contained in:
Liang Ding 2022-12-22 10:38:15 +08:00
parent 7a30dea880
commit fecd965dfb
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
3 changed files with 43 additions and 4 deletions

View File

@ -113,6 +113,25 @@ func addRiffCards(c *gin.Context) {
}
}
func renameRiffDeck(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
arg, ok := util.JsonArg(c, ret)
if !ok {
return
}
deckID := arg["deckID"].(string)
name := arg["name"].(string)
err := model.RenameDeck(deckID, name)
if nil != err {
ret.Code = -1
ret.Msg = err.Error()
return
}
}
func createRiffDeck(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)

View File

@ -300,6 +300,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/repo/openRepoSnapshotDoc", model.CheckAuth, openRepoSnapshotDoc)
ginServer.Handle("POST", "/api/riff/createRiffDeck", model.CheckAuth, createRiffDeck)
ginServer.Handle("POST", "/api/riff/renameRiffDeck", model.CheckAuth, renameRiffDeck)
ginServer.Handle("POST", "/api/riff/getRiffDecks", model.CheckAuth, getRiffDecks)
ginServer.Handle("POST", "/api/riff/addRiffCards", model.CheckAuth, addRiffCards)
ginServer.Handle("POST", "/api/riff/removeRiffCards", model.CheckAuth, removeRiffCards)

View File

@ -22,7 +22,6 @@ import (
"strings"
"sync"
"github.com/88250/gulu"
"github.com/88250/lute/ast"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/riff"
@ -106,7 +105,8 @@ func AddFlashcards(deckID string, blockIDs []string) (err error) {
func InitFlashcards() {
riffSavePath := getRiffDir()
if !gulu.File.IsDir(riffSavePath) {
if err := os.MkdirAll(riffSavePath, 0755); nil != err {
logging.LogErrorf("create riff dir [%s] failed: %s", riffSavePath, err)
return
}
@ -125,11 +125,30 @@ func InitFlashcards() {
continue
}
deckLock.Lock()
Decks[deckID] = deck
deckLock.Unlock()
}
}
if 1 > len(Decks) {
deck, createErr := CreateDeck("Default Deck")
if nil == createErr {
Decks[deck.ID] = deck
}
}
}
func RenameDeck(deckID string, name string) (err error) {
deckLock.Lock()
deck := Decks[deckID]
deckLock.Unlock()
deck.Name = name
err = deck.Save()
if nil != err {
logging.LogErrorf("save deck [%s] failed: %s", deckID, err)
return
}
return
}
func CreateDeck(name string) (deck *riff.Deck, err error) {