diff --git a/packages/loot-core/src/server/main.js b/packages/loot-core/src/server/main.js index ede9e09413f09f56e49f9a4432115dda52c5caec..6e8c3b2574cb18c8f32078f884b9b81d2d08d711 100644 --- a/packages/loot-core/src/server/main.js +++ b/packages/loot-core/src/server/main.js @@ -1496,6 +1496,24 @@ handlers['subscribe-sign-out'] = async function() { return 'ok'; }; +handlers['get-server-version'] = async function() { + if (!getServer() || getServer().BASE_SERVER === UNCONFIGURED_SERVER) { + return { error: 'no-server' }; + } + + let version; + try { + const res = await get(getServer().BASE_SERVER + '/info'); + + const info = JSON.parse(res); + version = info.build.version; + } catch (err) { + return { error: 'network-failure' }; + } + + return { version }; +}; + handlers['get-server-url'] = async function() { return getServer() && getServer().BASE_SERVER; };