2023-10-24 14:38:15 +02:00
|
|
|
package eu.eudat.service.description;
|
|
|
|
|
2023-11-15 16:06:49 +01:00
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
2023-10-24 14:38:15 +02:00
|
|
|
import eu.eudat.model.Description;
|
|
|
|
import eu.eudat.model.persist.DescriptionPersist;
|
2023-12-04 17:38:23 +01:00
|
|
|
import eu.eudat.model.persist.DescriptionStatusPersist;
|
2023-10-24 14:38:15 +02:00
|
|
|
import gr.cite.tools.exception.MyApplicationException;
|
|
|
|
import gr.cite.tools.exception.MyForbiddenException;
|
|
|
|
import gr.cite.tools.exception.MyNotFoundException;
|
|
|
|
import gr.cite.tools.exception.MyValidationException;
|
|
|
|
import gr.cite.tools.fieldset.FieldSet;
|
2023-12-18 11:55:19 +01:00
|
|
|
import org.springframework.http.ResponseEntity;
|
2023-10-24 14:38:15 +02:00
|
|
|
|
|
|
|
import javax.management.InvalidApplicationException;
|
2023-11-14 12:41:57 +01:00
|
|
|
import java.io.IOException;
|
2023-10-24 14:38:15 +02:00
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
public interface DescriptionService {
|
|
|
|
|
2023-11-15 16:06:49 +01:00
|
|
|
Description persist(DescriptionPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, JsonProcessingException;
|
2023-12-04 17:38:23 +01:00
|
|
|
Description persistStatus(DescriptionStatusPersist model, FieldSet fields);
|
2023-10-24 14:38:15 +02:00
|
|
|
|
2023-11-14 12:41:57 +01:00
|
|
|
void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException, IOException;
|
2023-10-24 14:38:15 +02:00
|
|
|
|
2023-11-10 15:13:55 +01:00
|
|
|
void clone(UUID dmpId, UUID descriptionId) throws InvalidApplicationException;
|
|
|
|
|
2023-12-18 11:55:19 +01:00
|
|
|
ResponseEntity<byte[]> export(UUID id, DescriptionServiceImpl.DescriptionExportType exportType) throws InvalidApplicationException, IOException;
|
|
|
|
|
|
|
|
|
2023-10-24 14:38:15 +02:00
|
|
|
}
|