35 lines
937 B
JavaScript
Raw Normal View History

import genericProxyHandler from "utils/proxy/handlers/generic";
import { jsonArrayFilter } from "utils/proxy/api-helpers";
2022-09-25 19:43:47 +03:00
function isAvailable(item) {
// isAvailable means that a digital image exists
// E.g. it's available to stream or on DVD, etc
if (item.isAvailable === false) {
return false;
}
// sizeOnDisk is how much of that digital image you currently have
// movieFile.size is how large the requested digital image is
return item.sizeOnDisk === item.movieFile?.size;
}
2022-09-25 19:43:47 +03:00
const widget = {
api: "{url}/api/v3/{endpoint}?apikey={key}",
proxyHandler: genericProxyHandler,
mappings: {
movie: {
endpoint: "movie",
map: (data) => ({
wanted: jsonArrayFilter(data, (item) => !isAvailable(item)).length,
have: jsonArrayFilter(data, (item) => isAvailable(item)).length,
2022-09-25 19:43:47 +03:00
}),
},
"queue/status": {
endpoint: "queue/status",
},
},
};
export default widget;