Browse Source

:art: 支持间隔复习 https://github.com/siyuan-note/siyuan/issues/6710

Liang Ding 2 years ago
parent
commit
1c4c0c5192
3 changed files with 19 additions and 0 deletions
  1. 8 0
      kernel/api/riff.go
  2. 1 0
      kernel/api/router.go
  3. 10 0
      kernel/model/flashcard.go

+ 8 - 0
kernel/api/riff.go

@@ -122,3 +122,11 @@ func createRiffDeck(c *gin.Context) {
 		return
 	}
 }
+
+func getRiffDecks(c *gin.Context) {
+	ret := gulu.Ret.NewResult()
+	defer c.JSON(http.StatusOK, ret)
+
+	decks := model.GetDecks()
+	ret.Data = decks
+}

+ 1 - 0
kernel/api/router.go

@@ -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/getRiffDecks", model.CheckAuth, getRiffDecks)
 	ginServer.Handle("POST", "/api/riff/addRiffCard", model.CheckAuth, addRiffCard)
 	ginServer.Handle("POST", "/api/riff/removeRiffCard", model.CheckAuth, removeRiffCard)
 	ginServer.Handle("POST", "/api/riff/getRiffDueCards", model.CheckAuth, getRiffDueCards)

+ 10 - 0
kernel/model/flashcard.go

@@ -144,6 +144,16 @@ func CreateDeck(name string) (err error) {
 	return
 }
 
+func GetDecks() (ret []string) {
+	deckLock.Lock()
+	defer deckLock.Unlock()
+
+	for name := range Decks {
+		ret = append(ret, name)
+	}
+	return
+}
+
 func SaveDeck(name string) (err error) {
 	deckLock.Lock()
 	deck := Decks[name]