From ac04425221d25fd5a8fcd5e6db004ff4c2863cb7 Mon Sep 17 00:00:00 2001
From: Houkime <>
Date: Mon, 17 Apr 2023 13:47:49 +0000
Subject: [PATCH] refactor(services): add get_folders() to the rest of the
 services

---
 selfprivacy_api/services/jitsi/__init__.py      | 4 ++++
 selfprivacy_api/services/mailserver/__init__.py | 4 ++++
 selfprivacy_api/services/nextcloud/__init__.py  | 4 ++++
 selfprivacy_api/services/ocserv/__init__.py     | 4 ++++
 selfprivacy_api/services/pleroma/__init__.py    | 4 ++++
 5 files changed, 20 insertions(+)

diff --git a/selfprivacy_api/services/jitsi/__init__.py b/selfprivacy_api/services/jitsi/__init__.py
index f156f5a..60a94b3 100644
--- a/selfprivacy_api/services/jitsi/__init__.py
+++ b/selfprivacy_api/services/jitsi/__init__.py
@@ -115,6 +115,10 @@ class Jitsi(Service):
         storage_usage += get_storage_usage("/var/lib/jitsi-meet")
         return storage_usage
 
+    @staticmethod
+    def get_folders() -> typing.List[str]:
+        return ["/var/lib/jitsi-meet"]
+
     @staticmethod
     def get_drive() -> str:
         return "sda1"
diff --git a/selfprivacy_api/services/mailserver/__init__.py b/selfprivacy_api/services/mailserver/__init__.py
index ed04e73..9c61b7a 100644
--- a/selfprivacy_api/services/mailserver/__init__.py
+++ b/selfprivacy_api/services/mailserver/__init__.py
@@ -100,6 +100,10 @@ class MailServer(Service):
     def get_storage_usage() -> int:
         return get_storage_usage("/var/vmail")
 
+    @staticmethod
+    def get_folders() -> typing.List[str]:
+        return ["/var/vmail", "/var/sieve"]
+
     @staticmethod
     def get_drive() -> str:
         with utils.ReadUserData() as user_data:
diff --git a/selfprivacy_api/services/nextcloud/__init__.py b/selfprivacy_api/services/nextcloud/__init__.py
index 37b4742..eb0f83f 100644
--- a/selfprivacy_api/services/nextcloud/__init__.py
+++ b/selfprivacy_api/services/nextcloud/__init__.py
@@ -122,6 +122,10 @@ class Nextcloud(Service):
         """
         return get_storage_usage("/var/lib/nextcloud")
 
+    @staticmethod
+    def get_folders() -> typing.List[str]:
+        return ["/var/lib/nextcloud"]
+
     @staticmethod
     def get_drive() -> str:
         """Get the name of disk where Nextcloud is installed."""
diff --git a/selfprivacy_api/services/ocserv/__init__.py b/selfprivacy_api/services/ocserv/__init__.py
index bad3ad4..54a4b98 100644
--- a/selfprivacy_api/services/ocserv/__init__.py
+++ b/selfprivacy_api/services/ocserv/__init__.py
@@ -117,5 +117,9 @@ class Ocserv(Service):
     def get_storage_usage() -> int:
         return 0
 
+    @staticmethod
+    def get_folders() -> typing.List[str]:
+        return []
+
     def move_to_volume(self, volume: BlockDevice) -> Job:
         raise NotImplementedError("ocserv service is not movable")
diff --git a/selfprivacy_api/services/pleroma/__init__.py b/selfprivacy_api/services/pleroma/__init__.py
index 2b8c4cb..f3656a6 100644
--- a/selfprivacy_api/services/pleroma/__init__.py
+++ b/selfprivacy_api/services/pleroma/__init__.py
@@ -103,6 +103,10 @@ class Pleroma(Service):
         storage_usage += get_storage_usage("/var/lib/postgresql")
         return storage_usage
 
+    @staticmethod
+    def get_folders() -> typing.List[str]:
+        return ["/var/lib/pleroma", "/var/lib/postgresql"]
+
     @staticmethod
     def get_drive() -> str:
         with ReadUserData() as user_data: