2023-10-24 14:38:15 +02:00
|
|
|
package eu.eudat.service.description;
|
|
|
|
|
2024-02-06 14:03:49 +01:00
|
|
|
import eu.eudat.data.StorageFileEntity;
|
2023-10-24 14:38:15 +02:00
|
|
|
import eu.eudat.model.Description;
|
2024-03-15 08:39:36 +01:00
|
|
|
import eu.eudat.model.DescriptionValidationResult;
|
2024-02-06 14:03:49 +01:00
|
|
|
import eu.eudat.model.StorageFile;
|
|
|
|
import eu.eudat.model.persist.DescriptionFieldFilePersist;
|
2023-10-24 14:38:15 +02:00
|
|
|
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;
|
2024-02-06 14:03:49 +01:00
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
2023-10-24 14:38:15 +02:00
|
|
|
|
|
|
|
import javax.management.InvalidApplicationException;
|
2023-11-14 12:41:57 +01:00
|
|
|
import java.io.IOException;
|
2024-03-15 08:39:36 +01:00
|
|
|
import java.util.List;
|
2023-10-24 14:38:15 +02:00
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
public interface DescriptionService {
|
|
|
|
|
2024-01-09 15:02:12 +01:00
|
|
|
Description persist(DescriptionPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException;
|
|
|
|
Description persistStatus(DescriptionStatusPersist model, FieldSet fields) throws IOException;
|
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
|
|
|
|
2024-03-15 08:39:36 +01:00
|
|
|
List<DescriptionValidationResult> validate(List<UUID> descriptionIds);
|
|
|
|
|
2024-01-09 15:02:12 +01:00
|
|
|
void clone(UUID dmpId, UUID descriptionId) throws InvalidApplicationException, IOException;
|
2023-11-10 15:13:55 +01:00
|
|
|
|
2023-12-19 17:09:09 +01:00
|
|
|
ResponseEntity<byte[]> export(UUID id, String exportType) throws InvalidApplicationException, IOException;
|
2023-12-18 11:55:19 +01:00
|
|
|
|
2024-02-06 14:03:49 +01:00
|
|
|
StorageFile uploadFieldFile(DescriptionFieldFilePersist model, MultipartFile file, FieldSet fields) throws IOException;
|
|
|
|
StorageFileEntity getFieldFile(UUID descriptionId, UUID storageFileId);
|
2023-10-24 14:38:15 +02:00
|
|
|
}
|