Update homebridge, autobrr, truenas, tubearchivist, watchtower, pyload widgets

pull/502/head
Michael Shamoon 2 years ago
parent f473d324df
commit 00163d2f44

@ -13,8 +13,9 @@ export default function Component({ service }) {
const { data: filtersData, error: filtersError } = useWidgetAPI(widget, "filters");
const { data: indexersData, error: indexersError } = useWidgetAPI(widget, "indexers");
if (statsError || filtersError || indexersError) {
return <Container error={t("widget.api_error")} />;
if (statsError || statsData?.error || filtersError || filtersData?.error || indexersError || indexersData?.error) {
const finalError = statsError ?? statsData?.error ?? filtersError ?? filtersData?.error ?? indexersError ?? indexersData?.error;
return <Container error={finalError} />;
}
if (!statsData || !filtersData || !indexersData) {

@ -7,6 +7,10 @@ const widget = {
mappings: {
stats: {
endpoint: "release/stats",
validate: [
"push_approved_count",
"push_rejected_count"
]
},
filters: {
endpoint: "filters",

@ -12,7 +12,8 @@ export default function Component({ service }) {
const { data: homebridgeData, error: homebridgeError } = useWidgetAPI(widget, "info");
if (homebridgeError || homebridgeData?.error) {
return <Container error={t("widget.api_error")} />;
const finalError = homebridgeError ?? homebridgeData.error;
return <Container error={finalError} />;
}
if (!homebridgeData) {

@ -84,9 +84,9 @@ export default async function pyloadProxyHandler(req, res) {
if (data?.error || status !== 200) {
try {
return res.status(status).send(Buffer.from(data).toString());
return res.status(status).send({error: {message: "HTTP error communicating with Plex API", data: Buffer.from(data).toString()}});
} catch (e) {
return res.status(status).send(data);
return res.status(status).send({error: {message: "HTTP error communicating with Plex API", data}});
}
}
@ -95,7 +95,7 @@ export default async function pyloadProxyHandler(req, res) {
}
} catch (e) {
logger.error(e);
return res.status(500).send(e.toString());
return res.status(500).send({error: {message: `Error communicating with Plex API: ${e.toString()}`}});
}
return res.status(400).json({ error: 'Invalid proxy service type' });

@ -41,8 +41,9 @@ export default function Component({ service }) {
const { data: alertData, error: alertError } = useWidgetAPI(widget, "alerts");
const { data: statusData, error: statusError } = useWidgetAPI(widget, "status");
if (alertError || statusError) {
return <Container error={t("widget.api_error")} />;
if (alertError || alertData?.error || statusError || statusData?.error) {
const finalError = alertError ?? alertData?.error ?? statusError ?? statusData?.error;
return <Container error={finalError} />;
}
if (!alertData || !statusData) {

@ -14,6 +14,10 @@ const widget = {
},
status: {
endpoint: "system/info",
validate: [
"loadavg",
"uptime_seconds"
]
},
},
};

@ -14,8 +14,9 @@ export default function Component({ service }) {
const { data: channelsData, error: channelsError } = useWidgetAPI(widget, "channels");
const { data: playlistsData, error: playlistsError } = useWidgetAPI(widget, "playlists");
if (downloadsError || videosError || channelsError || playlistsError) {
return <Container error={t("widget.api_error")} />;
if (downloadsError || downloadsData?.error || videosError || videosData?.error || channelsError || channelsData?.error || playlistsError || playlistsData?.error) {
const finalError = downloadsError ?? downloadsData?.error ?? videosError ?? videosData?.error ?? channelsError ?? channelsData?.error ?? playlistsError ?? playlistsData?.error;
return <Container error={finalError} />;
}
if (!downloadsData || !videosData || !channelsData || !playlistsData) {

@ -7,15 +7,27 @@ const widget = {
mappings: {
downloads: {
endpoint: "download",
validate: [
"paginate",
]
},
videos: {
endpoint: "video",
validate: [
"paginate",
]
},
channels: {
endpoint: "channel",
validate: [
"paginate",
]
},
playlists: {
endpoint: "playlist",
validate: [
"paginate",
]
},
},
};

@ -12,8 +12,9 @@ export default function Component({ service }) {
const { data: watchData, error: watchError } = useWidgetAPI(widget, "watchtower");
if (watchError || !watchData) {
return <Container error={t("widget.api_error")} />;
if (watchError || watchData?.error) {
const finalError = watchError ?? watchData?.error;
return <Container error={finalError} />;
}
if (!watchData) {

@ -33,15 +33,16 @@ export default async function watchtowerProxyHandler(req, res) {
if (status !== 200 || !data) {
logger.error("Error getting data from WatchTower: %d. Data: %s", status, data);
return res.status(status).json({error: {message: `HTTP Error ${status}`, url, data}});
}
const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower"))
const cleanData = data.toString().split("\n").filter(s => s.startsWith("watchtower"));
const jsonRes = {}
cleanData.map(e => e.split(" ")).forEach(strArray => {
const [key, value] = strArray
jsonRes[key] = value
})
});
if (contentType) res.setHeader("Content-Type", contentType);
return res.status(status).send(jsonRes);

Loading…
Cancel
Save