// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include namespace Quotes { enum class QuotesRecordField { }; class QuotesAgent : public RecordInterface { public: explicit QuotesAgent(Database *quotesDB); ~QuotesAgent() = default; auto runQuery(std::shared_ptr query) -> std::unique_ptr; protected: auto handleCategoryList(std::shared_ptr msg) -> std::unique_ptr; auto handleEnableCategoryById(std::shared_ptr query) -> std::unique_ptr; auto handleQuotesList(std::shared_ptr query) -> std::unique_ptr; auto handleQuotesListByCategoryId(std::shared_ptr query) -> std::unique_ptr; auto handleQuotesListFromCustomCategory(std::shared_ptr query) -> std::unique_ptr; auto handleEnabledQuotesList(std::shared_ptr query) -> std::unique_ptr; auto handleEnableQuoteById(std::shared_ptr query) -> std::unique_ptr; auto handleAddQuote(std::shared_ptr query) -> std::unique_ptr; auto handleReadQuote(std::shared_ptr query) -> std::unique_ptr; auto handleWriteQuote(std::shared_ptr query) -> std::unique_ptr; auto handleDeleteQuote(std::shared_ptr query) -> std::unique_ptr; private: Database *database; }; } // namespace Quotes