Skip to content

Commit

Permalink
Made schema global for send.
Browse files Browse the repository at this point in the history
  • Loading branch information
mikecao committed Feb 11, 2025
1 parent d124b42 commit d9459ab
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 18 deletions.
1 change: 1 addition & 0 deletions .github/workflows/cd-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- analytics
- cloud

jobs:
build:
Expand Down
36 changes: 18 additions & 18 deletions src/pages/api/send.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,24 @@ import { createSession, saveEvent, saveSessionData } from '@/queries';
import { NextApiRequest, NextApiResponse } from 'next';
import { serializeError } from 'serialize-error';

const schema = z.object({
type: z.enum(['event', 'identify']),
payload: z.object({
website: z.string().uuid(),
data: z.object({}).passthrough().optional(),
hostname: z.string().max(100).optional(),
language: z.string().max(35).optional(),
referrer: z.string().optional(),
screen: z.string().max(11).optional(),
title: z.string().optional(),
url: z.string().optional(),
name: z.string().max(50).optional(),
tag: z.string().max(50).optional(),
ip: z.string().ip().optional(),
userAgent: z.string().optional(),
}),
});

export default async function (req: NextApiRequest, res: NextApiResponse) {
const request = new Request(`https://${req.headers.host}${req.url}`, {
method: req.method || 'GET',
Expand All @@ -23,24 +41,6 @@ export default async function (req: NextApiRequest, res: NextApiResponse) {
return res.status(200).json({ beep: 'boop' });
}

const schema = z.object({
type: z.enum(['event', 'identify']),
payload: z.object({
website: z.string().uuid(),
data: z.object({}).passthrough().optional(),
hostname: z.string().max(100).optional(),
language: z.string().max(35).optional(),
referrer: z.string().optional(),
screen: z.string().max(11).optional(),
title: z.string().optional(),
url: z.string().optional(),
name: z.string().max(50).optional(),
tag: z.string().max(50).optional(),
ip: z.string().ip().optional(),
userAgent: z.string().optional(),
}),
});

const { body, error } = await parseRequest(request, schema, { skipAuth: true });

if (error) {
Expand Down

0 comments on commit d9459ab

Please sign in to comment.