mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Update API
This commit is contained in:
@@ -540,16 +540,19 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
|
||||
case shortcutId
|
||||
case recipients
|
||||
case schedule
|
||||
case sendWhenOffline
|
||||
}
|
||||
|
||||
public let shortcutId: Int32
|
||||
public let recipients: TelegramBusinessRecipients
|
||||
public let schedule: Schedule
|
||||
public let sendWhenOffline: Bool
|
||||
|
||||
public init(shortcutId: Int32, recipients: TelegramBusinessRecipients, schedule: Schedule) {
|
||||
public init(shortcutId: Int32, recipients: TelegramBusinessRecipients, schedule: Schedule, sendWhenOffline: Bool) {
|
||||
self.shortcutId = shortcutId
|
||||
self.recipients = recipients
|
||||
self.schedule = schedule
|
||||
self.sendWhenOffline = sendWhenOffline
|
||||
}
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
@@ -558,6 +561,7 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
|
||||
self.shortcutId = try container.decode(Int32.self, forKey: .shortcutId)
|
||||
self.recipients = try container.decode(TelegramBusinessRecipients.self, forKey: .recipients)
|
||||
self.schedule = try container.decode(Schedule.self, forKey: .schedule)
|
||||
self.sendWhenOffline = try container.decodeIfPresent(Bool.self, forKey: .sendWhenOffline) ?? false
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
@@ -566,6 +570,7 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
|
||||
try container.encode(self.shortcutId, forKey: .shortcutId)
|
||||
try container.encode(self.recipients, forKey: .recipients)
|
||||
try container.encode(self.schedule, forKey: .schedule)
|
||||
try container.encode(self.sendWhenOffline, forKey: .sendWhenOffline)
|
||||
}
|
||||
|
||||
public static func ==(lhs: TelegramBusinessAwayMessage, rhs: TelegramBusinessAwayMessage) -> Bool {
|
||||
@@ -582,6 +587,9 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
|
||||
if lhs.schedule != rhs.schedule {
|
||||
return false
|
||||
}
|
||||
if lhs.sendWhenOffline != rhs.sendWhenOffline {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -590,7 +598,7 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
|
||||
extension TelegramBusinessAwayMessage {
|
||||
convenience init(apiAwayMessage: Api.BusinessAwayMessage) {
|
||||
switch apiAwayMessage {
|
||||
case let .businessAwayMessage(shortcutId, schedule, recipients):
|
||||
case let .businessAwayMessage(flags, shortcutId, schedule, recipients):
|
||||
let mappedSchedule: Schedule
|
||||
switch schedule {
|
||||
case .businessAwayMessageScheduleAlways:
|
||||
@@ -601,10 +609,13 @@ extension TelegramBusinessAwayMessage {
|
||||
mappedSchedule = .custom(beginTimestamp: startDate, endTimestamp: endDate)
|
||||
}
|
||||
|
||||
let sendWhenOffline = (flags & (1 << 0)) != 0
|
||||
|
||||
self.init(
|
||||
shortcutId: shortcutId,
|
||||
recipients: TelegramBusinessRecipients(apiValue: recipients),
|
||||
schedule: mappedSchedule
|
||||
schedule: mappedSchedule,
|
||||
sendWhenOffline: sendWhenOffline
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -729,7 +740,13 @@ func _internal_updateBusinessAwayMessage(account: Account, awayMessage: Telegram
|
||||
mappedSchedule = .businessAwayMessageScheduleCustom(startDate: beginTimestamp, endDate: endTimestamp)
|
||||
}
|
||||
|
||||
var flags: Int32 = 0
|
||||
if awayMessage.sendWhenOffline {
|
||||
flags |= 1 << 0
|
||||
}
|
||||
|
||||
mappedMessage = .inputBusinessAwayMessage(
|
||||
flags: flags,
|
||||
shortcutId: awayMessage.shortcutId,
|
||||
schedule: mappedSchedule,
|
||||
recipients: awayMessage.recipients.apiInputValue(additionalPeers: additionalPeers)
|
||||
|
||||
Reference in New Issue
Block a user