diff --git a/kernel/api/repo.go b/kernel/api/repo.go index d3f4ea984..7ec3fbd9f 100644 --- a/kernel/api/repo.go +++ b/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, } } diff --git a/kernel/model/repository.go b/kernel/model/repository.go index c91abc5a1..6bbad6c9c 100644 --- a/kernel/model/repository.go +++ b/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 }