Files
MuditaOS/module-utils/utility/Version.cpp
Dawid Wojtas 1ba589f9c8 [BH-2026] Add mechanism for getting previously OS version
Task relates to What’s new feature that needs to
know which version of MuditaOS was installed
before the update.
Normally What’s new uses a database to get the
previous version, but after the first run this
field will be empty.
To bypass this issue the PureRecovery needs to
save the previous version in recovery_status.json
that is generated after the update process.
2024-07-10 12:45:46 +02:00

24 lines
653 B
C++

// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "Version.hpp"
#include <module-utils/i18n/JSONLoader.hpp>
#include <log/log.hpp>
namespace utils
{
std::optional<std::string> getPreviousVersionFromFile(const std::filesystem::path &path)
{
const auto &load = utils::JSONLoader(path);
if (not load.has_value()) {
LOG_ERROR("Cannot parse %s to json", path.c_str());
return {};
}
const auto &json = load.value();
return json["prevOsVersion"].string_value();
}
} // namespace utils