🎨 Support doc/snapshot history for database table view https://github.com/siyuan-note/siyuan/issues/9567

This commit is contained in:
Daniel 2023-11-24 00:07:58 +08:00
parent 27b370133d
commit faeaec707d
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -209,19 +209,19 @@ func RenderRepoSnapshotAttributeView(indexID, avID string) (viewable av.Viewable
} }
if nil == avFile { if nil == avFile {
return attrView = av.NewAttributeView(avID)
} } else {
data, readErr := repo.OpenFile(avFile)
if nil != readErr {
logging.LogErrorf("read attribute view [%s] failed: %s", avID, readErr)
return
}
data, readErr := repo.OpenFile(avFile) attrView = &av.AttributeView{}
if nil != readErr { if err = gulu.JSON.UnmarshalJSON(data, attrView); nil != err {
logging.LogErrorf("read attribute view [%s] failed: %s", avID, readErr) logging.LogErrorf("unmarshal attribute view [%s] failed: %s", avID, err)
return return
} }
attrView = &av.AttributeView{}
if err = gulu.JSON.UnmarshalJSON(data, attrView); nil != err {
logging.LogErrorf("unmarshal attribute view [%s] failed: %s", avID, err)
return
} }
viewable, err = renderAttributeView(attrView) viewable, err = renderAttributeView(attrView)
@ -249,19 +249,22 @@ func RenderHistoryAttributeView(avID, created string) (viewable av.Viewable, att
historyDir := matches[0] historyDir := matches[0]
avJSONPath := filepath.Join(historyDir, "storage", "av", avID+".json") avJSONPath := filepath.Join(historyDir, "storage", "av", avID+".json")
if !gulu.File.IsExist(avJSONPath) { if !gulu.File.IsExist(avJSONPath) {
return avJSONPath = filepath.Join(util.DataDir, "storage", "av", avID+".json")
} }
if !gulu.File.IsExist(avJSONPath) {
attrView = av.NewAttributeView(avID)
} else {
data, readErr := os.ReadFile(avJSONPath)
if nil != readErr {
logging.LogErrorf("read attribute view [%s] failed: %s", avID, readErr)
return
}
data, readErr := os.ReadFile(avJSONPath) attrView = &av.AttributeView{}
if nil != readErr { if err = gulu.JSON.UnmarshalJSON(data, attrView); nil != err {
logging.LogErrorf("read attribute view [%s] failed: %s", avID, readErr) logging.LogErrorf("unmarshal attribute view [%s] failed: %s", avID, err)
return return
} }
attrView = &av.AttributeView{}
if err = gulu.JSON.UnmarshalJSON(data, attrView); nil != err {
logging.LogErrorf("unmarshal attribute view [%s] failed: %s", avID, err)
return
} }
viewable, err = renderAttributeView(attrView) viewable, err = renderAttributeView(attrView)