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

64 lines
2.2 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;
2024-02-19 16:28:46 +01:00
import eu.eudat.commons.enums.SupportiveMaterialFieldType;
2023-11-28 16:23:56 +01:00
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;
2024-02-06 14:03:49 +01:00
StorageFile moveToStorage(UUID fileId, StorageType storageType, boolean replaceDestination, FieldSet fields);
StorageFile copyToStorage(UUID fileId, StorageType storageType, boolean replaceDestination, FieldSet fields);
2023-11-28 16:23:56 +01:00
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();
2024-02-19 16:28:46 +01:00
byte[] getSupportiveMaterial(SupportiveMaterialFieldType type, String language);
2023-11-30 12:37:56 +01:00
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
}