package jnpf.dmsController.filecenter; import jnpf.base.ActionResult; import jnpf.dmsEntity.operationlog.vo.DmsFileOperationLogPageVO; import jnpf.dmsEntity.permission.vo.DmsCursorPageVO; import jnpf.dmsEntity.permission.vo.DmsFileCenterItemVO; import jnpf.dmsEntity.permission.vo.DmsFolderTreeNodeVO; import jnpf.dmsService.DmsFileCenterService; import jnpf.dmsService.DmsFileOperationLogService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.UUID; @RestController @RequestMapping @RequiredArgsConstructor public class FileCenterController { private final DmsFileCenterService fileCenterService; private final DmsFileOperationLogService operationLogService; @GetMapping("/folders/tree") public ActionResult> folderTree( @RequestParam(value = "parentId", required = false) UUID parentId, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize) { return ActionResult.success(fileCenterService.folderTree(parentId, cursor, pageSize)); } @GetMapping("/folders/root/children") public ActionResult> rootFolders( @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize) { return ActionResult.success(fileCenterService.rootFolders(cursor, pageSize)); } @GetMapping("/folders/{folderId}/children") public ActionResult> childFolders( @PathVariable("folderId") UUID folderId, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize) { return ActionResult.success(fileCenterService.childFolders(folderId, cursor, pageSize)); } @GetMapping("/folders/{folderId}/documents") public ActionResult> currentDocuments( @PathVariable("folderId") UUID folderId, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize, @RequestParam(value = "keyword", required = false) String keyword) { return ActionResult.success(fileCenterService.currentDocuments(folderId, cursor, pageSize, keyword)); } @GetMapping("/folders/{folderId}/file-name-exists") public ActionResult fileNameExists( @PathVariable("folderId") UUID folderId, @RequestParam("fileName") String fileName, @RequestParam("version") String version) { return ActionResult.success(fileCenterService.fileNameExists(folderId, fileName, version)); } @GetMapping("/folders/{folderId}/historical-versions") public ActionResult> historicalVersions( @PathVariable("folderId") UUID folderId, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize, @RequestParam(value = "keyword", required = false) String keyword) { return ActionResult.success(fileCenterService.historicalVersions(folderId, cursor, pageSize, keyword)); } @GetMapping("/documents/{documentId}/versions") public ActionResult> documentVersions( @PathVariable("documentId") UUID documentId, @RequestParam(value = "center", required = false) String center, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize, @RequestParam(value = "keyword", required = false) String keyword) { return ActionResult.success(fileCenterService.documentVersions( documentId, center, cursor, pageSize, keyword)); } @GetMapping("/file-versions/{fileVersionId}/operation-logs") public ActionResult fileOperationLogs( @PathVariable("fileVersionId") UUID fileVersionId, @RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "currentPage", required = false) Integer currentPage, @RequestParam(value = "pageSize", required = false) Integer pageSize) { return ActionResult.success(operationLogService.page( fileVersionId, keyword, currentPage, pageSize)); } @GetMapping("/shared-documents") public ActionResult> sharedDocuments( @RequestParam(value = "center", required = false) String center, @RequestParam(value = "cursor", required = false) String cursor, @RequestParam(value = "pageSize", required = false) Integer pageSize) { return ActionResult.success(fileCenterService.sharedDocuments(center, cursor, pageSize)); } }