Skip to content

Commit 87af64a

Browse files
committed
feat(backend): add active_days count
1 parent 8db4e76 commit 87af64a

3 files changed

Lines changed: 6 additions & 2 deletions

File tree

backend/migrations/0003_views.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ returns table (
3636
window_start timestamptz,
3737
window_end timestamptz,
3838
work_duration_ms integer,
39+
active_days integer,
3940
lang_durations jsonb,
4041
machine_durations jsonb,
4142
editor_durations jsonb,
@@ -78,6 +79,7 @@ returns table (
7879
min(window_start) as window_start,
7980
max(window_end) as window_end,
8081
sum(work_duration_ms) as work_duration_ms,
82+
count(1) as active_days,
8183
jsonb_sum_aggregate(array_agg(lang_durations)) as lang_durations,
8284
jsonb_sum_aggregate(array_agg(machine_durations)) as machine_durations,
8385
jsonb_sum_aggregate(array_agg(editor_durations)) as editor_durations,
@@ -103,6 +105,7 @@ returns table (
103105
window_start timestamptz,
104106
window_end timestamptz,
105107
work_duration_ms integer,
108+
active_days integer,
106109
lang_durations jsonb,
107110
machine_durations jsonb,
108111
editor_durations jsonb,
@@ -147,6 +150,7 @@ returns table (
147150
min(window_start) as window_start,
148151
max(window_end) as window_end,
149152
sum(work_duration_ms) as work_duration_ms,
153+
count(1) as active_days,
150154
jsonb_sum_aggregate(array_agg(lang_durations)) as lang_durations,
151155
jsonb_sum_aggregate(array_agg(machine_durations)) as machine_durations,
152156
jsonb_sum_aggregate(array_agg(editor_durations)) as editor_durations,

backend/src/analytics/db.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ const getUserAnalytics = async (
1111
const { count, unit } = window.interval;
1212
const interval = `${count} ${unit}`;
1313
const data = await client.query({
14-
text: `select lang_durations, machine_durations, editor_durations, project_durations, activity_durations, work_duration_ms from user_analytics_aggregate_period($1, $2, $3::interval)`,
14+
text: `select lang_durations, machine_durations, editor_durations, project_durations, activity_durations, work_duration_ms, active_days from user_analytics_aggregate_period($1, $2, $3::interval)`,
1515
values: [user_id, window.start, interval],
1616
});
17-
console.log(data.rows[0]);
1817
return data.rows[0];
1918
};
2019
const db = { getUserAnalytics };

backend/src/analytics/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ export type UserAnalytics = Prettify<{
1111
activity_durations: Duration;
1212
machine_durations: Duration;
1313
work_duration_ms: number;
14+
active_days: number;
1415
}>;

0 commit comments

Comments
 (0)