2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-23 10:47:11 +00:00

69 lines
1.3 KiB
C
Raw Normal View History

2023-10-12 00:09:36 +03:00
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
namespace Data {
struct BoostsOverview final {
bool isBoosted = false;
int level = 0;
int boostCount = 0;
int currentLevelBoostCount = 0;
int nextLevelBoostCount = 0;
int premiumMemberCount = 0;
float64 premiumMemberPercentage = 0;
};
2023-10-24 13:07:06 +03:00
struct GiftCodeLink final {
QString text;
QString link;
QString slug;
};
2023-10-12 00:09:36 +03:00
struct Boost final {
2023-10-24 13:07:06 +03:00
bool isGift = false;
bool isGiveaway = false;
bool isUnclaimed = false;
QString id;
2023-10-12 00:09:36 +03:00
UserId userId = UserId(0);
2023-10-24 13:07:06 +03:00
FullMsgId giveawayMessage;
QDateTime date;
crl::time expiresAt = 0;
GiftCodeLink giftCodeLink;
int multiplier = 0;
2023-10-12 00:09:36 +03:00
};
struct BoostsListSlice final {
struct OffsetToken final {
QString next;
bool gifts = false;
2023-10-12 00:09:36 +03:00
};
std::vector<Boost> list;
int multipliedTotal = 0;
2023-10-12 00:09:36 +03:00
bool allLoaded = false;
OffsetToken token;
};
struct BoostPrepaidGiveaway final {
int months = 0;
uint64 id = 0;
int quantity = 0;
QDateTime date;
};
2023-10-12 00:09:36 +03:00
struct BoostStatus final {
BoostsOverview overview;
BoostsListSlice firstSliceBoosts;
BoostsListSlice firstSliceGifts;
std::vector<BoostPrepaidGiveaway> prepaidGiveaway;
2023-10-12 00:09:36 +03:00
QString link;
};
} // namespace Data