Updated report schemas. Removed yup.

This commit is contained in:
Mike Cao 2025-01-31 23:46:23 -08:00
parent edd72cd6e3
commit f3e733dea3
13 changed files with 37 additions and 146 deletions

View file

@ -3,10 +3,12 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getFunnel } from 'queries';
import { reportParms } from 'lib/schema';
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
...reportParms,
window: z.number().positive(),
steps: z
.array(
z.object({
@ -15,11 +17,6 @@ export async function POST(request: Request) {
}),
)
.min(2),
window: z.number().positive(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
}),
});
const { auth, body, error } = await parseRequest(request, schema);

View file

@ -3,14 +3,11 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getGoals } from 'queries/analytics/reports/getGoals';
import { reportParms } from 'lib/schema';
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
}),
...reportParms,
goals: z
.array(
z.object({

View file

@ -3,6 +3,7 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getInsights } from 'queries';
import { reportParms } from 'lib/schema';
function convertFilters(filters: any[]) {
return filters.reduce((obj, filter) => {
@ -14,11 +15,7 @@ function convertFilters(filters: any[]) {
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.coerce.date(),
endDate: z.coerce.date(),
}),
...reportParms,
fields: z
.array(
z.object({

View file

@ -3,14 +3,11 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getJourney } from 'queries';
import { reportParms } from 'lib/schema';
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
}),
...reportParms,
steps: z.number().min(3).max(7),
startStep: z.string(),
endStep: z.string(),

View file

@ -3,15 +3,11 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getRetention } from 'queries';
import { timezoneParam } from 'lib/schema';
import { reportParms, timezoneParam } from 'lib/schema';
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
}),
...reportParms,
timezone: timezoneParam,
});

View file

@ -2,17 +2,13 @@ import { z } from 'zod';
import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { timezoneParam, unitParam } from 'lib/schema';
import { reportParms, timezoneParam, unitParam } from 'lib/schema';
import { getRevenue } from 'queries/analytics/reports/getRevenue';
import { getRevenueValues } from 'queries/analytics/reports/getRevenueValues';
export async function GET(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
}),
...reportParms,
});
const { auth, query, error } = await parseRequest(request, schema);

View file

@ -3,16 +3,11 @@ import { canViewWebsite } from 'lib/auth';
import { unauthorized, json } from 'lib/response';
import { parseRequest } from 'lib/request';
import { getUTM } from 'queries';
import { timezoneParam } from 'lib/schema';
import { reportParms } from 'lib/schema';
export async function POST(request: Request) {
const schema = z.object({
websiteId: z.string().uuid(),
dateRange: z.object({
startDate: z.date(),
endDate: z.date(),
timezone: timezoneParam,
}),
...reportParms,
});
const { auth, body, error } = await parseRequest(request, schema);