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

69 lines
2.1 KiB
Java
Raw Normal View History

2023-11-28 16:23:56 +01:00
package eu.eudat.service.storage;
import eu.eudat.commons.enums.StorageType;
import eu.eudat.model.StorageFile;
import eu.eudat.model.persist.StorageFilePersist;
import gr.cite.tools.fieldset.FieldSet;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
2023-11-30 12:37:56 +01:00
import java.io.File;
2023-11-28 16:23:56 +01:00
import java.io.IOException;
import java.nio.charset.Charset;
import java.time.Instant;
import java.util.UUID;
public interface StorageFileService extends ApplicationListener<ApplicationReadyEvent> {
StorageFile persistBytes(StorageFilePersist model, byte[] payload, FieldSet fields) throws IOException;
StorageFile persistString(StorageFilePersist model, String payload, FieldSet fields, Charset charset) throws IOException;
boolean moveToStorage(UUID fileId, StorageType storageType);
boolean copyToStorage(UUID fileId, StorageType storageType);
boolean exists(UUID fileId);
boolean fileRefExists(String fileRef, StorageType storageType);
void updatePurgeAt(UUID fileId, Instant purgeAt);
boolean purgeSafe(UUID fileId);
String readAsTextSafe(UUID fileId, Charset charset);
byte[] readAsBytesSafe(UUID fileId);
String readByFileRefAsTextSafe(String fileRef, StorageType storageType, Charset charset);
byte[] readByFileRefAsBytesSafe(String fileRef, StorageType storageType);
2023-11-30 12:37:56 +01:00
byte[] getSemanticsFile();
byte[] getExternalUrlsFile();
byte[] getPidLinksFile();
byte[] getH2020TemplateFile();
byte[] getH2020DescriptionTemplateFile();
byte[] getUserGuide(String language);
void setUserGuide(String language, byte[] payload);
byte[] getAbout(String language);
void setAbout(String language, byte[] payload);
byte[] getTermsOfService(String language);
void setTermsOfService(String language, byte[] payload);
byte[] getGlossary(String language);
void setGlossary(String language, byte[] payload);
byte[] getLanguage(String language);
File getLanguageFileName(String language);
void setLanguage(String language, byte[] payload);
byte[] getFaq(String language);
void setFaq(String language, byte[] payload);
2023-11-28 16:23:56 +01:00
}