// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include "Common/Query.hpp" #include #include #include #include namespace db::query { class ContactAdd : public Query { public: explicit ContactAdd(const ContactRecord &rec); ContactRecord rec; [[nodiscard]] auto debugInfo() const -> std::string override; }; class ContactAddResult : public QueryResult { public: ContactAddResult(bool result, unsigned int id, const std::vector &duplicates); [[nodiscard]] auto getResult() const noexcept -> bool { return result; } [[nodiscard]] auto hasDuplicates() const noexcept -> bool { return !duplicates.empty(); } [[nodiscard]] auto getDuplicates() const noexcept -> std::vector { return duplicates; } [[nodiscard]] auto getID() const noexcept -> unsigned int { return id; } [[nodiscard]] auto debugInfo() const -> std::string override; private: bool result; std::vector duplicates; unsigned int id; }; }; // namespace db::query