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

49 lines
2.0 KiB
Java

package eu.eudat.file.transformer.controller;
import eu.eudat.file.transformer.interfaces.FileTransformerClient;
import eu.eudat.file.transformer.interfaces.FileTransformerConfiguration;
import eu.eudat.file.transformer.models.description.DescriptionFileTransformerModel;
import eu.eudat.file.transformer.models.dmp.DmpFileTransformerModel;
import eu.eudat.file.transformer.models.misc.FileEnvelope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/file")
public class FileTransformerController {
private final FileTransformerClient fileTransformerExecutor;
@Autowired
public FileTransformerController(FileTransformerClient fileTransformerExecutor) {
this.fileTransformerExecutor = fileTransformerExecutor;
}
@PostMapping("/export/dmp")
public FileEnvelope exportDmp(@RequestBody DmpFileTransformerModel dmpDepositModel) throws Exception {
return fileTransformerExecutor.exportDmp(dmpDepositModel);
}
@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 {
return fileTransformerExecutor.exportDescription(descriptionFileTransformerModel, format);
}
@PostMapping("/import/dmp")
public DmpFileTransformerModel importFileToDmp(@RequestBody FileEnvelope fileEnvelope) {
return fileTransformerExecutor.importDmp(fileEnvelope);
}
@PostMapping("/import/description")
public DescriptionFileTransformerModel importFileToDescription(@RequestBody FileEnvelope fileEnvelope) {
return fileTransformerExecutor.importDescription(fileEnvelope);
}
@GetMapping("/formats")
public FileTransformerConfiguration getSupportedFormats() {
return fileTransformerExecutor.getConfiguration();
}
}