Added support of Public Group Ban error

This commit is contained in:
Ilya Laktyushin
2018-11-11 18:05:16 +04:00
parent bf8ec5775f
commit 45f1f514ac
2 changed files with 19 additions and 4 deletions

View File

@@ -55,6 +55,17 @@ private final class PendingMessageContext {
public enum PendingMessageFailureReason {
case flood
case publicBan
}
private func reasonForError(_ error: String) -> PendingMessageFailureReason? {
if error.hasPrefix("PEER_FLOOD") {
return .flood
} else if error.hasPrefix("USER_BANNED_IN_CHANNEL") {
return .publicBan
} else {
return nil
}
}
private final class PeerPendingMessagesSummaryContext {
@@ -740,10 +751,10 @@ public final class PendingMessageManager {
strongSelf.beginSendingMessages(messages.map({ $0.0.id }))
return .complete()
}
} else if error.errorDescription.hasPrefix("PEER_FLOOD"), let message = messages.first?.0 {
} else if let failureReason = reasonForError(error.errorDescription), let message = messages.first?.0 {
if let context = strongSelf.peerSummaryContexts[message.id.peerId] {
for subscriber in context.messageFailedSubscribers.copyItems() {
subscriber(.flood)
subscriber(failureReason)
}
}
}
@@ -948,10 +959,10 @@ public final class PendingMessageManager {
strongSelf.beginSendingMessages([messageId])
return
}
} else if error.errorDescription.hasPrefix("PEER_FLOOD") {
} else if let failureReason = reasonForError(error.errorDescription) {
if let context = strongSelf.peerSummaryContexts[message.id.peerId] {
for subscriber in context.messageFailedSubscribers.copyItems() {
subscriber(.flood)
subscriber(failureReason)
}
}
}

View File

@@ -11,3 +11,7 @@ public func formatPhoneNumber(_ string: String) -> String {
return string
}
}
public func isViablePhoneNumber(_ string: String) -> Bool {
return phoneNumberUtil.isViablePhoneNumber(string)
}