mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Merge commit '0ffcbf0b061fb71912f74e4b5575524a1d0de362'
This commit is contained in:
@@ -222,8 +222,12 @@ func _internal_toggleAddressNameActive(account: Account, domain: AddressNameDoma
|
||||
switch domain {
|
||||
case .account:
|
||||
return account.network.request(Api.functions.account.toggleUsername(username: name, active: active ? .boolTrue : .boolFalse), automaticFloodWait: false)
|
||||
|> mapError { _ -> ToggleAddressNameActiveError in
|
||||
return .generic
|
||||
|> mapError { error -> ToggleAddressNameActiveError in
|
||||
if error.errorDescription == "USERNAMES_ACTIVE_TOO_MUCH" {
|
||||
return .activeLimitReached
|
||||
} else {
|
||||
return .generic
|
||||
}
|
||||
}
|
||||
|> mapToSignal { result -> Signal<Void, ToggleAddressNameActiveError> in
|
||||
return account.postbox.transaction { transaction -> Void in
|
||||
@@ -276,8 +280,12 @@ func _internal_toggleAddressNameActive(account: Account, domain: AddressNameDoma
|
||||
case let .peer(peerId):
|
||||
if let peer = transaction.getPeer(peerId), let inputChannel = apiInputChannel(peer) {
|
||||
return account.network.request(Api.functions.channels.toggleUsername(channel: inputChannel, username: name, active: active ? .boolTrue : .boolFalse), automaticFloodWait: false)
|
||||
|> mapError { _ -> ToggleAddressNameActiveError in
|
||||
return .generic
|
||||
|> mapError { error -> ToggleAddressNameActiveError in
|
||||
if error.errorDescription == "USERNAMES_ACTIVE_TOO_MUCH" {
|
||||
return .activeLimitReached
|
||||
} else {
|
||||
return .generic
|
||||
}
|
||||
}
|
||||
|> mapToSignal { result -> Signal<Void, ToggleAddressNameActiveError> in
|
||||
return account.postbox.transaction { transaction -> Void in
|
||||
|
||||
@@ -145,27 +145,27 @@ public enum EnginePeer: Equatable {
|
||||
}
|
||||
|
||||
public enum IndexName: Equatable {
|
||||
case title(title: String, addressName: String?)
|
||||
case personName(first: String, last: String, addressName: String?, phoneNumber: String?)
|
||||
case title(title: String, addressNames: [String])
|
||||
case personName(first: String, last: String, addressNames: [String], phoneNumber: String?)
|
||||
|
||||
public var isEmpty: Bool {
|
||||
switch self {
|
||||
case let .title(title, addressName):
|
||||
case let .title(title, addressNames):
|
||||
if !title.isEmpty {
|
||||
return false
|
||||
}
|
||||
if let addressName = addressName, !addressName.isEmpty {
|
||||
if !addressNames.isEmpty {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
case let .personName(first, last, addressName, phoneNumber):
|
||||
case let .personName(first, last, addressNames, phoneNumber):
|
||||
if !first.isEmpty {
|
||||
return false
|
||||
}
|
||||
if !last.isEmpty {
|
||||
return false
|
||||
}
|
||||
if let addressName = addressName, !addressName.isEmpty {
|
||||
if !addressNames.isEmpty {
|
||||
return false
|
||||
}
|
||||
if let phoneNumber = phoneNumber, !phoneNumber.isEmpty {
|
||||
@@ -396,19 +396,19 @@ public extension EnginePeer.Presence {
|
||||
public extension EnginePeer.IndexName {
|
||||
init(_ indexName: PeerIndexNameRepresentation) {
|
||||
switch indexName {
|
||||
case let .title(title, addressName):
|
||||
self = .title(title: title, addressName: addressName)
|
||||
case let .personName(first, last, addressName, phoneNumber):
|
||||
self = .personName(first: first, last: last, addressName: addressName, phoneNumber: phoneNumber)
|
||||
case let .title(title, addressNames):
|
||||
self = .title(title: title, addressNames: addressNames)
|
||||
case let .personName(first, last, addressNames, phoneNumber):
|
||||
self = .personName(first: first, last: last, addressNames: addressNames, phoneNumber: phoneNumber)
|
||||
}
|
||||
}
|
||||
|
||||
func _asIndexName() -> PeerIndexNameRepresentation {
|
||||
switch self {
|
||||
case let .title(title, addressName):
|
||||
return .title(title: title, addressName: addressName)
|
||||
case let .personName(first, last, addressName, phoneNumber):
|
||||
return .personName(first: first, last: last, addressName: addressName, phoneNumber: phoneNumber)
|
||||
case let .title(title, addressNames):
|
||||
return .title(title: title, addressNames: addressNames)
|
||||
case let .personName(first, last, addressNames, phoneNumber):
|
||||
return .personName(first: first, last: last, addressNames: addressNames, phoneNumber: phoneNumber)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user