// 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 #include namespace db::query { class SMSGet : public RecordQuery { public: SMSGet(std::size_t limit, std::size_t offset); [[nodiscard]] auto debugInfo() const -> std::string override; }; class SMSGetWithTotalCount : public SMSGet { public: SMSGetWithTotalCount(std::size_t limit, std::size_t offset); [[nodiscard]] auto debugInfo() const -> std::string override; }; class SMSGetResult : public RecordQueryResult { public: SMSGetResult(std::vector records); [[nodiscard]] auto debugInfo() const -> std::string override; }; class SMSGetResultWithTotalCount : public SMSGetResult { public: SMSGetResultWithTotalCount(std::vector records, std::size_t totalCount); [[nodiscard]] auto debugInfo() const -> std::string override; auto getTotalCount() const -> std::size_t; private: std::size_t totalCount; }; }; // namespace db::query