mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Refactor constructor use sites for types 200-209 to struct pattern
Refactored constructors: messageReactions, messageReactor, messageReplies, messageReplyHeader, messageReplyStoryHeader, messageViews, inputMessagesFilterPhoneCalls, messagePeerVote, messagePeerVoteInputOption, messagePeerVoteMultiple, messageReportOption, missingInvitee Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
61983a113a
commit
94b53b190a
9 changed files with 208 additions and 42 deletions
|
|
@ -41,9 +41,37 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessagePeerVote: TypeConstructorDescription {
|
||||
case messagePeerVote(peer: Api.Peer, option: Buffer, date: Int32)
|
||||
case messagePeerVoteInputOption(peer: Api.Peer, date: Int32)
|
||||
case messagePeerVoteMultiple(peer: Api.Peer, options: [Buffer], date: Int32)
|
||||
public class Cons_messagePeerVote {
|
||||
public var peer: Api.Peer
|
||||
public var option: Buffer
|
||||
public var date: Int32
|
||||
public init(peer: Api.Peer, option: Buffer, date: Int32) {
|
||||
self.peer = peer
|
||||
self.option = option
|
||||
self.date = date
|
||||
}
|
||||
}
|
||||
public class Cons_messagePeerVoteInputOption {
|
||||
public var peer: Api.Peer
|
||||
public var date: Int32
|
||||
public init(peer: Api.Peer, date: Int32) {
|
||||
self.peer = peer
|
||||
self.date = date
|
||||
}
|
||||
}
|
||||
public class Cons_messagePeerVoteMultiple {
|
||||
public var peer: Api.Peer
|
||||
public var options: [Buffer]
|
||||
public var date: Int32
|
||||
public init(peer: Api.Peer, options: [Buffer], date: Int32) {
|
||||
self.peer = peer
|
||||
self.options = options
|
||||
self.date = date
|
||||
}
|
||||
}
|
||||
case messagePeerVote(Cons_messagePeerVote)
|
||||
case messagePeerVoteInputOption(Cons_messagePeerVoteInputOption)
|
||||
case messagePeerVoteMultiple(Cons_messagePeerVoteMultiple)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -86,7 +114,15 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageRange: TypeConstructorDescription {
|
||||
case messageRange(minId: Int32, maxId: Int32)
|
||||
public class Cons_messageRange {
|
||||
public var minId: Int32
|
||||
public var maxId: Int32
|
||||
public init(minId: Int32, maxId: Int32) {
|
||||
self.minId = minId
|
||||
self.maxId = maxId
|
||||
}
|
||||
}
|
||||
case messageRange(Cons_messageRange)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -115,7 +151,19 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageReactions: TypeConstructorDescription {
|
||||
case messageReactions(flags: Int32, results: [Api.ReactionCount], recentReactions: [Api.MessagePeerReaction]?, topReactors: [Api.MessageReactor]?)
|
||||
public class Cons_messageReactions {
|
||||
public var flags: Int32
|
||||
public var results: [Api.ReactionCount]
|
||||
public var recentReactions: [Api.MessagePeerReaction]?
|
||||
public var topReactors: [Api.MessageReactor]?
|
||||
public init(flags: Int32, results: [Api.ReactionCount], recentReactions: [Api.MessagePeerReaction]?, topReactors: [Api.MessageReactor]?) {
|
||||
self.flags = flags
|
||||
self.results = results
|
||||
self.recentReactions = recentReactions
|
||||
self.topReactors = topReactors
|
||||
}
|
||||
}
|
||||
case messageReactions(Cons_messageReactions)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -144,7 +192,17 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageReactor: TypeConstructorDescription {
|
||||
case messageReactor(flags: Int32, peerId: Api.Peer?, count: Int32)
|
||||
public class Cons_messageReactor {
|
||||
public var flags: Int32
|
||||
public var peerId: Api.Peer?
|
||||
public var count: Int32
|
||||
public init(flags: Int32, peerId: Api.Peer?, count: Int32) {
|
||||
self.flags = flags
|
||||
self.peerId = peerId
|
||||
self.count = count
|
||||
}
|
||||
}
|
||||
case messageReactor(Cons_messageReactor)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -173,7 +231,25 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageReplies: TypeConstructorDescription {
|
||||
case messageReplies(flags: Int32, replies: Int32, repliesPts: Int32, recentRepliers: [Api.Peer]?, channelId: Int64?, maxId: Int32?, readMaxId: Int32?)
|
||||
public class Cons_messageReplies {
|
||||
public var flags: Int32
|
||||
public var replies: Int32
|
||||
public var repliesPts: Int32
|
||||
public var recentRepliers: [Api.Peer]?
|
||||
public var channelId: Int64?
|
||||
public var maxId: Int32?
|
||||
public var readMaxId: Int32?
|
||||
public init(flags: Int32, replies: Int32, repliesPts: Int32, recentRepliers: [Api.Peer]?, channelId: Int64?, maxId: Int32?, readMaxId: Int32?) {
|
||||
self.flags = flags
|
||||
self.replies = replies
|
||||
self.repliesPts = repliesPts
|
||||
self.recentRepliers = recentRepliers
|
||||
self.channelId = channelId
|
||||
self.maxId = maxId
|
||||
self.readMaxId = readMaxId
|
||||
}
|
||||
}
|
||||
case messageReplies(Cons_messageReplies)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -202,8 +278,40 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
indirect enum MessageReplyHeader: TypeConstructorDescription {
|
||||
case messageReplyHeader(flags: Int32, replyToMsgId: Int32?, replyToPeerId: Api.Peer?, replyFrom: Api.MessageFwdHeader?, replyMedia: Api.MessageMedia?, replyToTopId: Int32?, quoteText: String?, quoteEntities: [Api.MessageEntity]?, quoteOffset: Int32?, todoItemId: Int32?)
|
||||
case messageReplyStoryHeader(peer: Api.Peer, storyId: Int32)
|
||||
public class Cons_messageReplyHeader {
|
||||
public var flags: Int32
|
||||
public var replyToMsgId: Int32?
|
||||
public var replyToPeerId: Api.Peer?
|
||||
public var replyFrom: Api.MessageFwdHeader?
|
||||
public var replyMedia: Api.MessageMedia?
|
||||
public var replyToTopId: Int32?
|
||||
public var quoteText: String?
|
||||
public var quoteEntities: [Api.MessageEntity]?
|
||||
public var quoteOffset: Int32?
|
||||
public var todoItemId: Int32?
|
||||
public init(flags: Int32, replyToMsgId: Int32?, replyToPeerId: Api.Peer?, replyFrom: Api.MessageFwdHeader?, replyMedia: Api.MessageMedia?, replyToTopId: Int32?, quoteText: String?, quoteEntities: [Api.MessageEntity]?, quoteOffset: Int32?, todoItemId: Int32?) {
|
||||
self.flags = flags
|
||||
self.replyToMsgId = replyToMsgId
|
||||
self.replyToPeerId = replyToPeerId
|
||||
self.replyFrom = replyFrom
|
||||
self.replyMedia = replyMedia
|
||||
self.replyToTopId = replyToTopId
|
||||
self.quoteText = quoteText
|
||||
self.quoteEntities = quoteEntities
|
||||
self.quoteOffset = quoteOffset
|
||||
self.todoItemId = todoItemId
|
||||
}
|
||||
}
|
||||
public class Cons_messageReplyStoryHeader {
|
||||
public var peer: Api.Peer
|
||||
public var storyId: Int32
|
||||
public init(peer: Api.Peer, storyId: Int32) {
|
||||
self.peer = peer
|
||||
self.storyId = storyId
|
||||
}
|
||||
}
|
||||
case messageReplyHeader(Cons_messageReplyHeader)
|
||||
case messageReplyStoryHeader(Cons_messageReplyStoryHeader)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -239,7 +347,15 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageReportOption: TypeConstructorDescription {
|
||||
case messageReportOption(text: String, option: Buffer)
|
||||
public class Cons_messageReportOption {
|
||||
public var text: String
|
||||
public var option: Buffer
|
||||
public init(text: String, option: Buffer) {
|
||||
self.text = text
|
||||
self.option = option
|
||||
}
|
||||
}
|
||||
case messageReportOption(Cons_messageReportOption)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -268,7 +384,19 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessageViews: TypeConstructorDescription {
|
||||
case messageViews(flags: Int32, views: Int32?, forwards: Int32?, replies: Api.MessageReplies?)
|
||||
public class Cons_messageViews {
|
||||
public var flags: Int32
|
||||
public var views: Int32?
|
||||
public var forwards: Int32?
|
||||
public var replies: Api.MessageReplies?
|
||||
public init(flags: Int32, views: Int32?, forwards: Int32?, replies: Api.MessageReplies?) {
|
||||
self.flags = flags
|
||||
self.views = views
|
||||
self.forwards = forwards
|
||||
self.replies = replies
|
||||
}
|
||||
}
|
||||
case messageViews(Cons_messageViews)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -297,6 +425,12 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MessagesFilter: TypeConstructorDescription {
|
||||
public class Cons_inputMessagesFilterPhoneCalls {
|
||||
public var flags: Int32
|
||||
public init(flags: Int32) {
|
||||
self.flags = flags
|
||||
}
|
||||
}
|
||||
case inputMessagesFilterChatPhotos
|
||||
case inputMessagesFilterContacts
|
||||
case inputMessagesFilterDocument
|
||||
|
|
@ -305,7 +439,7 @@ public extension Api {
|
|||
case inputMessagesFilterGif
|
||||
case inputMessagesFilterMusic
|
||||
case inputMessagesFilterMyMentions
|
||||
case inputMessagesFilterPhoneCalls(flags: Int32)
|
||||
case inputMessagesFilterPhoneCalls(Cons_inputMessagesFilterPhoneCalls)
|
||||
case inputMessagesFilterPhotoVideo
|
||||
case inputMessagesFilterPhotos
|
||||
case inputMessagesFilterPinned
|
||||
|
|
@ -454,7 +588,15 @@ public extension Api {
|
|||
}
|
||||
public extension Api {
|
||||
enum MissingInvitee: TypeConstructorDescription {
|
||||
case missingInvitee(flags: Int32, userId: Int64)
|
||||
public class Cons_missingInvitee {
|
||||
public var flags: Int32
|
||||
public var userId: Int64
|
||||
public init(flags: Int32, userId: Int64) {
|
||||
self.flags = flags
|
||||
self.userId = userId
|
||||
}
|
||||
}
|
||||
case missingInvitee(Cons_missingInvitee)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import TelegramApi
|
|||
extension ReactionsMessageAttribute {
|
||||
func withUpdatedResults(_ reactions: Api.MessageReactions) -> ReactionsMessageAttribute {
|
||||
switch reactions {
|
||||
case let .messageReactions(flags, results, recentReactions, topReactors):
|
||||
case let .messageReactions(messageReactionsData):
|
||||
let (flags, results, recentReactions, topReactors) = (messageReactionsData.flags, messageReactionsData.results, messageReactionsData.recentReactions, messageReactionsData.topReactors)
|
||||
let min = (flags & (1 << 0)) != 0
|
||||
let canViewList = (flags & (1 << 2)) != 0
|
||||
let isTags = (flags & (1 << 3)) != 0
|
||||
|
|
@ -60,7 +61,8 @@ extension ReactionsMessageAttribute {
|
|||
if let topReactors {
|
||||
for item in topReactors {
|
||||
switch item {
|
||||
case let .messageReactor(flags, peerId, count):
|
||||
case let .messageReactor(messageReactorData):
|
||||
let (flags, peerId, count) = (messageReactorData.flags, messageReactorData.peerId, messageReactorData.count)
|
||||
topPeers.append(ReactionsMessageAttribute.TopPeer(
|
||||
peerId: peerId?.peerId,
|
||||
count: count,
|
||||
|
|
@ -71,7 +73,7 @@ extension ReactionsMessageAttribute {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ReactionsMessageAttribute(canViewList: canViewList, isTags: isTags, reactions: reactions, recentPeers: parsedRecentReactions, topPeers: topPeers)
|
||||
}
|
||||
}
|
||||
|
|
@ -259,7 +261,8 @@ public func mergedMessageReactions(attributes: [MessageAttribute], isTags: Bool)
|
|||
extension ReactionsMessageAttribute {
|
||||
convenience init(apiReactions: Api.MessageReactions) {
|
||||
switch apiReactions {
|
||||
case let .messageReactions(flags, results, recentReactions, topReactors):
|
||||
case let .messageReactions(messageReactionsData):
|
||||
let (flags, results, recentReactions, topReactors) = (messageReactionsData.flags, messageReactionsData.results, messageReactionsData.recentReactions, messageReactionsData.topReactors)
|
||||
let canViewList = (flags & (1 << 2)) != 0
|
||||
let isTags = (flags & (1 << 3)) != 0
|
||||
let parsedRecentReactions: [ReactionsMessageAttribute.RecentPeer]
|
||||
|
|
@ -286,7 +289,8 @@ extension ReactionsMessageAttribute {
|
|||
if let topReactors {
|
||||
for item in topReactors {
|
||||
switch item {
|
||||
case let .messageReactor(flags, peerId, count):
|
||||
case let .messageReactor(messageReactorData):
|
||||
let (flags, peerId, count) = (messageReactorData.flags, messageReactorData.peerId, messageReactorData.count)
|
||||
topPeers.append(ReactionsMessageAttribute.TopPeer(
|
||||
peerId: peerId?.peerId,
|
||||
count: count,
|
||||
|
|
|
|||
|
|
@ -211,7 +211,8 @@ func apiMessagePeerIds(_ message: Api.Message) -> [PeerId] {
|
|||
|
||||
if let replyTo = replyTo {
|
||||
switch replyTo {
|
||||
case let .messageReplyStoryHeader(peer, _):
|
||||
case let .messageReplyStoryHeader(messageReplyStoryHeaderData):
|
||||
let peer = messageReplyStoryHeaderData.peer
|
||||
let storyPeerId = peer.peerId
|
||||
if !result.contains(storyPeerId) {
|
||||
result.append(storyPeerId)
|
||||
|
|
@ -307,7 +308,8 @@ func apiMessageAssociatedMessageIds(_ message: Api.Message) -> (replyIds: Refere
|
|||
let peerId: PeerId = chatPeerId.peerId
|
||||
|
||||
switch replyTo {
|
||||
case let .messageReplyHeader(_, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId):
|
||||
case let .messageReplyHeader(messageReplyHeaderData):
|
||||
let (replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId)
|
||||
let _ = replyHeader
|
||||
let _ = replyMedia
|
||||
let _ = replyToTopId
|
||||
|
|
@ -332,7 +334,8 @@ func apiMessageAssociatedMessageIds(_ message: Api.Message) -> (replyIds: Refere
|
|||
let (id, chatPeerId, replyHeader) = (messageServiceData.id, messageServiceData.peerId, messageServiceData.replyTo)
|
||||
if let replyHeader = replyHeader {
|
||||
switch replyHeader {
|
||||
case let .messageReplyHeader(_, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId):
|
||||
case let .messageReplyHeader(messageReplyHeaderData):
|
||||
let (replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId)
|
||||
let _ = replyHeader
|
||||
let _ = replyMedia
|
||||
let _ = replyToTopId
|
||||
|
|
@ -816,7 +819,8 @@ extension StoreMessage {
|
|||
if let replyTo = replyTo {
|
||||
var threadMessageId: MessageId?
|
||||
switch replyTo {
|
||||
case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId):
|
||||
case let .messageReplyHeader(messageReplyHeaderData):
|
||||
let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId)
|
||||
let isForumTopic = (innerFlags & (1 << 3)) != 0
|
||||
|
||||
var quote: EngineMessageReplyQuote?
|
||||
|
|
@ -872,15 +876,16 @@ extension StoreMessage {
|
|||
if let replyHeader = replyHeader {
|
||||
attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote))
|
||||
}
|
||||
case let .messageReplyStoryHeader(peer, storyId):
|
||||
case let .messageReplyStoryHeader(messageReplyStoryHeaderData):
|
||||
let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId)
|
||||
attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if threadId == nil && peerId.namespace == Namespaces.Peer.CloudChannel {
|
||||
threadId = 1
|
||||
}
|
||||
|
||||
|
||||
var forwardInfo: StoreMessageForwardInfo?
|
||||
if let fwdFrom = fwdFrom {
|
||||
switch fwdFrom {
|
||||
|
|
@ -1085,7 +1090,8 @@ extension StoreMessage {
|
|||
if let replies = replies {
|
||||
let recentRepliersPeerIds: [PeerId]?
|
||||
switch replies {
|
||||
case let .messageReplies(_, repliesCount, _, recentRepliers, channelId, maxId, readMaxId):
|
||||
case let .messageReplies(messageRepliesData):
|
||||
let (repliesCount, recentRepliers, channelId, maxId, readMaxId) = (messageRepliesData.replies, messageRepliesData.recentRepliers, messageRepliesData.channelId, messageRepliesData.maxId, messageRepliesData.readMaxId)
|
||||
if let recentRepliers = recentRepliers {
|
||||
recentRepliersPeerIds = recentRepliers.map { $0.peerId }
|
||||
} else {
|
||||
|
|
@ -1196,27 +1202,30 @@ extension StoreMessage {
|
|||
|
||||
if chatPeerId.peerId.namespace == Namespaces.Peer.CloudChannel, let replyTo {
|
||||
switch replyTo {
|
||||
case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, _, quoteText, quoteEntities, quoteOffset, todoItemId):
|
||||
case let .messageReplyHeader(messageReplyHeaderData):
|
||||
let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId)
|
||||
var quote: EngineMessageReplyQuote?
|
||||
let isQuote = (innerFlags & (1 << 9)) != 0
|
||||
if quoteText != nil || replyMedia != nil {
|
||||
quote = EngineMessageReplyQuote(text: quoteText ?? "", offset: quoteOffset.flatMap(Int.init), entities: messageTextEntitiesFromApiEntities(quoteEntities ?? []), media: textMediaAndExpirationTimerFromApiMedia(replyMedia, peerId).media)
|
||||
}
|
||||
|
||||
|
||||
if let replyToMsgId = replyToMsgId {
|
||||
let replyPeerId = replyToPeerId?.peerId ?? peerId
|
||||
attributes.append(ReplyMessageAttribute(messageId: MessageId(peerId: replyPeerId, namespace: Namespaces.Message.Cloud, id: replyToMsgId), threadMessageId: nil, quote: quote, isQuote: isQuote, todoItemId: todoItemId))
|
||||
} else if let replyHeader = replyHeader {
|
||||
attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote))
|
||||
}
|
||||
case let .messageReplyStoryHeader(peer, storyId):
|
||||
case let .messageReplyStoryHeader(messageReplyStoryHeaderData):
|
||||
let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId)
|
||||
attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId)))
|
||||
}
|
||||
}
|
||||
} else if let replyTo = replyTo {
|
||||
var threadMessageId: MessageId?
|
||||
switch replyTo {
|
||||
case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId):
|
||||
case let .messageReplyHeader(messageReplyHeaderData):
|
||||
let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId)
|
||||
var quote: EngineMessageReplyQuote?
|
||||
let isQuote = (innerFlags & (1 << 9)) != 0
|
||||
if quoteText != nil || replyMedia != nil {
|
||||
|
|
@ -1246,7 +1255,8 @@ extension StoreMessage {
|
|||
} else if let replyHeader = replyHeader {
|
||||
attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote))
|
||||
}
|
||||
case let .messageReplyStoryHeader(peer, storyId):
|
||||
case let .messageReplyStoryHeader(messageReplyStoryHeaderData):
|
||||
let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId)
|
||||
attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId)))
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -733,7 +733,8 @@ public final class AccountViewTracker {
|
|||
|
||||
for i in 0 ..< messageIds.count {
|
||||
if i < viewCounts.count {
|
||||
if case let .messageViews(_, views, forwards, replies) = viewCounts[i] {
|
||||
if case let .messageViews(messageViewsData) = viewCounts[i] {
|
||||
let (views, forwards, replies) = (messageViewsData.views, messageViewsData.forwards, messageViewsData.replies)
|
||||
transaction.updateMessage(messageIds[i], update: { currentMessage in
|
||||
let storeForwardInfo = currentMessage.forwardInfo.flatMap(StoreMessageForwardInfo.init)
|
||||
var attributes = currentMessage.attributes
|
||||
|
|
@ -745,7 +746,8 @@ public final class AccountViewTracker {
|
|||
var repliesReadMaxId: Int32?
|
||||
if let replies = replies {
|
||||
switch replies {
|
||||
case let .messageReplies(_, repliesCountValue, _, recentRepliers, channelId, maxId, readMaxId):
|
||||
case let .messageReplies(messageRepliesData):
|
||||
let (repliesCountValue, recentRepliers, channelId, maxId, readMaxId) = (messageRepliesData.replies, messageRepliesData.recentRepliers, messageRepliesData.channelId, messageRepliesData.maxId, messageRepliesData.readMaxId)
|
||||
if let channelId = channelId {
|
||||
commentsChannelId = PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(channelId))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1210,7 +1210,7 @@ func fetchCallListHole(network: Network, postbox: Postbox, accountPeerId: PeerId
|
|||
offset = single((holeIndex.timestamp, min(holeIndex.id.id, Int32.max - 1) + 1, Api.InputPeer.inputPeerEmpty), NoError.self)
|
||||
return offset
|
||||
|> mapToSignal { (timestamp, id, peer) -> Signal<Void, NoError> in
|
||||
let searchResult = network.request(Api.functions.messages.search(flags: 0, peer: .inputPeerEmpty, q: "", fromId: nil, savedPeerId: nil, savedReaction: nil, topMsgId: nil, filter: .inputMessagesFilterPhoneCalls(flags: 0), minDate: 0, maxDate: holeIndex.timestamp, offsetId: 0, addOffset: 0, limit: limit, maxId: holeIndex.id.id, minId: 0, hash: 0))
|
||||
let searchResult = network.request(Api.functions.messages.search(flags: 0, peer: .inputPeerEmpty, q: "", fromId: nil, savedPeerId: nil, savedReaction: nil, topMsgId: nil, filter: .inputMessagesFilterPhoneCalls(.init(flags: 0)), minDate: 0, maxDate: holeIndex.timestamp, offsetId: 0, addOffset: 0, limit: limit, maxId: holeIndex.id.id, minId: 0, hash: 0))
|
||||
|> retryRequest
|
||||
|> mapToSignal { result -> Signal<Void, NoError> in
|
||||
let messages: [Api.Message]
|
||||
|
|
|
|||
|
|
@ -287,11 +287,14 @@ private final class PollResultsOptionContext {
|
|||
for vote in votes {
|
||||
let peerId: PeerId
|
||||
switch vote {
|
||||
case let .messagePeerVote(peerIdValue, _, _):
|
||||
case let .messagePeerVote(messagePeerVoteData):
|
||||
let peerIdValue = messagePeerVoteData.peer
|
||||
peerId = peerIdValue.peerId
|
||||
case let .messagePeerVoteInputOption(peerIdValue, _):
|
||||
case let .messagePeerVoteInputOption(messagePeerVoteInputOptionData):
|
||||
let peerIdValue = messagePeerVoteInputOptionData.peer
|
||||
peerId = peerIdValue.peerId
|
||||
case let .messagePeerVoteMultiple(peerIdValue, _, _):
|
||||
case let .messagePeerVoteMultiple(messagePeerVoteMultipleData):
|
||||
let peerIdValue = messagePeerVoteMultipleData.peer
|
||||
peerId = peerIdValue.peerId
|
||||
}
|
||||
if let peer = transaction.getPeer(peerId) {
|
||||
|
|
|
|||
|
|
@ -66,7 +66,8 @@ func _internal_reportContent(account: Account, subject: ReportContentSubject, op
|
|||
case let .reportResultChooseOption(title, options):
|
||||
return .options(title: title, options: options.map {
|
||||
switch $0 {
|
||||
case let .messageReportOption(text, option):
|
||||
case let .messageReportOption(messageReportOptionData):
|
||||
let (text, option) = (messageReportOptionData.text, messageReportOptionData.option)
|
||||
return ReportContentResult.Option(text: text, option: option.makeData())
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -102,7 +102,8 @@ func _internal_addGroupMember(account: Account, peerId: PeerId, memberId: PeerId
|
|||
|
||||
let result = TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in
|
||||
switch invitee {
|
||||
case let .missingInvitee(flags, userId):
|
||||
case let .missingInvitee(missingInviteeData):
|
||||
let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId)
|
||||
guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else {
|
||||
return nil
|
||||
}
|
||||
|
|
@ -189,7 +190,8 @@ func _internal_addChannelMember(account: Account, peerId: PeerId, memberId: Peer
|
|||
let updatesValue: Api.Updates
|
||||
switch result {
|
||||
case let .invitedUsers(updates, missingInvitees):
|
||||
if case let .missingInvitee(flags, _) = missingInvitees.first {
|
||||
if case let .missingInvitee(missingInviteeData) = missingInvitees.first {
|
||||
let flags = missingInviteeData.flags
|
||||
let _ = _internal_updateIsPremiumRequiredToContact(account: account, peerIds: [memberPeer.id]).startStandalone()
|
||||
|
||||
return .fail(.restricted(TelegramForbiddenInvitePeer(
|
||||
|
|
@ -310,7 +312,8 @@ func _internal_addChannelMembers(account: Account, peerId: PeerId, memberIds: [P
|
|||
return account.postbox.transaction { transaction -> TelegramInvitePeersResult in
|
||||
let result = TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in
|
||||
switch invitee {
|
||||
case let .missingInvitee(flags, userId):
|
||||
case let .missingInvitee(missingInviteeData):
|
||||
let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId)
|
||||
guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else {
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ func _internal_createGroup(account: Account, title: String, peerIds: [PeerId], t
|
|||
peerId: peerId,
|
||||
result: TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in
|
||||
switch invitee {
|
||||
case let .missingInvitee(flags, userId):
|
||||
case let .missingInvitee(missingInviteeData):
|
||||
let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId)
|
||||
guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else {
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue