🚑 Use new supervisor URL + new auth method #102

This commit is contained in:
SebClem 2022-01-24 16:58:50 +01:00
parent 7b7d5a2b0e
commit 15ed577682
No known key found for this signature in database
GPG Key ID: 3D8E353F900B1305

View File

@ -19,7 +19,7 @@ function getVersion() {
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let status = statusTools.getStatus(); let status = statusTools.getStatus();
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
@ -50,7 +50,7 @@ function getAddonList() {
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let status = statusTools.getStatus(); let status = statusTools.getStatus();
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
@ -97,6 +97,8 @@ function getAddonToBackup() {
if (!excluded_addon.includes(addon.slug)) if (!excluded_addon.includes(addon.slug))
slugs.push(addon.slug) slugs.push(addon.slug)
} }
logger.debug("Addon to backup:")
logger.debug(slugs)
resolve(slugs) resolve(slugs)
}) })
.catch(() => reject()); .catch(() => reject());
@ -136,6 +138,8 @@ function getFolderToBackup() {
if (!excluded_folder.includes(folder.slug)) if (!excluded_folder.includes(folder.slug))
slugs.push(folder.slug) slugs.push(folder.slug)
} }
logger.debug("Folders to backup:");
logger.debug(slugs)
return slugs; return slugs;
} }
@ -144,11 +148,11 @@ function getSnapshots() {
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let status = statusTools.getStatus(); let status = statusTools.getStatus();
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
got("http://hassio/snapshots", option) got("http://hassio/backups", option)
.then((result) => { .then((result) => {
if (status.error_code === 1) { if (status.error_code === 1) {
status.status = "idle"; status.status = "idle";
@ -156,7 +160,7 @@ function getSnapshots() {
status.error_code = null; status.error_code = null;
statusTools.setStatus(status); statusTools.setStatus(status);
} }
let snaps = result.body.data.snapshots; let snaps = result.body.data.backups;
resolve(snaps); resolve(snaps);
}) })
.catch((error) => { .catch((error) => {
@ -184,11 +188,11 @@ function downloadSnapshot(id) {
status.progress = 0; status.progress = 0;
statusTools.setStatus(status); statusTools.setStatus(status);
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
}; };
pipeline( pipeline(
got.stream.get(`http://hassio/snapshots/${id}/download`, option) got.stream.get(`http://hassio/backups/${id}/download`, option)
.on("downloadProgress", (e) => { .on("downloadProgress", (e) => {
let percent = Math.round(e.percent * 100) / 100; let percent = Math.round(e.percent * 100) / 100;
if (status.progress !== percent) { if (status.progress !== percent) {
@ -233,11 +237,11 @@ function dellSnap(id) {
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
got.post(`http://hassio/snapshots/${id}/remove`, option) got.post(`http://hassio/backups/${id}/remove`, option)
.then(() => resolve()) .then(() => resolve())
.catch(() => reject()); .catch(() => reject());
}) })
@ -251,11 +255,11 @@ function checkSnap(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
got(`http://hassio/snapshots/${id}/info`, option) got(`http://hassio/backups/${id}/info`, option)
.then((result) => { .then((result) => {
logger.debug(`Snapshot size: ${result.body.data.size}`); logger.debug(`Snapshot size: ${result.body.data.size}`);
resolve(); resolve();
@ -275,7 +279,7 @@ function createNewBackup(name) {
getAddonToBackup().then((addons) => { getAddonToBackup().then((addons) => {
let folders = getFolderToBackup(); let folders = getFolderToBackup();
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
timeout: create_snap_timeout, timeout: create_snap_timeout,
json: { json: {
@ -288,7 +292,7 @@ function createNewBackup(name) {
option.json.password = settingsTools.getSettings().password_protect_value option.json.password = settingsTools.getSettings().password_protect_value
} }
got.post(`http://hassio/snapshots/new/partial`, option) got.post(`http://hassio/backups/new/partial`, option)
.then((result) => { .then((result) => {
logger.info(`Snapshot created with id ${result.body.data.slug}`); logger.info(`Snapshot created with id ${result.body.data.slug}`);
resolve(result.body.data.slug); resolve(result.body.data.slug);
@ -354,11 +358,11 @@ function uploadSnapshot(path) {
body: form, body: form,
username: this.username, username: this.username,
password: this.password, password: this.password,
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
}; };
got.stream got.stream
.post(`http://hassio/snapshots/new/upload`, options) .post(`http://hassio/backups/new/upload`, options)
.on("uploadProgress", (e) => { .on("uploadProgress", (e) => {
let percent = e.percent; let percent = e.percent;
if (status.progress !== percent) { if (status.progress !== percent) {
@ -413,7 +417,7 @@ function stopAddons() {
let promises = []; let promises = [];
let token = process.env.HASSIO_TOKEN; let token = process.env.HASSIO_TOKEN;
let option = { let option = {
headers: { "X-HASSIO-KEY": token }, headers: { "Authorization": `Bearer ${token}` },
responseType: "json", responseType: "json",
}; };
let addons_slug = settingsTools.getSettings().auto_stop_addon let addons_slug = settingsTools.getSettings().auto_stop_addon