aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/protocol.js49
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);