mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Gift improvements
This commit is contained in:
@@ -623,6 +623,8 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
case untilDate
|
||||
case stars
|
||||
case users
|
||||
case text
|
||||
case entities
|
||||
}
|
||||
|
||||
enum PurposeType: Int32 {
|
||||
@@ -641,7 +643,7 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
case upgrade
|
||||
case restore
|
||||
case gift(peerId: EnginePeer.Id)
|
||||
case giftCode(peerIds: [EnginePeer.Id], boostPeer: EnginePeer.Id?)
|
||||
case giftCode(peerIds: [EnginePeer.Id], boostPeer: EnginePeer.Id?, text: String?, entities: [MessageTextEntity]?)
|
||||
case giveaway(boostPeer: EnginePeer.Id, additionalPeerIds: [EnginePeer.Id], countries: [String], onlyNewSubscribers: Bool, showWinners: Bool, prizeDescription: String?, randomId: Int64, untilDate: Int32)
|
||||
case stars(count: Int64)
|
||||
case starsGift(peerId: EnginePeer.Id, count: Int64)
|
||||
@@ -665,7 +667,9 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
case .giftCode:
|
||||
self = .giftCode(
|
||||
peerIds: try container.decode([Int64].self, forKey: .peers).map { EnginePeer.Id($0) },
|
||||
boostPeer: try container.decodeIfPresent(Int64.self, forKey: .boostPeer).flatMap({ EnginePeer.Id($0) })
|
||||
boostPeer: try container.decodeIfPresent(Int64.self, forKey: .boostPeer).flatMap({ EnginePeer.Id($0) }),
|
||||
text: try container.decodeIfPresent(String.self, forKey: .text),
|
||||
entities: try container.decodeIfPresent([MessageTextEntity].self, forKey: .entities)
|
||||
)
|
||||
case .giveaway:
|
||||
self = .giveaway(
|
||||
@@ -718,10 +722,12 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
case let .gift(peerId):
|
||||
try container.encode(PurposeType.gift.rawValue, forKey: .type)
|
||||
try container.encode(peerId.toInt64(), forKey: .peer)
|
||||
case let .giftCode(peerIds, boostPeer):
|
||||
case let .giftCode(peerIds, boostPeer, text, entities):
|
||||
try container.encode(PurposeType.giftCode.rawValue, forKey: .type)
|
||||
try container.encode(peerIds.map { $0.toInt64() }, forKey: .peers)
|
||||
try container.encodeIfPresent(boostPeer?.toInt64(), forKey: .boostPeer)
|
||||
try container.encodeIfPresent(text, forKey: .text)
|
||||
try container.encodeIfPresent(entities, forKey: .entities)
|
||||
case let .giveaway(boostPeer, additionalPeerIds, countries, onlyNewSubscribers, showWinners, prizeDescription, randomId, untilDate):
|
||||
try container.encode(PurposeType.giveaway.rawValue, forKey: .type)
|
||||
try container.encode(boostPeer.toInt64(), forKey: .boostPeer)
|
||||
@@ -764,8 +770,8 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
self = .restore
|
||||
case let .gift(peerId, _, _):
|
||||
self = .gift(peerId: peerId)
|
||||
case let .giftCode(peerIds, boostPeer, _, _):
|
||||
self = .giftCode(peerIds: peerIds, boostPeer: boostPeer)
|
||||
case let .giftCode(peerIds, boostPeer, _, _, text, entities):
|
||||
self = .giftCode(peerIds: peerIds, boostPeer: boostPeer, text: text, entities: entities)
|
||||
case let .giveaway(boostPeer, additionalPeerIds, countries, onlyNewSubscribers, showWinners, prizeDescription, randomId, untilDate, _, _):
|
||||
self = .giveaway(boostPeer: boostPeer, additionalPeerIds: additionalPeerIds, countries: countries, onlyNewSubscribers: onlyNewSubscribers, showWinners: showWinners, prizeDescription: prizeDescription, randomId: randomId, untilDate: untilDate)
|
||||
case let .stars(count, _, _):
|
||||
@@ -788,8 +794,8 @@ private final class PendingInAppPurchaseState: Codable {
|
||||
return .restore
|
||||
case let .gift(peerId):
|
||||
return .gift(peerId: peerId, currency: currency, amount: amount)
|
||||
case let .giftCode(peerIds, boostPeer):
|
||||
return .giftCode(peerIds: peerIds, boostPeer: boostPeer, currency: currency, amount: amount)
|
||||
case let .giftCode(peerIds, boostPeer, text, entities):
|
||||
return .giftCode(peerIds: peerIds, boostPeer: boostPeer, currency: currency, amount: amount, text: text, entities: entities)
|
||||
case let .giveaway(boostPeer, additionalPeerIds, countries, onlyNewSubscribers, showWinners, prizeDescription, randomId, untilDate):
|
||||
return .giveaway(boostPeer: boostPeer, additionalPeerIds: additionalPeerIds, countries: countries, onlyNewSubscribers: onlyNewSubscribers, showWinners: showWinners, prizeDescription: prizeDescription, randomId: randomId, untilDate: untilDate, currency: currency, amount: amount)
|
||||
case let .stars(count):
|
||||
|
||||
Reference in New Issue
Block a user