This commit is contained in:
Liang Ding 2022-12-23 16:19:36 +08:00
parent 2b451eddad
commit 7ef54b0f8f
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
3 changed files with 37 additions and 1 deletions

View file

@ -153,6 +153,24 @@ func renameRiffDeck(c *gin.Context) {
}
}
func removeRiffDeck(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)
err := model.RemoveDeck(deckID)
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

@ -301,6 +301,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/riff/createRiffDeck", model.CheckAuth, createRiffDeck)
ginServer.Handle("POST", "/api/riff/renameRiffDeck", model.CheckAuth, renameRiffDeck)
ginServer.Handle("POST", "/api/riff/removeRiffDeck", model.CheckAuth, removeRiffDeck)
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

@ -293,6 +293,8 @@ func InitFlashcards() {
return
}
Decks = map[string]*riff.Deck{}
entries, err := os.ReadDir(riffSavePath)
if nil != err {
logging.LogErrorf("read riff dir failed: %s", err)
@ -320,7 +322,7 @@ func InitFlashcards() {
}
}
func RenameDeck(deckID string, name string) (err error) {
func RenameDeck(deckID, name string) (err error) {
deckLock.Lock()
deck := Decks[deckID]
deckLock.Unlock()
@ -334,6 +336,21 @@ func RenameDeck(deckID string, name string) (err error) {
return
}
func RemoveDeck(deckID string) (err error) {
riffSavePath := getRiffDir()
deckPath := filepath.Join(riffSavePath, deckID+".deck")
if err = os.Remove(deckPath); nil != err {
return
}
cardsPath := filepath.Join(riffSavePath, deckID+".cards")
if err = os.Remove(cardsPath); nil != err {
return
}
InitFlashcards()
return
}
func CreateDeck(name string) (deck *riff.Deck, err error) {
riffSavePath := getRiffDir()
deckID := ast.NewNodeID()