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

43 lines
1.9 KiB
Java
Raw Normal View History

package eu.eudat.service.description;
2024-02-06 14:03:49 +01:00
import eu.eudat.data.StorageFileEntity;
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;
import eu.eudat.model.persist.DescriptionPersist;
2024-03-19 16:21:50 +01:00
import eu.eudat.model.persist.DescriptionSectionPermissionResolver;
2023-12-04 17:38:23 +01:00
import eu.eudat.model.persist.DescriptionStatusPersist;
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;
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;
2024-03-19 16:21:50 +01:00
import java.util.Map;
import java.util.UUID;
public interface DescriptionService {
2024-03-19 16:21:50 +01:00
Map<UUID, List<String>> getDescriptionSectionPermissions(DescriptionSectionPermissionResolver model);
Description persist(DescriptionPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException;
2024-01-09 15:02:12 +01:00
Description persistStatus(DescriptionStatusPersist model, FieldSet fields) throws IOException;
2023-11-14 12:41:57 +01:00
void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException, IOException;
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;
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);
}