using NadekoBot.Db.Models; namespace NadekoBot.Modules.Utility; public interface IQuoteService { /// /// Delete all quotes created by the author in a guild /// /// ID of the guild /// ID of the user /// Number of deleted qutoes Task DeleteAllAuthorQuotesAsync(ulong guildId, ulong userId); /// /// Delete all quotes in a guild /// /// ID of the guild /// Number of deleted qutoes Task DeleteAllQuotesAsync(ulong guildId); Task> GetAllQuotesAsync(ulong guildId, int page, OrderType order); Task GetQuoteByKeywordAsync(ulong guildId, string keyword); Task> SearchQuoteKeywordTextAsync( ulong guildId, string? keyword, string text); Task<(IReadOnlyCollection quotes, int totalCount)> FindQuotesAsync(ulong guildId, string query, int page); Task> GetGuildQuotesAsync(ulong guildId); Task RemoveAllByKeyword(ulong guildId, string keyword); Task GetQuoteByIdAsync(ulong guildId, int quoteId); Task AddQuoteAsync( ulong guildId, ulong authorId, string authorName, string keyword, string text); Task EditQuoteAsync(ulong authorId, int quoteId, string text); Task EditQuoteAsync(ulong guildId, int quoteId, string keyword, string text); Task DeleteQuoteAsync( ulong guildId, ulong authorId, bool isQuoteManager, int quoteId); Task ImportQuotesAsync(ulong guildId, string input); }