mirror of
https://github.com/bitwarden/android.git
synced 2026-04-27 11:28:41 -05:00
Move fileUploadType into it's own file (#773)
This commit is contained in:
committed by
Álison Fernandes
parent
96513d74c3
commit
4669682b83
@@ -0,0 +1,23 @@
|
||||
package com.x8bit.bitwarden.data.vault.datasource.network.model
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.serializer.BaseEnumeratedIntSerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Represents the type of file upload that should be used.
|
||||
*/
|
||||
@Serializable(FileUploadTypeSerializer::class)
|
||||
enum class FileUploadType {
|
||||
@SerialName("0")
|
||||
DIRECT,
|
||||
|
||||
@SerialName("1")
|
||||
AZURE,
|
||||
}
|
||||
|
||||
@Keep
|
||||
private class FileUploadTypeSerializer : BaseEnumeratedIntSerializer<FileUploadType>(
|
||||
FileUploadType.entries.toTypedArray(),
|
||||
)
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.x8bit.bitwarden.data.vault.datasource.network.model
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.serializer.BaseEnumeratedIntSerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -18,22 +16,4 @@ data class SendFileResponseJson(
|
||||
|
||||
@SerialName("sendResponse")
|
||||
val sendResponse: SyncResponseJson.Send,
|
||||
) {
|
||||
/**
|
||||
* Represents the type of file upload that should be used.
|
||||
*/
|
||||
@Serializable(FileUploadTypeSerializer::class)
|
||||
enum class FileUploadType {
|
||||
@SerialName("0")
|
||||
DIRECT,
|
||||
|
||||
@SerialName("1")
|
||||
AZURE,
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
private class FileUploadTypeSerializer :
|
||||
BaseEnumeratedIntSerializer<SendFileResponseJson.FileUploadType>(
|
||||
SendFileResponseJson.FileUploadType.entries.toTypedArray(),
|
||||
)
|
||||
)
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.x8bit.bitwarden.data.platform.datasource.network.model.toBitwardenErr
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.util.parseErrorBodyOrNull
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.api.AzureApi
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.api.SendsApi
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.FileUploadType
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendFileResponseJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendJsonRequest
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SyncResponseJson
|
||||
@@ -59,7 +60,7 @@ class SendsServiceImpl(
|
||||
): Result<SyncResponseJson.Send> {
|
||||
val send = sendFileResponse.sendResponse
|
||||
return when (sendFileResponse.fileUploadType) {
|
||||
SendFileResponseJson.FileUploadType.DIRECT -> {
|
||||
FileUploadType.DIRECT -> {
|
||||
sendsApi.uploadFile(
|
||||
sendId = requireNotNull(send.id),
|
||||
fileId = requireNotNull(send.file?.id),
|
||||
@@ -80,7 +81,7 @@ class SendsServiceImpl(
|
||||
)
|
||||
}
|
||||
|
||||
SendFileResponseJson.FileUploadType.AZURE -> {
|
||||
FileUploadType.AZURE -> {
|
||||
azureApi.uploadAzureBlob(
|
||||
url = sendFileResponse.url,
|
||||
date = DateTimeFormatter
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.net.Uri
|
||||
import com.x8bit.bitwarden.data.platform.base.BaseServiceTest
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.api.AzureApi
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.api.SendsApi
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.FileUploadType
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendFileResponseJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendTypeJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateSendResponseJson
|
||||
@@ -53,7 +54,7 @@ class SendsServiceTest : BaseServiceTest() {
|
||||
fun `createFileSend should return the correct response`() = runTest {
|
||||
val response = SendFileResponseJson(
|
||||
url = "www.test.com",
|
||||
fileUploadType = SendFileResponseJson.FileUploadType.AZURE,
|
||||
fileUploadType = FileUploadType.AZURE,
|
||||
sendResponse = createMockSend(number = 1, type = SendTypeJson.FILE),
|
||||
)
|
||||
server.enqueue(MockResponse().setBody(CREATE_FILE_SEND_SUCCESS_JSON))
|
||||
@@ -115,7 +116,7 @@ class SendsServiceTest : BaseServiceTest() {
|
||||
val mockSend = createMockSend(number = 1, type = SendTypeJson.FILE)
|
||||
val sendFileResponse = SendFileResponseJson(
|
||||
url = url,
|
||||
fileUploadType = SendFileResponseJson.FileUploadType.AZURE,
|
||||
fileUploadType = FileUploadType.AZURE,
|
||||
sendResponse = mockSend,
|
||||
)
|
||||
val encryptedFile = byteArrayOf()
|
||||
@@ -134,7 +135,7 @@ class SendsServiceTest : BaseServiceTest() {
|
||||
val mockSend = createMockSend(number = 1, type = SendTypeJson.FILE)
|
||||
val sendFileResponse = SendFileResponseJson(
|
||||
url = "www.test.com",
|
||||
fileUploadType = SendFileResponseJson.FileUploadType.DIRECT,
|
||||
fileUploadType = FileUploadType.DIRECT,
|
||||
sendResponse = mockSend,
|
||||
)
|
||||
val encryptedFile = byteArrayOf()
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.x8bit.bitwarden.data.platform.repository.util.bufferedMutableSharedFl
|
||||
import com.x8bit.bitwarden.data.platform.util.asFailure
|
||||
import com.x8bit.bitwarden.data.platform.util.asSuccess
|
||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.FileUploadType
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendFileResponseJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SendTypeJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.ShareCipherJsonRequest
|
||||
@@ -1944,7 +1945,7 @@ class VaultRepositoryTest {
|
||||
val encryptedByteArray = byteArrayOf(2)
|
||||
val sendFileResponse = SendFileResponseJson(
|
||||
url = url,
|
||||
fileUploadType = SendFileResponseJson.FileUploadType.AZURE,
|
||||
fileUploadType = FileUploadType.AZURE,
|
||||
sendResponse = createMockSend(number = 1, type = SendTypeJson.FILE),
|
||||
)
|
||||
coEvery {
|
||||
@@ -1988,7 +1989,7 @@ class VaultRepositoryTest {
|
||||
val sendResponse = createMockSend(number = 1)
|
||||
val sendFileResponse = SendFileResponseJson(
|
||||
url = url,
|
||||
fileUploadType = SendFileResponseJson.FileUploadType.AZURE,
|
||||
fileUploadType = FileUploadType.AZURE,
|
||||
sendResponse = sendResponse,
|
||||
)
|
||||
val mockSendViewResult = createMockSendView(number = 1)
|
||||
|
||||
Reference in New Issue
Block a user