Yorking it
This commit is contained in:
parent
0c3ebe75ba
commit
fc6608d57a
2 changed files with 43 additions and 7 deletions
42
src/index.js
42
src/index.js
|
@ -1,4 +1,5 @@
|
||||||
const package = require("../package.json");
|
const package = require("../package.json");
|
||||||
|
const { rm } = require("fs/promises");
|
||||||
const logger = require("./lib/logger.js");
|
const logger = require("./lib/logger.js");
|
||||||
const args = require("./lib/args.js");
|
const args = require("./lib/args.js");
|
||||||
const storage = require("./lib/storage.js");
|
const storage = require("./lib/storage.js");
|
||||||
|
@ -24,9 +25,7 @@ async function main() {
|
||||||
logger.success("Remote:", remoteVersion);
|
logger.success("Remote:", remoteVersion);
|
||||||
|
|
||||||
if (remoteVersion <= localVersion) {
|
if (remoteVersion <= localVersion) {
|
||||||
logger.info(
|
logger.info("Local is higher or equal to remote; there is nothing to do.");
|
||||||
"Local is higher or equal to remote; there is nothing to do."
|
|
||||||
);
|
|
||||||
return process.exit(0);
|
return process.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +36,7 @@ async function main() {
|
||||||
|
|
||||||
let additions = [];
|
let additions = [];
|
||||||
for (let i = 0; i < remoteMods.length; i++) {
|
for (let i = 0; i < remoteMods.length; i++) {
|
||||||
let remoteMod = remoteMods[i];
|
const remoteMod = remoteMods[i];
|
||||||
let found = false;
|
let found = false;
|
||||||
|
|
||||||
for (let ii = 0; ii < localMods.length; ii++) {
|
for (let ii = 0; ii < localMods.length; ii++) {
|
||||||
|
@ -50,7 +49,7 @@ async function main() {
|
||||||
|
|
||||||
let removals = [];
|
let removals = [];
|
||||||
for (let i = 0; i < localMods.length; i++) {
|
for (let i = 0; i < localMods.length; i++) {
|
||||||
let localMod = localMods[i];
|
const localMod = localMods[i];
|
||||||
let found = false;
|
let found = false;
|
||||||
|
|
||||||
for (let ii = 0; ii < remoteMods.length; ii++) {
|
for (let ii = 0; ii < remoteMods.length; ii++) {
|
||||||
|
@ -61,8 +60,37 @@ async function main() {
|
||||||
if (!found) removals.push(localMod);
|
if (!found) removals.push(localMod);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Additions", additions);
|
logger.success("Additions:", additions.length);
|
||||||
console.log("Removals", removals);
|
logger.success("Removals:", removals.length);
|
||||||
|
|
||||||
|
for (let i = 0; i < additions.length; i++) {
|
||||||
|
const { name, modId, fileId } = additions[i];
|
||||||
|
|
||||||
|
const response = await server.getMod(config.host, modId, fileId);
|
||||||
|
const filename = response.url.split("/")[response.url.split("/").length - 1];
|
||||||
|
|
||||||
|
Bun.write(filename, await response.blob());
|
||||||
|
|
||||||
|
let data = storage.read();
|
||||||
|
data.mods.push({ name, path: filename });
|
||||||
|
storage.write(data);
|
||||||
|
|
||||||
|
logger.success("Downloaded:", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < removals.length; i++) {
|
||||||
|
const { name, path } = removals[i];
|
||||||
|
|
||||||
|
await rm(path);
|
||||||
|
|
||||||
|
let data = storage.read();
|
||||||
|
data.mods = data.mods.filter((_) => _.name !== name);
|
||||||
|
storage.write(data);
|
||||||
|
|
||||||
|
logger.success("Removed:", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.success("Done!");
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
|
@ -7,3 +7,11 @@ exports.getAllMods = async (host) => {
|
||||||
const request = await fetch(host + "/getallmods");
|
const request = await fetch(host + "/getallmods");
|
||||||
return await request.json();
|
return await request.json();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.getMod = async (host, modId, fileId) => {
|
||||||
|
const querystring = new URLSearchParams();
|
||||||
|
querystring.set("modId", modId);
|
||||||
|
querystring.set("fileId", fileId);
|
||||||
|
|
||||||
|
return await fetch(host + "/download?" + querystring.toString());
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in a new issue