diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 83d0818ba..f6adf0c14 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -453,6 +453,7 @@ PRIVATE data/data_audio_msg_id.h data/data_auto_download.cpp data/data_auto_download.h + data/data_boosts.h data/data_bot_app.cpp data/data_bot_app.h data/data_chat.cpp diff --git a/Telegram/SourceFiles/data/data_boosts.h b/Telegram/SourceFiles/data/data_boosts.h new file mode 100644 index 000000000..6ad253169 --- /dev/null +++ b/Telegram/SourceFiles/data/data_boosts.h @@ -0,0 +1,43 @@ +/* +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; +}; + +struct Boost final { + UserId userId = UserId(0); + QDateTime expirationDate; +}; + +struct BoostsListSlice final { + struct OffsetToken final { + QString next; + }; + std::vector list; + int total = 0; + bool allLoaded = false; + OffsetToken token; +}; + +struct BoostStatus final { + BoostsOverview overview; + BoostsListSlice firstSlice; + QString link; +}; + +} // namespace Data