diff --git a/api/src/main/java/com/databasir/api/DocumentController.java b/api/src/main/java/com/databasir/api/DocumentController.java index 52f78e2..a050d39 100644 --- a/api/src/main/java/com/databasir/api/DocumentController.java +++ b/api/src/main/java/com/databasir/api/DocumentController.java @@ -1,6 +1,7 @@ package com.databasir.api; import com.databasir.common.JsonData; +import com.databasir.core.diff.data.RootDiff; import com.databasir.core.domain.document.data.DatabaseDocumentResponse; import com.databasir.core.domain.document.data.DatabaseDocumentSimpleResponse; import com.databasir.core.domain.document.data.DatabaseDocumentVersionResponse; @@ -39,6 +40,13 @@ public class DocumentController { return JsonData.ok(); } + @GetMapping(Routes.Document.DIFF) + public JsonData diff(@PathVariable Integer projectId, + @RequestParam(name = "originalVersion") Long originalVersion, + @RequestParam(required = false) Long currentVersion) { + return JsonData.ok(documentService.diff(projectId, originalVersion, currentVersion)); + } + @GetMapping(Routes.Document.GET_ONE) public JsonData getByProjectId(@PathVariable Integer projectId, @RequestParam(required = false) Long version) { diff --git a/api/src/main/java/com/databasir/api/Routes.java b/api/src/main/java/com/databasir/api/Routes.java index c33819c..b700e66 100644 --- a/api/src/main/java/com/databasir/api/Routes.java +++ b/api/src/main/java/com/databasir/api/Routes.java @@ -82,6 +82,8 @@ public interface Routes { String GET_TABLE_DETAIL = BASE + "/projects/{projectId}/documents/{documentId}/table_documents"; + String DIFF = BASE + "/projects/{projectId}/diff_documents"; + String EXPORT = BASE + "/projects/{projectId}/document_files"; } diff --git a/api/src/main/resources/static/css/321.d892cf8e.css b/api/src/main/resources/static/css/321.d892cf8e.css new file mode 100644 index 0000000..d99b812 --- /dev/null +++ b/api/src/main/resources/static/css/321.d892cf8e.css @@ -0,0 +1 @@ +@-webkit-keyframes running-line{to{stroke-dashoffset:-1000}}@keyframes running-line{to{stroke-dashoffset:-1000}}.text{font-size:14px;line-height:1.3rem}.item{margin-top:10px;margin-right:40px}.remark-card{margin-bottom:30px}.remark-header{display:flex;justify-content:space-between;align-items:center}.remark-header .remark-user{color:#6d6d6d}.remark-header .remark-time{color:#6d6d6d;font-size:.8rem;margin-left:10px}.remark-content{white-space:pre-wrap;text-align:left}.badge-item{margin-top:18px;margin-bottom:6px}.h2{font-size:24px;color:#606266;margin-top:13px;margin-bottom:13px}.h2,.h3{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif}.h3{font-size:20px;color:#909399;margin-top:18px;margin-bottom:18px}.removed-item{background-color:#fef0f0!important;color:#f56c6c}.added-item{background-color:#f0f9eb!important;color:#67c23a}.modified-item{background-color:#fdf6ec!important;color:#e6a23c}.modified-original-item{background-color:#fdf6ec!important;color:#a8abb2}.span-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;display:flex;align-items:left;justify-content:space-between;font-size:14px}.doc-toc-aside{overflow-wrap:break-word;text-overflow:ellipsis;bottom:0;top:100px;position:fixed;overflow-y:hidden;overflow-x:hidden;max-width:var(--el-aside-width);width:var(--el-aside-width);border-width:0 1px 0 0;border-color:#ddd;border-style:solid}.doc-toc-aside:hover{overflow-y:auto;scrollbar-width:thin} \ No newline at end of file diff --git a/api/src/main/resources/static/css/907.1437368b.css b/api/src/main/resources/static/css/907.1437368b.css deleted file mode 100644 index 8e248db..0000000 --- a/api/src/main/resources/static/css/907.1437368b.css +++ /dev/null @@ -1 +0,0 @@ -@-webkit-keyframes running-line{to{stroke-dashoffset:-1000}}@keyframes running-line{to{stroke-dashoffset:-1000}}.text{font-size:14px;line-height:1.3rem}.item{margin-top:10px;margin-right:40px}.remark-card{margin-bottom:30px}.remark-header{display:flex;justify-content:space-between;align-items:center}.remark-header .remark-user{color:#6d6d6d}.remark-header .remark-time{color:#6d6d6d;font-size:.8rem;margin-left:10px}.remark-content{white-space:pre-wrap;text-align:left}.span-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;display:flex;align-items:left;justify-content:space-between;font-size:14px}.doc-toc-aside{overflow-wrap:break-word;text-overflow:ellipsis;bottom:0;top:100px;position:fixed;overflow-y:hidden;overflow-x:hidden;max-width:var(--el-aside-width);width:var(--el-aside-width);border-width:0 1px 0 0;border-color:#ddd;border-style:solid}.doc-toc-aside:hover{overflow-y:auto;scrollbar-width:thin} \ No newline at end of file diff --git a/api/src/main/resources/static/index.html b/api/src/main/resources/static/index.html index 5b02826..962944d 100644 --- a/api/src/main/resources/static/index.html +++ b/api/src/main/resources/static/index.html @@ -1 +1 @@ -databasir-frontend
\ No newline at end of file +databasir-frontend
\ No newline at end of file diff --git a/api/src/main/resources/static/js/117-legacy.72d604e3.js b/api/src/main/resources/static/js/117-legacy.f00c6326.js similarity index 99% rename from api/src/main/resources/static/js/117-legacy.72d604e3.js rename to api/src/main/resources/static/js/117-legacy.f00c6326.js index c9c6c23..e081baf 100644 --- a/api/src/main/resources/static/js/117-legacy.72d604e3.js +++ b/api/src/main/resources/static/js/117-legacy.f00c6326.js @@ -1,2 +1,2 @@ (self["webpackChunkdatabasir_frontend"]=self["webpackChunkdatabasir_frontend"]||[]).push([[117],{1589:function(e,t,r){var n=r(7854),a=r(1400),o=r(6244),u=r(6135),l=n.Array,i=Math.max;e.exports=function(e,t,r){for(var n=o(e),c=a(t,n),s=a(void 0===r?n:r,n),d=l(i(s-c,0)),f=0;c