// 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 #include namespace db::multimedia_files::query { class Add : public Query { const MultimediaFilesRecord record; public: explicit Add(const MultimediaFilesRecord &record); [[nodiscard]] auto getRecord() const -> MultimediaFilesRecord; [[nodiscard]] auto debugInfo() const -> std::string override; }; class AddResult : public QueryResult { const bool ret = false; public: explicit AddResult(bool ret); [[nodiscard]] auto getResult() const -> bool; [[nodiscard]] auto debugInfo() const -> std::string override; }; class AddOrEdit : public Query { const MultimediaFilesRecord record; const std::string oldPath; public: /// @param record record with modifications @note ID is skipped /// @param oldPath record old path (when changed), empty if not related explicit AddOrEdit(const MultimediaFilesRecord &record, std::string oldPath = ""); [[nodiscard]] auto getRecord() const -> MultimediaFilesRecord; [[nodiscard]] auto getOldPath() const -> std::string; [[nodiscard]] auto debugInfo() const -> std::string override; }; class AddOrEditResult : public QueryResult { const bool ret = false; public: explicit AddOrEditResult(bool ret); [[nodiscard]] auto getResult() const -> bool; [[nodiscard]] auto debugInfo() const -> std::string override; }; } // namespace db::multimedia_files::query