// This is the source code of AyuGram for Desktop. // // We do not and cannot prevent the use of our code, // but be respectful and credit the original author. // // Copyright @Radolyn, 2026 #pragma once #include "entities.h" #include class SchemaVersion { public: int id; int version; }; namespace AyuDatabase { void initialize(); void addEditedMessage(const EditedMessage &message); std::vector getEditedMessages(ID userId, ID dialogId, ID messageId, ID minId, ID maxId, int totalLimit); bool hasRevisions(ID userId, ID dialogId, ID messageId); void addDeletedMessage(const DeletedMessage &message); std::vector getDeletedMessages(ID userId, ID dialogId, ID topicId, ID minId, ID maxId, int totalLimit, const std::string &searchQuery = ""); bool hasDeletedMessages(ID userId, ID dialogId, ID topicId); std::vector getAllRegexFilters(); RegexFilter getById(std::vector id); std::vector getShared(); std::vector getByDialogId(ID dialogId); std::vector getAllFiltersExclusions(); std::vector getExcludedByDialogId(ID dialogId); int getCount(); void addRegexFilter(const RegexFilter &filter); void addRegexExclusion(const RegexFilterGlobalExclusion &exclusion); void updateRegexFilter(const RegexFilter &filter); void deleteFilter(const std::vector &id); void deleteExclusionsByFilterId(const std::vector &id); void deleteExclusion(ID dialogId, std::vector filterId); void deleteAllFilters(); void deleteAllExclusions(); bool hasFilters(); bool hasPerDialogFilters(); void moveCurrentDatabase(); }