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]]]