From bf1c6cc97ee83c3bbd577f9ea58ec6e63bab7f34 Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Sat, 25 Nov 2017 19:56:16 +0900 Subject: [PATCH] Add functions for update_available data --- app/src/handlers/confighandler.cpp | 37 ++++++++++++++++++++++++++++++ app/src/handlers/confighandler.h | 4 ++++ 2 files changed, 41 insertions(+) diff --git a/app/src/handlers/confighandler.cpp b/app/src/handlers/confighandler.cpp index bcb3e74..c4043f3 100644 --- a/app/src/handlers/confighandler.cpp +++ b/app/src/handlers/confighandler.cpp @@ -31,6 +31,11 @@ QJsonObject ConfigHandler::getUsrConfigApplication() const bool ConfigHandler::setUsrConfigApplication(const QJsonObject &object) const { + /* object format + { + "update_checked_at": 1483658977219 + } + */ return usrConfig_.set("application", object); } @@ -64,6 +69,16 @@ bool ConfigHandler::setUsrConfigInstalledItems(const QJsonObject &object) const return usrConfig_.set("installed_items", object); } +QJsonObject ConfigHandler::getUsrConfigUpdateAvailable() const +{ + return usrConfig_.get("update_available"); +} + +bool ConfigHandler::setUsrConfigUpdateAvailable(const QJsonObject &object) const +{ + return usrConfig_.set("update_available", object); +} + bool ConfigHandler::setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const { /* object format @@ -162,6 +177,28 @@ bool ConfigHandler::removeUsrConfigInstalledItemsItem(const QString &itemKey) co return setUsrConfigInstalledItems(installedItems); } +bool ConfigHandler::setUsrConfigUpdateAvailableFile(const QString &fileKey, const QJsonObject &object) const +{ + /* object format + { + "path": "/home/user/.local/bin/example.AppImage", + "filename": "example.AppImage", + "installed_item": "http://example.com/downloads/example.AppImage", + "update_method": "appimageupdate" + } + */ + auto updateAvailable = getUsrConfigUpdateAvailable(); + updateAvailable[fileKey] = object; + return setUsrConfigUpdateAvailable(updateAvailable); +} + +bool ConfigHandler::removeUsrConfigUpdateAvailableFile(const QString &fileKey) const +{ + auto updateAvailable = getUsrConfigUpdateAvailable(); + updateAvailable.remove(fileKey); + return setUsrConfigUpdateAvailable(updateAvailable); +} + void ConfigHandler::importAppConfigApplication() { appConfigApplication_ = appConfig_.get("application"); diff --git a/app/src/handlers/confighandler.h b/app/src/handlers/confighandler.h index bd44739..76aa0e4 100644 --- a/app/src/handlers/confighandler.h +++ b/app/src/handlers/confighandler.h @@ -24,6 +24,8 @@ public slots: bool setUsrConfigCategories(const QJsonObject &object) const; QJsonObject getUsrConfigInstalledItems() const; bool setUsrConfigInstalledItems(const QJsonObject &object) const; + QJsonObject getUsrConfigUpdateAvailable() const; + bool setUsrConfigUpdateAvailable(const QJsonObject &object) const; bool setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const; bool removeUsrConfigProvidersProvider(const QString &providerKey) const; @@ -32,6 +34,8 @@ public slots: bool setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType) const; bool setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object) const; bool removeUsrConfigInstalledItemsItem(const QString &itemKey) const; + bool setUsrConfigUpdateAvailableFile(const QString &fileKey, const QJsonObject &object) const; + bool removeUsrConfigUpdateAvailableFile(const QString &fileKey) const; private: void importAppConfigApplication(); -- GitLab