mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
fix editFolderLink
This commit is contained in:
parent
45e4728ae0
commit
c7500039fa
@ -139,8 +139,8 @@ public enum EditChatFolderLinkError {
|
||||
case generic
|
||||
}
|
||||
|
||||
func _internal_editChatFolderLink(account: Account, filterId: Int32, link: ExportedChatFolderLink, title: String?, peerIds: [EnginePeer.Id]?, revoke: Bool) -> Signal<Never, EditChatFolderLinkError> {
|
||||
return account.postbox.transaction { transaction -> Signal<Never, EditChatFolderLinkError> in
|
||||
func _internal_editChatFolderLink(account: Account, filterId: Int32, link: ExportedChatFolderLink, title: String?, peerIds: [EnginePeer.Id]?, revoke: Bool) -> Signal<ExportedChatFolderLink, EditChatFolderLinkError> {
|
||||
return account.postbox.transaction { transaction -> Signal<ExportedChatFolderLink, EditChatFolderLinkError> in
|
||||
var flags: Int32 = 0
|
||||
if revoke {
|
||||
flags |= 1 << 0
|
||||
@ -150,13 +150,24 @@ func _internal_editChatFolderLink(account: Account, filterId: Int32, link: Expor
|
||||
}
|
||||
var peers: [Api.InputPeer]?
|
||||
if let peerIds = peerIds {
|
||||
flags |= 1 << 2
|
||||
peers = peerIds.compactMap(transaction.getPeer).compactMap(apiInputPeer)
|
||||
}
|
||||
return account.network.request(Api.functions.communities.editExportedInvite(flags: flags, community: .inputCommunityDialogFilter(filterId: filterId), slug: link.slug, title: title, peers: peers))
|
||||
|> mapError { _ -> EditChatFolderLinkError in
|
||||
return .generic
|
||||
}
|
||||
|> ignoreValues
|
||||
|> map { result in
|
||||
switch result {
|
||||
case let .exportedCommunityInvite(flags, title, url, peers):
|
||||
return ExportedChatFolderLink(
|
||||
title: title,
|
||||
link: url,
|
||||
peerIds: peers.map(\.peerId),
|
||||
isRevoked: (flags & (1 << 0)) != 0
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|> castError(EditChatFolderLinkError.self)
|
||||
|> switchToLatest
|
||||
|
@ -1034,7 +1034,7 @@ public extension TelegramEngine {
|
||||
return _internal_getExportedChatFolderLinks(account: self.account, id: id)
|
||||
}
|
||||
|
||||
public func editChatFolderLink(filterId: Int32, link: ExportedChatFolderLink, title: String?, peerIds: [EnginePeer.Id]?, revoke: Bool) -> Signal<Never, EditChatFolderLinkError> {
|
||||
public func editChatFolderLink(filterId: Int32, link: ExportedChatFolderLink, title: String?, peerIds: [EnginePeer.Id]?, revoke: Bool) -> Signal<ExportedChatFolderLink, EditChatFolderLinkError> {
|
||||
return _internal_editChatFolderLink(account: self.account, filterId: filterId, link: link, title: title, peerIds: peerIds, revoke: revoke)
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user