1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

GO-3753 App | Tech | Refact app params and metrics API interaction (#1605)

This commit is contained in:
Mikhail 2024-11-19 12:06:33 +01:00 committed by GitHub
parent d0edde4726
commit 7d616cfff3
Signed by: github
GPG key ID: B5690EEEBB952194
27 changed files with 139 additions and 122 deletions

View file

@ -0,0 +1,35 @@
package com.anytypeio.anytype.app
import android.content.Context
import com.anytypeio.anytype.BuildConfig
import com.anytypeio.anytype.core_models.Command
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
class DefaultInitialParamsProvider(context: Context) : InitialParamsProvider {
override val workDir = context.filesDir.absolutePath
override val defaultLogLevel =
"common.commonspace.headsync=INFO;core.block.editor.spaceview=INFO;*=WARN"
override fun getVersion(): String {
return if (BuildConfig.DEBUG)
BuildConfig.VERSION_NAME + DEV_PREFIX
else {
return BuildConfig.VERSION_NAME
}
}
override fun getPlatform(): String = PLATFORM_NAME
companion object {
const val PLATFORM_NAME = "android"
const val DEV_PREFIX = "-dev"
}
override fun toCommand() = Command.SetInitialParams(
version = getVersion(),
platform = getPlatform(),
workDir = workDir,
defaultLogLevel = defaultLogLevel
)
}

View file

@ -1,21 +0,0 @@
package com.anytypeio.anytype.app
import com.anytypeio.anytype.BuildConfig
import com.anytypeio.anytype.domain.platform.MetricsProvider
class DefaultMetricsProvider : MetricsProvider {
override fun getVersion(): String {
return if (BuildConfig.DEBUG)
BuildConfig.VERSION_NAME + DEV_PREFIX
else {
return BuildConfig.VERSION_NAME
}
}
override fun getPlatform(): String = PLATFORM_NAME
companion object {
const val PLATFORM_NAME = "android"
const val DEV_PREFIX = "-dev"
}
}

View file

@ -15,7 +15,7 @@ import com.anytypeio.anytype.domain.config.UserSettingsRepository
import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.misc.LocaleProvider
import com.anytypeio.anytype.domain.notifications.SystemNotificationService
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.subscriptions.GlobalSubscriptionManager
import com.anytypeio.anytype.domain.theme.GetTheme
import com.anytypeio.anytype.domain.wallpaper.ObserveWallpaper
@ -97,7 +97,7 @@ object MainEntryModule {
authRepository: AuthRepository,
pathProvider: PathProvider,
configStorage: ConfigStorage,
metricsProvider: MetricsProvider,
initialParamsProvider: InitialParamsProvider,
awaitAccountStartManager: AwaitAccountStartManager,
spaceManager: SpaceManager,
settingsRepository: UserSettingsRepository
@ -105,7 +105,7 @@ object MainEntryModule {
repository = authRepository,
pathProvider = pathProvider,
configStorage = configStorage,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
awaitAccountStartManager = awaitAccountStartManager,
spaceManager = spaceManager,
settings = settingsRepository

View file

@ -25,7 +25,7 @@ import com.anytypeio.anytype.domain.misc.UrlBuilder
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
import com.anytypeio.anytype.domain.page.CreateObject
import com.anytypeio.anytype.domain.page.CreateObjectByTypeAndTemplate
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager
import com.anytypeio.anytype.domain.spaces.SpaceDeletedStatusWatcher
import com.anytypeio.anytype.domain.subscriptions.GlobalSubscriptionManager
@ -77,7 +77,7 @@ object SplashModule {
pathProvider: PathProvider,
configStorage: ConfigStorage,
spaceManager: SpaceManager,
metricsProvider: MetricsProvider,
initialParamsProvider: InitialParamsProvider,
userSettings: UserSettingsRepository,
awaitAccountStartManager: AwaitAccountStartManager
): LaunchAccount = LaunchAccount(
@ -85,7 +85,7 @@ object SplashModule {
pathProvider = pathProvider,
configStorage = configStorage,
spaceManager = spaceManager,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
settings = userSettings,
awaitAccountStartManager = awaitAccountStartManager
)
@ -193,7 +193,7 @@ interface SplashDependencies : ComponentDependencies {
fun userSettingsRepository(): UserSettingsRepository
fun dispatchers(): AppCoroutineDispatchers
fun crashReporter(): CrashReporter
fun metricsProvider(): MetricsProvider
fun metricsProvider(): InitialParamsProvider
fun spaceManager(): SpaceManager
fun spaceStatusWatcher(): SpaceDeletedStatusWatcher
fun localeProvider(): LocaleProvider

View file

@ -17,7 +17,7 @@ import com.anytypeio.anytype.domain.debugging.DebugGoroutines
import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.misc.LocaleProvider
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.spaces.SpaceDeletedStatusWatcher
import com.anytypeio.anytype.domain.subscriptions.GlobalSubscriptionManager
import com.anytypeio.anytype.domain.workspace.SpaceManager
@ -87,7 +87,7 @@ interface OnboardingMnemonicLoginDependencies : ComponentDependencies {
fun pathProvider(): PathProvider
fun crashReporter(): CrashReporter
fun configStorage(): ConfigStorage
fun metricsProvider(): MetricsProvider
fun metricsProvider(): InitialParamsProvider
fun spaceStatusWatcher(): SpaceDeletedStatusWatcher
fun localeProvider(): LocaleProvider
fun awaitAccountStartManager(): AwaitAccountStartManager

View file

@ -16,7 +16,7 @@ import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.misc.LocaleProvider
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
import com.anytypeio.anytype.domain.`object`.ImportGetStartedUseCase
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager
import com.anytypeio.anytype.domain.spaces.SpaceDeletedStatusWatcher
import com.anytypeio.anytype.domain.subscriptions.GlobalSubscriptionManager
@ -61,14 +61,14 @@ object OnboardingSoulCreationModule {
fun provideCreateAccountUseCase(
authRepository: AuthRepository,
configStorage: ConfigStorage,
metricsProvider: MetricsProvider,
initialParamsProvider: InitialParamsProvider,
awaitAccountStartManager: AwaitAccountStartManager,
spaceManager: SpaceManager,
dispatchers: AppCoroutineDispatchers
): CreateAccount = CreateAccount(
repository = authRepository,
configStorage = configStorage,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
dispatcher = dispatchers,
awaitAccountStartManager = awaitAccountStartManager,
spaceManager = spaceManager
@ -111,7 +111,7 @@ interface OnboardingSoulCreationDependencies : ComponentDependencies {
fun userSettings(): UserSettingsRepository
fun relationsSubscriptionManager(): RelationsSubscriptionManager
fun pathProvider(): PathProvider
fun metricsProvider(): MetricsProvider
fun metricsProvider(): InitialParamsProvider
fun crashReporter(): CrashReporter
fun spaceManager(): SpaceManager
fun spaceStatusWatcher(): SpaceDeletedStatusWatcher

View file

@ -5,7 +5,7 @@ import android.content.SharedPreferences
import androidx.security.crypto.EncryptedSharedPreferences
import androidx.security.crypto.MasterKeys
import com.anytypeio.anytype.app.DefaultAppActionManager
import com.anytypeio.anytype.app.DefaultMetricsProvider
import com.anytypeio.anytype.app.DefaultInitialParamsProvider
import com.anytypeio.anytype.core_utils.tools.ThreadInfo
import com.anytypeio.anytype.data.auth.repo.AuthCache
import com.anytypeio.anytype.data.auth.repo.AuthCacheDataStore
@ -36,7 +36,7 @@ import com.anytypeio.anytype.domain.misc.AppActionManager
import com.anytypeio.anytype.domain.`object`.ObjectTypesProvider
import com.anytypeio.anytype.domain.objects.DefaultObjectStore
import com.anytypeio.anytype.domain.objects.ObjectStore
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.unsplash.UnsplashRepository
import com.anytypeio.anytype.middleware.EventProxy
import com.anytypeio.anytype.middleware.UnsplashMiddleware
@ -330,7 +330,8 @@ object DataModule {
@JvmStatic
@Provides
@Singleton
fun provideMetricsProvider(): MetricsProvider = DefaultMetricsProvider()
fun provideMetricsProvider(context: Context): InitialParamsProvider =
DefaultInitialParamsProvider(context)
@JvmStatic
@Provides

View file

@ -25,6 +25,14 @@ sealed class Command {
val preferYamuxTransport: Boolean? = null
) : Command()
data class SetInitialParams(
val version: String,
val platform: String,
val workDir: String,
val defaultLogLevel: String
) : Command()
class UploadFile(
val space: SpaceId,
val path: String,
@ -433,7 +441,14 @@ sealed class Command {
val value: Any? = null
)
data class ReplaceFilter(val ctx: Id, val dv: Id, val view: Id, val id: Id, val filter: DVFilter)
data class ReplaceFilter(
val ctx: Id,
val dv: Id,
val view: Id,
val id: Id,
val filter: DVFilter
)
data class RemoveFilter(val ctx: Id, val dv: Id, val view: Id, val ids: List<Id>)
data class AddSort(
@ -493,10 +508,12 @@ sealed class Command {
val name: String,
val nameType: NameServiceNameType
) : Membership()
data class ResolveName(
val name: String,
val nameType: NameServiceNameType
) : Membership()
data class GetPaymentUrl(
val tier: Int,
val paymentMethod: MembershipPaymentMethod,
@ -537,8 +554,8 @@ sealed class Command {
val dependencies: List<ObjectWrapper.Basic>
) {
sealed class Source {
data class Relation(val key: Key): Source()
data class Block(val id: Id): Source()
data class Relation(val key: Key) : Source()
data class Block(val id: Id) : Source()
}
}
}
@ -578,34 +595,39 @@ sealed class Command {
data class AddMessage(
val chat: Id,
val message: Chat.Message
): ChatCommand()
) : ChatCommand()
data class DeleteMessage(
val chat: Id,
val msg: Id
): ChatCommand()
) : ChatCommand()
data class EditMessage(
val chat: Id,
val message: Chat.Message
): ChatCommand()
) : ChatCommand()
data class GetMessages(
val chat: Id,
val beforeMessageId: Id,
val limit: Int
): ChatCommand()
) : ChatCommand()
data class SubscribeLastMessages(
val chat: Id,
val limit: Int
): ChatCommand() {
) : ChatCommand() {
data class Response(
val messages: List<Chat.Message>,
val messageCountBefore: Int
)
}
data class ToggleMessageReaction(
val chat: Id,
val msg: Id,
val emoji: String
): ChatCommand()
) : ChatCommand()
}
/**

View file

@ -78,7 +78,7 @@ class AuthCacheDataStore(private val cache: AuthCache) : AuthDataStore {
throw UnsupportedOperationException()
}
override suspend fun setMetrics(platform: String, version: String) {
override suspend fun setInitialParams(command: Command.SetInitialParams) {
throw UnsupportedOperationException()
}

View file

@ -18,11 +18,8 @@ class AuthDataRepository(
private val debugConfig: DebugConfig
) : AuthRepository {
override suspend fun setMetrics(platform: String, version: String) {
factory.remote.setMetrics(
platform = platform,
version = version
)
override suspend fun setInitialParams(command: Command.SetInitialParams) {
factory.remote.setInitialParams(command = command)
}
override suspend fun selectAccount(

View file

@ -38,7 +38,7 @@ interface AuthDataStore {
suspend fun setCurrentAccount(id: String)
suspend fun getVersion(): String
suspend fun setMetrics(platform: String, version: String)
suspend fun setInitialParams(command: Command.SetInitialParams)
suspend fun getNetworkMode(): NetworkModeConfig
suspend fun setNetworkMode(modeConfig: NetworkModeConfig)

View file

@ -21,5 +21,5 @@ interface AuthRemote {
suspend fun convertWallet(entropy: String): String
suspend fun getVersion(): String
suspend fun setMetrics(platform: String, version: String)
suspend fun setInitialParams(command: Command.SetInitialParams)
}

View file

@ -78,11 +78,8 @@ class AuthRemoteDataStore(
override suspend fun getVersion(): String = authRemote.getVersion()
override suspend fun setMetrics(platform: String, version: String) {
authRemote.setMetrics(
platform = platform,
version = version
)
override suspend fun setInitialParams(command: Command.SetInitialParams) {
authRemote.setInitialParams(command)
}
override suspend fun getNetworkMode(): NetworkModeConfig {

View file

@ -7,7 +7,7 @@ import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
import com.anytypeio.anytype.domain.base.ResultInteractor
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.workspace.SpaceManager
import javax.inject.Inject
@ -18,17 +18,14 @@ open class CreateAccount @Inject constructor(
private val repository: AuthRepository,
// TODO rename config storage
private val configStorage: ConfigStorage,
private val metricsProvider: MetricsProvider,
private val initialParamsProvider: InitialParamsProvider,
private val awaitAccountStartManager: AwaitAccountStartManager,
private val spaceManager: SpaceManager,
dispatcher: AppCoroutineDispatchers
) : ResultInteractor<CreateAccount.Params, Account>(dispatcher.io) {
override suspend fun doWork(params: Params): Account {
repository.setMetrics(
version = metricsProvider.getVersion(),
platform = metricsProvider.getPlatform()
)
repository.setInitialParams(initialParamsProvider.toCommand())
val networkMode = repository.getNetworkMode()

View file

@ -8,7 +8,7 @@ import com.anytypeio.anytype.domain.base.BaseUseCase
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.config.UserSettingsRepository
import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.workspace.SpaceManager
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
@ -22,17 +22,14 @@ class LaunchAccount @Inject constructor(
private val pathProvider: PathProvider,
private val configStorage: ConfigStorage,
private val spaceManager: SpaceManager,
private val metricsProvider: MetricsProvider,
private val initialParamsProvider: InitialParamsProvider,
private val settings: UserSettingsRepository,
private val awaitAccountStartManager: AwaitAccountStartManager,
context: CoroutineContext = Dispatchers.IO
) : BaseUseCase<Id, BaseUseCase.None>(context) {
override suspend fun run(params: None) = safe {
repository.setMetrics(
version = metricsProvider.getVersion(),
platform = metricsProvider.getPlatform()
)
repository.setInitialParams(initialParamsProvider.toCommand())
val networkMode = repository.getNetworkMode()

View file

@ -8,7 +8,7 @@ import com.anytypeio.anytype.domain.base.BaseUseCase
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.config.UserSettingsRepository
import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.workspace.SpaceManager
import javax.inject.Inject
@ -19,7 +19,7 @@ class ResumeAccount @Inject constructor(
private val repository: AuthRepository,
private val pathProvider: PathProvider,
private val configStorage: ConfigStorage,
private val metricsProvider: MetricsProvider,
private val initialParamsProvider: InitialParamsProvider,
private val awaitAccountStartManager: AwaitAccountStartManager,
private val settings: UserSettingsRepository,
private val spaceManager: SpaceManager
@ -28,10 +28,7 @@ class ResumeAccount @Inject constructor(
override suspend fun run(params: None) = proceedWithResuming()
private suspend fun proceedWithResuming() = safe {
repository.setMetrics(
version = metricsProvider.getVersion(),
platform = metricsProvider.getPlatform()
)
repository.setInitialParams(initialParamsProvider.toCommand())
val mnemonic = repository.getMnemonic()
if (mnemonic.isNullOrBlank()) throw IllegalStateException("Mnemonic is empty")
repository.recoverWallet(

View file

@ -7,7 +7,7 @@ import com.anytypeio.anytype.domain.account.AwaitAccountStartManager
import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.base.BaseUseCase
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import javax.inject.Inject
/**
@ -16,15 +16,12 @@ import javax.inject.Inject
class SelectAccount @Inject constructor(
private val repository: AuthRepository,
private val configStorage: ConfigStorage,
private val metricsProvider: MetricsProvider,
private val initialParamsProvider: InitialParamsProvider,
private val awaitAccountStartManager: AwaitAccountStartManager
) : BaseUseCase<StartAccountResult, SelectAccount.Params>() {
override suspend fun run(params: Params) = safe {
repository.setMetrics(
version = metricsProvider.getVersion(),
platform = metricsProvider.getPlatform()
)
repository.setInitialParams(initialParamsProvider.toCommand())
val networkMode = repository.getNetworkMode()

View file

@ -10,7 +10,7 @@ import kotlinx.coroutines.flow.Flow
interface AuthRepository {
suspend fun setMetrics(platform: String, version: String)
suspend fun setInitialParams(command: Command.SetInitialParams)
/**
* Launches an account.

View file

@ -0,0 +1,11 @@
package com.anytypeio.anytype.domain.platform
import com.anytypeio.anytype.core_models.Command
interface InitialParamsProvider {
fun getVersion(): String
fun getPlatform(): String
val workDir: String
val defaultLogLevel: String
fun toCommand(): Command.SetInitialParams
}

View file

@ -1,6 +0,0 @@
package com.anytypeio.anytype.domain.platform
interface MetricsProvider {
fun getVersion(): String
fun getPlatform(): String
}

View file

@ -10,7 +10,7 @@ import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
import com.anytypeio.anytype.domain.common.DefaultCoroutineTestRule
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.workspace.SpaceManager
import com.anytypeio.anytype.test_utils.MockDataFactory
import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -40,7 +40,7 @@ class CreateAccountTest {
lateinit var dispatchers: AppCoroutineDispatchers
@Mock
lateinit var metricsProvider: MetricsProvider
lateinit var initialParamsProvider: InitialParamsProvider
@Mock
lateinit var awaitAccountStartManager: AwaitAccountStartManager
@ -63,7 +63,7 @@ class CreateAccountTest {
createAccount = CreateAccount(
repository = repo,
configStorage = configStorage,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
dispatcher = dispatchers,
awaitAccountStartManager = awaitAccountStartManager,
spaceManager = spaceManager
@ -120,7 +120,7 @@ class CreateAccountTest {
verify(repo, times(1)).createAccount(command)
verify(repo, times(1)).saveAccount(setup.account)
verify(repo, times(1)).setCurrentAccount(setup.account.id)
verify(repo, times(1)).setMetrics(
verify(repo, times(1)).setInitialParams(
platform = platform,
version = version
)
@ -131,7 +131,7 @@ class CreateAccountTest {
}
private fun stubMetricsProvider(version: String, platform: String) {
metricsProvider.stub {
initialParamsProvider.stub {
onBlocking {
getVersion()
} doReturn version

View file

@ -8,7 +8,7 @@ import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.config.UserSettingsRepository
import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.workspace.SpaceManager
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.junit.Before
@ -38,7 +38,7 @@ class ResumeAccountTest {
lateinit var pathProvider: PathProvider
@Mock
lateinit var metricsProvider: MetricsProvider
lateinit var initialParamsProvider: InitialParamsProvider
@Mock
lateinit var awaitAccountStartManager: AwaitAccountStartManager
@ -54,7 +54,7 @@ class ResumeAccountTest {
repository = repo,
configStorage = configStorage,
pathProvider = pathProvider,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
awaitAccountStartManager = awaitAccountStartManager,
spaceManager = spaceManager,
settings = userSettingsRepository

View file

@ -13,7 +13,7 @@ import com.anytypeio.anytype.domain.auth.interactor.SelectAccount
import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.base.Either
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.platform.MetricsProvider
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.test_utils.MockDataFactory
import kotlin.test.assertTrue
import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -42,7 +42,7 @@ class StartAccountTest {
lateinit var configStorage: ConfigStorage
@Mock
lateinit var metricsProvider: MetricsProvider
lateinit var initialParamsProvider: InitialParamsProvider
@Mock
lateinit var awaitAccountStartManager: AwaitAccountStartManager
@ -60,7 +60,7 @@ class StartAccountTest {
selectAccount = SelectAccount(
repository = repo,
configStorage = configStorage,
metricsProvider = metricsProvider,
initialParamsProvider = initialParamsProvider,
awaitAccountStartManager = awaitAccountStartManager
)
}
@ -125,7 +125,7 @@ class StartAccountTest {
verify(repo, times(1)).setCurrentAccount(account.id)
verify(repo, times(1)).setMetrics(
verify(repo, times(1)).setInitialParams(
platform = platform,
version = version
)
@ -360,7 +360,7 @@ class StartAccountTest {
}
private fun stubMetricsProvider(version: String, platform: String) {
metricsProvider.stub {
initialParamsProvider.stub {
onBlocking {
getVersion()
} doReturn version

View file

@ -72,10 +72,7 @@ class AuthMiddleware(
return middleware.versionGet().version
}
override suspend fun setMetrics(platform: String, version: String) {
middleware.metricsSetParameters(
platform = platform,
version = version
)
override suspend fun setInitialParams(command: Command.SetInitialParams) {
middleware.metricsSetParameters(command)
}
}

View file

@ -1581,15 +1581,16 @@ class Middleware @Inject constructor(
@Throws(Exception::class)
fun metricsSetParameters(
platform: String,
version: String
command: Command.SetInitialParams
) {
val request = Rpc.Initial.SetParameters.Request(
platform = platform,
version = version
platform = command.platform,
version = command.version,
logLevel = command.defaultLogLevel,
workdir = command.workDir
)
logRequestIfDebug(request)
val (response, time) = measureTimedValue { service.metricsSetParameters(request) }
val (response, time) = measureTimedValue { service.setInitialParams(request) }
logResponseIfDebug(response, time)
}

View file

@ -10,7 +10,7 @@ interface MiddlewareService {
//region APP commands
@Throws(Exception::class)
fun metricsSetParameters(request: Rpc.Initial.SetParameters.Request): Rpc.Initial.SetParameters.Response
fun setInitialParams(request: Rpc.Initial.SetParameters.Request): Rpc.Initial.SetParameters.Response
@Throws(Exception::class)
fun versionGet(request: Rpc.App.GetVersion.Request): Rpc.App.GetVersion.Response

View file

@ -18,12 +18,6 @@ class MiddlewareServiceImplementation @Inject constructor(
featureToggles: FeatureToggles
) : MiddlewareService {
init {
if (!featureToggles.isLogFromGoProcess) {
Service.setEnv("ANYTYPE_LOG_LEVEL", "*=fatal;anytype*=error")
}
}
override fun accountCreate(request: Rpc.Account.Create.Request): Rpc.Account.Create.Response {
val encoded = Service.accountCreate(Rpc.Account.Create.Request.ADAPTER.encode(request))
val response = Rpc.Account.Create.Response.ADAPTER.decode(encoded)
@ -1156,8 +1150,9 @@ class MiddlewareServiceImplementation @Inject constructor(
}
}
override fun metricsSetParameters(request: Rpc.Initial.SetParameters.Request): Rpc.Initial.SetParameters.Response {
val encoded = Service.initialSetParameters(Rpc.Initial.SetParameters.Request.ADAPTER.encode(request))
override fun setInitialParams(request: Rpc.Initial.SetParameters.Request): Rpc.Initial.SetParameters.Response {
val encoded =
Service.initialSetParameters(Rpc.Initial.SetParameters.Request.ADAPTER.encode(request))
val response = Rpc.Initial.SetParameters.Response.ADAPTER.decode(encoded)
val error = response.error
if (error != null && error.code != Rpc.Initial.SetParameters.Response.Error.Code.NULL) {