[PM-19849] Move PushApi and PushTokenRequest to network module (#4979)

This commit is contained in:
Patrick Honkonen
2025-04-03 17:18:12 -04:00
committed by GitHub
parent 5017e935d7
commit 85109a2e4b
7 changed files with 10 additions and 10 deletions

View File

@@ -1,18 +0,0 @@
package com.x8bit.bitwarden.data.platform.datasource.network.api
import com.bitwarden.network.model.NetworkResult
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
import retrofit2.http.Body
import retrofit2.http.PUT
import retrofit2.http.Path
/**
* Defines API calls for push tokens.
*/
interface PushApi {
@PUT("/devices/identifier/{appId}/token")
suspend fun putDeviceToken(
@Path("appId") appId: String,
@Body body: PushTokenRequest,
): NetworkResult<Unit>
}

View File

@@ -1,12 +0,0 @@
package com.x8bit.bitwarden.data.platform.datasource.network.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
/**
* Request body needed to PUT a GCM [pushToken] to Bitwarden's server.
*/
@Serializable
data class PushTokenRequest(
@SerialName("pushToken") val pushToken: String,
)

View File

@@ -1,6 +1,6 @@
package com.x8bit.bitwarden.data.platform.datasource.network.service
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
import com.bitwarden.network.model.PushTokenRequest
/**
* Provides an API for push tokens.

View File

@@ -1,8 +1,8 @@
package com.x8bit.bitwarden.data.platform.datasource.network.service
import com.bitwarden.network.api.PushApi
import com.bitwarden.network.model.PushTokenRequest
import com.bitwarden.network.util.toResult
import com.x8bit.bitwarden.data.platform.datasource.network.api.PushApi
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
class PushServiceImpl(
private val pushApi: PushApi,

View File

@@ -2,10 +2,10 @@ package com.x8bit.bitwarden.data.platform.manager
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.core.data.util.decodeFromStringOrNull
import com.bitwarden.network.model.PushTokenRequest
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.repository.util.activeUserIdChangesFlow
import com.x8bit.bitwarden.data.platform.datasource.disk.PushDiskSource
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
import com.x8bit.bitwarden.data.platform.datasource.network.service.PushService
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
import com.x8bit.bitwarden.data.platform.manager.model.BitwardenNotification

View File

@@ -1,8 +1,8 @@
package com.x8bit.bitwarden.data.platform.datasource.network.service
import com.bitwarden.network.api.PushApi
import com.bitwarden.network.base.BaseServiceTest
import com.x8bit.bitwarden.data.platform.datasource.network.api.PushApi
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
import com.bitwarden.network.model.PushTokenRequest
import kotlinx.coroutines.test.runTest
import okhttp3.mockwebserver.MockResponse
import org.junit.jupiter.api.Assertions.assertEquals

View File

@@ -4,6 +4,7 @@ import app.cash.turbine.test
import com.bitwarden.core.data.util.asFailure
import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.core.di.CoreModule
import com.bitwarden.network.model.PushTokenRequest
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountTokensJson
@@ -13,7 +14,6 @@ import com.x8bit.bitwarden.data.platform.base.FakeDispatcherManager
import com.x8bit.bitwarden.data.platform.base.FakeSharedPreferences
import com.x8bit.bitwarden.data.platform.datasource.disk.PushDiskSource
import com.x8bit.bitwarden.data.platform.datasource.disk.PushDiskSourceImpl
import com.x8bit.bitwarden.data.platform.datasource.network.model.PushTokenRequest
import com.x8bit.bitwarden.data.platform.datasource.network.service.PushService
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
import com.x8bit.bitwarden.data.platform.manager.model.NotificationLogoutData