mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Refactor constructor use sites for types 560-579 to struct pattern
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
bb7e1ae300
commit
50c5cc9616
17 changed files with 483 additions and 106 deletions
|
|
@ -652,7 +652,13 @@ public extension Api.stats {
|
|||
}
|
||||
public extension Api.stickers {
|
||||
enum SuggestedShortName: TypeConstructorDescription {
|
||||
case suggestedShortName(shortName: String)
|
||||
public class Cons_suggestedShortName {
|
||||
public var shortName: String
|
||||
public init(shortName: String) {
|
||||
self.shortName = shortName
|
||||
}
|
||||
}
|
||||
case suggestedShortName(Cons_suggestedShortName)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -782,7 +788,15 @@ public extension Api.storage {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum Albums: TypeConstructorDescription {
|
||||
case albums(hash: Int64, albums: [Api.StoryAlbum])
|
||||
public class Cons_albums {
|
||||
public var hash: Int64
|
||||
public var albums: [Api.StoryAlbum]
|
||||
public init(hash: Int64, albums: [Api.StoryAlbum]) {
|
||||
self.hash = hash
|
||||
self.albums = albums
|
||||
}
|
||||
}
|
||||
case albums(Cons_albums)
|
||||
case albumsNotModified
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
|
|
@ -819,8 +833,36 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum AllStories: TypeConstructorDescription {
|
||||
case allStories(flags: Int32, count: Int32, state: String, peerStories: [Api.PeerStories], chats: [Api.Chat], users: [Api.User], stealthMode: Api.StoriesStealthMode)
|
||||
case allStoriesNotModified(flags: Int32, state: String, stealthMode: Api.StoriesStealthMode)
|
||||
public class Cons_allStories {
|
||||
public var flags: Int32
|
||||
public var count: Int32
|
||||
public var state: String
|
||||
public var peerStories: [Api.PeerStories]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public var stealthMode: Api.StoriesStealthMode
|
||||
public init(flags: Int32, count: Int32, state: String, peerStories: [Api.PeerStories], chats: [Api.Chat], users: [Api.User], stealthMode: Api.StoriesStealthMode) {
|
||||
self.flags = flags
|
||||
self.count = count
|
||||
self.state = state
|
||||
self.peerStories = peerStories
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
self.stealthMode = stealthMode
|
||||
}
|
||||
}
|
||||
public class Cons_allStoriesNotModified {
|
||||
public var flags: Int32
|
||||
public var state: String
|
||||
public var stealthMode: Api.StoriesStealthMode
|
||||
public init(flags: Int32, state: String, stealthMode: Api.StoriesStealthMode) {
|
||||
self.flags = flags
|
||||
self.state = state
|
||||
self.stealthMode = stealthMode
|
||||
}
|
||||
}
|
||||
case allStories(Cons_allStories)
|
||||
case allStoriesNotModified(Cons_allStoriesNotModified)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -856,7 +898,13 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum CanSendStoryCount: TypeConstructorDescription {
|
||||
case canSendStoryCount(countRemains: Int32)
|
||||
public class Cons_canSendStoryCount {
|
||||
public var countRemains: Int32
|
||||
public init(countRemains: Int32) {
|
||||
self.countRemains = countRemains
|
||||
}
|
||||
}
|
||||
case canSendStoryCount(Cons_canSendStoryCount)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -885,7 +933,23 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum FoundStories: TypeConstructorDescription {
|
||||
case foundStories(flags: Int32, count: Int32, stories: [Api.FoundStory], nextOffset: String?, chats: [Api.Chat], users: [Api.User])
|
||||
public class Cons_foundStories {
|
||||
public var flags: Int32
|
||||
public var count: Int32
|
||||
public var stories: [Api.FoundStory]
|
||||
public var nextOffset: String?
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(flags: Int32, count: Int32, stories: [Api.FoundStory], nextOffset: String?, chats: [Api.Chat], users: [Api.User]) {
|
||||
self.flags = flags
|
||||
self.count = count
|
||||
self.stories = stories
|
||||
self.nextOffset = nextOffset
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case foundStories(Cons_foundStories)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
|
|||
|
|
@ -1,6 +1,16 @@
|
|||
public extension Api.stories {
|
||||
enum PeerStories: TypeConstructorDescription {
|
||||
case peerStories(stories: Api.PeerStories, chats: [Api.Chat], users: [Api.User])
|
||||
public class Cons_peerStories {
|
||||
public var stories: Api.PeerStories
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(stories: Api.PeerStories, chats: [Api.Chat], users: [Api.User]) {
|
||||
self.stories = stories
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case peerStories(Cons_peerStories)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -29,7 +39,23 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum Stories: TypeConstructorDescription {
|
||||
case stories(flags: Int32, count: Int32, stories: [Api.StoryItem], pinnedToTop: [Int32]?, chats: [Api.Chat], users: [Api.User])
|
||||
public class Cons_stories {
|
||||
public var flags: Int32
|
||||
public var count: Int32
|
||||
public var stories: [Api.StoryItem]
|
||||
public var pinnedToTop: [Int32]?
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(flags: Int32, count: Int32, stories: [Api.StoryItem], pinnedToTop: [Int32]?, chats: [Api.Chat], users: [Api.User]) {
|
||||
self.flags = flags
|
||||
self.count = count
|
||||
self.stories = stories
|
||||
self.pinnedToTop = pinnedToTop
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case stories(Cons_stories)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -58,7 +84,23 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum StoryReactionsList: TypeConstructorDescription {
|
||||
case storyReactionsList(flags: Int32, count: Int32, reactions: [Api.StoryReaction], chats: [Api.Chat], users: [Api.User], nextOffset: String?)
|
||||
public class Cons_storyReactionsList {
|
||||
public var flags: Int32
|
||||
public var count: Int32
|
||||
public var reactions: [Api.StoryReaction]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public var nextOffset: String?
|
||||
public init(flags: Int32, count: Int32, reactions: [Api.StoryReaction], chats: [Api.Chat], users: [Api.User], nextOffset: String?) {
|
||||
self.flags = flags
|
||||
self.count = count
|
||||
self.reactions = reactions
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
self.nextOffset = nextOffset
|
||||
}
|
||||
}
|
||||
case storyReactionsList(Cons_storyReactionsList)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -87,7 +129,15 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum StoryViews: TypeConstructorDescription {
|
||||
case storyViews(views: [Api.StoryViews], users: [Api.User])
|
||||
public class Cons_storyViews {
|
||||
public var views: [Api.StoryViews]
|
||||
public var users: [Api.User]
|
||||
public init(views: [Api.StoryViews], users: [Api.User]) {
|
||||
self.views = views
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case storyViews(Cons_storyViews)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -116,7 +166,29 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.stories {
|
||||
enum StoryViewsList: TypeConstructorDescription {
|
||||
case storyViewsList(flags: Int32, count: Int32, viewsCount: Int32, forwardsCount: Int32, reactionsCount: Int32, views: [Api.StoryView], chats: [Api.Chat], users: [Api.User], nextOffset: String?)
|
||||
public class Cons_storyViewsList {
|
||||
public var flags: Int32
|
||||
public var count: Int32
|
||||
public var viewsCount: Int32
|
||||
public var forwardsCount: Int32
|
||||
public var reactionsCount: Int32
|
||||
public var views: [Api.StoryView]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public var nextOffset: String?
|
||||
public init(flags: Int32, count: Int32, viewsCount: Int32, forwardsCount: Int32, reactionsCount: Int32, views: [Api.StoryView], chats: [Api.Chat], users: [Api.User], nextOffset: String?) {
|
||||
self.flags = flags
|
||||
self.count = count
|
||||
self.viewsCount = viewsCount
|
||||
self.forwardsCount = forwardsCount
|
||||
self.reactionsCount = reactionsCount
|
||||
self.views = views
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
self.nextOffset = nextOffset
|
||||
}
|
||||
}
|
||||
case storyViewsList(Cons_storyViewsList)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -145,9 +217,53 @@ public extension Api.stories {
|
|||
}
|
||||
public extension Api.updates {
|
||||
indirect enum ChannelDifference: TypeConstructorDescription {
|
||||
case channelDifference(flags: Int32, pts: Int32, timeout: Int32?, newMessages: [Api.Message], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User])
|
||||
case channelDifferenceEmpty(flags: Int32, pts: Int32, timeout: Int32?)
|
||||
case channelDifferenceTooLong(flags: Int32, timeout: Int32?, dialog: Api.Dialog, messages: [Api.Message], chats: [Api.Chat], users: [Api.User])
|
||||
public class Cons_channelDifference {
|
||||
public var flags: Int32
|
||||
public var pts: Int32
|
||||
public var timeout: Int32?
|
||||
public var newMessages: [Api.Message]
|
||||
public var otherUpdates: [Api.Update]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(flags: Int32, pts: Int32, timeout: Int32?, newMessages: [Api.Message], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User]) {
|
||||
self.flags = flags
|
||||
self.pts = pts
|
||||
self.timeout = timeout
|
||||
self.newMessages = newMessages
|
||||
self.otherUpdates = otherUpdates
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
public class Cons_channelDifferenceEmpty {
|
||||
public var flags: Int32
|
||||
public var pts: Int32
|
||||
public var timeout: Int32?
|
||||
public init(flags: Int32, pts: Int32, timeout: Int32?) {
|
||||
self.flags = flags
|
||||
self.pts = pts
|
||||
self.timeout = timeout
|
||||
}
|
||||
}
|
||||
public class Cons_channelDifferenceTooLong {
|
||||
public var flags: Int32
|
||||
public var timeout: Int32?
|
||||
public var dialog: Api.Dialog
|
||||
public var messages: [Api.Message]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(flags: Int32, timeout: Int32?, dialog: Api.Dialog, messages: [Api.Message], chats: [Api.Chat], users: [Api.User]) {
|
||||
self.flags = flags
|
||||
self.timeout = timeout
|
||||
self.dialog = dialog
|
||||
self.messages = messages
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case channelDifference(Cons_channelDifference)
|
||||
case channelDifferenceEmpty(Cons_channelDifferenceEmpty)
|
||||
case channelDifferenceTooLong(Cons_channelDifferenceTooLong)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -190,10 +306,56 @@ public extension Api.updates {
|
|||
}
|
||||
public extension Api.updates {
|
||||
enum Difference: TypeConstructorDescription {
|
||||
case difference(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], state: Api.updates.State)
|
||||
case differenceEmpty(date: Int32, seq: Int32)
|
||||
case differenceSlice(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], intermediateState: Api.updates.State)
|
||||
case differenceTooLong(pts: Int32)
|
||||
public class Cons_difference {
|
||||
public var newMessages: [Api.Message]
|
||||
public var newEncryptedMessages: [Api.EncryptedMessage]
|
||||
public var otherUpdates: [Api.Update]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public var state: Api.updates.State
|
||||
public init(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], state: Api.updates.State) {
|
||||
self.newMessages = newMessages
|
||||
self.newEncryptedMessages = newEncryptedMessages
|
||||
self.otherUpdates = otherUpdates
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
self.state = state
|
||||
}
|
||||
}
|
||||
public class Cons_differenceEmpty {
|
||||
public var date: Int32
|
||||
public var seq: Int32
|
||||
public init(date: Int32, seq: Int32) {
|
||||
self.date = date
|
||||
self.seq = seq
|
||||
}
|
||||
}
|
||||
public class Cons_differenceSlice {
|
||||
public var newMessages: [Api.Message]
|
||||
public var newEncryptedMessages: [Api.EncryptedMessage]
|
||||
public var otherUpdates: [Api.Update]
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public var intermediateState: Api.updates.State
|
||||
public init(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], intermediateState: Api.updates.State) {
|
||||
self.newMessages = newMessages
|
||||
self.newEncryptedMessages = newEncryptedMessages
|
||||
self.otherUpdates = otherUpdates
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
self.intermediateState = intermediateState
|
||||
}
|
||||
}
|
||||
public class Cons_differenceTooLong {
|
||||
public var pts: Int32
|
||||
public init(pts: Int32) {
|
||||
self.pts = pts
|
||||
}
|
||||
}
|
||||
case difference(Cons_difference)
|
||||
case differenceEmpty(Cons_differenceEmpty)
|
||||
case differenceSlice(Cons_differenceSlice)
|
||||
case differenceTooLong(Cons_differenceTooLong)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -243,7 +405,21 @@ public extension Api.updates {
|
|||
}
|
||||
public extension Api.updates {
|
||||
enum State: TypeConstructorDescription {
|
||||
case state(pts: Int32, qts: Int32, date: Int32, seq: Int32, unreadCount: Int32)
|
||||
public class Cons_state {
|
||||
public var pts: Int32
|
||||
public var qts: Int32
|
||||
public var date: Int32
|
||||
public var seq: Int32
|
||||
public var unreadCount: Int32
|
||||
public init(pts: Int32, qts: Int32, date: Int32, seq: Int32, unreadCount: Int32) {
|
||||
self.pts = pts
|
||||
self.qts = qts
|
||||
self.date = date
|
||||
self.seq = seq
|
||||
self.unreadCount = unreadCount
|
||||
}
|
||||
}
|
||||
case state(Cons_state)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -272,8 +448,20 @@ public extension Api.updates {
|
|||
}
|
||||
public extension Api.upload {
|
||||
enum CdnFile: TypeConstructorDescription {
|
||||
case cdnFile(bytes: Buffer)
|
||||
case cdnFileReuploadNeeded(requestToken: Buffer)
|
||||
public class Cons_cdnFile {
|
||||
public var bytes: Buffer
|
||||
public init(bytes: Buffer) {
|
||||
self.bytes = bytes
|
||||
}
|
||||
}
|
||||
public class Cons_cdnFileReuploadNeeded {
|
||||
public var requestToken: Buffer
|
||||
public init(requestToken: Buffer) {
|
||||
self.requestToken = requestToken
|
||||
}
|
||||
}
|
||||
case cdnFile(Cons_cdnFile)
|
||||
case cdnFileReuploadNeeded(Cons_cdnFileReuploadNeeded)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -309,8 +497,32 @@ public extension Api.upload {
|
|||
}
|
||||
public extension Api.upload {
|
||||
enum File: TypeConstructorDescription {
|
||||
case file(type: Api.storage.FileType, mtime: Int32, bytes: Buffer)
|
||||
case fileCdnRedirect(dcId: Int32, fileToken: Buffer, encryptionKey: Buffer, encryptionIv: Buffer, fileHashes: [Api.FileHash])
|
||||
public class Cons_file {
|
||||
public var type: Api.storage.FileType
|
||||
public var mtime: Int32
|
||||
public var bytes: Buffer
|
||||
public init(type: Api.storage.FileType, mtime: Int32, bytes: Buffer) {
|
||||
self.type = type
|
||||
self.mtime = mtime
|
||||
self.bytes = bytes
|
||||
}
|
||||
}
|
||||
public class Cons_fileCdnRedirect {
|
||||
public var dcId: Int32
|
||||
public var fileToken: Buffer
|
||||
public var encryptionKey: Buffer
|
||||
public var encryptionIv: Buffer
|
||||
public var fileHashes: [Api.FileHash]
|
||||
public init(dcId: Int32, fileToken: Buffer, encryptionKey: Buffer, encryptionIv: Buffer, fileHashes: [Api.FileHash]) {
|
||||
self.dcId = dcId
|
||||
self.fileToken = fileToken
|
||||
self.encryptionKey = encryptionKey
|
||||
self.encryptionIv = encryptionIv
|
||||
self.fileHashes = fileHashes
|
||||
}
|
||||
}
|
||||
case file(Cons_file)
|
||||
case fileCdnRedirect(Cons_fileCdnRedirect)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -346,7 +558,21 @@ public extension Api.upload {
|
|||
}
|
||||
public extension Api.upload {
|
||||
enum WebFile: TypeConstructorDescription {
|
||||
case webFile(size: Int32, mimeType: String, fileType: Api.storage.FileType, mtime: Int32, bytes: Buffer)
|
||||
public class Cons_webFile {
|
||||
public var size: Int32
|
||||
public var mimeType: String
|
||||
public var fileType: Api.storage.FileType
|
||||
public var mtime: Int32
|
||||
public var bytes: Buffer
|
||||
public init(size: Int32, mimeType: String, fileType: Api.storage.FileType, mtime: Int32, bytes: Buffer) {
|
||||
self.size = size
|
||||
self.mimeType = mimeType
|
||||
self.fileType = fileType
|
||||
self.mtime = mtime
|
||||
self.bytes = bytes
|
||||
}
|
||||
}
|
||||
case webFile(Cons_webFile)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -375,8 +601,22 @@ public extension Api.upload {
|
|||
}
|
||||
public extension Api.users {
|
||||
enum SavedMusic: TypeConstructorDescription {
|
||||
case savedMusic(count: Int32, documents: [Api.Document])
|
||||
case savedMusicNotModified(count: Int32)
|
||||
public class Cons_savedMusic {
|
||||
public var count: Int32
|
||||
public var documents: [Api.Document]
|
||||
public init(count: Int32, documents: [Api.Document]) {
|
||||
self.count = count
|
||||
self.documents = documents
|
||||
}
|
||||
}
|
||||
public class Cons_savedMusicNotModified {
|
||||
public var count: Int32
|
||||
public init(count: Int32) {
|
||||
self.count = count
|
||||
}
|
||||
}
|
||||
case savedMusic(Cons_savedMusic)
|
||||
case savedMusicNotModified(Cons_savedMusicNotModified)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -412,7 +652,17 @@ public extension Api.users {
|
|||
}
|
||||
public extension Api.users {
|
||||
enum UserFull: TypeConstructorDescription {
|
||||
case userFull(fullUser: Api.UserFull, chats: [Api.Chat], users: [Api.User])
|
||||
public class Cons_userFull {
|
||||
public var fullUser: Api.UserFull
|
||||
public var chats: [Api.Chat]
|
||||
public var users: [Api.User]
|
||||
public init(fullUser: Api.UserFull, chats: [Api.Chat], users: [Api.User]) {
|
||||
self.fullUser = fullUser
|
||||
self.chats = chats
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case userFull(Cons_userFull)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
@ -441,8 +691,22 @@ public extension Api.users {
|
|||
}
|
||||
public extension Api.users {
|
||||
enum Users: TypeConstructorDescription {
|
||||
case users(users: [Api.User])
|
||||
case usersSlice(count: Int32, users: [Api.User])
|
||||
public class Cons_users {
|
||||
public var users: [Api.User]
|
||||
public init(users: [Api.User]) {
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
public class Cons_usersSlice {
|
||||
public var count: Int32
|
||||
public var users: [Api.User]
|
||||
public init(count: Int32, users: [Api.User]) {
|
||||
self.count = count
|
||||
self.users = users
|
||||
}
|
||||
}
|
||||
case users(Cons_users)
|
||||
case usersSlice(Cons_usersSlice)
|
||||
|
||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
#if DEBUG
|
||||
|
|
|
|||
|
|
@ -225,7 +225,8 @@ class Download: NSObject, MTRequestMessageServiceDelegate {
|
|||
} else {
|
||||
if let result = (boxedResponse as! BoxedMessage).body as? Api.upload.WebFile {
|
||||
switch result {
|
||||
case .webFile(_, _, _, _, let bytes):
|
||||
case let .webFile(webFileData):
|
||||
let bytes = webFileData.bytes
|
||||
subscriber.putNext(bytes.makeData())
|
||||
}
|
||||
subscriber.putCompletion()
|
||||
|
|
@ -278,7 +279,8 @@ class Download: NSObject, MTRequestMessageServiceDelegate {
|
|||
} else {
|
||||
if let result = (boxedResponse as! BoxedMessage).body as? Api.upload.File {
|
||||
switch result {
|
||||
case let .file(_, _, bytes):
|
||||
case let .file(fileData):
|
||||
let bytes = fileData.bytes
|
||||
subscriber.putNext(bytes.makeData())
|
||||
case .fileCdnRedirect:
|
||||
break
|
||||
|
|
|
|||
|
|
@ -801,7 +801,8 @@ private final class FetchImpl {
|
|||
)
|
||||
|> map { result -> FilePartResult in
|
||||
switch result {
|
||||
case let .cdnFile(bytes):
|
||||
case let .cdnFile(cdnFileData):
|
||||
let bytes = cdnFileData.bytes
|
||||
if bytes.size == 0 {
|
||||
return .data(data: Data(), verifyPartHashData: nil)
|
||||
} else {
|
||||
|
|
@ -819,7 +820,8 @@ private final class FetchImpl {
|
|||
verifyPartHashData: VerifyPartHashData(fetchRange: fetchRange, fetchedData: fetchedData)
|
||||
)
|
||||
}
|
||||
case let .cdnFileReuploadNeeded(requestToken):
|
||||
case let .cdnFileReuploadNeeded(cdnFileReuploadNeededData):
|
||||
let requestToken = cdnFileReuploadNeededData.requestToken
|
||||
return .cdnRefresh(cdnData: cdnData, refreshToken: requestToken.makeData())
|
||||
}
|
||||
}
|
||||
|
|
@ -858,9 +860,11 @@ private final class FetchImpl {
|
|||
)
|
||||
|> map { result -> FilePartResult in
|
||||
switch result {
|
||||
case let .file(_, _, bytes):
|
||||
case let .file(fileData):
|
||||
let bytes = fileData.bytes
|
||||
return .data(data: bytes.makeData(), verifyPartHashData: nil)
|
||||
case let .fileCdnRedirect(dcId, fileToken, encryptionKey, encryptionIv, fileHashes):
|
||||
case let .fileCdnRedirect(fileCdnRedirectData):
|
||||
let (dcId, fileToken, encryptionKey, encryptionIv, fileHashes) = (fileCdnRedirectData.dcId, fileCdnRedirectData.fileToken, fileCdnRedirectData.encryptionKey, fileCdnRedirectData.encryptionIv, fileCdnRedirectData.fileHashes)
|
||||
let _ = fileHashes
|
||||
return .cdnRedirect(CdnData(
|
||||
id: Int(dcId),
|
||||
|
|
|
|||
|
|
@ -362,13 +362,15 @@ private enum MultipartFetchSource {
|
|||
}
|
||||
|> mapToSignal { result, info -> Signal<(Data, NetworkResponseInfo), MultipartFetchDownloadError> in
|
||||
switch result {
|
||||
case let .file(_, _, bytes):
|
||||
case let .file(fileData):
|
||||
let bytes = fileData.bytes
|
||||
var resultData = bytes.makeData()
|
||||
if resultData.count > Int(limit) {
|
||||
resultData.count = Int(limit)
|
||||
}
|
||||
return .single((resultData, info))
|
||||
case let .fileCdnRedirect(dcId, fileToken, encryptionKey, encryptionIv, partHashes):
|
||||
case let .fileCdnRedirect(fileCdnRedirectData):
|
||||
let (dcId, fileToken, encryptionKey, encryptionIv, partHashes) = (fileCdnRedirectData.dcId, fileCdnRedirectData.fileToken, fileCdnRedirectData.encryptionKey, fileCdnRedirectData.encryptionIv, fileCdnRedirectData.fileHashes)
|
||||
var parsedPartHashes: [Int64: Data] = [:]
|
||||
for part in partHashes {
|
||||
switch part {
|
||||
|
|
@ -397,7 +399,8 @@ private enum MultipartFetchSource {
|
|||
}
|
||||
|> mapToSignal { result, info -> Signal<(Data, NetworkResponseInfo), MultipartFetchDownloadError> in
|
||||
switch result {
|
||||
case let .webFile(_, _, _, _, bytes):
|
||||
case let .webFile(webFileData):
|
||||
let bytes = webFileData.bytes
|
||||
var resultData = bytes.makeData()
|
||||
if resultData.count > Int(limit) {
|
||||
resultData.count = Int(limit)
|
||||
|
|
@ -420,9 +423,11 @@ private enum MultipartFetchSource {
|
|||
}
|
||||
|> mapToSignal { result, info -> Signal<(Data, NetworkResponseInfo), MultipartFetchDownloadError> in
|
||||
switch result {
|
||||
case let .cdnFileReuploadNeeded(token):
|
||||
case let .cdnFileReuploadNeeded(cdnFileReuploadNeededData):
|
||||
let token = cdnFileReuploadNeededData.requestToken
|
||||
return .fail(.reuploadToCdn(masterDatacenterId: masterDatacenterId, token: token.makeData()))
|
||||
case let .cdnFile(bytes):
|
||||
case let .cdnFile(cdnFileData):
|
||||
let bytes = cdnFileData.bytes
|
||||
if bytes.size == 0 {
|
||||
return .single((bytes.makeData(), info))
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -222,7 +222,8 @@ private func peerIdsFromDifference(_ difference: Api.updates.Difference) -> Set<
|
|||
var peerIds = Set<PeerId>()
|
||||
|
||||
switch difference {
|
||||
case let .difference(newMessages, _, otherUpdates, chats, users, _):
|
||||
case let .difference(differenceData):
|
||||
let (newMessages, _, otherUpdates, chats, users, _) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
for message in newMessages {
|
||||
for peerId in apiMessagePeerIds(message) {
|
||||
peerIds.insert(peerId)
|
||||
|
|
@ -241,7 +242,8 @@ private func peerIdsFromDifference(_ difference: Api.updates.Difference) -> Set<
|
|||
}
|
||||
case .differenceEmpty:
|
||||
break
|
||||
case let .differenceSlice(newMessages, _, otherUpdates, chats, users, _):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (newMessages, _, otherUpdates, chats, users, _) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
for message in newMessages {
|
||||
for peerId in apiMessagePeerIds(message) {
|
||||
peerIds.insert(peerId)
|
||||
|
|
@ -271,11 +273,13 @@ private func activeChannelsFromDifference(_ difference: Api.updates.Difference)
|
|||
|
||||
var chats: [Api.Chat] = []
|
||||
switch difference {
|
||||
case let .difference(_, _, _, differenceChats, _, _):
|
||||
case let .difference(differenceData):
|
||||
let (_, _, _, differenceChats, _, _) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
chats = differenceChats
|
||||
case .differenceEmpty:
|
||||
break
|
||||
case let .differenceSlice(_, _, _, differenceChats, _, _):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (_, _, _, differenceChats, _, _) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
chats = differenceChats
|
||||
case .differenceTooLong:
|
||||
break
|
||||
|
|
@ -302,7 +306,8 @@ private func associatedMessageIdsFromDifference(_ difference: Api.updates.Differ
|
|||
var generalIds = Set<MessageId>()
|
||||
|
||||
switch difference {
|
||||
case let .difference(newMessages, _, otherUpdates, _, _, _):
|
||||
case let .difference(differenceData):
|
||||
let (newMessages, _, otherUpdates, _, _, _) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
for message in newMessages {
|
||||
if let associatedMessageIds = apiMessageAssociatedMessageIds(message) {
|
||||
replyIds.formUnion(associatedMessageIds.replyIds)
|
||||
|
|
@ -317,14 +322,15 @@ private func associatedMessageIdsFromDifference(_ difference: Api.updates.Differ
|
|||
}
|
||||
case .differenceEmpty:
|
||||
break
|
||||
case let .differenceSlice(newMessages, _, otherUpdates, _, _, _):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (newMessages, _, otherUpdates, _, _, _) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
for message in newMessages {
|
||||
if let associatedMessageIds = apiMessageAssociatedMessageIds(message) {
|
||||
replyIds.formUnion(associatedMessageIds.replyIds)
|
||||
generalIds.formUnion(associatedMessageIds.generalIds)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for update in otherUpdates {
|
||||
if let associatedMessageIds = update.associatedMessageIds {
|
||||
replyIds.formUnion(associatedMessageIds.replyIds)
|
||||
|
|
@ -334,7 +340,7 @@ private func associatedMessageIdsFromDifference(_ difference: Api.updates.Differ
|
|||
case .differenceTooLong:
|
||||
break
|
||||
}
|
||||
|
||||
|
||||
return (replyIds, generalIds)
|
||||
}
|
||||
|
||||
|
|
@ -342,7 +348,8 @@ private func peerIdsRequiringLocalChatStateFromDifference(_ difference: Api.upda
|
|||
var peerIds = Set<PeerId>()
|
||||
|
||||
switch difference {
|
||||
case let .difference(newMessages, _, otherUpdates, _, _, _):
|
||||
case let .difference(differenceData):
|
||||
let (newMessages, _, otherUpdates, _, _, _) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
for message in newMessages {
|
||||
if let messageId = message.id() {
|
||||
peerIds.insert(messageId.peerId)
|
||||
|
|
@ -367,13 +374,14 @@ private func peerIdsRequiringLocalChatStateFromDifference(_ difference: Api.upda
|
|||
}
|
||||
case .differenceEmpty:
|
||||
break
|
||||
case let .differenceSlice(newMessages, _, otherUpdates, _, _, _):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (newMessages, _, otherUpdates, _, _, _) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
for message in newMessages {
|
||||
if let messageId = message.id() {
|
||||
peerIds.insert(messageId.peerId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
peerIds.formUnion(peerIdsRequiringLocalChatStateFromUpdates(otherUpdates))
|
||||
for update in otherUpdates {
|
||||
if let messageId = update.messageId {
|
||||
|
|
@ -403,11 +411,13 @@ private func locallyGeneratedMessageTimestampsFromDifference(_ difference: Api.u
|
|||
|
||||
var otherUpdates: [Api.Update]?
|
||||
switch difference {
|
||||
case let .difference(_, _, apiOtherUpdates, _, _, _):
|
||||
case let .difference(differenceData):
|
||||
let (_, _, apiOtherUpdates, _, _, _) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
otherUpdates = apiOtherUpdates
|
||||
case .differenceEmpty:
|
||||
break
|
||||
case let .differenceSlice(_, _, apiOtherUpdates, _, _, _):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (_, _, apiOtherUpdates, _, _, _) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
otherUpdates = apiOtherUpdates
|
||||
case .differenceTooLong:
|
||||
break
|
||||
|
|
@ -690,26 +700,31 @@ func finalStateWithDifference(accountPeerId: PeerId, postbox: Postbox, network:
|
|||
var users: [Api.User] = []
|
||||
|
||||
switch difference {
|
||||
case let .difference(newMessages, newEncryptedMessages, otherUpdates, apiChats, apiUsers, apiState):
|
||||
case let .difference(differenceData):
|
||||
let (newMessages, newEncryptedMessages, otherUpdates, apiChats, apiUsers, apiState) = (differenceData.newMessages, differenceData.newEncryptedMessages, differenceData.otherUpdates, differenceData.chats, differenceData.users, differenceData.state)
|
||||
messages = newMessages
|
||||
encryptedMessages = newEncryptedMessages
|
||||
updates = otherUpdates
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
switch apiState {
|
||||
case let .state(pts, qts, date, seq, _):
|
||||
case let .state(stateData):
|
||||
let (pts, qts, date, seq, _) = (stateData.pts, stateData.qts, stateData.date, stateData.seq, stateData.unreadCount)
|
||||
updatedState.updateState(AuthorizedAccountState.State(pts: pts, qts: qts, date: date, seq: seq))
|
||||
}
|
||||
case let .differenceEmpty(date, seq):
|
||||
case let .differenceEmpty(differenceEmptyData):
|
||||
let (date, seq) = (differenceEmptyData.date, differenceEmptyData.seq)
|
||||
updatedState.updateState(AuthorizedAccountState.State(pts: updatedState.state.pts, qts: updatedState.state.qts, date: date, seq: seq))
|
||||
case let .differenceSlice(newMessages, newEncryptedMessages, otherUpdates, apiChats, apiUsers, apiState):
|
||||
case let .differenceSlice(differenceSliceData):
|
||||
let (newMessages, newEncryptedMessages, otherUpdates, apiChats, apiUsers, apiState) = (differenceSliceData.newMessages, differenceSliceData.newEncryptedMessages, differenceSliceData.otherUpdates, differenceSliceData.chats, differenceSliceData.users, differenceSliceData.intermediateState)
|
||||
messages = newMessages
|
||||
encryptedMessages = newEncryptedMessages
|
||||
updates = otherUpdates
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
switch apiState {
|
||||
case let .state(pts, qts, date, seq, _):
|
||||
case let .state(stateData):
|
||||
let (pts, qts, date, seq, _) = (stateData.pts, stateData.qts, stateData.date, stateData.seq, stateData.unreadCount)
|
||||
updatedState.updateState(AuthorizedAccountState.State(pts: pts, qts: qts, date: date, seq: seq))
|
||||
}
|
||||
case .differenceTooLong:
|
||||
|
|
@ -3391,7 +3406,8 @@ private func pollChannel(accountPeerId: PeerId, postbox: Postbox, network: Netwo
|
|||
}
|
||||
|
||||
switch difference {
|
||||
case let .channelDifference(_, pts, timeout, newMessages, otherUpdates, chats, users):
|
||||
case let .channelDifference(channelDifferenceData):
|
||||
let (_, pts, timeout, newMessages, otherUpdates, chats, users) = (channelDifferenceData.flags, channelDifferenceData.pts, channelDifferenceData.timeout, channelDifferenceData.newMessages, channelDifferenceData.otherUpdates, channelDifferenceData.chats, channelDifferenceData.users)
|
||||
var updatedState = state
|
||||
var apiTimeout: Int32?
|
||||
|
||||
|
|
@ -3535,12 +3551,13 @@ private func pollChannel(accountPeerId: PeerId, postbox: Postbox, network: Netwo
|
|||
return (updatedState, true, apiTimeout)
|
||||
}
|
||||
}
|
||||
case let .channelDifferenceEmpty(_, pts, timeout):
|
||||
case let .channelDifferenceEmpty(channelDifferenceEmptyData):
|
||||
let (_, pts, timeout) = (channelDifferenceEmptyData.flags, channelDifferenceEmptyData.pts, channelDifferenceEmptyData.timeout)
|
||||
var updatedState = state
|
||||
var apiTimeout: Int32?
|
||||
|
||||
|
||||
apiTimeout = timeout
|
||||
|
||||
|
||||
let channelPts: Int32
|
||||
if let _ = updatedState.channelStates[peer.id] {
|
||||
channelPts = pts
|
||||
|
|
@ -3548,9 +3565,10 @@ private func pollChannel(accountPeerId: PeerId, postbox: Postbox, network: Netwo
|
|||
channelPts = pts
|
||||
}
|
||||
updatedState.updateChannelState(peer.id, pts: channelPts)
|
||||
|
||||
|
||||
return .single((updatedState, true, apiTimeout))
|
||||
case let .channelDifferenceTooLong(_, timeout, dialog, messages, chats, users):
|
||||
case let .channelDifferenceTooLong(channelDifferenceTooLongData):
|
||||
let (_, timeout, dialog, messages, chats, users) = (channelDifferenceTooLongData.flags, channelDifferenceTooLongData.timeout, channelDifferenceTooLongData.dialog, channelDifferenceTooLongData.messages, channelDifferenceTooLongData.chats, channelDifferenceTooLongData.users)
|
||||
var updatedState = state
|
||||
var apiTimeout: Int32?
|
||||
|
||||
|
|
|
|||
|
|
@ -925,7 +925,8 @@ public final class AccountStateManager {
|
|||
return postbox.transaction { transaction -> (difference: Api.updates.Difference?, finalStatte: AccountReplayedFinalState?, skipBecauseOfError: Bool, resetState: Bool) in
|
||||
if let currentState = transaction.getState() as? AuthorizedAccountState {
|
||||
switch state {
|
||||
case let .state(pts, qts, date, seq, _):
|
||||
case let .state(stateData):
|
||||
let (pts, qts, date, seq) = (stateData.pts, stateData.qts, stateData.date, stateData.seq)
|
||||
transaction.setState(currentState.changedState(AuthorizedAccountState.State(pts: pts, qts: qts, date: date, seq: seq)))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,8 @@ func _internal_resetAccountState(postbox: Postbox, network: Network, accountPeer
|
|||
|
||||
if let currentState = transaction.getState() as? AuthorizedAccountState {
|
||||
switch state {
|
||||
case let .state(pts, qts, date, seq, _):
|
||||
case let .state(stateData):
|
||||
let (pts, qts, date, seq) = (stateData.pts, stateData.qts, stateData.date, stateData.seq)
|
||||
transaction.setState(currentState.changedState(AuthorizedAccountState.State(pts: pts, qts: qts, date: date, seq: seq)))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,7 +112,8 @@ private func dialogReadState(network: Network, postbox: Postbox, peerId: PeerId)
|
|||
} else {
|
||||
let pts: Int32
|
||||
switch state {
|
||||
case let .state(statePts, _, _, _, _):
|
||||
case let .state(stateData):
|
||||
let (statePts) = (stateData.pts)
|
||||
pts = statePts
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3131,7 +3131,8 @@ func _internal_getAudioBroadcastPart(dataSource: AudioBroadcastDataSource, callI
|
|||
return dataSource.download.requestWithAdditionalData(Api.functions.upload.getFile(flags: 0, location: .inputGroupCallStream(.init(flags: 0, call: .inputGroupCall(.init(id: callId, accessHash: accessHash)), timeMs: timestampIdMilliseconds, scale: scale, videoChannel: nil, videoQuality: nil)), offset: 0, limit: 128 * 1024), automaticFloodWait: false, failOnServerErrors: true)
|
||||
|> map { result, responseTimestamp -> GetAudioBroadcastPartResult in
|
||||
switch result {
|
||||
case let .file(_, _, bytes):
|
||||
case let .file(fileData):
|
||||
let (bytes) = (fileData.bytes)
|
||||
return GetAudioBroadcastPartResult(
|
||||
status: .data(bytes.makeData()),
|
||||
responseTimestamp: responseTimestamp
|
||||
|
|
@ -3184,7 +3185,8 @@ func _internal_getVideoBroadcastPart(dataSource: AudioBroadcastDataSource, callI
|
|||
return dataSource.download.requestWithAdditionalData(Api.functions.upload.getFile(flags: 0, location: .inputGroupCallStream(.init(flags: 1 << 0, call: .inputGroupCall(.init(id: callId, accessHash: accessHash)), timeMs: timestampIdMilliseconds, scale: scale, videoChannel: channelId, videoQuality: quality)), offset: 0, limit: 512 * 1024), automaticFloodWait: false, failOnServerErrors: true)
|
||||
|> map { result, responseTimestamp -> GetAudioBroadcastPartResult in
|
||||
switch result {
|
||||
case let .file(_, _, bytes):
|
||||
case let .file(fileData):
|
||||
let (bytes) = (fileData.bytes)
|
||||
return GetAudioBroadcastPartResult(
|
||||
status: .data(bytes.makeData()),
|
||||
responseTimestamp: responseTimestamp
|
||||
|
|
|
|||
|
|
@ -465,7 +465,8 @@ public final class EngineStoryViewListContext {
|
|||
|> mapToSignal { result -> Signal<InternalState, NoError> in
|
||||
return account.postbox.transaction { transaction -> InternalState in
|
||||
switch result {
|
||||
case let .storyViewsList(_, count, viewsCount, forwardsCount, reactionsCount, views, chats, users, nextOffset):
|
||||
case let .storyViewsList(storyViewsListData):
|
||||
let (count, viewsCount, forwardsCount, reactionsCount, views, chats, users, nextOffset) = (storyViewsListData.count, storyViewsListData.viewsCount, storyViewsListData.forwardsCount, storyViewsListData.reactionsCount, storyViewsListData.views, storyViewsListData.chats, storyViewsListData.users, storyViewsListData.nextOffset)
|
||||
let peers = AccumulatedPeers(chats: chats, users: users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: peers)
|
||||
|
||||
|
|
@ -688,7 +689,8 @@ public final class EngineStoryViewListContext {
|
|||
|> mapToSignal { result -> Signal<InternalState, NoError> in
|
||||
return account.postbox.transaction { transaction -> InternalState in
|
||||
switch result {
|
||||
case let .storyReactionsList(_, count, reactions, chats, users, nextOffset):
|
||||
case let .storyReactionsList(storyReactionsListData):
|
||||
let (count, reactions, chats, users, nextOffset) = (storyReactionsListData.count, storyReactionsListData.reactions, storyReactionsListData.chats, storyReactionsListData.users, storyReactionsListData.nextOffset)
|
||||
let peers = AccumulatedPeers(chats: chats, users: users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: peers)
|
||||
|
||||
|
|
|
|||
|
|
@ -1927,7 +1927,8 @@ func _internal_checkStoriesUploadAvailability(account: Account, target: Stories.
|
|||
return account.network.request(Api.functions.stories.canSendStory(peer: inputPeer))
|
||||
|> map { result -> StoriesUploadAvailability in
|
||||
switch result {
|
||||
case let .canSendStoryCount(countRemains):
|
||||
case let .canSendStoryCount(canSendStoryCountData):
|
||||
let countRemains = canSendStoryCountData.countRemains
|
||||
return .available(remainingCount: countRemains)
|
||||
}
|
||||
}
|
||||
|
|
@ -2381,9 +2382,10 @@ func _internal_getStoryById(accountPeerId: PeerId, postbox: Postbox, network: Ne
|
|||
}
|
||||
return postbox.transaction { transaction -> EngineStoryItem? in
|
||||
switch result {
|
||||
case let .stories(_, _, stories, _, chats, users):
|
||||
case let .stories(storiesData):
|
||||
let (stories, chats, users) = (storiesData.stories, storiesData.chats, storiesData.users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: AccumulatedPeers(transaction: transaction, chats: chats, users: users))
|
||||
|
||||
|
||||
if let storyItem = stories.first.flatMap({ Stories.StoredItem(apiStoryItem: $0, peerId: peerId, transaction: transaction) }) {
|
||||
if let entry = CodableEntry(storyItem) {
|
||||
transaction.setStory(id: storyId, value: entry)
|
||||
|
|
@ -2449,9 +2451,10 @@ func _internal_getStoriesById(accountPeerId: PeerId, postbox: Postbox, network:
|
|||
}
|
||||
return postbox.transaction { transaction -> [Stories.StoredItem] in
|
||||
switch result {
|
||||
case let .stories(_, _, stories, _, chats, users):
|
||||
case let .stories(storiesData):
|
||||
let (stories, chats, users) = (storiesData.stories, storiesData.chats, storiesData.users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: AccumulatedPeers(transaction: transaction, chats: chats, users: users))
|
||||
|
||||
|
||||
return stories.compactMap { apiStoryItem -> Stories.StoredItem? in
|
||||
return Stories.StoredItem(apiStoryItem: apiStoryItem, peerId: peer.id, transaction: transaction)
|
||||
}
|
||||
|
|
@ -2480,9 +2483,10 @@ func _internal_getStoriesById(accountPeerId: PeerId, postbox: Postbox, source: F
|
|||
}
|
||||
return postbox.transaction { transaction -> [Stories.StoredItem]? in
|
||||
switch result {
|
||||
case let .stories(_, _, stories, _, chats, users):
|
||||
case let .stories(storiesData):
|
||||
let (stories, chats, users) = (storiesData.stories, storiesData.chats, storiesData.users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: AccumulatedPeers(transaction: transaction, chats: chats, users: users))
|
||||
|
||||
|
||||
return stories.compactMap { apiStoryItem -> Stories.StoredItem? in
|
||||
return Stories.StoredItem(apiStoryItem: apiStoryItem, peerId: peerId, transaction: transaction)
|
||||
}
|
||||
|
|
@ -2536,7 +2540,8 @@ func _internal_getStoryViews(account: Account, peerId: PeerId, ids: [Int32]) ->
|
|||
return account.postbox.transaction { transaction -> [Int32: Stories.Item.Views] in
|
||||
var parsedViews: [Int32: Stories.Item.Views] = [:]
|
||||
switch result {
|
||||
case let .storyViews(views, users):
|
||||
case let .storyViews(storyViewsData):
|
||||
let (views, users) = (storyViewsData.views, storyViewsData.users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: AccumulatedPeers(users: users))
|
||||
|
||||
for i in 0 ..< views.count {
|
||||
|
|
|
|||
|
|
@ -402,7 +402,8 @@ public final class StorySubscriptionsContext {
|
|||
let _ = (self.postbox.transaction { transaction -> Void in
|
||||
var updatedStealthMode: Api.StoriesStealthMode?
|
||||
switch result {
|
||||
case let .allStoriesNotModified(_, state, stealthMode):
|
||||
case let .allStoriesNotModified(allStoriesNotModifiedData):
|
||||
let (state, stealthMode) = (allStoriesNotModifiedData.state, allStoriesNotModifiedData.stealthMode)
|
||||
self.loadedStateMark = .value(state)
|
||||
let (currentStateValue, _) = transaction.getAllStorySubscriptions(key: subscriptionsKey)
|
||||
let currentState = currentStateValue.flatMap { $0.get(Stories.SubscriptionsState.self) }
|
||||
|
|
@ -421,7 +422,8 @@ public final class StorySubscriptionsContext {
|
|||
if isRefresh && !isHidden {
|
||||
updatedStealthMode = stealthMode
|
||||
}
|
||||
case let .allStories(flags, _, state, peerStories, chats, users, stealthMode):
|
||||
case let .allStories(allStoriesData):
|
||||
let (flags, state, peerStories, chats, users, stealthMode) = (allStoriesData.flags, allStoriesData.state, allStoriesData.peerStories, allStoriesData.chats, allStoriesData.users, allStoriesData.stealthMode)
|
||||
let parsedPeers = AccumulatedPeers(transaction: transaction, chats: chats, users: users)
|
||||
|
||||
let hasMore: Bool = (flags & (1 << 0)) != 0
|
||||
|
|
@ -890,7 +892,8 @@ public final class PeerStoryListContext: StoryListContext {
|
|||
|
||||
if let updatedFolders {
|
||||
switch updatedFolders {
|
||||
case let .albums(_, albums):
|
||||
case let .albums(albumsData):
|
||||
let albums = albumsData.albums
|
||||
for album in albums {
|
||||
switch album {
|
||||
case let .storyAlbum(storyAlbumData):
|
||||
|
|
@ -917,7 +920,8 @@ public final class PeerStoryListContext: StoryListContext {
|
|||
}
|
||||
|
||||
switch result {
|
||||
case let .stories(_, count, stories, pinnedStories, chats, users):
|
||||
case let .stories(storiesData):
|
||||
let (count, stories, pinnedStories, chats, users) = (storiesData.count, storiesData.stories, storiesData.pinnedToTop, storiesData.chats, storiesData.users)
|
||||
totalCount = Int(count)
|
||||
hasMore = stories.count >= limit
|
||||
|
||||
|
|
@ -2150,7 +2154,8 @@ public final class SearchStoryListContext: StoryListContext {
|
|||
var nextOffsetValue: String?
|
||||
|
||||
switch result {
|
||||
case let .foundStories(_, count, stories, nextOffset, chats, users):
|
||||
case let .foundStories(foundStoriesData):
|
||||
let (count, stories, nextOffset, chats, users) = (foundStoriesData.count, foundStoriesData.stories, foundStoriesData.nextOffset, foundStoriesData.chats, foundStoriesData.users)
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: AccumulatedPeers(transaction: transaction, chats: chats, users: users))
|
||||
|
||||
totalCount = Int(count)
|
||||
|
|
@ -2598,9 +2603,10 @@ public final class PeerExpiringStoryListContext {
|
|||
var updatedPeerEntries: [StoryItemsTableEntry] = []
|
||||
updatedPeerEntries.removeAll()
|
||||
|
||||
if let result = result, case let .peerStories(stories, chats, users) = result {
|
||||
if let result = result, case let .peerStories(peerStoriesData) = result {
|
||||
let (stories, chats, users) = (peerStoriesData.stories, peerStoriesData.chats, peerStoriesData.users)
|
||||
let parsedPeers = AccumulatedPeers(transaction: transaction, chats: chats, users: users)
|
||||
|
||||
|
||||
switch stories {
|
||||
case let .peerStories(peerStoriesData):
|
||||
let (_, peerIdValue, maxReadId, stories) = (peerStoriesData.flags, peerStoriesData.peer, peerStoriesData.maxReadId, peerStoriesData.stories)
|
||||
|
|
@ -2627,7 +2633,7 @@ public final class PeerExpiringStoryListContext {
|
|||
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: parsedPeers)
|
||||
}
|
||||
|
||||
|
||||
transaction.setStoryItems(peerId: peerId, items: updatedPeerEntries)
|
||||
}
|
||||
|> ignoreValues
|
||||
|
|
@ -2780,9 +2786,10 @@ public func _internal_pollPeerStories(postbox: Postbox, network: Network, accoun
|
|||
var updatedPeerEntries: [StoryItemsTableEntry] = []
|
||||
updatedPeerEntries.removeAll()
|
||||
|
||||
if let result = result, case let .peerStories(stories, chats, users) = result {
|
||||
if let result = result, case let .peerStories(peerStoriesData) = result {
|
||||
let (stories, chats, users) = (peerStoriesData.stories, peerStoriesData.chats, peerStoriesData.users)
|
||||
let parsedPeers = AccumulatedPeers(transaction: transaction, chats: chats, users: users)
|
||||
|
||||
|
||||
switch stories {
|
||||
case let .peerStories(peerStoriesData):
|
||||
let (_, peerIdValue, maxReadId, stories) = (peerStoriesData.flags, peerStoriesData.peer, peerStoriesData.maxReadId, peerStoriesData.stories)
|
||||
|
|
@ -2809,9 +2816,9 @@ public func _internal_pollPeerStories(postbox: Postbox, network: Network, accoun
|
|||
|
||||
updatePeers(transaction: transaction, accountPeerId: accountPeerId, peers: parsedPeers)
|
||||
}
|
||||
|
||||
|
||||
transaction.setStoryItems(peerId: peerId, items: updatedPeerEntries)
|
||||
|
||||
|
||||
var isContactOrMember = false
|
||||
if transaction.isPeerContact(peerId: peerId) {
|
||||
isContactOrMember = true
|
||||
|
|
|
|||
|
|
@ -65,12 +65,12 @@ func _internal_requestRecommendedBots(account: Account, peerId: EnginePeer.Id, f
|
|||
let parsedPeers: AccumulatedPeers
|
||||
var count: Int32
|
||||
switch result {
|
||||
case let .users(apiUsers):
|
||||
users = apiUsers
|
||||
count = Int32(apiUsers.count)
|
||||
case let .usersSlice(apiCount, apiUsers):
|
||||
users = apiUsers
|
||||
count = apiCount
|
||||
case let .users(usersData):
|
||||
users = usersData.users
|
||||
count = Int32(usersData.users.count)
|
||||
case let .usersSlice(usersSliceData):
|
||||
users = usersSliceData.users
|
||||
count = usersSliceData.count
|
||||
}
|
||||
parsedPeers = AccumulatedPeers(users: users)
|
||||
updatePeers(transaction: transaction, accountPeerId: account.peerId, peers: parsedPeers)
|
||||
|
|
|
|||
|
|
@ -62,8 +62,8 @@ func _internal_getSavedMusicById(postbox: Postbox, network: Network, peer: PeerR
|
|||
|> map { result -> TelegramMediaFile? in
|
||||
if let result {
|
||||
switch result {
|
||||
case let .savedMusic(_, documents):
|
||||
if let file = documents.first.flatMap({ telegramMediaFileFromApiDocument($0, altDocuments: nil) }) {
|
||||
case let .savedMusic(savedMusicData):
|
||||
if let file = savedMusicData.documents.first.flatMap({ telegramMediaFileFromApiDocument($0, altDocuments: nil) }) {
|
||||
return file
|
||||
}
|
||||
default:
|
||||
|
|
@ -366,10 +366,10 @@ public final class ProfileSavedMusicContext {
|
|||
return network.request(Api.functions.users.getSavedMusic(id: inputUser, offset: offset, limit: 32, hash: 0))
|
||||
|> map { result -> ([TelegramMediaFile], Int32) in
|
||||
switch result {
|
||||
case let .savedMusic(count, documents):
|
||||
return (documents.compactMap { telegramMediaFileFromApiDocument($0, altDocuments: nil) }, count)
|
||||
case let .savedMusicNotModified(count):
|
||||
return ([], count)
|
||||
case let .savedMusic(savedMusicData):
|
||||
return (savedMusicData.documents.compactMap { telegramMediaFileFromApiDocument($0, altDocuments: nil) }, savedMusicData.count)
|
||||
case let .savedMusicNotModified(savedMusicNotModifiedData):
|
||||
return ([], savedMusicNotModifiedData.count)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,7 +236,8 @@ func _internal_fetchAndUpdateCachedPeerData(accountPeerId: PeerId, peerId rawPee
|
|||
|> mapToSignal { result, editableBotInfo, botPreview, additionalConnectedBots -> Signal<Bool, NoError> in
|
||||
return postbox.transaction { transaction -> Bool in
|
||||
switch result {
|
||||
case let .userFull(fullUser, chats, users):
|
||||
case let .userFull(userFullData):
|
||||
let (fullUser, chats, users) = (userFullData.fullUser, userFullData.chats, userFullData.users)
|
||||
var accountUser: Api.User?
|
||||
var parsedPeers = AccumulatedPeers(transaction: transaction, chats: chats, users: users)
|
||||
for user in users {
|
||||
|
|
|
|||
|
|
@ -677,8 +677,8 @@ func _internal_getStickerSetShortNameSuggestion(account: Account, title: String)
|
|||
return nil
|
||||
}
|
||||
switch result {
|
||||
case let .suggestedShortName(shortName):
|
||||
return shortName
|
||||
case let .suggestedShortName(suggestedShortNameData):
|
||||
return suggestedShortNameData.shortName
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue