diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/protocol.js | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/src/modules/protocol.js b/src/modules/protocol.js index e8701b2..a40b67e 100644 --- a/src/modules/protocol.js +++ b/src/modules/protocol.js @@ -1,51 +1,8 @@ -const { app, ipcMain } = require("electron"); +const { app } = require("electron"); const win = require("../win"); -const requests = require("./requests"); const version = require("./version"); -var packages = undefined; -async function install_mod(domain, author, package_name, version) { - if (packages == undefined) - { - ipcMain.once("packages-reply", (event, packages_string) => { - packages = JSON.parse(packages_string); - install_mod(domain, author, package_name, version); - }); - - win().send("packages"); - return; - } - - const package = packages.find((package) => { return package.owner == author && package.name == package_name; }) - if (!package) { - console.error("Couldn't find package") - return; - } - - const package_data = package.versions.find((package_version) => { return package_version.version_number == version; }) - if (!package_data) { - console.error("Couldn't find package_version") - return; - } - - for (const dep of package_data.dependencies) { - let fragments = dep.split("-"); - if (fragments.length != 3) { - console.error("bad dep") - return; - } - - if (fragments[0] != "northstar") - await install_mod(domain, ...fragments); - } - - let result = ipcMain.emit("install-from-url", null, package_data.download_url, author, package_name, version); - if (!result) { - console.error("no install-from-url handler") - } -} - module.exports = async () => { if (version.northstar() == "unknown") return; @@ -63,7 +20,7 @@ module.exports = async () => { const term = fragments[1]; const domain = fragments[2]; const author = fragments[3]; - const mod = fragments[4]; + const package_name = fragments[4]; const version = fragments[5]; // There is only v1 @@ -76,7 +33,7 @@ module.exports = async () => { try { if (term == "install") { - await install_mod(domain, author, mod, version); + win().send("protocol-install-mod", [domain, author, package_name, version]); } }catch(err) { console.error(err); |