argos/dmp-backend/core/src/main/java/eu/eudat/service/dmp/DmpService.java

45 lines
2.5 KiB
Java
Raw Normal View History

package eu.eudat.service.dmp;
2023-10-20 15:48:55 +02:00
2023-10-23 11:51:11 +02:00
import eu.eudat.model.Dmp;
2023-12-04 17:16:57 +01:00
import eu.eudat.model.DmpUser;
import eu.eudat.model.persist.*;
2023-10-23 11:51:11 +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;
import jakarta.xml.bind.JAXBException;
import org.springframework.http.ResponseEntity;
2023-10-23 11:51:11 +02:00
import javax.management.InvalidApplicationException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
2023-11-14 12:41:57 +01:00
import java.io.IOException;
import java.util.List;
2023-10-23 11:51:11 +02:00
import java.util.UUID;
public interface DmpService {
2023-10-20 15:48:55 +02:00
Dmp persist(DmpPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, JAXBException, IOException;
2023-10-23 11:51:11 +02:00
2023-11-14 12:41:57 +01:00
void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException, IOException;
2023-10-23 11:51:11 +02:00
2024-03-15 08:39:36 +01:00
void finalize(UUID id, List<UUID> descriptionIds) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException;
void undoFinalize(UUID id, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException;
2024-01-09 15:02:12 +01:00
Dmp createNewVersion(NewVersionDmpPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, JAXBException, ParserConfigurationException, IOException, TransformerException;
2024-03-04 11:42:14 +01:00
Dmp buildClone(CloneDmpPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, IOException, InvalidApplicationException;
2024-03-19 16:21:50 +01:00
List<DmpUser> assignUsers(UUID dmp, List<DmpUserPersist> model, FieldSet fields, boolean disableDelete) throws InvalidApplicationException, IOException;
2024-01-09 15:02:12 +01:00
Dmp removeUser(DmpUserRemovePersist model, FieldSet fields) throws InvalidApplicationException, IOException;
2024-03-11 14:01:56 +01:00
ResponseEntity<byte[]> export(UUID id, String transformerId, String exportType) throws InvalidApplicationException, IOException;
2024-03-14 10:23:46 +01:00
void inviteUserOrAssignUsers(UUID id, List<DmpUserPersist> users) throws InvalidApplicationException, JAXBException, IOException;
2024-01-09 15:02:12 +01:00
void dmpInvitationAccept(String token) throws InvalidApplicationException, IOException;
}