mirror of
https://github.com/bitwarden/android.git
synced 2025-12-11 04:39:19 -06:00
[PM-20192] Migrate CiphersService to network module (#5052)
This commit is contained in:
parent
83de8b888d
commit
2d416eade5
@ -1,10 +1,10 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.di
|
package com.x8bit.bitwarden.data.vault.datasource.network.di
|
||||||
|
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
|
import com.bitwarden.network.service.CiphersServiceImpl
|
||||||
import com.bitwarden.network.service.FolderService
|
import com.bitwarden.network.service.FolderService
|
||||||
import com.bitwarden.network.service.FolderServiceImpl
|
import com.bitwarden.network.service.FolderServiceImpl
|
||||||
import com.x8bit.bitwarden.data.platform.datasource.network.retrofit.Retrofits
|
import com.x8bit.bitwarden.data.platform.datasource.network.retrofit.Retrofits
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersServiceImpl
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadServiceImpl
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadServiceImpl
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
||||||
|
|||||||
@ -9,6 +9,8 @@ import com.bitwarden.network.model.AttachmentJsonResponse
|
|||||||
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
||||||
import com.bitwarden.network.model.ShareCipherJsonRequest
|
import com.bitwarden.network.model.ShareCipherJsonRequest
|
||||||
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
||||||
|
import com.bitwarden.network.model.UpdateCipherResponseJson
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.bitwarden.vault.AttachmentView
|
import com.bitwarden.vault.AttachmentView
|
||||||
import com.bitwarden.vault.Cipher
|
import com.bitwarden.vault.Cipher
|
||||||
import com.bitwarden.vault.CipherView
|
import com.bitwarden.vault.CipherView
|
||||||
@ -16,8 +18,6 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
|||||||
import com.x8bit.bitwarden.data.platform.error.NoActiveUserException
|
import com.x8bit.bitwarden.data.platform.error.NoActiveUserException
|
||||||
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateCipherResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
import com.x8bit.bitwarden.data.vault.manager.model.DownloadResult
|
import com.x8bit.bitwarden.data.vault.manager.model.DownloadResult
|
||||||
import com.x8bit.bitwarden.data.vault.repository.model.CreateAttachmentResult
|
import com.x8bit.bitwarden.data.vault.repository.model.CreateAttachmentResult
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.x8bit.bitwarden.data.vault.manager.di
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.bitwarden.data.manager.DispatcherManager
|
import com.bitwarden.data.manager.DispatcherManager
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
||||||
import com.x8bit.bitwarden.data.auth.datasource.sdk.AuthSdkSource
|
import com.x8bit.bitwarden.data.auth.datasource.sdk.AuthSdkSource
|
||||||
import com.x8bit.bitwarden.data.auth.manager.TrustedDeviceManager
|
import com.x8bit.bitwarden.data.auth.manager.TrustedDeviceManager
|
||||||
@ -10,7 +11,6 @@ import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
|||||||
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
||||||
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
|
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.DownloadService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
import com.x8bit.bitwarden.data.vault.manager.CipherManager
|
import com.x8bit.bitwarden.data.vault.manager.CipherManager
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import com.bitwarden.exporters.ExportFormat
|
|||||||
import com.bitwarden.fido.Fido2CredentialAutofillView
|
import com.bitwarden.fido.Fido2CredentialAutofillView
|
||||||
import com.bitwarden.network.model.SyncResponseJson
|
import com.bitwarden.network.model.SyncResponseJson
|
||||||
import com.bitwarden.network.model.UpdateFolderResponseJson
|
import com.bitwarden.network.model.UpdateFolderResponseJson
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.bitwarden.network.service.FolderService
|
import com.bitwarden.network.service.FolderService
|
||||||
import com.bitwarden.network.util.isNoConnectionError
|
import com.bitwarden.network.util.isNoConnectionError
|
||||||
import com.bitwarden.sdk.Fido2CredentialStore
|
import com.bitwarden.sdk.Fido2CredentialStore
|
||||||
@ -52,7 +53,6 @@ import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
|||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateFileSendResponse
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateFileSendResponse
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateSendJsonResponse
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateSendJsonResponse
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateSendResponseJson
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateSendResponseJson
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.repository.di
|
package com.x8bit.bitwarden.data.vault.repository.di
|
||||||
|
|
||||||
import com.bitwarden.data.manager.DispatcherManager
|
import com.bitwarden.data.manager.DispatcherManager
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.bitwarden.network.service.FolderService
|
import com.bitwarden.network.service.FolderService
|
||||||
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
||||||
import com.x8bit.bitwarden.data.auth.manager.UserLogoutManager
|
import com.x8bit.bitwarden.data.auth.manager.UserLogoutManager
|
||||||
@ -9,7 +10,6 @@ import com.x8bit.bitwarden.data.platform.manager.DatabaseSchemeManager
|
|||||||
import com.x8bit.bitwarden.data.platform.manager.PushManager
|
import com.x8bit.bitwarden.data.platform.manager.PushManager
|
||||||
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
|
|||||||
@ -9,11 +9,13 @@ import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
|||||||
import com.bitwarden.network.model.ShareCipherJsonRequest
|
import com.bitwarden.network.model.ShareCipherJsonRequest
|
||||||
import com.bitwarden.network.model.SyncResponseJson
|
import com.bitwarden.network.model.SyncResponseJson
|
||||||
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
||||||
|
import com.bitwarden.network.model.UpdateCipherResponseJson
|
||||||
import com.bitwarden.network.model.createMockAttachment
|
import com.bitwarden.network.model.createMockAttachment
|
||||||
import com.bitwarden.network.model.createMockAttachmentJsonResponse
|
import com.bitwarden.network.model.createMockAttachmentJsonResponse
|
||||||
import com.bitwarden.network.model.createMockAttachmentResponse
|
import com.bitwarden.network.model.createMockAttachmentResponse
|
||||||
import com.bitwarden.network.model.createMockCipher
|
import com.bitwarden.network.model.createMockCipher
|
||||||
import com.bitwarden.network.model.createMockCipherJsonRequest
|
import com.bitwarden.network.model.createMockCipherJsonRequest
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.bitwarden.vault.Attachment
|
import com.bitwarden.vault.Attachment
|
||||||
import com.bitwarden.vault.AttachmentView
|
import com.bitwarden.vault.AttachmentView
|
||||||
import com.bitwarden.vault.Cipher
|
import com.bitwarden.vault.Cipher
|
||||||
@ -24,8 +26,6 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.util.FakeAuthDiskSource
|
|||||||
import com.x8bit.bitwarden.data.platform.error.NoActiveUserException
|
import com.x8bit.bitwarden.data.platform.error.NoActiveUserException
|
||||||
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateCipherResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockAttachmentView
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockAttachmentView
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherView
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherView
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import com.bitwarden.network.model.createMockProfile
|
|||||||
import com.bitwarden.network.model.createMockSend
|
import com.bitwarden.network.model.createMockSend
|
||||||
import com.bitwarden.network.model.createMockSendJsonRequest
|
import com.bitwarden.network.model.createMockSendJsonRequest
|
||||||
import com.bitwarden.network.model.createMockSyncResponse
|
import com.bitwarden.network.model.createMockSyncResponse
|
||||||
|
import com.bitwarden.network.service.CiphersService
|
||||||
import com.bitwarden.network.service.FolderService
|
import com.bitwarden.network.service.FolderService
|
||||||
import com.bitwarden.sdk.Fido2CredentialStore
|
import com.bitwarden.sdk.Fido2CredentialStore
|
||||||
import com.bitwarden.send.SendType
|
import com.bitwarden.send.SendType
|
||||||
@ -63,7 +64,6 @@ import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
|||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateFileSendResponse
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateFileSendResponse
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateSendJsonResponse
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.CreateSendJsonResponse
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateSendResponseJson
|
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateSendResponseJson
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.CiphersService
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SendsService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
import com.x8bit.bitwarden.data.vault.datasource.network.service.SyncService
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.bitwarden.network.model
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Information about a cipher attachment to share.
|
||||||
|
*
|
||||||
|
* @property id The attachment's ID.
|
||||||
|
* @property key The attachment's encrypted key value.
|
||||||
|
* @property fileName The attachment's encrypted file name.
|
||||||
|
*/
|
||||||
|
data class AttachmentInfo(
|
||||||
|
val id: String,
|
||||||
|
val key: String,
|
||||||
|
val fileName: String?,
|
||||||
|
)
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.model
|
package com.bitwarden.network.model
|
||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@ -1,6 +1,5 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.model
|
package com.bitwarden.network.model
|
||||||
|
|
||||||
import com.bitwarden.network.model.SyncResponseJson
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@ -1,16 +1,16 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.service
|
package com.bitwarden.network.service
|
||||||
|
|
||||||
|
import com.bitwarden.network.model.AttachmentInfo
|
||||||
import com.bitwarden.network.model.AttachmentJsonRequest
|
import com.bitwarden.network.model.AttachmentJsonRequest
|
||||||
import com.bitwarden.network.model.AttachmentJsonResponse
|
import com.bitwarden.network.model.AttachmentJsonResponse
|
||||||
import com.bitwarden.network.model.CipherJsonRequest
|
import com.bitwarden.network.model.CipherJsonRequest
|
||||||
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
||||||
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
||||||
|
import com.bitwarden.network.model.ImportCiphersResponseJson
|
||||||
import com.bitwarden.network.model.ShareCipherJsonRequest
|
import com.bitwarden.network.model.ShareCipherJsonRequest
|
||||||
import com.bitwarden.network.model.SyncResponseJson
|
import com.bitwarden.network.model.SyncResponseJson
|
||||||
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
||||||
import com.bitwarden.vault.Attachment
|
import com.bitwarden.network.model.UpdateCipherResponseJson
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.ImportCiphersResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateCipherResponseJson
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,7 +67,7 @@ interface CiphersService {
|
|||||||
*/
|
*/
|
||||||
suspend fun shareAttachment(
|
suspend fun shareAttachment(
|
||||||
cipherId: String,
|
cipherId: String,
|
||||||
attachment: Attachment,
|
attachment: AttachmentInfo,
|
||||||
organizationId: String,
|
organizationId: String,
|
||||||
encryptedFile: File,
|
encryptedFile: File,
|
||||||
): Result<Unit>
|
): Result<Unit>
|
||||||
@ -1,25 +1,24 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.service
|
package com.bitwarden.network.service
|
||||||
|
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import com.bitwarden.core.data.util.asFailure
|
|
||||||
import com.bitwarden.network.api.AzureApi
|
import com.bitwarden.network.api.AzureApi
|
||||||
import com.bitwarden.network.api.CiphersApi
|
import com.bitwarden.network.api.CiphersApi
|
||||||
|
import com.bitwarden.network.model.AttachmentInfo
|
||||||
import com.bitwarden.network.model.AttachmentJsonRequest
|
import com.bitwarden.network.model.AttachmentJsonRequest
|
||||||
import com.bitwarden.network.model.AttachmentJsonResponse
|
import com.bitwarden.network.model.AttachmentJsonResponse
|
||||||
import com.bitwarden.network.model.CipherJsonRequest
|
import com.bitwarden.network.model.CipherJsonRequest
|
||||||
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
||||||
import com.bitwarden.network.model.FileUploadType
|
import com.bitwarden.network.model.FileUploadType
|
||||||
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
||||||
|
import com.bitwarden.network.model.ImportCiphersResponseJson
|
||||||
import com.bitwarden.network.model.ShareCipherJsonRequest
|
import com.bitwarden.network.model.ShareCipherJsonRequest
|
||||||
import com.bitwarden.network.model.SyncResponseJson
|
import com.bitwarden.network.model.SyncResponseJson
|
||||||
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
||||||
|
import com.bitwarden.network.model.UpdateCipherResponseJson
|
||||||
import com.bitwarden.network.model.toBitwardenError
|
import com.bitwarden.network.model.toBitwardenError
|
||||||
import com.bitwarden.network.util.NetworkErrorCode
|
import com.bitwarden.network.util.NetworkErrorCode
|
||||||
import com.bitwarden.network.util.parseErrorBodyOrNull
|
import com.bitwarden.network.util.parseErrorBodyOrNull
|
||||||
import com.bitwarden.network.util.toResult
|
import com.bitwarden.network.util.toResult
|
||||||
import com.bitwarden.vault.Attachment
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.ImportCiphersResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateCipherResponseJson
|
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import okhttp3.MediaType.Companion.toMediaType
|
import okhttp3.MediaType.Companion.toMediaType
|
||||||
import okhttp3.MultipartBody
|
import okhttp3.MultipartBody
|
||||||
@ -127,18 +126,14 @@ class CiphersServiceImpl(
|
|||||||
|
|
||||||
override suspend fun shareAttachment(
|
override suspend fun shareAttachment(
|
||||||
cipherId: String,
|
cipherId: String,
|
||||||
attachment: Attachment,
|
attachment: AttachmentInfo,
|
||||||
organizationId: String,
|
organizationId: String,
|
||||||
encryptedFile: File,
|
encryptedFile: File,
|
||||||
): Result<Unit> {
|
): Result<Unit> {
|
||||||
val attachmentId = attachment.id
|
|
||||||
?: return IllegalStateException("Attachment must have ID").asFailure()
|
|
||||||
val attachmentKey = attachment.key
|
|
||||||
?: return IllegalStateException("Attachment must have Key").asFailure()
|
|
||||||
return ciphersApi
|
return ciphersApi
|
||||||
.shareAttachment(
|
.shareAttachment(
|
||||||
cipherId = cipherId,
|
cipherId = cipherId,
|
||||||
attachmentId = attachmentId,
|
attachmentId = attachment.id,
|
||||||
organizationId = organizationId,
|
organizationId = organizationId,
|
||||||
body = this
|
body = this
|
||||||
.createMultipartBodyBuilder(
|
.createMultipartBodyBuilder(
|
||||||
@ -148,7 +143,7 @@ class CiphersServiceImpl(
|
|||||||
.addPart(
|
.addPart(
|
||||||
part = MultipartBody.Part.createFormData(
|
part = MultipartBody.Part.createFormData(
|
||||||
name = "key",
|
name = "key",
|
||||||
value = attachmentKey,
|
value = attachment.key,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.build(),
|
.build(),
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
package com.bitwarden.network.model
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a mock [AttachmentInfo] with the given [number].
|
||||||
|
*/
|
||||||
|
fun createMockAttachmentInfo(number: Int = 1): AttachmentInfo = AttachmentInfo(
|
||||||
|
id = "mockId-$number",
|
||||||
|
key = "mockKey-$number",
|
||||||
|
fileName = "mockFileName-$number",
|
||||||
|
)
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.x8bit.bitwarden.data.vault.datasource.network.service
|
package com.bitwarden.network.service
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import com.bitwarden.network.api.AzureApi
|
import com.bitwarden.network.api.AzureApi
|
||||||
@ -8,17 +8,17 @@ import com.bitwarden.network.model.AttachmentJsonResponse
|
|||||||
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
import com.bitwarden.network.model.CreateCipherInOrganizationJsonRequest
|
||||||
import com.bitwarden.network.model.FileUploadType
|
import com.bitwarden.network.model.FileUploadType
|
||||||
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
||||||
|
import com.bitwarden.network.model.ImportCiphersResponseJson
|
||||||
import com.bitwarden.network.model.ShareCipherJsonRequest
|
import com.bitwarden.network.model.ShareCipherJsonRequest
|
||||||
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
import com.bitwarden.network.model.UpdateCipherCollectionsJsonRequest
|
||||||
|
import com.bitwarden.network.model.UpdateCipherResponseJson
|
||||||
import com.bitwarden.network.model.createMockAttachment
|
import com.bitwarden.network.model.createMockAttachment
|
||||||
|
import com.bitwarden.network.model.createMockAttachmentInfo
|
||||||
import com.bitwarden.network.model.createMockAttachmentJsonRequest
|
import com.bitwarden.network.model.createMockAttachmentJsonRequest
|
||||||
import com.bitwarden.network.model.createMockAttachmentJsonResponse
|
import com.bitwarden.network.model.createMockAttachmentJsonResponse
|
||||||
import com.bitwarden.network.model.createMockAttachmentResponse
|
import com.bitwarden.network.model.createMockAttachmentResponse
|
||||||
import com.bitwarden.network.model.createMockCipher
|
import com.bitwarden.network.model.createMockCipher
|
||||||
import com.bitwarden.network.model.createMockCipherJsonRequest
|
import com.bitwarden.network.model.createMockCipherJsonRequest
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.ImportCiphersResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UpdateCipherResponseJson
|
|
||||||
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkAttachment
|
|
||||||
import io.mockk.every
|
import io.mockk.every
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import io.mockk.mockkStatic
|
import io.mockk.mockkStatic
|
||||||
@ -216,46 +216,12 @@ class CiphersServiceTest : BaseServiceTest() {
|
|||||||
assertEquals(Unit, result.getOrThrow())
|
assertEquals(Unit, result.getOrThrow())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `shareAttachment without attachment ID should return an error`() = runTest {
|
|
||||||
val cipherId = "cipherId"
|
|
||||||
val organizationId = "organizationId"
|
|
||||||
val attachment = createMockSdkAttachment(number = 1).copy(id = null)
|
|
||||||
val encryptedFile = File.createTempFile("mockFile", "temp")
|
|
||||||
|
|
||||||
val result = ciphersService.shareAttachment(
|
|
||||||
cipherId = cipherId,
|
|
||||||
attachment = attachment,
|
|
||||||
organizationId = organizationId,
|
|
||||||
encryptedFile = encryptedFile,
|
|
||||||
)
|
|
||||||
|
|
||||||
assertTrue(result.isFailure)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `shareAttachment without attachment key should return an error`() = runTest {
|
|
||||||
val cipherId = "cipherId"
|
|
||||||
val organizationId = "organizationId"
|
|
||||||
val attachment = createMockSdkAttachment(number = 1, key = null)
|
|
||||||
val encryptedFile = File.createTempFile("mockFile", "temp")
|
|
||||||
|
|
||||||
val result = ciphersService.shareAttachment(
|
|
||||||
cipherId = cipherId,
|
|
||||||
attachment = attachment,
|
|
||||||
organizationId = organizationId,
|
|
||||||
encryptedFile = encryptedFile,
|
|
||||||
)
|
|
||||||
|
|
||||||
assertTrue(result.isFailure)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `shareAttachment should execute the share attachment API`() = runTest {
|
fun `shareAttachment should execute the share attachment API`() = runTest {
|
||||||
server.enqueue(MockResponse().setResponseCode(200))
|
server.enqueue(MockResponse().setResponseCode(200))
|
||||||
val cipherId = "cipherId"
|
val cipherId = "cipherId"
|
||||||
val organizationId = "organizationId"
|
val organizationId = "organizationId"
|
||||||
val attachment = createMockSdkAttachment(number = 1)
|
val attachment = createMockAttachmentInfo(number = 1)
|
||||||
val encryptedFile = File.createTempFile("mockFile", "temp")
|
val encryptedFile = File.createTempFile("mockFile", "temp")
|
||||||
|
|
||||||
val result = ciphersService.shareAttachment(
|
val result = ciphersService.shareAttachment(
|
||||||
Loading…
x
Reference in New Issue
Block a user