File tree Expand file tree Collapse file tree
test/plausible_web/controllers/api/stats_controller Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ defmodule Plausible.Stats.QueryResult do
6565 |> add_comparison_time_label_result_indices_meta ( runner )
6666 |> add_present_index_meta ( runner . main_query )
6767 |> add_partial_time_labels_meta ( runner . main_query )
68+ |> add_comparison_partial_time_labels_meta ( runner )
6869 |> add_total_rows_meta ( runner . main_query , runner . total_rows )
6970 |> Enum . sort_by ( & elem ( & 1 , 0 ) )
7071 end
@@ -180,6 +181,20 @@ defmodule Plausible.Stats.QueryResult do
180181 end
181182 end
182183
184+ defp add_comparison_partial_time_labels_meta ( meta , % QueryRunner { main_query: query } = runner ) do
185+ comparison_time_labels = meta [ :comparison_time_labels ]
186+
187+ if query . include . partial_time_labels and is_list ( comparison_time_labels ) do
188+ Map . put (
189+ meta ,
190+ :comparison_partial_time_labels ,
191+ Plausible.Stats.Time . partial_time_labels ( comparison_time_labels , runner . comparison_query )
192+ )
193+ else
194+ meta
195+ end
196+ end
197+
183198 defp add_total_rows_meta ( meta , query , total_rows ) do
184199 if query . include . total_rows do
185200 Map . put ( meta , :total_rows , total_rows )
Original file line number Diff line number Diff line change @@ -1533,6 +1533,31 @@ defmodule PlausibleWeb.Api.StatsController.MainGraphTest do
15331533 assert response [ "meta" ] [ "partial_time_labels" ] == [ ]
15341534 end
15351535
1536+ test "returns comparison_partial_time_labels" , % {
1537+ conn: conn ,
1538+ site: site
1539+ } do
1540+ response =
1541+ do_query ( conn , site , % {
1542+ "date_range" => [ "2026-02-08" , "2026-02-25" ] ,
1543+ "metrics" => [ "visitors" ] ,
1544+ "dimensions" => [ "time:week" ] ,
1545+ "include" => % {
1546+ "time_labels" => true ,
1547+ "partial_time_labels" => true ,
1548+ "compare" => [ "2026-01-08" , "2026-01-25" ]
1549+ }
1550+ } )
1551+
1552+ assert response [ "meta" ] [ "comparison_time_labels" ] == [
1553+ "2026-01-08" ,
1554+ "2026-01-12" ,
1555+ "2026-01-19"
1556+ ]
1557+
1558+ assert response [ "meta" ] [ "comparison_partial_time_labels" ] == [ "2026-01-08" ]
1559+ end
1560+
15361561 test "returns stats for a day with a minute interval" , % { conn: conn , site: site } do
15371562 populate_stats ( site , [
15381563 build ( :pageview , timestamp: ~N[ 2023-03-01 12:00:00] )
You can’t perform that action at this time.
0 commit comments