@@ -12,6 +12,7 @@ import kotlinx.coroutines.flow.map
1212import timber.log.Timber
1313import xyz.flipchat.services.data.PaymentTarget
1414import xyz.flipchat.services.internal.network.api.AccountApi
15+ import com.getcode.utils.FlipchatServerError
1516import xyz.flipchat.services.internal.network.extensions.toPublicKey
1617import javax.inject.Inject
1718
@@ -33,16 +34,19 @@ internal class AccountService @Inject constructor(
3334 Timber .e(t = error)
3435 Result .failure(error)
3536 }
37+
3638 RegisterResponse .Result .INVALID_DISPLAY_NAME -> {
3739 val error = RegisterError .InvalidDisplayName (response.errorReason)
3840 Timber .e(t = error)
3941 Result .failure(error)
4042 }
43+
4144 RegisterResponse .Result .UNRECOGNIZED -> {
4245 val error = RegisterError .Unrecognized (response.errorReason)
4346 Timber .e(t = error)
4447 Result .failure(error)
4548 }
49+
4650 else -> {
4751 val error = RegisterError .Other (" Failed to register" )
4852 Timber .e(t = error)
@@ -51,7 +55,10 @@ internal class AccountService @Inject constructor(
5155 }
5256 }.first()
5357 } catch (e: Exception ) {
54- val error = RegisterError .Other (" Road to greatness is bumpy. Apologies for the hiccup." , cause = e)
58+ val error = RegisterError .Other (
59+ " Road to greatness is bumpy. Apologies for the hiccup." ,
60+ cause = e
61+ )
5562 Result .failure(error)
5663 }
5764 }
@@ -76,11 +83,13 @@ internal class AccountService @Inject constructor(
7683 Timber .e(t = error)
7784 Result .failure(error)
7885 }
86+
7987 LoginResponse .Result .DENIED -> {
8088 val error = LoginError .Denied (" Failed to login" )
8189 Timber .e(t = error)
8290 Result .failure(error)
8391 }
92+
8493 else -> {
8594 val error = LoginError .Other (" Failed to login" )
8695 Timber .e(t = error)
@@ -89,7 +98,10 @@ internal class AccountService @Inject constructor(
8998 }
9099 }.first()
91100 } catch (e: Exception ) {
92- val error = RegisterError .Other (" Road to greatness is bumpy. Apologies for the hiccup." , cause = e)
101+ val error = RegisterError .Other (
102+ " Road to greatness is bumpy. Apologies for the hiccup." ,
103+ cause = e
104+ )
93105 Result .failure(error)
94106 }
95107 }
@@ -99,17 +111,22 @@ internal class AccountService @Inject constructor(
99111 networkOracle.managedRequest(api.getPaymentDestination(target))
100112 .map { response ->
101113 when (response.result) {
102- AccountService .GetPaymentDestinationResponse .Result .OK -> Result .success(response.paymentDestination.toPublicKey())
114+ AccountService .GetPaymentDestinationResponse .Result .OK -> Result .success(
115+ response.paymentDestination.toPublicKey()
116+ )
117+
103118 AccountService .GetPaymentDestinationResponse .Result .NOT_FOUND -> {
104119 val error = GetPaymentDestinationError .NotFound ()
105120 Timber .e(t = error)
106121 Result .failure(error)
107122 }
123+
108124 AccountService .GetPaymentDestinationResponse .Result .UNRECOGNIZED -> {
109125 val error = GetPaymentDestinationError .Unrecognized ()
110126 Timber .e(t = error)
111127 Result .failure(error)
112128 }
129+
113130 else -> {
114131 val error = GetPaymentDestinationError .Other ()
115132 Timber .e(t = error)
@@ -134,11 +151,13 @@ internal class AccountService @Inject constructor(
134151 Timber .e(t = error)
135152 Result .failure(error)
136153 }
154+
137155 AccountService .GetUserFlagsResponse .Result .UNRECOGNIZED -> {
138156 val error = GetUserFlagsError .Unrecognized ()
139157 Timber .e(t = error)
140158 Result .failure(error)
141159 }
160+
142161 else -> {
143162 val error = GetUserFlagsError .Other ()
144163 Timber .e(t = error)
@@ -152,28 +171,42 @@ internal class AccountService @Inject constructor(
152171 }
153172 }
154173
155- sealed class LoginError (override val message : String ): Throwable(message) {
156- data class InvalidTimestamp (override val message : String ): LoginError(message)
157- data class NotFound (override val message : String ): LoginError(message)
158- data class Denied (override val message : String ): LoginError(message)
159- data class Unrecognized (override val message : String ): LoginError(message)
160- data class Other (override val message : String , override val cause : Throwable ? = null ): LoginError(message)
174+ sealed class LoginError (
175+ override val message : String? = null ,
176+ override val cause : Throwable ? = null
177+ ) : FlipchatServerError(message, cause) {
178+ data class InvalidTimestamp (override val message : String ) : LoginError(message)
179+ data class NotFound (override val message : String ) : LoginError(message)
180+ data class Denied (override val message : String ) : LoginError(message)
181+ data class Unrecognized (override val message : String ) : LoginError(message)
182+ data class Other (override val message : String , override val cause : Throwable ? = null ) :
183+ LoginError (message, cause)
161184 }
162185
163- sealed class RegisterError (override val message : String ): Throwable(message) {
164- data class InvalidSignature (override val message : String ): RegisterError(message)
165- data class InvalidDisplayName (override val message : String ): RegisterError(message)
166- data class Unrecognized (override val message : String ): RegisterError(message)
167- data class Other (override val message : String , override val cause : Throwable ? = null ): RegisterError(message)
186+ sealed class RegisterError (
187+ override val message : String? = null ,
188+ override val cause : Throwable ? = null
189+ ) : FlipchatServerError(message, cause) {
190+ data class InvalidSignature (override val message : String ) : RegisterError(message)
191+ data class InvalidDisplayName (override val message : String ) : RegisterError(message)
192+ data class Unrecognized (override val message : String ) : RegisterError(message)
193+ data class Other (override val message : String , override val cause : Throwable ? = null ) :
194+ RegisterError (message)
168195 }
169196
170- sealed class GetPaymentDestinationError : Throwable () {
197+ sealed class GetPaymentDestinationError (
198+ override val message : String? = null ,
199+ override val cause : Throwable ? = null
200+ ) : FlipchatServerError(message, cause) {
171201 class Unrecognized : GetPaymentDestinationError ()
172202 class NotFound : GetPaymentDestinationError ()
173203 data class Other (override val cause : Throwable ? = null ) : GetPaymentDestinationError()
174204 }
175205
176- sealed class GetUserFlagsError : Throwable () {
206+ sealed class GetUserFlagsError (
207+ override val message : String? = null ,
208+ override val cause : Throwable ? = null
209+ ) : FlipchatServerError(message, cause) {
177210 class Unrecognized : GetUserFlagsError ()
178211 class Denied : GetUserFlagsError ()
179212 data class Other (override val cause : Throwable ? = null ) : GetUserFlagsError()
0 commit comments