package jnpf.dmsController.permission; import cn.dev33.satoken.same.SaSameUtil; import jakarta.validation.Valid; import jnpf.base.ActionResult; import jnpf.dmsEntity.permission.form.DocumentCreateForm; import jnpf.dmsEntity.permission.form.FileVersionCreateForm; import jnpf.dmsEntity.permission.form.FolderCreateForm; import jnpf.dmsEntity.permission.vo.DmsPermissionResourceVO; import jnpf.dmsEntity.storage.form.DmsFileRevisionRegisterForm; import jnpf.dmsEntity.storage.form.DmsFileUploadRegisterForm; import jnpf.dmsEntity.storage.vo.DmsFileUploadVO; import jnpf.dmsPermission.DmsTrustedServiceGuard; import jnpf.dmsService.DmsFileRevisionService; import jnpf.dmsService.DmsFileUploadService; import jnpf.dmsService.DmsResourceService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/Internal/dms") @RequiredArgsConstructor public class DmsInternalResourceController { private final DmsTrustedServiceGuard trustedServiceGuard; private final DmsResourceService resourceService; private final DmsFileUploadService fileUploadService; private final DmsFileRevisionService fileRevisionService; @PostMapping("/folders") public ActionResult createFolder( @RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId, @RequestBody @Valid FolderCreateForm form) { SaSameUtil.checkCurrentRequestToken(); String trustedServiceId = trustedServiceGuard.requireAllowed(serviceId); return ActionResult.success(resourceService.createFolder(form, trustedServiceId)); } @PostMapping("/documents") public ActionResult createDocument( @RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId, @RequestBody @Valid DocumentCreateForm form) { SaSameUtil.checkCurrentRequestToken(); String trustedServiceId = trustedServiceGuard.requireAllowed(serviceId); return ActionResult.success(resourceService.createDocument(form, trustedServiceId)); } @PostMapping("/file-versions") public ActionResult createFileVersion( @RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId, @RequestBody @Valid FileVersionCreateForm form) { SaSameUtil.checkCurrentRequestToken(); String trustedServiceId = trustedServiceGuard.requireAllowed(serviceId); return ActionResult.success(resourceService.createFileVersion(form, trustedServiceId)); } @PostMapping("/uploads") public ActionResult registerUpload( @RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId, @RequestBody @Valid DmsFileUploadRegisterForm form) { SaSameUtil.checkCurrentRequestToken(); String trustedServiceId = trustedServiceGuard.requireAllowed(serviceId); return ActionResult.success(fileUploadService.register(form, trustedServiceId)); } @PostMapping("/revisions") public ActionResult registerRevision( @RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId, @RequestBody @Valid DmsFileRevisionRegisterForm form) { SaSameUtil.checkCurrentRequestToken(); String trustedServiceId = trustedServiceGuard.requireAllowed(serviceId); return ActionResult.success(fileRevisionService.register(form, trustedServiceId)); } }