diff --git a/frontend/src/app/Usage/Usage.tsx b/frontend/src/app/Usage/Usage.tsx index b867a5c..1659721 100644 --- a/frontend/src/app/Usage/Usage.tsx +++ b/frontend/src/app/Usage/Usage.tsx @@ -58,6 +58,9 @@ const Usage = () => { + + + diff --git a/frontend/src/app/Usage/UsageList.tsx b/frontend/src/app/Usage/UsageList.tsx index b6b2a8d..e149d51 100644 --- a/frontend/src/app/Usage/UsageList.tsx +++ b/frontend/src/app/Usage/UsageList.tsx @@ -17,7 +17,7 @@ const fetchDataByGranularity = (granularity: UsageListProps["what"]) => fetch(`/api/usage/${granularity}`).then((response) => response.json()); interface UsageListProps { - what: "past-day" | "past-week" | "past-month" | "past-year"; + what: "past-day" | "past-week" | "past-month" | "past-year" | "total"; } const UsageList: React.FC = (props) => { diff --git a/packit_dashboard/api/routes.py b/packit_dashboard/api/routes.py index ca52754..339063e 100644 --- a/packit_dashboard/api/routes.py +++ b/packit_dashboard/api/routes.py @@ -138,6 +138,14 @@ def usage_past_year(): return _get_usage_data_from_packit_api(usage_from=past_year_date) +@api.route("/api/usage/total") +@ttl_cache(maxsize=_CACHE_MAXSIZE, ttl=timedelta(days=1).seconds) +def usage_total(): + now = datetime.now() + past_date = now.replace(year=now.year - 100).strftime("%Y-%m-%d") + return _get_usage_data_from_packit_api(usage_from=past_date) + + # format the chart needs is a list of {"x": "datetimelegend", "y": value} CHART_DATA_TYPE = list[dict[str, Union[str, int]]]