file-transformer-base/src/main/java/org/opencdmp/filetransformerbase/interfaces/FileTransformerController.java

33 lines
1.3 KiB
Java
Raw Normal View History

2024-04-26 13:21:37 +02:00
package org.opencdmp.filetransformerbase.interfaces;
2023-12-22 09:15:39 +01:00
2024-04-26 13:21:37 +02:00
import org.opencdmp.commonmodels.models.FileEnvelopeModel;
import org.opencdmp.commonmodels.models.description.DescriptionModel;
import org.opencdmp.commonmodels.models.dmp.DmpModel;
2024-03-06 13:42:40 +01:00
import org.springframework.web.bind.annotation.*;
2023-12-22 09:15:39 +01:00
/**
* The RepositoryDeposit interface represents the mechanism of depositing a dmp to any
* repository which mints a persistent digital object identifier (DOI) for each submission,
* which makes the stored dmps easily citeable.
*/
2024-03-06 15:00:50 +01:00
@RequestMapping("/api/file-transformer")
2023-12-22 09:15:39 +01:00
public interface FileTransformerController {
2024-03-06 13:42:40 +01:00
2024-03-06 14:59:10 +01:00
@PostMapping("/export/dmp")
FileEnvelopeModel exportDmp(@RequestBody DmpModel dmpDepositModel, @RequestParam(value = "format",required = false)String format) throws Exception ;
2024-03-06 13:42:40 +01:00
@PostMapping("/export/description")
2024-03-06 14:59:10 +01:00
FileEnvelopeModel exportDescription(@RequestBody DescriptionModel descriptionModel, @RequestParam(value = "format",required = false)String format) throws Exception;
2024-03-06 13:42:40 +01:00
@PostMapping("/import/dmp")
DmpModel importFileToDmp(@RequestBody FileEnvelopeModel fileEnvelope);
@PostMapping("/import/description")
DescriptionModel importFileToDescription(@RequestBody FileEnvelopeModel fileEnvelope);
@GetMapping("/formats")
FileTransformerConfiguration getSupportedFormats();
2023-12-22 09:15:39 +01:00
}