package jnpf.base.controller; import jnpf.base.ActionResult; import jnpf.base.model.uploadedit.UploadEditCommand; import jnpf.base.model.uploadedit.UploadEditContext; import jnpf.base.service.UploadEditDraftService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController @RequestMapping("/UploadEdit") @RequiredArgsConstructor public class UploadEditController { private final UploadEditDraftService service; private final jnpf.base.service.UploadEditTemporaryService temporaryService; @PostMapping("/temporary/begin") public ActionResult> beginTemporary(@RequestBody UploadEditCommand command) { return ActionResult.success(temporaryService.begin(command)); } @PostMapping("/temporary/revision-result") public ActionResult> revisionResult(@RequestBody UploadEditCommand command) { return ActionResult.success(temporaryService.revisionResult(command.getFileId())); } @PostMapping("/temporary/cleanup") public ActionResult cleanupTemporary(@RequestBody UploadEditCommand command) { temporaryService.cleanup(command.getFileId()); return ActionResult.success(true); } @PostMapping("/shared/load") public ActionResult> shared(@RequestBody UploadEditContext context) { return ActionResult.success(service.loadShared(context)); } @PostMapping("/shared/batch") public ActionResult>> sharedBatch(@RequestBody java.util.List contexts) { return ActionResult.success(service.loadSharedBatch(contexts)); } @PostMapping("/shared/watch") public org.springframework.web.context.request.async.DeferredResult> watch(@RequestBody Map request) { return service.watchShared(request.get("token")); } @PostMapping("/heartbeat") public ActionResult heartbeat(@RequestBody UploadEditCommand command) { service.heartbeat(command); return ActionResult.success(true); } @PostMapping("/close") public ActionResult close(@RequestBody UploadEditCommand command) { service.close(command); return ActionResult.success(true); } @PostMapping("/load") public ActionResult> load(@RequestBody UploadEditContext context) { return ActionResult.success(service.load(context)); } @PostMapping("/files") public ActionResult> files(@RequestBody UploadEditCommand command) { return ActionResult.success(service.replace(command)); } @PostMapping("/discard") public ActionResult> discard(@RequestBody UploadEditCommand command) { return ActionResult.success(service.discard(command)); } @PostMapping("/begin") public ActionResult> begin(@RequestBody UploadEditCommand command) { return ActionResult.success(service.begin(command)); } }