刘光辉
5 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package jnpf.dms;
 
import jnpf.base.ActionResult;
import jnpf.dmsEntity.permission.form.DocumentCreateForm;
import jnpf.dmsEntity.download.form.DmsWorkflowDownloadAuthorizeForm;
import jnpf.dmsEntity.download.vo.DmsWorkflowDownloadAuthorizationVO;
import jnpf.dmsEntity.print.form.DmsWorkflowPrintAuthorizeForm;
import jnpf.dmsEntity.print.form.DmsWorkflowPrintFilesGrantForm;
import jnpf.dmsEntity.print.vo.DmsWorkflowPrintAuthorizationVO;
import jnpf.dmsEntity.print.vo.DmsWorkflowPrintFilesGrantResultVO;
import jnpf.dmsEntity.permission.form.FileVersionCreateForm;
import jnpf.dmsEntity.permission.form.FolderCreateForm;
import jnpf.dmsEntity.permission.form.DmsPersonalFolderBorrowForm;
import jnpf.dmsEntity.permission.form.DmsPersonalFolderDownloadForm;
import jnpf.dmsEntity.permission.vo.DmsPersonalFolderAddResultVO;
import jnpf.dmsEntity.permission.vo.DmsPermissionResourceVO;
import jnpf.dmsEntity.storage.form.DmsFileLifecycleUpdateForm;
import jnpf.dmsEntity.storage.form.DmsFileRevisionRegisterForm;
import jnpf.dmsEntity.storage.form.DmsFileUploadRegisterForm;
import jnpf.dmsEntity.storage.form.DmsWorkflowFilePrepareForm;
import jnpf.dmsEntity.storage.vo.DmsWorkflowFilePrepareVO;
import jnpf.dmsEntity.storage.form.DmsApprovedRegistrationCallback;
import jnpf.dmsEntity.storage.approval.DmsApprovedBatch;
import jnpf.dmsEntity.storage.form.DmsWorkflowFileActivateForm;
import jnpf.dmsEntity.storage.form.DmsWorkflowRevisionRegisterForm;
import jnpf.dmsEntity.storage.vo.DmsFileLifecycleUpdateVO;
import jnpf.dmsEntity.storage.vo.DmsFileUploadVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
 
@FeignClient(name = "jnpf-dms", path = "/Internal/dms")
public interface DmsResourceApi {
 
    @PostMapping("/file-versions/lifecycle")
    ActionResult<DmsFileLifecycleUpdateVO> updateFileLifecycle(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsFileLifecycleUpdateForm form);
 
    /**
     * Saves the document-version relationships and per-file READ grants
     * approved by a borrowing workflow. A missing file validity means permanent access.
     * Repeating the same request is idempotent.
     */
    @PostMapping("/personal-folders/borrow/files")
    ActionResult<DmsPersonalFolderAddResultVO> addBorrowedFilesToPersonalFolder(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsPersonalFolderBorrowForm form);
 
    /**
     * Saves document-version snapshots and per-file DOWNLOAD grants approved by a workflow.
     * A missing file validity means permanent access. Repeating the request is idempotent.
     */
    @PostMapping("/personal-folders/download/files")
    ActionResult<DmsPersonalFolderAddResultVO> addDownloadedFilesToPersonalFolder(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsPersonalFolderDownloadForm form);
 
    @PostMapping("/workflow-prints/authorize")
    ActionResult<DmsWorkflowPrintAuthorizationVO> authorizeWorkflowPrint(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsWorkflowPrintAuthorizeForm form);
 
    @PostMapping("/workflow-prints/files")
    ActionResult<DmsWorkflowPrintFilesGrantResultVO> grantWorkflowPrintFiles(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsWorkflowPrintFilesGrantForm form);
 
    @PostMapping("/workflow-downloads/authorize")
    ActionResult<DmsWorkflowDownloadAuthorizationVO> authorizeWorkflowDownload(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsWorkflowDownloadAuthorizeForm form);
 
    @PostMapping("/workflow-files/uploads")
    ActionResult<DmsApprovedBatch> registerWorkflowUpload(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsApprovedRegistrationCallback form);
 
    @PostMapping("/workflow-files/revisions")
    ActionResult<DmsFileUploadVO> registerWorkflowRevision(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsWorkflowRevisionRegisterForm form);
 
    @PostMapping("/folders")
    ActionResult<DmsPermissionResourceVO> createFolder(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody FolderCreateForm form);
 
    @PostMapping("/documents")
    ActionResult<DmsPermissionResourceVO> createDocument(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DocumentCreateForm form);
 
    @PostMapping("/file-versions")
    ActionResult<DmsPermissionResourceVO> createFileVersion(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody FileVersionCreateForm form);
 
    @PostMapping("/uploads")
    ActionResult<DmsFileUploadVO> registerUpload(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsFileUploadRegisterForm form);
 
    @PostMapping("/revisions")
    ActionResult<DmsFileUploadVO> registerRevision(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestHeader(value = "X-Audit-Biz-Sign", required = false) String auditBizSign,
            @RequestBody DmsFileRevisionRegisterForm form);
 
    @PostMapping("/workflow-files/prepare")
    ActionResult<DmsWorkflowFilePrepareVO> prepareWorkflowFile(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsWorkflowFilePrepareForm form);
 
    @PostMapping("/workflow-files/activate")
    ActionResult<DmsFileUploadVO> activateWorkflowFile(
            @RequestHeader("X-DMS-Service-Id") String serviceId,
            @RequestBody DmsWorkflowFileActivateForm form);
}