mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Update API [skip ci]
This commit is contained in:
parent
ed86e369eb
commit
79645b4fef
7 changed files with 46 additions and 21 deletions
|
|
@ -978,7 +978,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
|||
dict[596704836] = { return Api.auth.SentCode.parse_sentCodeSuccess($0) }
|
||||
dict[1035688326] = { return Api.auth.SentCodeType.parse_sentCodeTypeApp($0) }
|
||||
dict[1398007207] = { return Api.auth.SentCodeType.parse_sentCodeTypeCall($0) }
|
||||
dict[1511364673] = { return Api.auth.SentCodeType.parse_sentCodeTypeEmailCode($0) }
|
||||
dict[-196020837] = { return Api.auth.SentCodeType.parse_sentCodeTypeEmailCode($0) }
|
||||
dict[-444918734] = { return Api.auth.SentCodeType.parse_sentCodeTypeFirebaseSms($0) }
|
||||
dict[-1425815847] = { return Api.auth.SentCodeType.parse_sentCodeTypeFlashCall($0) }
|
||||
dict[-648651719] = { return Api.auth.SentCodeType.parse_sentCodeTypeFragmentSms($0) }
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ public extension Api.auth {
|
|||
enum SentCodeType: TypeConstructorDescription {
|
||||
case sentCodeTypeApp(length: Int32)
|
||||
case sentCodeTypeCall(length: Int32)
|
||||
case sentCodeTypeEmailCode(flags: Int32, emailPattern: String, length: Int32, nextPhoneLoginDate: Int32?)
|
||||
case sentCodeTypeEmailCode(flags: Int32, emailPattern: String, length: Int32, resetAvailablePeriod: Int32?, resetPendingDate: Int32?)
|
||||
case sentCodeTypeFirebaseSms(flags: Int32, nonce: Buffer?, receipt: String?, pushTimeout: Int32?, length: Int32)
|
||||
case sentCodeTypeFlashCall(pattern: String)
|
||||
case sentCodeTypeFragmentSms(url: String, length: Int32)
|
||||
|
|
@ -380,14 +380,15 @@ public extension Api.auth {
|
|||
}
|
||||
serializeInt32(length, buffer: buffer, boxed: false)
|
||||
break
|
||||
case .sentCodeTypeEmailCode(let flags, let emailPattern, let length, let nextPhoneLoginDate):
|
||||
case .sentCodeTypeEmailCode(let flags, let emailPattern, let length, let resetAvailablePeriod, let resetPendingDate):
|
||||
if boxed {
|
||||
buffer.appendInt32(1511364673)
|
||||
buffer.appendInt32(-196020837)
|
||||
}
|
||||
serializeInt32(flags, buffer: buffer, boxed: false)
|
||||
serializeString(emailPattern, buffer: buffer, boxed: false)
|
||||
serializeInt32(length, buffer: buffer, boxed: false)
|
||||
if Int(flags) & Int(1 << 2) != 0 {serializeInt32(nextPhoneLoginDate!, buffer: buffer, boxed: false)}
|
||||
if Int(flags) & Int(1 << 3) != 0 {serializeInt32(resetAvailablePeriod!, buffer: buffer, boxed: false)}
|
||||
if Int(flags) & Int(1 << 4) != 0 {serializeInt32(resetPendingDate!, buffer: buffer, boxed: false)}
|
||||
break
|
||||
case .sentCodeTypeFirebaseSms(let flags, let nonce, let receipt, let pushTimeout, let length):
|
||||
if boxed {
|
||||
|
|
@ -440,8 +441,8 @@ public extension Api.auth {
|
|||
return ("sentCodeTypeApp", [("length", length as Any)])
|
||||
case .sentCodeTypeCall(let length):
|
||||
return ("sentCodeTypeCall", [("length", length as Any)])
|
||||
case .sentCodeTypeEmailCode(let flags, let emailPattern, let length, let nextPhoneLoginDate):
|
||||
return ("sentCodeTypeEmailCode", [("flags", flags as Any), ("emailPattern", emailPattern as Any), ("length", length as Any), ("nextPhoneLoginDate", nextPhoneLoginDate as Any)])
|
||||
case .sentCodeTypeEmailCode(let flags, let emailPattern, let length, let resetAvailablePeriod, let resetPendingDate):
|
||||
return ("sentCodeTypeEmailCode", [("flags", flags as Any), ("emailPattern", emailPattern as Any), ("length", length as Any), ("resetAvailablePeriod", resetAvailablePeriod as Any), ("resetPendingDate", resetPendingDate as Any)])
|
||||
case .sentCodeTypeFirebaseSms(let flags, let nonce, let receipt, let pushTimeout, let length):
|
||||
return ("sentCodeTypeFirebaseSms", [("flags", flags as Any), ("nonce", nonce as Any), ("receipt", receipt as Any), ("pushTimeout", pushTimeout as Any), ("length", length as Any)])
|
||||
case .sentCodeTypeFlashCall(let pattern):
|
||||
|
|
@ -487,13 +488,16 @@ public extension Api.auth {
|
|||
var _3: Int32?
|
||||
_3 = reader.readInt32()
|
||||
var _4: Int32?
|
||||
if Int(_1!) & Int(1 << 2) != 0 {_4 = reader.readInt32() }
|
||||
if Int(_1!) & Int(1 << 3) != 0 {_4 = reader.readInt32() }
|
||||
var _5: Int32?
|
||||
if Int(_1!) & Int(1 << 4) != 0 {_5 = reader.readInt32() }
|
||||
let _c1 = _1 != nil
|
||||
let _c2 = _2 != nil
|
||||
let _c3 = _3 != nil
|
||||
let _c4 = (Int(_1!) & Int(1 << 2) == 0) || _4 != nil
|
||||
if _c1 && _c2 && _c3 && _c4 {
|
||||
return Api.auth.SentCodeType.sentCodeTypeEmailCode(flags: _1!, emailPattern: _2!, length: _3!, nextPhoneLoginDate: _4)
|
||||
let _c4 = (Int(_1!) & Int(1 << 3) == 0) || _4 != nil
|
||||
let _c5 = (Int(_1!) & Int(1 << 4) == 0) || _5 != nil
|
||||
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
||||
return Api.auth.SentCodeType.sentCodeTypeEmailCode(flags: _1!, emailPattern: _2!, length: _3!, resetAvailablePeriod: _4, resetPendingDate: _5)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -1715,6 +1715,22 @@ public extension Api.functions.auth {
|
|||
})
|
||||
}
|
||||
}
|
||||
public extension Api.functions.auth {
|
||||
static func resetLoginEmail(phoneNumber: String, phoneCodeHash: String) -> (FunctionDescription, Buffer, DeserializeFunctionResponse<Api.auth.SentCode>) {
|
||||
let buffer = Buffer()
|
||||
buffer.appendInt32(2123760019)
|
||||
serializeString(phoneNumber, buffer: buffer, boxed: false)
|
||||
serializeString(phoneCodeHash, buffer: buffer, boxed: false)
|
||||
return (FunctionDescription(name: "auth.resetLoginEmail", parameters: [("phoneNumber", String(describing: phoneNumber)), ("phoneCodeHash", String(describing: phoneCodeHash))]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.auth.SentCode? in
|
||||
let reader = BufferReader(buffer)
|
||||
var result: Api.auth.SentCode?
|
||||
if let signature = reader.readInt32() {
|
||||
result = Api.parse(reader, signature: signature) as? Api.auth.SentCode
|
||||
}
|
||||
return result
|
||||
})
|
||||
}
|
||||
}
|
||||
public extension Api.functions.auth {
|
||||
static func sendCode(phoneNumber: String, apiId: Int32, apiHash: String, settings: Api.CodeSettings) -> (FunctionDescription, Buffer, DeserializeFunctionResponse<Api.auth.SentCode>) {
|
||||
let buffer = Buffer()
|
||||
|
|
|
|||
|
|
@ -680,7 +680,7 @@ public func sendLoginEmailCode(account: UnauthorizedAccount, email: String) -> S
|
|||
return account.postbox.transaction { transaction -> Signal<Void, NoError> in
|
||||
switch result {
|
||||
case let .sentEmailCode(emailPattern, length):
|
||||
transaction.setState(UnauthorizedAccountState(isTestingEnvironment: account.testingEnvironment, masterDatacenterId: account.masterDatacenterId, contents: .confirmationCodeEntry(number: phoneNumber, type: .email(emailPattern: emailPattern, length: length, nextPhoneLoginDate: nil, appleSignInAllowed: false, setup: true), hash: phoneCodeHash, timeout: nil, nextType: nil, syncContacts: syncContacts)))
|
||||
transaction.setState(UnauthorizedAccountState(isTestingEnvironment: account.testingEnvironment, masterDatacenterId: account.masterDatacenterId, contents: .confirmationCodeEntry(number: phoneNumber, type: .email(emailPattern: emailPattern, length: length, resetAvailablePeriod: nil, resetPendingDate: nil, appleSignInAllowed: false, setup: true), hash: phoneCodeHash, timeout: nil, nextType: nil, syncContacts: syncContacts)))
|
||||
}
|
||||
return .complete()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ extension SentAuthorizationCodeType {
|
|||
self = .flashCall(pattern: pattern)
|
||||
case let .sentCodeTypeMissedCall(prefix, length):
|
||||
self = .missedCall(numberPrefix: prefix, length: length)
|
||||
case let .sentCodeTypeEmailCode(flags, emailPattern, length, nextPhoneLoginDate):
|
||||
self = .email(emailPattern: emailPattern, length: length, nextPhoneLoginDate: nextPhoneLoginDate, appleSignInAllowed: (flags & (1 << 0)) != 0, setup: false)
|
||||
case let .sentCodeTypeEmailCode(flags, emailPattern, length, resetAvailablePeriod, resetPendingDate):
|
||||
self = .email(emailPattern: emailPattern, length: length, resetAvailablePeriod: resetAvailablePeriod, resetPendingDate: resetPendingDate, appleSignInAllowed: (flags & (1 << 0)) != 0, setup: false)
|
||||
case let .sentCodeTypeSetUpEmailRequired(flags):
|
||||
self = .emailSetupRequired(appleSignInAllowed: (flags & (1 << 0)) != 0)
|
||||
case let .sentCodeTypeFragmentSms(url, length):
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ public class BoxedMessage: NSObject {
|
|||
|
||||
public class Serialization: NSObject, MTSerialization {
|
||||
public func currentLayer() -> UInt {
|
||||
return 155
|
||||
return 156
|
||||
}
|
||||
|
||||
public func parseMessage(_ data: Data!) -> Any! {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public enum SentAuthorizationCodeType: PostboxCoding, Equatable {
|
|||
case call(length: Int32)
|
||||
case flashCall(pattern: String)
|
||||
case missedCall(numberPrefix: String, length: Int32)
|
||||
case email(emailPattern: String, length: Int32, nextPhoneLoginDate: Int32?, appleSignInAllowed: Bool, setup: Bool)
|
||||
case email(emailPattern: String, length: Int32, resetAvailablePeriod: Int32?, resetPendingDate: Int32?, appleSignInAllowed: Bool, setup: Bool)
|
||||
case emailSetupRequired(appleSignInAllowed: Bool)
|
||||
case fragment(url: String, length: Int32)
|
||||
case firebase(pushTimeout: Int32?, length: Int32)
|
||||
|
|
@ -36,7 +36,7 @@ public enum SentAuthorizationCodeType: PostboxCoding, Equatable {
|
|||
case SentAuthorizationCodeTypeValue.missedCall.rawValue:
|
||||
self = .missedCall(numberPrefix: decoder.decodeStringForKey("n", orElse: ""), length: decoder.decodeInt32ForKey("l", orElse: 0))
|
||||
case SentAuthorizationCodeTypeValue.email.rawValue:
|
||||
self = .email(emailPattern: decoder.decodeStringForKey("e", orElse: ""), length: decoder.decodeInt32ForKey("l", orElse: 0), nextPhoneLoginDate: decoder.decodeOptionalInt32ForKey("d"), appleSignInAllowed: decoder.decodeInt32ForKey("a", orElse: 0) != 0, setup: decoder.decodeInt32ForKey("s", orElse: 0) != 0)
|
||||
self = .email(emailPattern: decoder.decodeStringForKey("e", orElse: ""), length: decoder.decodeInt32ForKey("l", orElse: 0), resetAvailablePeriod: decoder.decodeOptionalInt32ForKey("ra"), resetPendingDate: decoder.decodeOptionalInt32ForKey("rp"), appleSignInAllowed: decoder.decodeInt32ForKey("a", orElse: 0) != 0, setup: decoder.decodeInt32ForKey("s", orElse: 0) != 0)
|
||||
case SentAuthorizationCodeTypeValue.emailSetupRequired.rawValue:
|
||||
self = .emailSetupRequired(appleSignInAllowed: decoder.decodeInt32ForKey("a", orElse: 0) != 0)
|
||||
case SentAuthorizationCodeTypeValue.fragment.rawValue:
|
||||
|
|
@ -66,14 +66,19 @@ public enum SentAuthorizationCodeType: PostboxCoding, Equatable {
|
|||
encoder.encodeInt32(SentAuthorizationCodeTypeValue.missedCall.rawValue, forKey: "v")
|
||||
encoder.encodeString(numberPrefix, forKey: "n")
|
||||
encoder.encodeInt32(length, forKey: "l")
|
||||
case let .email(emailPattern, length, nextPhoneLoginDate, appleSignInAllowed, setup):
|
||||
case let .email(emailPattern, length, resetAvailablePeriod, resetPendingDate, appleSignInAllowed, setup):
|
||||
encoder.encodeInt32(SentAuthorizationCodeTypeValue.email.rawValue, forKey: "v")
|
||||
encoder.encodeString(emailPattern, forKey: "e")
|
||||
encoder.encodeInt32(length, forKey: "l")
|
||||
if let nextPhoneLoginDate = nextPhoneLoginDate {
|
||||
encoder.encodeInt32(nextPhoneLoginDate, forKey: "d")
|
||||
if let resetAvailablePeriod = resetAvailablePeriod {
|
||||
encoder.encodeInt32(resetAvailablePeriod, forKey: "ra")
|
||||
} else {
|
||||
encoder.encodeNil(forKey: "d")
|
||||
encoder.encodeNil(forKey: "ra")
|
||||
}
|
||||
if let resetPendingDate = resetPendingDate {
|
||||
encoder.encodeInt32(resetPendingDate, forKey: "rp")
|
||||
} else {
|
||||
encoder.encodeNil(forKey: "rp")
|
||||
}
|
||||
encoder.encodeInt32(appleSignInAllowed ? 1 : 0, forKey: "a")
|
||||
encoder.encodeInt32(setup ? 1 : 0, forKey: "s")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue