mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
| // Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| public enum MessageSenderError: LocalizedError {
 | |
|     case invalidMessage
 | |
|     case protoConversionFailed
 | |
|     case noUserX25519KeyPair
 | |
|     case noUserED25519KeyPair
 | |
|     case signingFailed
 | |
|     case encryptionFailed
 | |
|     case noUsername
 | |
|     
 | |
|     // Closed groups
 | |
|     case noThread
 | |
|     case noKeyPair
 | |
|     case invalidClosedGroupUpdate
 | |
|     
 | |
|     case other(Error)
 | |
| 
 | |
|     internal var isRetryable: Bool {
 | |
|         switch self {
 | |
|             case .invalidMessage, .protoConversionFailed, .invalidClosedGroupUpdate, .signingFailed, .encryptionFailed: return false
 | |
|             default: return true
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     public var errorDescription: String? {
 | |
|         switch self {
 | |
|             case .invalidMessage: return "Invalid message."
 | |
|             case .protoConversionFailed: return "Couldn't convert message to proto."
 | |
|             case .noUserX25519KeyPair: return "Couldn't find user X25519 key pair."
 | |
|             case .noUserED25519KeyPair: return "Couldn't find user ED25519 key pair."
 | |
|             case .signingFailed: return "Couldn't sign message."
 | |
|             case .encryptionFailed: return "Couldn't encrypt message."
 | |
|             case .noUsername: return "Missing username."
 | |
|             
 | |
|             // Closed groups
 | |
|             case .noThread: return "Couldn't find a thread associated with the given group public key."
 | |
|             case .noKeyPair: return "Couldn't find a private key associated with the given group public key."
 | |
|             case .invalidClosedGroupUpdate: return "Invalid group update."
 | |
|             case .other(let error): return error.localizedDescription
 | |
|         }
 | |
|     }
 | |
| }
 |