mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 07:00:12 +01:00
🎨 数据快照对比加入时间标识 https://github.com/siyuan-note/siyuan/issues/6899
This commit is contained in:
parent
6fa661982d
commit
42c09e2fad
6 changed files with 70 additions and 8 deletions
|
|
@ -74,6 +74,8 @@ func diffRepoSnapshots(c *gin.Context) {
|
|||
"updatesLeft": diff.UpdatesLeft,
|
||||
"updatesRight": diff.UpdatesRight,
|
||||
"removesRight": diff.RemovesRight,
|
||||
"left": diff.LeftIndex,
|
||||
"right": diff.RightIndex,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
50
kernel/api/riff.go
Normal file
50
kernel/api/riff.go
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
// SiYuan - Build Your Eternal Digital Garden
|
||||
// Copyright (c) 2020-present, b3log.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/88250/gulu"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/siyuan-note/siyuan/kernel/model"
|
||||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func createRiffDeck(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
arg, ok := util.JsonArg(c, ret)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
id := arg["id"].(string)
|
||||
id, rootID, content, isLargeDoc, err := model.OpenRepoSnapshotDoc(id)
|
||||
if nil != err {
|
||||
ret.Code = -1
|
||||
ret.Msg = err.Error()
|
||||
return
|
||||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"id": id,
|
||||
"rootID": rootID,
|
||||
"content": content,
|
||||
"isLargeDoc": isLargeDoc,
|
||||
}
|
||||
}
|
||||
|
|
@ -299,6 +299,8 @@ func ServeAPI(ginServer *gin.Engine) {
|
|||
ginServer.Handle("POST", "/api/repo/diffRepoSnapshots", model.CheckAuth, diffRepoSnapshots)
|
||||
ginServer.Handle("POST", "/api/repo/openRepoSnapshotDoc", model.CheckAuth, openRepoSnapshotDoc)
|
||||
|
||||
ginServer.Handle("POST", "/api/riff/createRiffDeck", model.CheckAuth, createRiffDeck)
|
||||
|
||||
ginServer.Handle("POST", "/api/notification/pushMsg", model.CheckAuth, pushMsg)
|
||||
ginServer.Handle("POST", "/api/notification/pushErrMsg", model.CheckAuth, pushErrMsg)
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ require (
|
|||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/radovskyb/watcher v1.0.7
|
||||
github.com/shirou/gopsutil/v3 v3.22.11
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221052742-914221eec6f8
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221065751-91ea22509756
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da
|
||||
github.com/siyuan-note/filelock v0.0.0-20221117095924-e1947438a35e
|
||||
|
|
|
|||
|
|
@ -373,8 +373,8 @@ github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1l
|
|||
github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4=
|
||||
github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221052742-914221eec6f8 h1:eQaKK/dh+a/9HX+H5BIGwxj4T3PQphiphrGdyTkSlmQ=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221052742-914221eec6f8/go.mod h1:bemsV89S70xPIoY6CX9SkL3IX6YkCwS8nK09KTKg/S4=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221065751-91ea22509756 h1:lp8ihGlC8Mlqn8zI8CeFzWzoi90EaFTWBuCFUwGC5fg=
|
||||
github.com/siyuan-note/dejavu v0.0.0-20221221065751-91ea22509756/go.mod h1:bemsV89S70xPIoY6CX9SkL3IX6YkCwS8nK09KTKg/S4=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75 h1:Bi7/7f29LW+Fm0cHc0J1NO1cZqyJwljSWVmfOqVZgaE=
|
||||
github.com/siyuan-note/encryption v0.0.0-20220713091850-5ecd92177b75/go.mod h1:H8fyqqAbp9XreANjeSbc72zEdFfKTXYN34tc1TjZwtw=
|
||||
github.com/siyuan-note/eventbus v0.0.0-20220916025349-3ac6e75522da h1:/jNhl7LC+9BhkWvNxuJDdsNfA/2wvfuj9mqWx4CbV90=
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ func OpenRepoSnapshotDoc(fileID string) (id, rootID, content string, isLargeDoc
|
|||
}
|
||||
|
||||
type LeftRightDiff struct {
|
||||
LeftIndex *entity.Index `json:"leftIndex"`
|
||||
RightIndex *entity.Index `json:"rightIndex"`
|
||||
AddsLeft []*DiffFile `json:"addsLeft"`
|
||||
UpdatesLeft []*DiffFile `json:"updatesLeft"`
|
||||
UpdatesRight []*DiffFile `json:"updatesRight"`
|
||||
|
|
@ -155,7 +157,13 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
ret = &LeftRightDiff{}
|
||||
diff.LeftIndex.Files = nil
|
||||
diff.RightIndex.Files = nil
|
||||
|
||||
ret = &LeftRightDiff{
|
||||
LeftIndex: diff.LeftIndex,
|
||||
RightIndex: diff.RightIndex,
|
||||
}
|
||||
luteEngine := NewLute()
|
||||
for _, addLeft := range diff.AddsLeft {
|
||||
title, err := parseTitleInSnapshot(addLeft.ID, repo, luteEngine)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue