diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-08-06 16:30:26 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-08-06 16:30:26 +0200 |
| commit | a731328ba41676ab2ca911e7ec7e423c51a89fe7 (patch) | |
| tree | ad459a74a62b44aa19ddd14b89d5db7a37c83faa /android/lib | |
| parent | 0a9158eb70ebe7cdbbdc8ac643800cd635cf33f1 (diff) | |
| parent | 8be1ed95c772e8d0e9e2d24614a6445a362a02d6 (diff) | |
| download | mullvadvpn-a731328ba41676ab2ca911e7ec7e423c51a89fe7.tar.xz mullvadvpn-a731328ba41676ab2ca911e7ec7e423c51a89fe7.zip | |
Merge branch 'name-is-already-taken-error-regression-droid-1227'
Diffstat (limited to 'android/lib')
2 files changed, 9 insertions, 2 deletions
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt index 7f1ae90b45..95679cb43d 100644 --- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt +++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt @@ -77,6 +77,7 @@ import net.mullvad.mullvadvpn.lib.model.GetDeviceListError import net.mullvad.mullvadvpn.lib.model.GetDeviceStateError import net.mullvad.mullvadvpn.lib.model.GetVersionInfoError import net.mullvad.mullvadvpn.lib.model.LoginAccountError +import net.mullvad.mullvadvpn.lib.model.NameAlreadyExists import net.mullvad.mullvadvpn.lib.model.NewAccessMethodSetting import net.mullvad.mullvadvpn.lib.model.ObfuscationSettings import net.mullvad.mullvadvpn.lib.model.Ownership as ModelOwnership @@ -492,7 +493,12 @@ class ManagementService( suspend fun updateCustomList(customList: ModelCustomList): Either<UpdateCustomListError, Unit> = Either.catch { grpc.updateCustomList(customList.fromDomain()) } - .mapLeft(::UnknownCustomListError) + .mapLeftStatus { + when (it.status.code) { + Status.Code.ALREADY_EXISTS -> NameAlreadyExists(customList.name) + else -> UnknownCustomListError(it) + } + } .mapEmpty() suspend fun deleteCustomList(id: CustomListId): Either<DeleteCustomListError, Unit> = diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt index ef49018dca..e666ca3f59 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt @@ -22,7 +22,8 @@ sealed interface UpdateCustomListLocationsError { sealed interface UpdateCustomListError -data class NameAlreadyExists(val name: String) : UpdateCustomListError, UpdateCustomListNameError +data class NameAlreadyExists(val name: CustomListName) : + UpdateCustomListError, UpdateCustomListNameError data class UnknownCustomListError(val throwable: Throwable) : UpdateCustomListError, |
