Quellcode durchsuchen

Moved rename methods to repository (refactoring)

Vadik Sirekanyan vor 2 Jahren
Ursprung
Commit
138828fb7a

+ 5 - 0
app/src/main/java/org/sirekanyan/outline/repository/KeyRepository.kt

@@ -3,6 +3,7 @@ package org.sirekanyan.outline.repository
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.map
 import org.sirekanyan.outline.api.OutlineApi
+import org.sirekanyan.outline.api.model.AccessKey
 import org.sirekanyan.outline.api.model.Key
 import org.sirekanyan.outline.api.model.fromEntities
 import org.sirekanyan.outline.api.model.toEntities
@@ -20,4 +21,8 @@ class KeyRepository(private val api: OutlineApi, private val keyDao: KeyDao) {
         keyDao.update(server, keys.toEntities(server))
     }
 
+    suspend fun renameKey(server: ServerEntity, accessKey: AccessKey, newName: String) {
+        api.renameAccessKey(server, accessKey.id, newName)
+    }
+
 }

+ 2 - 1
app/src/main/java/org/sirekanyan/outline/repository/ServerRepository.kt

@@ -29,7 +29,8 @@ class ServerRepository(private val api: OutlineApi) {
         return getCachedServer(server)
     }
 
-    fun clearCache() {
+    suspend fun renameServer(server: ServerEntity, newName: String) {
+        api.renameServer(server, newName)
         cache.clear()
     }
 

+ 1 - 1
app/src/main/java/org/sirekanyan/outline/ui/RenameKeyContent.kt

@@ -8,6 +8,6 @@ import org.sirekanyan.outline.RenameKeyDialog
 fun RenameKeyContent(state: MainState, dialog: RenameKeyDialog) {
     val accessKey = dialog.key.accessKey
     RenameContent(state, "Edit key", accessKey.name, accessKey.defaultName) { newName ->
-        state.api.renameAccessKey(dialog.server, accessKey.id, newName)
+        state.keys.renameKey(dialog.server, accessKey, newName)
     }
 }

+ 1 - 2
app/src/main/java/org/sirekanyan/outline/ui/RenameServerContent.kt

@@ -8,7 +8,6 @@ import org.sirekanyan.outline.api.model.getHost
 @Composable
 fun RenameServerContent(state: MainState, dialog: RenameServerDialog) {
     RenameContent(state, "Edit server", dialog.serverName, dialog.server.getHost()) { newName ->
-        state.api.renameServer(dialog.server, newName)
-        state.servers.clearCache()
+        state.servers.renameServer(dialog.server, newName)
     }
 }