file-transformer-docx/web/src/main/java/eu/eudat/file/transformer/controller/FileTransformerController.java

49 lines
2.0 KiB
Java
Raw Normal View History

2023-12-18 10:05:27 +01:00
package eu.eudat.file.transformer.controller;
2024-01-31 16:49:49 +01:00
import eu.eudat.file.transformer.interfaces.FileTransformerClient;
import eu.eudat.file.transformer.interfaces.FileTransformerConfiguration;
2024-01-25 09:17:44 +01:00
import eu.eudat.file.transformer.models.description.DescriptionFileTransformerModel;
import eu.eudat.file.transformer.models.dmp.DmpFileTransformerModel;
import eu.eudat.file.transformer.models.misc.FileEnvelope;
2023-12-18 10:05:27 +01:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
2023-12-18 10:05:27 +01:00
@RestController
@RequestMapping("/api/file")
public class FileTransformerController {
2024-01-31 16:49:49 +01:00
private final FileTransformerClient fileTransformerExecutor;
2023-12-18 10:05:27 +01:00
@Autowired
2024-01-31 16:49:49 +01:00
public FileTransformerController(FileTransformerClient fileTransformerExecutor) {
2023-12-18 10:05:27 +01:00
this.fileTransformerExecutor = fileTransformerExecutor;
}
@PostMapping("/export/dmp")
2024-01-31 16:49:49 +01:00
public FileEnvelope exportDmp(@RequestBody DmpFileTransformerModel dmpDepositModel) throws Exception {
return fileTransformerExecutor.exportDmp(dmpDepositModel);
2023-12-18 10:05:27 +01:00
}
@PostMapping("/export/description")
public FileEnvelope exportDescription(@RequestBody DescriptionFileTransformerModel descriptionFileTransformerModel, @RequestParam(value = "format",required = false)String format, @RequestParam(value = "descriptionId",required = false) String descriptionId) throws Exception {
2024-01-31 16:49:49 +01:00
return fileTransformerExecutor.exportDescription(descriptionFileTransformerModel, format);
2023-12-18 10:05:27 +01:00
}
@PostMapping("/import/dmp")
public DmpFileTransformerModel importFileToDmp(@RequestBody FileEnvelope fileEnvelope) {
2024-01-31 16:49:49 +01:00
return fileTransformerExecutor.importDmp(fileEnvelope);
2023-12-18 10:05:27 +01:00
}
@PostMapping("/import/description")
public DescriptionFileTransformerModel importFileToDescription(@RequestBody FileEnvelope fileEnvelope) {
2024-01-31 16:49:49 +01:00
return fileTransformerExecutor.importDescription(fileEnvelope);
2023-12-18 10:05:27 +01:00
}
@GetMapping("/formats")
2024-01-31 16:49:49 +01:00
public FileTransformerConfiguration getSupportedFormats() {
return fileTransformerExecutor.getConfiguration();
2023-12-18 10:05:27 +01:00
}
}