aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/StorageService.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2021-10-23 08:09:05 +0300
committerGravatar Vitaly Takmazov2021-10-23 08:10:06 +0300
commit4b96a9b2e71b7a67effdd55b26ca532ff849d0ef (patch)
tree597a9b268622a10b440f3b119c529e624b8fdb62 /src/main/java/com/juick/service/StorageService.java
parent6b31c254b5a7ab6735c625459ba7936d9b2851e6 (diff)
ImagesService -> StorageService
img_path -> storage_path property
Diffstat (limited to 'src/main/java/com/juick/service/StorageService.java')
-rw-r--r--src/main/java/com/juick/service/StorageService.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/com/juick/service/StorageService.java b/src/main/java/com/juick/service/StorageService.java
new file mode 100644
index 00000000..f1f72a60
--- /dev/null
+++ b/src/main/java/com/juick/service/StorageService.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2008-2020, Juick
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package com.juick.service;
+
+import java.io.File;
+import java.io.IOException;
+
+import com.juick.model.Attachment;
+import com.juick.model.Message;
+import com.juick.model.User;
+
+public interface StorageService {
+
+ void setAttachmentMetadata(String baseUrl, Message msg) throws Exception;
+ /**
+ * Move attached image from temp folder to image folder.
+ * Create preview images in corresponding folders.
+ *
+ * @param tempFilename Name of the image file in the temp folder.
+ * @param outputFilename Name that will be used in the image folder.
+ */
+ void saveImageWithPreviews(String tempFilename, String outputFilename) throws IOException;
+ /**
+ * Save new avatar in all required sizes.
+ *
+ * @param tempFilename Name of the image file in the temp folder.
+ * @param user User hat is used to build image file names.
+ */
+ void saveAvatar(String tempFilename, User user) throws IOException;
+
+ public Attachment getAttachment(File imgFile) throws IOException;
+
+ public Attachment getAvatarMetadata(User user) throws IOException;
+
+ String getBaseDirectory();
+
+ String getTemporaryDirectory();
+
+ String getImageDirectory();
+}