mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
1171 lines
53 KiB
Swift
1171 lines
53 KiB
Swift
public extension Api.stats {
|
|
enum BroadcastStats: TypeConstructorDescription {
|
|
case broadcastStats(period: Api.StatsDateRangeDays, followers: Api.StatsAbsValueAndPrev, viewsPerPost: Api.StatsAbsValueAndPrev, sharesPerPost: Api.StatsAbsValueAndPrev, enabledNotifications: Api.StatsPercentValue, growthGraph: Api.StatsGraph, followersGraph: Api.StatsGraph, muteGraph: Api.StatsGraph, topHoursGraph: Api.StatsGraph, interactionsGraph: Api.StatsGraph, ivInteractionsGraph: Api.StatsGraph, viewsBySourceGraph: Api.StatsGraph, newFollowersBySourceGraph: Api.StatsGraph, languagesGraph: Api.StatsGraph, recentMessageInteractions: [Api.MessageInteractionCounters])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .broadcastStats(let period, let followers, let viewsPerPost, let sharesPerPost, let enabledNotifications, let growthGraph, let followersGraph, let muteGraph, let topHoursGraph, let interactionsGraph, let ivInteractionsGraph, let viewsBySourceGraph, let newFollowersBySourceGraph, let languagesGraph, let recentMessageInteractions):
|
|
if boxed {
|
|
buffer.appendInt32(-1107852396)
|
|
}
|
|
period.serialize(buffer, true)
|
|
followers.serialize(buffer, true)
|
|
viewsPerPost.serialize(buffer, true)
|
|
sharesPerPost.serialize(buffer, true)
|
|
enabledNotifications.serialize(buffer, true)
|
|
growthGraph.serialize(buffer, true)
|
|
followersGraph.serialize(buffer, true)
|
|
muteGraph.serialize(buffer, true)
|
|
topHoursGraph.serialize(buffer, true)
|
|
interactionsGraph.serialize(buffer, true)
|
|
ivInteractionsGraph.serialize(buffer, true)
|
|
viewsBySourceGraph.serialize(buffer, true)
|
|
newFollowersBySourceGraph.serialize(buffer, true)
|
|
languagesGraph.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(recentMessageInteractions.count))
|
|
for item in recentMessageInteractions {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .broadcastStats(let period, let followers, let viewsPerPost, let sharesPerPost, let enabledNotifications, let growthGraph, let followersGraph, let muteGraph, let topHoursGraph, let interactionsGraph, let ivInteractionsGraph, let viewsBySourceGraph, let newFollowersBySourceGraph, let languagesGraph, let recentMessageInteractions):
|
|
return ("broadcastStats", [("period", String(describing: period)), ("followers", String(describing: followers)), ("viewsPerPost", String(describing: viewsPerPost)), ("sharesPerPost", String(describing: sharesPerPost)), ("enabledNotifications", String(describing: enabledNotifications)), ("growthGraph", String(describing: growthGraph)), ("followersGraph", String(describing: followersGraph)), ("muteGraph", String(describing: muteGraph)), ("topHoursGraph", String(describing: topHoursGraph)), ("interactionsGraph", String(describing: interactionsGraph)), ("ivInteractionsGraph", String(describing: ivInteractionsGraph)), ("viewsBySourceGraph", String(describing: viewsBySourceGraph)), ("newFollowersBySourceGraph", String(describing: newFollowersBySourceGraph)), ("languagesGraph", String(describing: languagesGraph)), ("recentMessageInteractions", String(describing: recentMessageInteractions))])
|
|
}
|
|
}
|
|
|
|
public static func parse_broadcastStats(_ reader: BufferReader) -> BroadcastStats? {
|
|
var _1: Api.StatsDateRangeDays?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.StatsDateRangeDays
|
|
}
|
|
var _2: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_2 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _3: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _4: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_4 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _5: Api.StatsPercentValue?
|
|
if let signature = reader.readInt32() {
|
|
_5 = Api.parse(reader, signature: signature) as? Api.StatsPercentValue
|
|
}
|
|
var _6: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _7: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_7 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _8: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_8 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _9: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_9 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _10: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_10 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _11: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_11 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _12: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_12 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _13: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_13 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _14: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_14 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _15: [Api.MessageInteractionCounters]?
|
|
if let _ = reader.readInt32() {
|
|
_15 = Api.parseVector(reader, elementSignature: 0, elementType: Api.MessageInteractionCounters.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
let _c7 = _7 != nil
|
|
let _c8 = _8 != nil
|
|
let _c9 = _9 != nil
|
|
let _c10 = _10 != nil
|
|
let _c11 = _11 != nil
|
|
let _c12 = _12 != nil
|
|
let _c13 = _13 != nil
|
|
let _c14 = _14 != nil
|
|
let _c15 = _15 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 {
|
|
return Api.stats.BroadcastStats.broadcastStats(period: _1!, followers: _2!, viewsPerPost: _3!, sharesPerPost: _4!, enabledNotifications: _5!, growthGraph: _6!, followersGraph: _7!, muteGraph: _8!, topHoursGraph: _9!, interactionsGraph: _10!, ivInteractionsGraph: _11!, viewsBySourceGraph: _12!, newFollowersBySourceGraph: _13!, languagesGraph: _14!, recentMessageInteractions: _15!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stats {
|
|
enum MegagroupStats: TypeConstructorDescription {
|
|
case megagroupStats(period: Api.StatsDateRangeDays, members: Api.StatsAbsValueAndPrev, messages: Api.StatsAbsValueAndPrev, viewers: Api.StatsAbsValueAndPrev, posters: Api.StatsAbsValueAndPrev, growthGraph: Api.StatsGraph, membersGraph: Api.StatsGraph, newMembersBySourceGraph: Api.StatsGraph, languagesGraph: Api.StatsGraph, messagesGraph: Api.StatsGraph, actionsGraph: Api.StatsGraph, topHoursGraph: Api.StatsGraph, weekdaysGraph: Api.StatsGraph, topPosters: [Api.StatsGroupTopPoster], topAdmins: [Api.StatsGroupTopAdmin], topInviters: [Api.StatsGroupTopInviter], users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .megagroupStats(let period, let members, let messages, let viewers, let posters, let growthGraph, let membersGraph, let newMembersBySourceGraph, let languagesGraph, let messagesGraph, let actionsGraph, let topHoursGraph, let weekdaysGraph, let topPosters, let topAdmins, let topInviters, let users):
|
|
if boxed {
|
|
buffer.appendInt32(-276825834)
|
|
}
|
|
period.serialize(buffer, true)
|
|
members.serialize(buffer, true)
|
|
messages.serialize(buffer, true)
|
|
viewers.serialize(buffer, true)
|
|
posters.serialize(buffer, true)
|
|
growthGraph.serialize(buffer, true)
|
|
membersGraph.serialize(buffer, true)
|
|
newMembersBySourceGraph.serialize(buffer, true)
|
|
languagesGraph.serialize(buffer, true)
|
|
messagesGraph.serialize(buffer, true)
|
|
actionsGraph.serialize(buffer, true)
|
|
topHoursGraph.serialize(buffer, true)
|
|
weekdaysGraph.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topPosters.count))
|
|
for item in topPosters {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topAdmins.count))
|
|
for item in topAdmins {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(topInviters.count))
|
|
for item in topInviters {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .megagroupStats(let period, let members, let messages, let viewers, let posters, let growthGraph, let membersGraph, let newMembersBySourceGraph, let languagesGraph, let messagesGraph, let actionsGraph, let topHoursGraph, let weekdaysGraph, let topPosters, let topAdmins, let topInviters, let users):
|
|
return ("megagroupStats", [("period", String(describing: period)), ("members", String(describing: members)), ("messages", String(describing: messages)), ("viewers", String(describing: viewers)), ("posters", String(describing: posters)), ("growthGraph", String(describing: growthGraph)), ("membersGraph", String(describing: membersGraph)), ("newMembersBySourceGraph", String(describing: newMembersBySourceGraph)), ("languagesGraph", String(describing: languagesGraph)), ("messagesGraph", String(describing: messagesGraph)), ("actionsGraph", String(describing: actionsGraph)), ("topHoursGraph", String(describing: topHoursGraph)), ("weekdaysGraph", String(describing: weekdaysGraph)), ("topPosters", String(describing: topPosters)), ("topAdmins", String(describing: topAdmins)), ("topInviters", String(describing: topInviters)), ("users", String(describing: users))])
|
|
}
|
|
}
|
|
|
|
public static func parse_megagroupStats(_ reader: BufferReader) -> MegagroupStats? {
|
|
var _1: Api.StatsDateRangeDays?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.StatsDateRangeDays
|
|
}
|
|
var _2: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_2 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _3: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _4: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_4 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _5: Api.StatsAbsValueAndPrev?
|
|
if let signature = reader.readInt32() {
|
|
_5 = Api.parse(reader, signature: signature) as? Api.StatsAbsValueAndPrev
|
|
}
|
|
var _6: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _7: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_7 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _8: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_8 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _9: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_9 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _10: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_10 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _11: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_11 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _12: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_12 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _13: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_13 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
var _14: [Api.StatsGroupTopPoster]?
|
|
if let _ = reader.readInt32() {
|
|
_14 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopPoster.self)
|
|
}
|
|
var _15: [Api.StatsGroupTopAdmin]?
|
|
if let _ = reader.readInt32() {
|
|
_15 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopAdmin.self)
|
|
}
|
|
var _16: [Api.StatsGroupTopInviter]?
|
|
if let _ = reader.readInt32() {
|
|
_16 = Api.parseVector(reader, elementSignature: 0, elementType: Api.StatsGroupTopInviter.self)
|
|
}
|
|
var _17: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_17 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
let _c7 = _7 != nil
|
|
let _c8 = _8 != nil
|
|
let _c9 = _9 != nil
|
|
let _c10 = _10 != nil
|
|
let _c11 = _11 != nil
|
|
let _c12 = _12 != nil
|
|
let _c13 = _13 != nil
|
|
let _c14 = _14 != nil
|
|
let _c15 = _15 != nil
|
|
let _c16 = _16 != nil
|
|
let _c17 = _17 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 && _c17 {
|
|
return Api.stats.MegagroupStats.megagroupStats(period: _1!, members: _2!, messages: _3!, viewers: _4!, posters: _5!, growthGraph: _6!, membersGraph: _7!, newMembersBySourceGraph: _8!, languagesGraph: _9!, messagesGraph: _10!, actionsGraph: _11!, topHoursGraph: _12!, weekdaysGraph: _13!, topPosters: _14!, topAdmins: _15!, topInviters: _16!, users: _17!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stats {
|
|
enum MessageStats: TypeConstructorDescription {
|
|
case messageStats(viewsGraph: Api.StatsGraph)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .messageStats(let viewsGraph):
|
|
if boxed {
|
|
buffer.appendInt32(-1986399595)
|
|
}
|
|
viewsGraph.serialize(buffer, true)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .messageStats(let viewsGraph):
|
|
return ("messageStats", [("viewsGraph", String(describing: viewsGraph))])
|
|
}
|
|
}
|
|
|
|
public static func parse_messageStats(_ reader: BufferReader) -> MessageStats? {
|
|
var _1: Api.StatsGraph?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.StatsGraph
|
|
}
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.stats.MessageStats.messageStats(viewsGraph: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.stickers {
|
|
enum SuggestedShortName: TypeConstructorDescription {
|
|
case suggestedShortName(shortName: String)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .suggestedShortName(let shortName):
|
|
if boxed {
|
|
buffer.appendInt32(-2046910401)
|
|
}
|
|
serializeString(shortName, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .suggestedShortName(let shortName):
|
|
return ("suggestedShortName", [("shortName", String(describing: shortName))])
|
|
}
|
|
}
|
|
|
|
public static func parse_suggestedShortName(_ reader: BufferReader) -> SuggestedShortName? {
|
|
var _1: String?
|
|
_1 = parseString(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.stickers.SuggestedShortName.suggestedShortName(shortName: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.storage {
|
|
enum FileType: TypeConstructorDescription {
|
|
case fileGif
|
|
case fileJpeg
|
|
case fileMov
|
|
case fileMp3
|
|
case fileMp4
|
|
case filePartial
|
|
case filePdf
|
|
case filePng
|
|
case fileUnknown
|
|
case fileWebp
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .fileGif:
|
|
if boxed {
|
|
buffer.appendInt32(-891180321)
|
|
}
|
|
|
|
break
|
|
case .fileJpeg:
|
|
if boxed {
|
|
buffer.appendInt32(8322574)
|
|
}
|
|
|
|
break
|
|
case .fileMov:
|
|
if boxed {
|
|
buffer.appendInt32(1258941372)
|
|
}
|
|
|
|
break
|
|
case .fileMp3:
|
|
if boxed {
|
|
buffer.appendInt32(1384777335)
|
|
}
|
|
|
|
break
|
|
case .fileMp4:
|
|
if boxed {
|
|
buffer.appendInt32(-1278304028)
|
|
}
|
|
|
|
break
|
|
case .filePartial:
|
|
if boxed {
|
|
buffer.appendInt32(1086091090)
|
|
}
|
|
|
|
break
|
|
case .filePdf:
|
|
if boxed {
|
|
buffer.appendInt32(-1373745011)
|
|
}
|
|
|
|
break
|
|
case .filePng:
|
|
if boxed {
|
|
buffer.appendInt32(172975040)
|
|
}
|
|
|
|
break
|
|
case .fileUnknown:
|
|
if boxed {
|
|
buffer.appendInt32(-1432995067)
|
|
}
|
|
|
|
break
|
|
case .fileWebp:
|
|
if boxed {
|
|
buffer.appendInt32(276907596)
|
|
}
|
|
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .fileGif:
|
|
return ("fileGif", [])
|
|
case .fileJpeg:
|
|
return ("fileJpeg", [])
|
|
case .fileMov:
|
|
return ("fileMov", [])
|
|
case .fileMp3:
|
|
return ("fileMp3", [])
|
|
case .fileMp4:
|
|
return ("fileMp4", [])
|
|
case .filePartial:
|
|
return ("filePartial", [])
|
|
case .filePdf:
|
|
return ("filePdf", [])
|
|
case .filePng:
|
|
return ("filePng", [])
|
|
case .fileUnknown:
|
|
return ("fileUnknown", [])
|
|
case .fileWebp:
|
|
return ("fileWebp", [])
|
|
}
|
|
}
|
|
|
|
public static func parse_fileGif(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileGif
|
|
}
|
|
public static func parse_fileJpeg(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileJpeg
|
|
}
|
|
public static func parse_fileMov(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMov
|
|
}
|
|
public static func parse_fileMp3(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMp3
|
|
}
|
|
public static func parse_fileMp4(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileMp4
|
|
}
|
|
public static func parse_filePartial(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePartial
|
|
}
|
|
public static func parse_filePdf(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePdf
|
|
}
|
|
public static func parse_filePng(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.filePng
|
|
}
|
|
public static func parse_fileUnknown(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileUnknown
|
|
}
|
|
public static func parse_fileWebp(_ reader: BufferReader) -> FileType? {
|
|
return Api.storage.FileType.fileWebp
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.updates {
|
|
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 func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .channelDifference(let flags, let pts, let timeout, let newMessages, let otherUpdates, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(543450958)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
case .channelDifferenceEmpty(let flags, let pts, let timeout):
|
|
if boxed {
|
|
buffer.appendInt32(1041346555)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
break
|
|
case .channelDifferenceTooLong(let flags, let timeout, let dialog, let messages, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(-1531132162)
|
|
}
|
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
|
if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)}
|
|
dialog.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(messages.count))
|
|
for item in messages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .channelDifference(let flags, let pts, let timeout, let newMessages, let otherUpdates, let chats, let users):
|
|
return ("channelDifference", [("flags", String(describing: flags)), ("pts", String(describing: pts)), ("timeout", String(describing: timeout)), ("newMessages", String(describing: newMessages)), ("otherUpdates", String(describing: otherUpdates)), ("chats", String(describing: chats)), ("users", String(describing: users))])
|
|
case .channelDifferenceEmpty(let flags, let pts, let timeout):
|
|
return ("channelDifferenceEmpty", [("flags", String(describing: flags)), ("pts", String(describing: pts)), ("timeout", String(describing: timeout))])
|
|
case .channelDifferenceTooLong(let flags, let timeout, let dialog, let messages, let chats, let users):
|
|
return ("channelDifferenceTooLong", [("flags", String(describing: flags)), ("timeout", String(describing: timeout)), ("dialog", String(describing: dialog)), ("messages", String(describing: messages)), ("chats", String(describing: chats)), ("users", String(describing: users))])
|
|
}
|
|
}
|
|
|
|
public static func parse_channelDifference(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() }
|
|
var _4: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _5: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _6: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_6 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _7: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_7 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
let _c7 = _7 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 {
|
|
return Api.updates.ChannelDifference.channelDifference(flags: _1!, pts: _2!, timeout: _3, newMessages: _4!, otherUpdates: _5!, chats: _6!, users: _7!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_channelDifferenceEmpty(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() }
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.updates.ChannelDifference.channelDifferenceEmpty(flags: _1!, pts: _2!, timeout: _3)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_channelDifferenceTooLong(_ reader: BufferReader) -> ChannelDifference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
if Int(_1!) & Int(1 << 1) != 0 {_2 = reader.readInt32() }
|
|
var _3: Api.Dialog?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.Dialog
|
|
}
|
|
var _4: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _5: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _6: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_6 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = (Int(_1!) & Int(1 << 1) == 0) || _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.ChannelDifference.channelDifferenceTooLong(flags: _1!, timeout: _2, dialog: _3!, messages: _4!, chats: _5!, users: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
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 func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .difference(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let state):
|
|
if boxed {
|
|
buffer.appendInt32(16030880)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newEncryptedMessages.count))
|
|
for item in newEncryptedMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
state.serialize(buffer, true)
|
|
break
|
|
case .differenceEmpty(let date, let seq):
|
|
if boxed {
|
|
buffer.appendInt32(1567990072)
|
|
}
|
|
serializeInt32(date, buffer: buffer, boxed: false)
|
|
serializeInt32(seq, buffer: buffer, boxed: false)
|
|
break
|
|
case .differenceSlice(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let intermediateState):
|
|
if boxed {
|
|
buffer.appendInt32(-1459938943)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newMessages.count))
|
|
for item in newMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(newEncryptedMessages.count))
|
|
for item in newEncryptedMessages {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(otherUpdates.count))
|
|
for item in otherUpdates {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
intermediateState.serialize(buffer, true)
|
|
break
|
|
case .differenceTooLong(let pts):
|
|
if boxed {
|
|
buffer.appendInt32(1258196845)
|
|
}
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .difference(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let state):
|
|
return ("difference", [("newMessages", String(describing: newMessages)), ("newEncryptedMessages", String(describing: newEncryptedMessages)), ("otherUpdates", String(describing: otherUpdates)), ("chats", String(describing: chats)), ("users", String(describing: users)), ("state", String(describing: state))])
|
|
case .differenceEmpty(let date, let seq):
|
|
return ("differenceEmpty", [("date", String(describing: date)), ("seq", String(describing: seq))])
|
|
case .differenceSlice(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let intermediateState):
|
|
return ("differenceSlice", [("newMessages", String(describing: newMessages)), ("newEncryptedMessages", String(describing: newEncryptedMessages)), ("otherUpdates", String(describing: otherUpdates)), ("chats", String(describing: chats)), ("users", String(describing: users)), ("intermediateState", String(describing: intermediateState))])
|
|
case .differenceTooLong(let pts):
|
|
return ("differenceTooLong", [("pts", String(describing: pts))])
|
|
}
|
|
}
|
|
|
|
public static func parse_difference(_ reader: BufferReader) -> Difference? {
|
|
var _1: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _2: [Api.EncryptedMessage]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self)
|
|
}
|
|
var _3: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _4: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _5: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
var _6: Api.updates.State?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.updates.State
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.Difference.difference(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, state: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceEmpty(_ reader: BufferReader) -> Difference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
if _c1 && _c2 {
|
|
return Api.updates.Difference.differenceEmpty(date: _1!, seq: _2!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceSlice(_ reader: BufferReader) -> Difference? {
|
|
var _1: [Api.Message]?
|
|
if let _ = reader.readInt32() {
|
|
_1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
|
}
|
|
var _2: [Api.EncryptedMessage]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self)
|
|
}
|
|
var _3: [Api.Update]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self)
|
|
}
|
|
var _4: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _5: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
var _6: Api.updates.State?
|
|
if let signature = reader.readInt32() {
|
|
_6 = Api.parse(reader, signature: signature) as? Api.updates.State
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
let _c6 = _6 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 {
|
|
return Api.updates.Difference.differenceSlice(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, intermediateState: _6!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_differenceTooLong(_ reader: BufferReader) -> Difference? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.updates.Difference.differenceTooLong(pts: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.updates {
|
|
enum State: TypeConstructorDescription {
|
|
case state(pts: Int32, qts: Int32, date: Int32, seq: Int32, unreadCount: Int32)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .state(let pts, let qts, let date, let seq, let unreadCount):
|
|
if boxed {
|
|
buffer.appendInt32(-1519637954)
|
|
}
|
|
serializeInt32(pts, buffer: buffer, boxed: false)
|
|
serializeInt32(qts, buffer: buffer, boxed: false)
|
|
serializeInt32(date, buffer: buffer, boxed: false)
|
|
serializeInt32(seq, buffer: buffer, boxed: false)
|
|
serializeInt32(unreadCount, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .state(let pts, let qts, let date, let seq, let unreadCount):
|
|
return ("state", [("pts", String(describing: pts)), ("qts", String(describing: qts)), ("date", String(describing: date)), ("seq", String(describing: seq)), ("unreadCount", String(describing: unreadCount))])
|
|
}
|
|
}
|
|
|
|
public static func parse_state(_ reader: BufferReader) -> State? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Int32?
|
|
_3 = reader.readInt32()
|
|
var _4: Int32?
|
|
_4 = reader.readInt32()
|
|
var _5: Int32?
|
|
_5 = reader.readInt32()
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.updates.State.state(pts: _1!, qts: _2!, date: _3!, seq: _4!, unreadCount: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.upload {
|
|
enum CdnFile: TypeConstructorDescription {
|
|
case cdnFile(bytes: Buffer)
|
|
case cdnFileReuploadNeeded(requestToken: Buffer)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .cdnFile(let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(-1449145777)
|
|
}
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
case .cdnFileReuploadNeeded(let requestToken):
|
|
if boxed {
|
|
buffer.appendInt32(-290921362)
|
|
}
|
|
serializeBytes(requestToken, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .cdnFile(let bytes):
|
|
return ("cdnFile", [("bytes", String(describing: bytes))])
|
|
case .cdnFileReuploadNeeded(let requestToken):
|
|
return ("cdnFileReuploadNeeded", [("requestToken", String(describing: requestToken))])
|
|
}
|
|
}
|
|
|
|
public static func parse_cdnFile(_ reader: BufferReader) -> CdnFile? {
|
|
var _1: Buffer?
|
|
_1 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.upload.CdnFile.cdnFile(bytes: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_cdnFileReuploadNeeded(_ reader: BufferReader) -> CdnFile? {
|
|
var _1: Buffer?
|
|
_1 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
if _c1 {
|
|
return Api.upload.CdnFile.cdnFileReuploadNeeded(requestToken: _1!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
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 func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .file(let type, let mtime, let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(157948117)
|
|
}
|
|
type.serialize(buffer, true)
|
|
serializeInt32(mtime, buffer: buffer, boxed: false)
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
case .fileCdnRedirect(let dcId, let fileToken, let encryptionKey, let encryptionIv, let fileHashes):
|
|
if boxed {
|
|
buffer.appendInt32(-242427324)
|
|
}
|
|
serializeInt32(dcId, buffer: buffer, boxed: false)
|
|
serializeBytes(fileToken, buffer: buffer, boxed: false)
|
|
serializeBytes(encryptionKey, buffer: buffer, boxed: false)
|
|
serializeBytes(encryptionIv, buffer: buffer, boxed: false)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(fileHashes.count))
|
|
for item in fileHashes {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .file(let type, let mtime, let bytes):
|
|
return ("file", [("type", String(describing: type)), ("mtime", String(describing: mtime)), ("bytes", String(describing: bytes))])
|
|
case .fileCdnRedirect(let dcId, let fileToken, let encryptionKey, let encryptionIv, let fileHashes):
|
|
return ("fileCdnRedirect", [("dcId", String(describing: dcId)), ("fileToken", String(describing: fileToken)), ("encryptionKey", String(describing: encryptionKey)), ("encryptionIv", String(describing: encryptionIv)), ("fileHashes", String(describing: fileHashes))])
|
|
}
|
|
}
|
|
|
|
public static func parse_file(_ reader: BufferReader) -> File? {
|
|
var _1: Api.storage.FileType?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.storage.FileType
|
|
}
|
|
var _2: Int32?
|
|
_2 = reader.readInt32()
|
|
var _3: Buffer?
|
|
_3 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.upload.File.file(type: _1!, mtime: _2!, bytes: _3!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
public static func parse_fileCdnRedirect(_ reader: BufferReader) -> File? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: Buffer?
|
|
_2 = parseBytes(reader)
|
|
var _3: Buffer?
|
|
_3 = parseBytes(reader)
|
|
var _4: Buffer?
|
|
_4 = parseBytes(reader)
|
|
var _5: [Api.FileHash]?
|
|
if let _ = reader.readInt32() {
|
|
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.FileHash.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.upload.File.fileCdnRedirect(dcId: _1!, fileToken: _2!, encryptionKey: _3!, encryptionIv: _4!, fileHashes: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.upload {
|
|
enum WebFile: TypeConstructorDescription {
|
|
case webFile(size: Int32, mimeType: String, fileType: Api.storage.FileType, mtime: Int32, bytes: Buffer)
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .webFile(let size, let mimeType, let fileType, let mtime, let bytes):
|
|
if boxed {
|
|
buffer.appendInt32(568808380)
|
|
}
|
|
serializeInt32(size, buffer: buffer, boxed: false)
|
|
serializeString(mimeType, buffer: buffer, boxed: false)
|
|
fileType.serialize(buffer, true)
|
|
serializeInt32(mtime, buffer: buffer, boxed: false)
|
|
serializeBytes(bytes, buffer: buffer, boxed: false)
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .webFile(let size, let mimeType, let fileType, let mtime, let bytes):
|
|
return ("webFile", [("size", String(describing: size)), ("mimeType", String(describing: mimeType)), ("fileType", String(describing: fileType)), ("mtime", String(describing: mtime)), ("bytes", String(describing: bytes))])
|
|
}
|
|
}
|
|
|
|
public static func parse_webFile(_ reader: BufferReader) -> WebFile? {
|
|
var _1: Int32?
|
|
_1 = reader.readInt32()
|
|
var _2: String?
|
|
_2 = parseString(reader)
|
|
var _3: Api.storage.FileType?
|
|
if let signature = reader.readInt32() {
|
|
_3 = Api.parse(reader, signature: signature) as? Api.storage.FileType
|
|
}
|
|
var _4: Int32?
|
|
_4 = reader.readInt32()
|
|
var _5: Buffer?
|
|
_5 = parseBytes(reader)
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
let _c4 = _4 != nil
|
|
let _c5 = _5 != nil
|
|
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
|
return Api.upload.WebFile.webFile(size: _1!, mimeType: _2!, fileType: _3!, mtime: _4!, bytes: _5!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
public extension Api.users {
|
|
enum UserFull: TypeConstructorDescription {
|
|
case userFull(fullUser: Api.UserFull, chats: [Api.Chat], users: [Api.User])
|
|
|
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
|
switch self {
|
|
case .userFull(let fullUser, let chats, let users):
|
|
if boxed {
|
|
buffer.appendInt32(997004590)
|
|
}
|
|
fullUser.serialize(buffer, true)
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(chats.count))
|
|
for item in chats {
|
|
item.serialize(buffer, true)
|
|
}
|
|
buffer.appendInt32(481674261)
|
|
buffer.appendInt32(Int32(users.count))
|
|
for item in users {
|
|
item.serialize(buffer, true)
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
|
switch self {
|
|
case .userFull(let fullUser, let chats, let users):
|
|
return ("userFull", [("fullUser", String(describing: fullUser)), ("chats", String(describing: chats)), ("users", String(describing: users))])
|
|
}
|
|
}
|
|
|
|
public static func parse_userFull(_ reader: BufferReader) -> UserFull? {
|
|
var _1: Api.UserFull?
|
|
if let signature = reader.readInt32() {
|
|
_1 = Api.parse(reader, signature: signature) as? Api.UserFull
|
|
}
|
|
var _2: [Api.Chat]?
|
|
if let _ = reader.readInt32() {
|
|
_2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
|
}
|
|
var _3: [Api.User]?
|
|
if let _ = reader.readInt32() {
|
|
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
|
}
|
|
let _c1 = _1 != nil
|
|
let _c2 = _2 != nil
|
|
let _c3 = _3 != nil
|
|
if _c1 && _c2 && _c3 {
|
|
return Api.users.UserFull.userFull(fullUser: _1!, chats: _2!, users: _3!)
|
|
}
|
|
else {
|
|
return nil
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|