// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "NotesRepository.hpp" #include #include #include #include namespace app::notes { NotesDBRepository::NotesDBRepository(Application *application) : application{application} {} void NotesDBRepository::get(std::uint32_t offset, std::uint32_t limit, const OnGetCallback &callback) { auto query = std::make_unique(offset, limit); query->setQueryListener(db::QueryCallback::fromFunction([callback](auto response) { auto result = dynamic_cast(response); if (result == nullptr) { return false; } if (callback) { callback(result->getRecords(), result->getCount()); } return true; })); DBServiceAPI::GetQuery(application, db::Interface::Name::Notes, std::move(query)); } void NotesDBRepository::save(const NotesRecord ¬e, const OnResultCallback &callback) { auto query = std::make_unique(note); query->setQueryListener(db::QueryCallback::fromFunction([callback](auto response) { auto result = dynamic_cast(response); if (result == nullptr) { return false; } if (callback) { callback(result->succeed()); } return true; })); DBServiceAPI::GetQuery(application, db::Interface::Name::Notes, std::move(query)); } void NotesDBRepository::remove(const NotesRecord ¬e, const OnResultCallback &callback) { auto query = std::make_unique(note.ID); query->setQueryListener(db::QueryCallback::fromFunction([callback](auto response) { auto result = dynamic_cast(response); if (result == nullptr) { return false; } if (callback) { callback(result->succeed()); } return true; })); DBServiceAPI::GetQuery(application, db::Interface::Name::Notes, std::move(query)); } } // namespace app::notes