mirror of
https://github.com/openflocon/Flocon.git
synced 2026-04-30 20:29:33 +00:00
refact: [CORE] add app instance to messages (#153)
* refact: [CORE] add app instance to messages * upgraded schema * old calls are displayed differently --------- Co-authored-by: Florent Champigny <florent@bere.al>
This commit is contained in:
parent
8025553c2f
commit
bdea11321d
47 changed files with 2547 additions and 97 deletions
|
|
@ -24,7 +24,8 @@ class DeviceRemoteDataSourceImpl(
|
|||
it.map {
|
||||
DeviceIdAndPackageNameDomainModel(
|
||||
deviceId = it.deviceId,
|
||||
packageName = it.packageName
|
||||
packageName = it.packageName,
|
||||
appInstance = it.appInstance,
|
||||
)
|
||||
}.toSet()
|
||||
}.distinctUntilChanged()
|
||||
|
|
|
|||
|
|
@ -11,4 +11,5 @@ internal fun FloconIncomingMessageDataModel.toDomain() = FloconIncomingMessageDo
|
|||
method = method,
|
||||
body = body,
|
||||
plugin = plugin,
|
||||
appInstance = appInstance,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -9,9 +9,11 @@ import kotlinx.serialization.Serializable
|
|||
data class FloconDeviceIdAndPackageNameDataModel(
|
||||
val deviceId: DeviceId,
|
||||
val packageName: String,
|
||||
val appInstance: Long,
|
||||
)
|
||||
|
||||
fun DeviceIdAndPackageNameDomainModel.toRemote() = FloconDeviceIdAndPackageNameDataModel(
|
||||
deviceId = deviceId,
|
||||
packageName = packageName,
|
||||
appInstance = appInstance,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ data class FloconIncomingMessageDataModel(
|
|||
val method: String,
|
||||
val appName: String,
|
||||
val appPackageName: String,
|
||||
val appInstance: String,
|
||||
val appInstance: Long,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -60,8 +60,8 @@ class NetworkRemoteDataSourceImpl(
|
|||
)
|
||||
}
|
||||
|
||||
override fun getRequestData(message: FloconIncomingMessageDomainModel): FloconNetworkCallDomainModel? = json.safeDecodeFromString<FloconNetworkRequestDataModel>(message.body)
|
||||
?.let { com.flocon.data.remote.network.mapper.toDomain(it) }
|
||||
override fun getRequestData(message: FloconIncomingMessageDomainModel,): FloconNetworkCallDomainModel? = json.safeDecodeFromString<FloconNetworkRequestDataModel>(message.body)
|
||||
?.let { com.flocon.data.remote.network.mapper.toDomain(it, appInstance = message.appInstance) }
|
||||
|
||||
override fun getCallId(message: FloconIncomingMessageDomainModel): FloconNetworkCallIdDomainModel? = json.safeDecodeFromString<FloconNetworkCallIdDataModel>(message.body)
|
||||
?.let(FloconNetworkCallIdDataModel::toDomain)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.flocon.data.remote.network.models.MockNetworkResponseDataModel
|
|||
import io.github.openflocon.data.core.network.graphql.model.GraphQlExtracted
|
||||
import io.github.openflocon.data.core.network.graphql.model.GraphQlRequestBody
|
||||
import io.github.openflocon.data.core.network.graphql.model.GraphQlResponseBody
|
||||
import io.github.openflocon.domain.device.models.AppInstance
|
||||
import io.github.openflocon.domain.network.models.BadQualityConfigDomainModel
|
||||
import io.github.openflocon.domain.network.models.FloconNetworkCallDomainModel
|
||||
import io.github.openflocon.domain.network.models.MockNetworkDomainModel
|
||||
|
|
@ -40,7 +41,10 @@ fun toRemote(mock: MockNetworkDomainModel): MockNetworkResponseDataModel = MockN
|
|||
)
|
||||
|
||||
@OptIn(ExperimentalUuidApi::class)
|
||||
fun toDomain(decoded: FloconNetworkRequestDataModel): FloconNetworkCallDomainModel? = try {
|
||||
fun toDomain(
|
||||
decoded: FloconNetworkRequestDataModel,
|
||||
appInstance: AppInstance,
|
||||
): FloconNetworkCallDomainModel? = try {
|
||||
val graphQl = extractGraphQl(decoded)
|
||||
|
||||
val callId = decoded.floconCallId!!
|
||||
|
|
@ -65,6 +69,7 @@ fun toDomain(decoded: FloconNetworkRequestDataModel): FloconNetworkCallDomainMod
|
|||
|
||||
FloconNetworkCallDomainModel(
|
||||
callId = callId,
|
||||
appInstance = appInstance,
|
||||
request = request,
|
||||
response = null, // for now it's null
|
||||
)
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ class ServerJvm : Server {
|
|||
val device = FloconDeviceIdAndPackageNameDataModel(
|
||||
deviceId = floconIncomingMessageDataModel.deviceId,
|
||||
packageName = floconIncomingMessageDataModel.appPackageName,
|
||||
appInstance = floconIncomingMessageDataModel.appInstance,
|
||||
)
|
||||
_activeSessions.update {
|
||||
it + (device to currentSession)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue