@@ -189,10 +189,11 @@ public class AccountRemote: Remote, AccountRemoteProtocol {
189189 let result : CreateAccountResult = try await enqueue ( request)
190190 return . success( result)
191191 } catch {
192- guard let dotcomError = error as? DotcomError else {
192+ if let networkError = error as? NetworkError {
193+ return . failure( CreateAccountError ( error: networkError) )
194+ } else {
193195 return . failure( . unknown( error: error as NSError ) )
194196 }
195- return . failure( CreateAccountError ( dotcomError: dotcomError) )
196197 }
197198 }
198199
@@ -247,26 +248,22 @@ public enum CreateAccountError: Error, Equatable {
247248 case invalidUsername
248249 case invalidEmail
249250 case invalidPassword( message: String ? )
250- case unexpected( error: DotcomError )
251+ case unexpected( error: NetworkError )
251252 case unknown( error: NSError )
252253
253- /// Decodable Initializer.
254+ /// NetworkError Initializer.
254255 ///
255- init ( dotcomError error: DotcomError ) {
256- if case let . unknown( code, message) = error {
257- switch code {
258- case Constants . emailExists:
259- self = . emailExists
260- case Constants . invalidEmail:
261- self = . invalidEmail
262- case Constants . invalidPassword:
263- self = . invalidPassword( message: message)
264- case Constants . invalidUsername, Constants . usernameExists:
265- self = . invalidUsername
266- default :
267- self = . unexpected( error: error)
268- }
269- } else {
256+ init ( error: NetworkError ) {
257+ switch error. apiErrorCode {
258+ case Constants . emailExists:
259+ self = . emailExists
260+ case Constants . invalidEmail:
261+ self = . invalidEmail
262+ case Constants . invalidPassword:
263+ self = . invalidPassword( message: error. apiErrorMessage)
264+ case Constants . invalidUsername, Constants . usernameExists:
265+ self = . invalidUsername
266+ default :
270267 self = . unexpected( error: error)
271268 }
272269 }
0 commit comments