diff --git a/kernel/api/riff.go b/kernel/api/riff.go index 41dcb2475..bdc8c065b 100644 --- a/kernel/api/riff.go +++ b/kernel/api/riff.go @@ -76,13 +76,6 @@ func getTreeRiffDueCards(c *gin.Context) { } rootID := arg["rootID"].(string) - err := model.AddTreeFlashcards(rootID) - if nil != err { - ret.Code = -1 - ret.Msg = err.Error() - return - } - cards, err := model.GetTreeDueFlashcards(rootID) if nil != err { ret.Code = -1 diff --git a/kernel/model/flashcard.go b/kernel/model/flashcard.go index 542412b50..084f944cb 100644 --- a/kernel/model/flashcard.go +++ b/kernel/model/flashcard.go @@ -143,9 +143,14 @@ func GetTreeDueFlashcards(rootID string) (ret []*Flashcard, err error) { } blockIDs := map[string]bool{} - for n := tree.Root.FirstChild; nil != n; n = n.Next { + ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus { + if !entering || !n.IsBlock() { + return ast.WalkContinue + } + blockIDs[n.ID] = true - } + return ast.WalkContinue + }) cards := deck.Dues() now := time.Now() @@ -336,19 +341,6 @@ func RemoveFlashcards(deckID string, blockIDs []string) (err error) { return } -func AddTreeFlashcards(rootID string) (err error) { - tree, err := loadTreeByBlockID(rootID) - if nil != err { - return - } - - var blockIDs []string - for n := tree.Root.FirstChild; nil != n; n = n.Next { - blockIDs = append(blockIDs, n.ID) - } - return AddFlashcards(builtinDeckID, blockIDs) -} - func AddFlashcards(deckID string, blockIDs []string) (err error) { deckLock.Lock() defer deckLock.Unlock()