Skip to content

Commit 6521db1

Browse files
committed
great snake case migration
1 parent 4de8cd7 commit 6521db1

33 files changed

Lines changed: 202 additions & 223 deletions

client/src/api/analytics/events/useGetEvents.ts

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { useInfiniteQuery, useQuery } from "@tanstack/react-query";
22
import { Time } from "../../../components/DateSelector/types";
33
import { useStore } from "../../../lib/store";
4-
import { authedFetch, getStartAndEndDate } from "../../utils";
5-
import { timeZone } from "../../../lib/dateTimeUtils";
4+
import { authedFetch, getQueryParams } from "../../utils";
65

76
export type Event = {
87
timestamp: string;
@@ -54,30 +53,18 @@ export function useGetEvents(count = 10) {
5453
// New hook with pagination and filtering support
5554
export function useGetEventsInfinite(options: GetEventsOptions = {}) {
5655
const { site, time, filters } = useStore();
57-
const { startDate, endDate } = options.time ? getStartAndEndDate(options.time) : getStartAndEndDate(time);
5856
const pageSize = options.pageSize || 20;
5957

6058
return useInfiniteQuery<EventsResponse, Error>({
61-
queryKey: ["events-infinite", site, startDate, endDate, timeZone, filters, pageSize, options.isRealtime],
59+
queryKey: ["events-infinite", site, time, filters, pageSize, options.isRealtime],
6260
initialPageParam: 1,
6361
queryFn: async ({ pageParam }) => {
64-
const params: Record<string, any> = {
65-
startDate,
66-
endDate,
67-
timeZone,
62+
const params = getQueryParams(time, {
6863
page: pageParam,
6964
pageSize,
70-
};
71-
72-
// Add filters if provided
73-
if (filters && filters.length > 0) {
74-
params.filters = JSON.stringify(filters);
75-
}
76-
77-
// Add count if provided (for backward compatibility)
78-
if (options.count) {
79-
params.count = options.count;
80-
}
65+
filters: filters && filters.length > 0 ? JSON.stringify(filters) : undefined,
66+
count: options.count,
67+
});
8168

8269
const response = await authedFetch<EventsResponse>(`/events/${site}`, params);
8370
return response;
Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { useQuery } from "@tanstack/react-query";
22
import { Time } from "../../components/DateSelector/types";
3-
import { timeZone } from "../../lib/dateTimeUtils";
4-
import { getFilteredFilters } from "../../lib/store";
53
import { JOURNEY_PAGE_FILTERS } from "../../lib/filterGroups";
6-
import { authedFetch, getStartAndEndDate } from "../utils";
4+
import { getFilteredFilters } from "../../lib/store";
5+
import { authedFetch, getQueryParams } from "../utils";
76

87
export interface JourneyParams {
98
siteId?: number;
@@ -25,28 +24,20 @@ export interface JourneysResponse {
2524
}
2625

2726
export const useJourneys = ({ siteId, steps = 3, time, limit = 100, stepFilters }: JourneyParams) => {
28-
const { startDate, endDate } = getStartAndEndDate(time);
29-
3027
const filteredFilters = getFilteredFilters(JOURNEY_PAGE_FILTERS);
3128

3229
return useQuery<JourneysResponse>({
33-
queryKey: ["journeys", siteId, steps, startDate, endDate, timeZone, limit, filteredFilters, stepFilters],
30+
queryKey: ["journeys", siteId, steps, time, limit, filteredFilters, stepFilters],
3431
queryFn: async () => {
35-
const params: Record<string, any> = {};
36-
37-
if (steps) params.steps = steps;
38-
if (startDate) params.startDate = startDate;
39-
if (endDate) params.endDate = endDate;
40-
if (timeZone) params.timeZone = timeZone;
41-
if (limit) params.limit = limit;
42-
if (filteredFilters) params.filters = filteredFilters;
43-
if (stepFilters && Object.keys(stepFilters).length > 0) {
44-
params.stepFilters = JSON.stringify(stepFilters);
45-
}
46-
32+
const params = getQueryParams(time, {
33+
steps,
34+
limit,
35+
filters: filteredFilters,
36+
stepFilters: stepFilters && Object.keys(stepFilters).length > 0 ? JSON.stringify(stepFilters) : undefined,
37+
});
4738
return authedFetch<JourneysResponse>(`/journeys/${siteId}`, params);
4839
},
4940
enabled: !!siteId,
50-
placeholderData: (previousData) => previousData,
41+
placeholderData: previousData => previousData,
5142
});
5243
};

client/src/api/analytics/useGetMetric.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ export function useMetric({
4343
timeToUse.mode === "past-minutes" && periodTime === "previous"
4444
? {
4545
...timeToUse,
46-
pastMinutesStart: timeToUse.pastMinutesStart * 2,
47-
pastMinutesEnd: timeToUse.pastMinutesStart,
46+
past_minutes_start: timeToUse.past_minutes_start * 2,
47+
past_minutes_end: timeToUse.past_minutes_start,
4848
}
4949
: timeToUse;
5050

client/src/api/analytics/useGetOverview.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type UseGetOverviewOptions = {
1717
periodTime?: PeriodTime;
1818
site?: number | string;
1919
overrideTime?:
20-
| { mode: "past-minutes"; pastMinutesStart: number; pastMinutesEnd: number }
20+
| { mode: "past-minutes"; past_minutes_start: number; past_minutes_end: number }
2121
| { mode: "range"; startDate: string; endDate: string };
2222
};
2323

client/src/api/analytics/useGetOverviewBucketed.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Filter, TimeBucket } from "@rybbit/shared";
22
import { UseQueryOptions, UseQueryResult, useQuery } from "@tanstack/react-query";
3-
import { timeZone } from "../../lib/dateTimeUtils";
43
import { useStore } from "../../lib/store";
54
import { APIResponse } from "../types";
65
import { authedFetch, getQueryParams } from "../utils";
@@ -32,7 +31,7 @@ export function useGetOverviewBucketed({
3231
dynamicFilters?: Filter[];
3332
refetchInterval?: number;
3433
overrideTime?:
35-
| { mode: "past-minutes"; pastMinutesStart: number; pastMinutesEnd: number }
34+
| { mode: "past-minutes"; past_minutes_start: number; past_minutes_end: number }
3635
| { mode: "range"; startDate: string; endDate: string };
3736
props?: Partial<UseQueryOptions<APIResponse<GetOverviewBucketedResponse>>>;
3837
}): UseQueryResult<APIResponse<GetOverviewBucketedResponse>> {
@@ -45,7 +44,6 @@ export function useGetOverviewBucketed({
4544

4645
// Use getQueryParams utility to handle conditional logic
4746
const queryParams = getQueryParams(timeToUse, {
48-
timeZone,
4947
bucket,
5048
filters: combinedFilters,
5149
});
@@ -55,8 +53,8 @@ export function useGetOverviewBucketed({
5553
timeToUse.mode === "past-minutes"
5654
? [
5755
"overview-bucketed-past-minutes",
58-
timeToUse.pastMinutesStart,
59-
timeToUse.pastMinutesEnd,
56+
timeToUse.past_minutes_start,
57+
timeToUse.past_minutes_end,
6058
site,
6159
bucket,
6260
combinedFilters,

client/src/api/analytics/useGetUserSessions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ export function useGetSessionDetailsInfinite(sessionId: string | null) {
152152
let minutes: number | undefined;
153153
if (pastMinutesMode) {
154154
if (time.mode === "past-minutes") {
155-
minutes = time.pastMinutesStart; // Use the dynamic value
155+
minutes = time.past_minutes_start; // Use the dynamic value
156156
}
157157
}
158158

client/src/api/utils.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,48 @@ import { BACKEND_URL } from "../lib/const";
55
import { timeZone } from "../lib/dateTimeUtils";
66
import { useStore } from "../lib/store";
77

8-
export function getStartAndEndDate(time: Time) {
8+
function getStartAndEndDate(time: Time) {
99
if (time.mode === "range") {
10-
return { startDate: time.startDate, endDate: time.endDate };
10+
return { start_date: time.startDate, end_date: time.endDate };
1111
}
1212
if (time.mode === "week") {
1313
return {
14-
startDate: time.week,
15-
endDate: DateTime.fromISO(time.week).endOf("week").toISODate(),
14+
start_date: time.week,
15+
end_date: DateTime.fromISO(time.week).endOf("week").toISODate(),
1616
};
1717
}
1818
if (time.mode === "month") {
1919
return {
20-
startDate: time.month,
21-
endDate: DateTime.fromISO(time.month).endOf("month").toISODate(),
20+
start_date: time.month,
21+
end_date: DateTime.fromISO(time.month).endOf("month").toISODate(),
2222
};
2323
}
2424
if (time.mode === "year") {
2525
return {
26-
startDate: time.year,
27-
endDate: DateTime.fromISO(time.year).endOf("year").toISODate(),
26+
start_date: time.year,
27+
end_date: DateTime.fromISO(time.year).endOf("year").toISODate(),
2828
};
2929
}
3030
if (time.mode === "all-time" || time.mode === "past-minutes") {
31-
return { startDate: null, endDate: null };
31+
return { start_date: null, end_date: null };
3232
}
33-
return { startDate: time.day, endDate: time.day };
33+
return { start_date: time.day, end_date: time.day };
3434
}
3535

3636
export function getQueryParams(time: Time, additionalParams: Record<string, any> = {}): Record<string, any> {
3737
if (time.mode === "past-minutes") {
3838
return {
39-
timeZone,
40-
pastMinutesStart: time.pastMinutesStart,
41-
pastMinutesEnd: time.pastMinutesEnd,
39+
time_zone: timeZone,
40+
past_minutes_start: time.past_minutes_start,
41+
past_minutes_end: time.past_minutes_end,
4242
...additionalParams,
4343
};
4444
}
4545

4646
// Regular date-based approach
4747
return {
4848
...getStartAndEndDate(time),
49-
timeZone,
49+
time_zone: timeZone,
5050
...additionalParams,
5151
};
5252
}

client/src/app/[site]/journeys/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default function JourneysPage() {
2828
const { data, isLoading, error } = useJourneys({
2929
siteId: siteMetadata?.siteId,
3030
steps,
31-
timeZone: timeZone,
31+
timeZone,
3232
time,
3333
limit: maxJourneys,
3434
stepFilters,

client/src/app/[site]/main/components/MainSection/Chart.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ const getMax = (time: Time, bucket: TimeBucket) => {
8686
const getMin = (time: Time, bucket: TimeBucket) => {
8787
if (time.mode === "past-minutes") {
8888
return DateTime.now()
89-
.minus({ minutes: time.pastMinutesStart })
90-
.startOf(time.pastMinutesStart < 360 ? "minute" : "hour")
89+
.minus({ minutes: time.past_minutes_start })
90+
.startOf(time.past_minutes_start < 360 ? "minute" : "hour")
9191
.toJSDate();
9292
} else if (time.mode === "day") {
9393
const dayDate = DateTime.fromISO(time.day).startOf("day");
@@ -274,14 +274,14 @@ export function Chart({
274274
truncateTickAt: 0,
275275
tickValues: Math.min(
276276
maxTicks,
277-
time.mode === "day" || (time.mode === "past-minutes" && time.pastMinutesStart === 1440)
277+
time.mode === "day" || (time.mode === "past-minutes" && time.past_minutes_start === 1440)
278278
? 24
279279
: Math.min(12, data?.data?.length ?? 0)
280280
),
281281
format: value => {
282282
const dt = DateTime.fromJSDate(value).setLocale(userLocale);
283283
if (time.mode === "past-minutes") {
284-
if (time.pastMinutesStart < 1440) {
284+
if (time.past_minutes_start < 1440) {
285285
return dt.toFormat(hour12 ? "h:mm" : "HH:mm");
286286
}
287287
return dt.toFormat(hour12 ? "ha" : "HH:mm");

client/src/app/[site]/main/components/MainSection/Overview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ const Stat = ({
8484
if (time.mode === "past-minutes") {
8585
const timestamp = new Date(d.time);
8686
const now = new Date();
87-
const startTime = new Date(now.getTime() - time.pastMinutesStart * 60 * 1000);
87+
const startTime = new Date(now.getTime() - time.past_minutes_start * 60 * 1000);
8888
return timestamp >= startTime && timestamp <= now;
8989
}
9090
return true;

0 commit comments

Comments
 (0)