From 65570eec336fe5496de69e0dcadda5f400cda557 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 9 May 2022 21:42:46 +1000 Subject: [PATCH] Adds code for requesting user settings --- lib/api.dart | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/api.dart b/lib/api.dart index 20cd3b18..861ed820 100644 --- a/lib/api.dart +++ b/lib/api.dart @@ -1157,7 +1157,6 @@ class InvenTreeAPI { Map _userSettings = {}; Future getGlobalSetting(String key) async { - if (!supportsSettings) return ""; InvenTreeGlobalSetting? setting = _globalSettings[key]; @@ -1177,4 +1176,24 @@ class InvenTreeAPI { } } + Future getUserSetting(String key) async { + if (!supportsSettings) return ""; + + InvenTreeUserSetting? setting = _userSettings[key]; + + if ((setting != null) && setting.reloadedWithin(Duration(minutes: 5))) { + return setting.value; + } + + final response = await InvenTreeGlobalSetting().getModel(key); + + if (response is InvenTreeUserSetting) { + response.lastReload = DateTime.now(); + _userSettings[key] = response; + return response.value; + } else { + return ""; + } + } + }