Selaa lähdekoodia

:art: Improve data snapshot comparison https://github.com/siyuan-note/siyuan/issues/8081

Liang Ding 2 vuotta sitten
vanhempi
commit
a2fae4dce1
2 muutettua tiedostoa jossa 7 lisäystä ja 4 poistoa
  1. 2 1
      kernel/api/repo.go
  2. 5 3
      kernel/model/repository.go

+ 2 - 1
kernel/api/repo.go

@@ -36,7 +36,7 @@ func openRepoSnapshotDoc(c *gin.Context) {
 	}
 
 	id := arg["id"].(string)
-	id, rootID, content, isLargeDoc, err := model.OpenRepoSnapshotDoc(id)
+	id, rootID, content, isLargeDoc, updated, err := model.OpenRepoSnapshotDoc(id)
 	if nil != err {
 		ret.Code = -1
 		ret.Msg = err.Error()
@@ -48,6 +48,7 @@ func openRepoSnapshotDoc(c *gin.Context) {
 		"rootID":     rootID,
 		"content":    content,
 		"isLargeDoc": isLargeDoc,
+		"updated":    updated,
 	}
 }
 

+ 5 - 3
kernel/model/repository.go

@@ -69,7 +69,7 @@ type TypeCount struct {
 	Count int    `json:"count"`
 }
 
-func OpenRepoSnapshotDoc(fileID string) (id, rootID, content string, isLargeDoc bool, err error) {
+func OpenRepoSnapshotDoc(fileID string) (id, rootID, content string, isLargeDoc bool, updated int64, err error) {
 	if 1 > len(Conf.Repo.Key) {
 		err = errors.New(Conf.Language(26))
 		return
@@ -80,7 +80,7 @@ func OpenRepoSnapshotDoc(fileID string) (id, rootID, content string, isLargeDoc
 		return
 	}
 	luteEngine := NewLute()
-	isLargeDoc, snapshotTree, err := parseTreeInSnapshot(fileID, repo, luteEngine)
+	isLargeDoc, snapshotTree, updated, err := parseTreeInSnapshot(fileID, repo, luteEngine)
 	if nil != err {
 		logging.LogErrorf("parse tree from snapshot file [%s] failed", fileID)
 		return
@@ -270,7 +270,7 @@ func parseTitleInSnapshot(fileID string, repo *dejavu.Repo, luteEngine *lute.Lut
 	return
 }
 
-func parseTreeInSnapshot(fileID string, repo *dejavu.Repo, luteEngine *lute.Lute) (isLargeDoc bool, tree *parse.Tree, err error) {
+func parseTreeInSnapshot(fileID string, repo *dejavu.Repo, luteEngine *lute.Lute) (isLargeDoc bool, tree *parse.Tree, updated int64, err error) {
 	file, err := repo.GetFile(fileID)
 	if nil != err {
 		return
@@ -286,6 +286,8 @@ func parseTreeInSnapshot(fileID string, repo *dejavu.Repo, luteEngine *lute.Lute
 	if nil != err {
 		return
 	}
+
+	updated = file.Updated
 	return
 }