🎨 Add internal kernel API /api/repo/getRepoFile https://github.com/siyuan-note/siyuan/issues/10101

This commit is contained in:
Daniel 2024-01-08 19:47:17 +08:00
parent 2017494493
commit ae2fb32569
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 66 additions and 10 deletions

View file

@ -57,18 +57,25 @@ import (
"github.com/studio-b12/gowebdav"
)
func init() {
subscribeRepoEvents()
}
func GetRepoFile(fileID string) (ret []byte, p string, err error) {
if 1 > len(Conf.Repo.Key) {
err = errors.New(Conf.Language(26))
return
}
type Snapshot struct {
*dejavu.Log
TypesCount []*TypeCount `json:"typesCount"`
}
repo, err := newRepository()
if nil != err {
return
}
type TypeCount struct {
Type string `json:"type"`
Count int `json:"count"`
file, err := repo.GetFile(fileID)
if nil != err {
return
}
ret, err = repo.OpenFile(file)
p = file.Path
return
}
func OpenRepoSnapshotDoc(fileID string) (content string, isProtyleDoc bool, updated int64, err error) {
@ -327,6 +334,16 @@ func parseTreeInSnapshot(data []byte, luteEngine *lute.Lute) (isProtyleDoc bool,
return
}
type Snapshot struct {
*dejavu.Log
TypesCount []*TypeCount `json:"typesCount"`
}
type TypeCount struct {
Type string `json:"type"`
Count int `json:"count"`
}
func GetRepoSnapshots(page int) (ret []*Snapshot, pageCount, totalCount int, err error) {
ret = []*Snapshot{}
if 1 > len(Conf.Repo.Key) {
@ -1570,6 +1587,10 @@ func newRepository() (ret *dejavu.Repo, err error) {
return
}
func init() {
subscribeRepoEvents()
}
func subscribeRepoEvents() {
eventbus.Subscribe(eventbus.EvtIndexBeforeWalkData, func(context map[string]interface{}, path string) {
msg := fmt.Sprintf(Conf.Language(158), path)