Update homebridge, autobrr, truenas, tubearchivist, watchtower, pyload widgets
This commit is contained in:
parent
f473d324df
commit
00163d2f44
10 changed files with 40 additions and 14 deletions
|
@ -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…
Add table
Reference in a new issue