[PM-19855] Migrate AuthenticatedDevicesApi and models to network module (#4985)

This commit is contained in:
Patrick Honkonen
2025-04-03 17:34:10 -04:00
committed by GitHub
parent ebdf5f816a
commit 0ea7d00e93
7 changed files with 12 additions and 12 deletions

View File

@@ -1,21 +0,0 @@
package com.x8bit.bitwarden.data.auth.datasource.network.api
import androidx.annotation.Keep
import com.bitwarden.network.model.NetworkResult
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysRequestJson
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysResponseJson
import retrofit2.http.Body
import retrofit2.http.PUT
import retrofit2.http.Path
/**
* Defines raw calls under the /devices API that require authentication.
*/
@Keep
interface AuthenticatedDevicesApi {
@PUT("/devices/{appId}/keys")
suspend fun updateTrustedDeviceKeys(
@Path(value = "appId") appId: String,
@Body request: TrustedDeviceKeysRequestJson,
): NetworkResult<TrustedDeviceKeysResponseJson>
}

View File

@@ -1,14 +0,0 @@
package com.x8bit.bitwarden.data.auth.datasource.network.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
/**
* The request body for trusting a device.
*/
@Serializable
data class TrustedDeviceKeysRequestJson(
@SerialName("EncryptedUserKey") val encryptedUserKey: String,
@SerialName("EncryptedPublicKey") val encryptedDevicePublicKey: String,
@SerialName("EncryptedPrivateKey") val encryptedDevicePrivateKey: String,
)

View File

@@ -1,18 +0,0 @@
package com.x8bit.bitwarden.data.auth.datasource.network.model
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import java.time.ZonedDateTime
/**
* The response body for trusting a device.
*/
@Serializable
data class TrustedDeviceKeysResponseJson(
@SerialName("id") val id: String,
@SerialName("name") val name: String,
@SerialName("identifier") val identifier: String,
@SerialName("type") val type: Int,
@Contextual @SerialName("creationDate") val creationDate: ZonedDateTime,
)

View File

@@ -1,6 +1,6 @@
package com.x8bit.bitwarden.data.auth.datasource.network.service
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysResponseJson
import com.bitwarden.network.model.TrustedDeviceKeysResponseJson
/**
* Provides an API for interacting with the /devices endpoints.

View File

@@ -1,11 +1,11 @@
package com.x8bit.bitwarden.data.auth.datasource.network.service
import com.bitwarden.network.api.AuthenticatedDevicesApi
import com.bitwarden.network.model.TrustedDeviceKeysRequestJson
import com.bitwarden.network.model.TrustedDeviceKeysResponseJson
import com.bitwarden.network.util.base64UrlEncode
import com.bitwarden.network.util.toResult
import com.x8bit.bitwarden.data.auth.datasource.network.api.AuthenticatedDevicesApi
import com.x8bit.bitwarden.data.auth.datasource.network.api.UnauthenticatedDevicesApi
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysRequestJson
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysResponseJson
class DevicesServiceImpl(
private val authenticatedDevicesApi: AuthenticatedDevicesApi,

View File

@@ -1,10 +1,10 @@
package com.x8bit.bitwarden.data.auth.datasource.network.service
import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.network.api.AuthenticatedDevicesApi
import com.bitwarden.network.base.BaseServiceTest
import com.x8bit.bitwarden.data.auth.datasource.network.api.AuthenticatedDevicesApi
import com.bitwarden.network.model.TrustedDeviceKeysResponseJson
import com.x8bit.bitwarden.data.auth.datasource.network.api.UnauthenticatedDevicesApi
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysResponseJson
import kotlinx.coroutines.test.runTest
import okhttp3.mockwebserver.MockResponse
import org.junit.jupiter.api.Assertions.assertEquals

View File

@@ -3,12 +3,12 @@ package com.x8bit.bitwarden.data.auth.manager
import com.bitwarden.core.data.util.asFailure
import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.crypto.TrustDeviceResponse
import com.bitwarden.network.model.TrustedDeviceKeysResponseJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.EnvironmentUrlDataJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
import com.x8bit.bitwarden.data.auth.datasource.disk.util.FakeAuthDiskSource
import com.x8bit.bitwarden.data.auth.datasource.network.model.KdfTypeJson
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceKeysResponseJson
import com.x8bit.bitwarden.data.auth.datasource.network.model.TrustedDeviceUserDecryptionOptionsJson
import com.x8bit.bitwarden.data.auth.datasource.network.model.UserDecryptionOptionsJson
import com.x8bit.bitwarden.data.auth.datasource.network.service.DevicesService