mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
35 lines
1021 B
JavaScript
35 lines
1021 B
JavaScript
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
|
import { jsonArrayFilter } from "utils/proxy/api-helpers";
|
|
|
|
const widget = {
|
|
api: `{url}/api/v1/{endpoint}`,
|
|
proxyHandler: credentialedProxyHandler,
|
|
|
|
mappings: {
|
|
projects: {
|
|
endpoint: "projects",
|
|
},
|
|
tasks: {
|
|
endpoint: "tasks/all",
|
|
params: ["filter", "sort_by"],
|
|
map: (data) => ({
|
|
tasks7d: jsonArrayFilter(
|
|
data,
|
|
(item) =>
|
|
new Date(item.due_date).valueOf() > 978307168000 &&
|
|
new Date(item.due_date).valueOf() <= new Date(Date.now() + 640800000).valueOf(),
|
|
).length,
|
|
inProgress: jsonArrayFilter(data, (item) => item.percent_done > 0 && item.percent_done < 1).length,
|
|
overdue: jsonArrayFilter(
|
|
data,
|
|
(item) =>
|
|
new Date(item.due_date).valueOf() > 978307168000 &&
|
|
new Date(item.due_date).valueOf() <= new Date(Date.now()),
|
|
).length,
|
|
}),
|
|
},
|
|
},
|
|
};
|
|
|
|
export default widget;
|