Skip to content

Commit 7d5556a

Browse files
committed
Convert event-data, events, session-data, sessions routes.
1 parent baa3851 commit 7d5556a

File tree

47 files changed

+692
-136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+692
-136
lines changed

src/app/api/users/[userId]/route.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { checkRequest } from 'lib/request';
77

88
export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) {
99
const { userId } = await params;
10+
1011
const auth = await checkAuth(request);
1112

1213
if (!auth || !(await canViewUser(auth, userId))) {
@@ -32,6 +33,7 @@ export async function POST(request: Request, { params }: { params: Promise<{ use
3233
}
3334

3435
const { userId } = await params;
36+
3537
const auth = await checkAuth(request);
3638

3739
if (!auth || !(await canUpdateUser(auth, userId))) {

src/app/api/users/[userId]/teams/route.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ import { checkAuth } from 'lib/auth';
55
import { unauthorized, badRequest, json } from 'lib/response';
66
import { checkRequest } from 'lib/request';
77

8-
const schema = z.object({
9-
...pagingParams,
10-
});
11-
128
export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) {
13-
const { userId } = await params;
9+
const schema = z.object({
10+
...pagingParams,
11+
});
1412

1513
const { query, error } = await checkRequest(request, schema);
1614

1715
if (error) {
1816
return badRequest(error);
1917
}
2018

19+
const { userId } = await params;
20+
2121
const auth = await checkAuth(request);
2222

2323
if (!auth || (!auth.user.isAdmin && (!userId || auth.user.id !== userId))) {

src/app/api/users/[userId]/usage/route.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import { getEventDataUsage } from 'queries/analytics/events/getEventDataUsage';
66
import { checkAuth } from 'lib/auth';
77
import { checkRequest } from 'lib/request';
88

9-
const schema = z.object({
10-
startAt: z.coerce.number(),
11-
endAt: z.coerce.number(),
12-
});
13-
149
export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) {
10+
const schema = z.object({
11+
startAt: z.coerce.number().int(),
12+
endAt: z.coerce.number().int(),
13+
});
14+
1515
const { query, error } = await checkRequest(request, schema);
1616

1717
if (error) {

src/app/api/users/[userId]/websites/route.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ import { pagingParams } from 'lib/schema';
55
import { checkRequest } from 'lib/request';
66
import { checkAuth } from 'lib/auth';
77

8-
const schema = z.object({
9-
...pagingParams,
10-
});
11-
128
export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) {
9+
const schema = z.object({
10+
...pagingParams,
11+
});
12+
1313
const { query, error } = await checkRequest(request, schema);
1414

1515
if (error) {
1616
return badRequest(error);
1717
}
1818

1919
const { userId } = await params;
20+
2021
const auth = await checkAuth(request);
2122

2223
if (!auth || (!auth.user.isAdmin && auth.user.id !== userId)) {

src/app/api/users/route.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ import { checkRequest } from 'lib/request';
77
import { unauthorized, json, badRequest } from 'lib/response';
88
import { createUser, getUserByUsername } from 'queries';
99

10-
const schema = z.object({
11-
username: z.string().max(255),
12-
password: z.string(),
13-
id: z.string().uuid(),
14-
role: z.string().regex(/admin|user|view-only/i),
15-
});
16-
1710
export async function POST(request: Request) {
11+
const schema = z.object({
12+
username: z.string().max(255),
13+
password: z.string(),
14+
id: z.string().uuid(),
15+
role: z.string().regex(/admin|user|view-only/i),
16+
});
17+
1818
const { body, error } = await checkRequest(request, schema);
1919

2020
if (error) {

src/app/api/websites/[websiteId]/active/route.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,11 @@ export async function GET(
66
request: Request,
77
{ params }: { params: Promise<{ websiteId: string }> },
88
) {
9-
const auth = await checkAuth(request);
10-
11-
if (!auth) {
12-
return unauthorized();
13-
}
14-
159
const { websiteId } = await params;
1610

17-
if (!(await canViewWebsite(auth, websiteId))) {
11+
const auth = await checkAuth(request);
12+
13+
if (!auth || !(await canViewWebsite(auth, websiteId))) {
1814
return unauthorized();
1915
}
2016

src/app/api/websites/[websiteId]/daterange/route.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ export async function GET(
66
request: Request,
77
{ params }: { params: Promise<{ websiteId: string }> },
88
) {
9-
const auth = await checkAuth(request);
109
const { websiteId } = await params;
1110

11+
const auth = await checkAuth(request);
12+
1213
if (!auth || !(await canViewWebsite(auth, websiteId))) {
1314
return unauthorized();
1415
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { z } from 'zod';
2+
import { checkRequest } from 'lib/request';
3+
import { badRequest, unauthorized, json } from 'lib/response';
4+
import { canViewWebsite, checkAuth } from 'lib/auth';
5+
import { getEventDataEvents } from 'queries/analytics/events/getEventDataEvents';
6+
7+
export async function GET(
8+
request: Request,
9+
{ params }: { params: Promise<{ websiteId: string }> },
10+
) {
11+
const schema = z.object({
12+
startAt: z.coerce.number().int(),
13+
endAt: z.coerce.number().int(),
14+
event: z.string().optional(),
15+
});
16+
17+
const { query, error } = await checkRequest(request, schema);
18+
19+
if (error) {
20+
return badRequest(error);
21+
}
22+
23+
const { websiteId } = await params;
24+
const { startAt, endAt, event } = query;
25+
26+
const auth = await checkAuth(request);
27+
28+
if (!auth || !(await canViewWebsite(auth, websiteId))) {
29+
return unauthorized();
30+
}
31+
32+
const startDate = new Date(+startAt);
33+
const endDate = new Date(+endAt);
34+
35+
const data = await getEventDataEvents(websiteId, {
36+
startDate,
37+
endDate,
38+
event,
39+
});
40+
41+
return json(data);
42+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { z } from 'zod';
2+
import { checkRequest } from 'lib/request';
3+
import { badRequest, unauthorized, json } from 'lib/response';
4+
import { canViewWebsite, checkAuth } from 'lib/auth';
5+
import { getEventDataFields } from 'queries';
6+
7+
export async function GET(
8+
request: Request,
9+
{ params }: { params: Promise<{ websiteId: string }> },
10+
) {
11+
const schema = z.object({
12+
startAt: z.coerce.number().int(),
13+
endAt: z.coerce.number().int(),
14+
});
15+
16+
const { query, error } = await checkRequest(request, schema);
17+
18+
if (error) {
19+
return badRequest(error);
20+
}
21+
22+
const { websiteId } = await params;
23+
const { startAt, endAt } = query;
24+
25+
const auth = await checkAuth(request);
26+
27+
if (!(await canViewWebsite(auth, websiteId))) {
28+
return unauthorized();
29+
}
30+
31+
const startDate = new Date(+startAt);
32+
const endDate = new Date(+endAt);
33+
34+
const data = await getEventDataFields(websiteId, {
35+
startDate,
36+
endDate,
37+
});
38+
39+
return json(data);
40+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { z } from 'zod';
2+
import { checkRequest } from 'lib/request';
3+
import { badRequest, unauthorized, json } from 'lib/response';
4+
import { canViewWebsite, checkAuth } from 'lib/auth';
5+
import { getEventDataProperties } from 'queries';
6+
7+
export async function GET(
8+
request: Request,
9+
{ params }: { params: Promise<{ websiteId: string }> },
10+
) {
11+
const schema = z.object({
12+
startAt: z.coerce.number().int(),
13+
endAt: z.coerce.number().int(),
14+
propertyName: z.string().optional(),
15+
});
16+
17+
const { query, error } = await checkRequest(request, schema);
18+
19+
if (error) {
20+
return badRequest(error);
21+
}
22+
23+
const { websiteId } = await params;
24+
const { startAt, endAt, propertyName } = query;
25+
26+
const auth = await checkAuth(request);
27+
28+
if (!auth || !(await canViewWebsite(auth, websiteId))) {
29+
return unauthorized();
30+
}
31+
32+
const startDate = new Date(+startAt);
33+
const endDate = new Date(+endAt);
34+
35+
const data = await getEventDataProperties(websiteId, { startDate, endDate, propertyName });
36+
37+
return json(data);
38+
}

0 commit comments

Comments
 (0)