Переименован пакет

This commit is contained in:
2026-05-18 11:14:43 +03:00
parent a138da2a40
commit c7a08342b2
50 changed files with 153 additions and 152 deletions

View File

@@ -3,7 +3,7 @@ package com.github.nullptroma.wallenc.app.auth
import android.content.Context import android.content.Context
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.ActivityResultLauncher
import com.github.nullptroma.wallenc.infrastructure.vaults.yandex.YandexRegistration import com.github.nullptroma.wallenc.domain.vault.vaults.yandex.YandexRegistration
import com.github.nullptroma.wallenc.vault.contract.CloudBrand import com.github.nullptroma.wallenc.vault.contract.CloudBrand
import com.github.nullptroma.wallenc.vault.contract.RemoteVaultAuthenticator import com.github.nullptroma.wallenc.vault.contract.RemoteVaultAuthenticator
import com.github.nullptroma.wallenc.vault.contract.VaultLinkOutcome import com.github.nullptroma.wallenc.vault.contract.VaultLinkOutcome

View File

@@ -1,12 +1,12 @@
package com.github.nullptroma.wallenc.app.di.modules.data package com.github.nullptroma.wallenc.app.di.modules.data
import android.content.Context import android.content.Context
import com.github.nullptroma.wallenc.infrastructure.db.RoomFactory import com.github.nullptroma.wallenc.domain.vault.db.RoomFactory
import com.github.nullptroma.wallenc.infrastructure.db.app.IAppDb import com.github.nullptroma.wallenc.domain.vault.db.app.IAppDb
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageKeyMapDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageKeyMapDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageMetaInfoDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageMetaInfoDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageSyncGroupDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageSyncGroupDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.YandexAccountDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.YandexAccountDao
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import dagger.hilt.InstallIn import dagger.hilt.InstallIn

View File

@@ -2,24 +2,24 @@ package com.github.nullptroma.wallenc.app.di.modules.data
import android.content.Context import android.content.Context
import com.github.nullptroma.wallenc.app.di.modules.app.IoDispatcher import com.github.nullptroma.wallenc.app.di.modules.app.IoDispatcher
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageKeyMapDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageKeyMapDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageMetaInfoDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageMetaInfoDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageSyncGroupDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageSyncGroupDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.YandexAccountDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.YandexAccountDao
import com.github.nullptroma.wallenc.infrastructure.db.app.repository.StorageKeyMapRepository import com.github.nullptroma.wallenc.domain.vault.db.app.repository.StorageKeyMapRepository
import com.github.nullptroma.wallenc.infrastructure.db.app.repository.StorageMetaInfoRepository import com.github.nullptroma.wallenc.domain.vault.db.app.repository.StorageMetaInfoRepository
import com.github.nullptroma.wallenc.infrastructure.db.app.repository.StorageSyncGroupRepository import com.github.nullptroma.wallenc.domain.vault.db.app.repository.StorageSyncGroupRepository
import com.github.nullptroma.wallenc.infrastructure.db.app.repository.YandexAccountRepository import com.github.nullptroma.wallenc.domain.vault.db.app.repository.YandexAccountRepository
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskApiFactory import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskApiFactory
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository.YandexDiskRepositoryFactory import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository.YandexDiskRepositoryFactory
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.YandexUserInfoApi import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.YandexUserInfoApi
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.YandexUserInfoApiFactory import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.YandexUserInfoApiFactory
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.repository.YandexUserInfoRepository import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.repository.YandexUserInfoRepository
import com.github.nullptroma.wallenc.infrastructure.ports.StorageKeyMapStore import com.github.nullptroma.wallenc.domain.vault.ports.StorageKeyMapStore
import com.github.nullptroma.wallenc.infrastructure.ports.YandexAccountStore import com.github.nullptroma.wallenc.domain.vault.ports.YandexAccountStore
import com.github.nullptroma.wallenc.task.runtime.TaskOrchestrator import com.github.nullptroma.wallenc.task.runtime.TaskOrchestrator
import com.github.nullptroma.wallenc.infrastructure.vaults.VaultsManager import com.github.nullptroma.wallenc.domain.vault.vaults.VaultsManager
import com.github.nullptroma.wallenc.infrastructure.vaults.local.LocalVault import com.github.nullptroma.wallenc.domain.vault.vaults.local.LocalVault
import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager
import com.github.nullptroma.wallenc.domain.interfaces.IStorageSyncGroupStore import com.github.nullptroma.wallenc.domain.interfaces.IStorageSyncGroupStore
import com.github.nullptroma.wallenc.domain.interfaces.IVault import com.github.nullptroma.wallenc.domain.interfaces.IVault

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure package com.github.nullptroma.wallenc.domain.vault
import androidx.test.platform.app.InstrumentationRegistry import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() { fun useAppContext() {
// Context of the app under test. // Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.github.nullptroma.wallenc.infrastructure.test", appContext.packageName) assertEquals("com.github.nullptroma.wallenc.domain.vault.test", appContext.packageName)
} }
} }

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.auth package com.github.nullptroma.wallenc.domain.vault.auth
/** /**
* Scope-ы Яндекс.OAuth, которые нам нужны: только app_folder + disk.info. * Scope-ы Яндекс.OAuth, которые нам нужны: только app_folder + disk.info.

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.model package com.github.nullptroma.wallenc.domain.vault.model
import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey
import java.util.UUID import java.util.UUID

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.model package com.github.nullptroma.wallenc.domain.vault.model
data class YandexAccount( data class YandexAccount(
val vaultUuid: String, val vaultUuid: String,

View File

@@ -1,10 +1,10 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.CustomPropertiesPatchDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.CustomPropertiesPatchDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.DiskInfoDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.DiskInfoDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.LinkDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.LinkDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.OperationStatusDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.OperationStatusDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.ResourceDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.ResourceDto
import okhttp3.ResponseBody import okhttp3.ResponseBody
import retrofit2.Response import retrofit2.Response
import retrofit2.http.Body import retrofit2.http.Body

View File

@@ -1,7 +1,7 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.github.nullptroma.wallenc.infrastructure.ports.YandexAccountStore import com.github.nullptroma.wallenc.domain.vault.ports.YandexAccountStore
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@@ -32,7 +32,7 @@ class YandexDiskApiFactory(
/** /**
* [tokenProvider] вызывается на каждый HTTP-запрос к cloud-api (свежий токен из БД). * [tokenProvider] вызывается на каждый HTTP-запрос к cloud-api (свежий токен из БД).
*/ */
fun createAuthenticatedApi(tokenProvider: () -> String?): YandexDiskApi { fun createAuthenticatedApi(tokenProvider: () -> String?): com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskApi {
val client = OkHttpClient.Builder() val client = OkHttpClient.Builder()
.addInterceptor { chain -> .addInterceptor { chain ->
val token = tokenProvider() val token = tokenProvider()

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk
import java.io.IOException import java.io.IOException

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto
import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto
import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonIgnoreProperties

View File

@@ -1,15 +1,15 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue import com.fasterxml.jackson.module.kotlin.readValue
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskApi import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskApi
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskAuthException import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskAuthException
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.CustomPropertiesPatchDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.CustomPropertiesPatchDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.DiskInfoDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.DiskInfoDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.EmbeddedResourceListDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.EmbeddedResourceListDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.LinkDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.LinkDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.OperationStatusDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.OperationStatusDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.ResourceDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.ResourceDto
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext

View File

@@ -1,6 +1,6 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository package com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskApiFactory import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskApiFactory
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import java.util.UUID import java.util.UUID

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo package com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo
import retrofit2.http.GET import retrofit2.http.GET
import retrofit2.http.Header import retrofit2.http.Header

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo package com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import retrofit2.Retrofit import retrofit2.Retrofit

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo package com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo
import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty

View File

@@ -1,7 +1,7 @@
package com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.repository package com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.repository
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.YandexUserInfoApi import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.YandexUserInfoApi
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.YandexUserInfoDto import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.YandexUserInfoDto
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext

View File

@@ -1,6 +1,7 @@
package com.github.nullptroma.wallenc.infrastructure.ports package com.github.nullptroma.wallenc.domain.vault.ports
import com.github.nullptroma.wallenc.domain.vault.model.StorageKeyMap
import com.github.nullptroma.wallenc.infrastructure.model.StorageKeyMap
interface StorageKeyMapStore { interface StorageKeyMapStore {
suspend fun add(value: StorageKeyMap) suspend fun add(value: StorageKeyMap)

View File

@@ -1,6 +1,6 @@
package com.github.nullptroma.wallenc.infrastructure.ports package com.github.nullptroma.wallenc.domain.vault.ports
import com.github.nullptroma.wallenc.infrastructure.model.YandexAccount import com.github.nullptroma.wallenc.domain.vault.model.YandexAccount
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface YandexAccountStore { interface YandexAccountStore {

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.storages package com.github.nullptroma.wallenc.domain.vault.storages
import com.github.nullptroma.wallenc.infrastructure.model.StorageKeyMap import com.github.nullptroma.wallenc.domain.vault.model.StorageKeyMap
import com.github.nullptroma.wallenc.infrastructure.ports.StorageKeyMapStore import com.github.nullptroma.wallenc.domain.vault.ports.StorageKeyMapStore
import com.github.nullptroma.wallenc.infrastructure.storages.encrypt.EncryptedStorage import com.github.nullptroma.wallenc.domain.vault.storages.encrypt.EncryptedStorage
import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey
import com.github.nullptroma.wallenc.domain.encrypt.Encryptor import com.github.nullptroma.wallenc.domain.encrypt.Encryptor
import com.github.nullptroma.wallenc.domain.interfaces.IStorage import com.github.nullptroma.wallenc.domain.interfaces.IStorage

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.storages.common package com.github.nullptroma.wallenc.domain.vault.storages.common
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.github.nullptroma.wallenc.domain.common.impl.CommonStorageMetaInfo import com.github.nullptroma.wallenc.domain.common.impl.CommonStorageMetaInfo
@@ -54,7 +54,7 @@ abstract class BaseStorage(
/** /**
* Базовая реализация [IStorageAccessor] передаёт UUID полностью; подклассы * Базовая реализация [IStorageAccessor] передаёт UUID полностью; подклассы
* могут переопределить, чтобы сохранить совместимость с уже существующими * могут переопределить, чтобы сохранить совместимость с уже существующими
* именами файлов (например, [com.github.nullptroma.wallenc.infrastructure.storages.encrypt.EncryptedStorage] * именами файлов (например, [com.github.nullptroma.wallenc.domain.vault.storages.encrypt.EncryptedStorage]
* раньше использовал первые 8 символов). * раньше использовал первые 8 символов).
*/ */
protected open fun metaInfoUuidPart(): String = uuid.toString() protected open fun metaInfoUuidPart(): String = uuid.toString()
@@ -123,16 +123,16 @@ abstract class BaseStorage(
.sortedByDescending { it.length } .sortedByDescending { it.length }
val total = paths.size val total = paths.size
if (total == 0) { if (total == 0) {
onProgress(TaskProgress(1f, null))
return@withContext return@withContext
} }
paths.forEachIndexed { index, path -> paths.forEachIndexed { index, path ->
accessor.delete(path) accessor.delete(path)
if (index % PROGRESS_REPORT_INTERVAL == 0 || index == paths.lastIndex) { if (index % PROGRESS_REPORT_INTERVAL == 0 || index == paths.lastIndex) {
val done = index + 1
onProgress( onProgress(
TaskProgress( TaskProgress(
fraction = (index + 1).toFloat() / total, fraction = done.toFloat() / total,
label = null, label = "$done / $total",
), ),
) )
coroutineContext.ensureActive() coroutineContext.ensureActive()

View File

@@ -1,6 +1,6 @@
package com.github.nullptroma.wallenc.infrastructure.storages.encrypt package com.github.nullptroma.wallenc.domain.vault.storages.encrypt
import com.github.nullptroma.wallenc.infrastructure.storages.common.BaseStorage import com.github.nullptroma.wallenc.domain.vault.storages.common.BaseStorage
import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey
import com.github.nullptroma.wallenc.domain.encrypt.Encryptor import com.github.nullptroma.wallenc.domain.encrypt.Encryptor
import com.github.nullptroma.wallenc.domain.interfaces.IStorage import com.github.nullptroma.wallenc.domain.interfaces.IStorage

View File

@@ -1,7 +1,7 @@
package com.github.nullptroma.wallenc.infrastructure.storages.encrypt package com.github.nullptroma.wallenc.domain.vault.storages.encrypt
import com.github.nullptroma.wallenc.infrastructure.utils.CloseHandledStreamExtension.Companion.onClosed import com.github.nullptroma.wallenc.domain.vault.utils.CloseHandledStreamExtension.Companion.onClosed
import com.github.nullptroma.wallenc.infrastructure.utils.CloseHandledStreamExtension.Companion.onClosing import com.github.nullptroma.wallenc.domain.vault.utils.CloseHandledStreamExtension.Companion.onClosing
import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory
import com.github.nullptroma.wallenc.domain.common.impl.CommonFile import com.github.nullptroma.wallenc.domain.common.impl.CommonFile
import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo

View File

@@ -1,6 +1,6 @@
package com.github.nullptroma.wallenc.infrastructure.storages.local package com.github.nullptroma.wallenc.domain.vault.storages.local
import com.github.nullptroma.wallenc.infrastructure.storages.common.BaseStorage import com.github.nullptroma.wallenc.domain.vault.storages.common.BaseStorage
import com.github.nullptroma.wallenc.domain.interfaces.IStorageAccessor import com.github.nullptroma.wallenc.domain.interfaces.IStorageAccessor
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import java.util.UUID import java.util.UUID

View File

@@ -1,9 +1,9 @@
package com.github.nullptroma.wallenc.infrastructure.storages.local package com.github.nullptroma.wallenc.domain.vault.storages.local
import com.fasterxml.jackson.core.JacksonException import com.fasterxml.jackson.core.JacksonException
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue import com.fasterxml.jackson.module.kotlin.readValue
import com.github.nullptroma.wallenc.infrastructure.utils.CloseHandledStreamExtension.Companion.onClosed import com.github.nullptroma.wallenc.domain.vault.utils.CloseHandledStreamExtension.Companion.onClosed
import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory
import com.github.nullptroma.wallenc.domain.common.impl.CommonFile import com.github.nullptroma.wallenc.domain.common.impl.CommonFile
import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.storages.yandex package com.github.nullptroma.wallenc.domain.vault.storages.yandex
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository.YandexDiskRepository import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository.YandexDiskRepository
import com.github.nullptroma.wallenc.infrastructure.storages.common.BaseStorage import com.github.nullptroma.wallenc.domain.vault.storages.common.BaseStorage
import com.github.nullptroma.wallenc.infrastructure.storages.local.LocalStorage import com.github.nullptroma.wallenc.domain.vault.storages.local.LocalStorage
import com.github.nullptroma.wallenc.domain.interfaces.IStorageAccessor import com.github.nullptroma.wallenc.domain.interfaces.IStorageAccessor
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope

View File

@@ -1,11 +1,11 @@
package com.github.nullptroma.wallenc.infrastructure.storages.yandex package com.github.nullptroma.wallenc.domain.vault.storages.yandex
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskAuthException import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskAuthException
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.ResourceDto import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.ResourceDto
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.dto.YandexVaultPersistedStats import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.dto.YandexVaultPersistedStats
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository.YandexDiskRepository import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository.YandexDiskRepository
import com.github.nullptroma.wallenc.infrastructure.utils.CloseHandledStreamExtension.Companion.onClosed import com.github.nullptroma.wallenc.domain.vault.utils.CloseHandledStreamExtension.Companion.onClosed
import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory import com.github.nullptroma.wallenc.domain.common.impl.CommonDirectory
import com.github.nullptroma.wallenc.domain.common.impl.CommonFile import com.github.nullptroma.wallenc.domain.common.impl.CommonFile
import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo import com.github.nullptroma.wallenc.domain.common.impl.CommonMetaInfo

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.utils package com.github.nullptroma.wallenc.domain.vault.utils
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.utils package com.github.nullptroma.wallenc.domain.vault.utils
interface IProvider<T> { interface IProvider<T> {
suspend fun get(): T? suspend fun get(): T?

View File

@@ -1,13 +1,13 @@
package com.github.nullptroma.wallenc.infrastructure.vaults package com.github.nullptroma.wallenc.domain.vault.vaults
import com.github.nullptroma.wallenc.infrastructure.model.YandexAccount import com.github.nullptroma.wallenc.domain.vault.model.YandexAccount
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository.YandexDiskRepositoryFactory import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository.YandexDiskRepositoryFactory
import com.github.nullptroma.wallenc.infrastructure.network.yandexuserinfo.repository.YandexUserInfoRepository import com.github.nullptroma.wallenc.domain.vault.network.yandexuserinfo.repository.YandexUserInfoRepository
import com.github.nullptroma.wallenc.infrastructure.ports.StorageKeyMapStore import com.github.nullptroma.wallenc.domain.vault.ports.StorageKeyMapStore
import com.github.nullptroma.wallenc.infrastructure.ports.YandexAccountStore import com.github.nullptroma.wallenc.domain.vault.ports.YandexAccountStore
import com.github.nullptroma.wallenc.infrastructure.storages.UnlockManager import com.github.nullptroma.wallenc.domain.vault.storages.UnlockManager
import com.github.nullptroma.wallenc.infrastructure.vaults.yandex.YandexRegistration import com.github.nullptroma.wallenc.domain.vault.vaults.yandex.YandexRegistration
import com.github.nullptroma.wallenc.infrastructure.vaults.yandex.YandexVault import com.github.nullptroma.wallenc.domain.vault.vaults.yandex.YandexVault
import com.github.nullptroma.wallenc.domain.interfaces.IStorage import com.github.nullptroma.wallenc.domain.interfaces.IStorage
import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager
import com.github.nullptroma.wallenc.domain.interfaces.IVault import com.github.nullptroma.wallenc.domain.interfaces.IVault

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.vaults.local package com.github.nullptroma.wallenc.domain.vault.vaults.local
import com.github.nullptroma.wallenc.domain.datatypes.StorageEncryptionInfo import com.github.nullptroma.wallenc.domain.datatypes.StorageEncryptionInfo
import com.github.nullptroma.wallenc.domain.interfaces.IStorage import com.github.nullptroma.wallenc.domain.interfaces.IStorage
import com.github.nullptroma.wallenc.infrastructure.storages.local.LocalStorage import com.github.nullptroma.wallenc.domain.vault.storages.local.LocalStorage
import com.github.nullptroma.wallenc.vault.contract.DescribedVault import com.github.nullptroma.wallenc.vault.contract.DescribedVault
import com.github.nullptroma.wallenc.vault.contract.VaultDescriptor import com.github.nullptroma.wallenc.vault.contract.VaultDescriptor
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.vaults.yandex package com.github.nullptroma.wallenc.domain.vault.vaults.yandex
import com.github.nullptroma.wallenc.vault.contract.VaultRegistration import com.github.nullptroma.wallenc.vault.contract.VaultRegistration

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.vaults.yandex package com.github.nullptroma.wallenc.domain.vault.vaults.yandex
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.YandexDiskAuthException import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.YandexDiskAuthException
import com.github.nullptroma.wallenc.infrastructure.network.yandexdisk.repository.YandexDiskRepository import com.github.nullptroma.wallenc.domain.vault.network.yandexdisk.repository.YandexDiskRepository
import com.github.nullptroma.wallenc.infrastructure.storages.yandex.YandexStorage import com.github.nullptroma.wallenc.domain.vault.storages.yandex.YandexStorage
import com.github.nullptroma.wallenc.domain.datatypes.StorageEncryptionInfo import com.github.nullptroma.wallenc.domain.datatypes.StorageEncryptionInfo
import com.github.nullptroma.wallenc.domain.interfaces.IStorage import com.github.nullptroma.wallenc.domain.interfaces.IStorage
import com.github.nullptroma.wallenc.vault.contract.CloudBrand import com.github.nullptroma.wallenc.vault.contract.CloudBrand

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure package com.github.nullptroma.wallenc.domain.vault
import org.junit.Test import org.junit.Test

View File

@@ -4,7 +4,7 @@ plugins {
} }
android { android {
namespace = "com.github.nullptroma.wallenc.infrastructure.android" namespace = "com.github.nullptroma.wallenc.domain.vault.android"
compileSdk = 37 compileSdk = 37
defaultConfig { defaultConfig {

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.db package com.github.nullptroma.wallenc.domain.vault.db
import android.content.Context import android.content.Context
import androidx.room.Room import androidx.room.Room
import com.github.nullptroma.wallenc.infrastructure.db.app.AppDb import com.github.nullptroma.wallenc.domain.vault.db.app.AppDb
class RoomFactory(private val context: Context) { class RoomFactory(private val context: Context) {
fun buildAppDb(): AppDb { fun buildAppDb(): AppDb {

View File

@@ -1,15 +1,15 @@
package com.github.nullptroma.wallenc.infrastructure.db.app package com.github.nullptroma.wallenc.domain.vault.db.app
import androidx.room.Database import androidx.room.Database
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageKeyMapDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageKeyMapDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageMetaInfoDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageMetaInfoDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageSyncGroupDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageSyncGroupDao
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.YandexAccountDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.YandexAccountDao
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageKeyMap import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageKeyMap
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageMetaInfo import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageMetaInfo
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageSyncGroup import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageSyncGroup
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbYandexAccount import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbYandexAccount
interface IAppDb { interface IAppDb {
val storageKeyMapDao: StorageKeyMapDao val storageKeyMapDao: StorageKeyMapDao

View File

@@ -1,11 +1,11 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.dao package com.github.nullptroma.wallenc.domain.vault.db.app.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Delete import androidx.room.Delete
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageKeyMap import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageKeyMap
@Dao @Dao
interface StorageKeyMapDao { interface StorageKeyMapDao {

View File

@@ -1,11 +1,11 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.dao package com.github.nullptroma.wallenc.domain.vault.db.app.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Delete import androidx.room.Delete
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageMetaInfo import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageMetaInfo
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import java.util.UUID import java.util.UUID

View File

@@ -1,10 +1,10 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.dao package com.github.nullptroma.wallenc.domain.vault.db.app.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageSyncGroup import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageSyncGroup
@Dao @Dao
interface StorageSyncGroupDao { interface StorageSyncGroupDao {

View File

@@ -1,9 +1,9 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.dao package com.github.nullptroma.wallenc.domain.vault.db.app.dao
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.Query import androidx.room.Query
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbYandexAccount import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbYandexAccount
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
@Dao @Dao

View File

@@ -1,8 +1,8 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.model package com.github.nullptroma.wallenc.domain.vault.db.app.model
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import com.github.nullptroma.wallenc.infrastructure.model.StorageKeyMap import com.github.nullptroma.wallenc.domain.vault.model.StorageKeyMap
import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey
import java.util.UUID import java.util.UUID

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.model package com.github.nullptroma.wallenc.domain.vault.db.app.model
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.model package com.github.nullptroma.wallenc.domain.vault.db.app.model
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity

View File

@@ -1,4 +1,4 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.model package com.github.nullptroma.wallenc.domain.vault.db.app.model
import androidx.room.Entity import androidx.room.Entity
import androidx.room.Index import androidx.room.Index

View File

@@ -1,9 +1,9 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.repository package com.github.nullptroma.wallenc.domain.vault.db.app.repository
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageKeyMapDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageKeyMapDao
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageKeyMap import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageKeyMap
import com.github.nullptroma.wallenc.infrastructure.model.StorageKeyMap import com.github.nullptroma.wallenc.domain.vault.model.StorageKeyMap
import com.github.nullptroma.wallenc.infrastructure.ports.StorageKeyMapStore import com.github.nullptroma.wallenc.domain.vault.ports.StorageKeyMapStore
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext

View File

@@ -1,9 +1,9 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.repository package com.github.nullptroma.wallenc.domain.vault.db.app.repository
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageMetaInfoDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageMetaInfoDao
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageMetaInfo import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageMetaInfo
import com.github.nullptroma.wallenc.infrastructure.utils.IProvider import com.github.nullptroma.wallenc.domain.vault.utils.IProvider
import com.github.nullptroma.wallenc.domain.common.impl.CommonStorageMetaInfo import com.github.nullptroma.wallenc.domain.common.impl.CommonStorageMetaInfo
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow

View File

@@ -1,11 +1,11 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.repository package com.github.nullptroma.wallenc.domain.vault.db.app.repository
import com.github.nullptroma.wallenc.domain.interfaces.IStorageSyncGroupStore import com.github.nullptroma.wallenc.domain.interfaces.IStorageSyncGroupStore
import com.github.nullptroma.wallenc.domain.interfaces.StorageSyncGroup import com.github.nullptroma.wallenc.domain.interfaces.StorageSyncGroup
import com.github.nullptroma.wallenc.domain.interfaces.StorageSyncGroupEncryptionKind import com.github.nullptroma.wallenc.domain.interfaces.StorageSyncGroupEncryptionKind
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.StorageSyncGroupDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.StorageSyncGroupDao
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbStorageSyncGroup import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbStorageSyncGroup
import com.github.nullptroma.wallenc.infrastructure.utils.IProvider import com.github.nullptroma.wallenc.domain.vault.utils.IProvider
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.util.UUID import java.util.UUID

View File

@@ -1,9 +1,9 @@
package com.github.nullptroma.wallenc.infrastructure.db.app.repository package com.github.nullptroma.wallenc.domain.vault.db.app.repository
import com.github.nullptroma.wallenc.infrastructure.db.app.dao.YandexAccountDao import com.github.nullptroma.wallenc.domain.vault.db.app.dao.YandexAccountDao
import com.github.nullptroma.wallenc.infrastructure.db.app.model.DbYandexAccount import com.github.nullptroma.wallenc.domain.vault.db.app.model.DbYandexAccount
import com.github.nullptroma.wallenc.infrastructure.model.YandexAccount import com.github.nullptroma.wallenc.domain.vault.model.YandexAccount
import com.github.nullptroma.wallenc.infrastructure.ports.YandexAccountStore import com.github.nullptroma.wallenc.domain.vault.ports.YandexAccountStore
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map