update segmentParamSchema, add typing to getEntity

This commit is contained in:
Francis Cao 2026-01-22 16:32:06 -08:00
parent d4ff7c8e3f
commit f4eaa9fd0d
3 changed files with 5 additions and 4 deletions

View file

@ -2,7 +2,7 @@ import { z } from 'zod';
import { uuid } from '@/lib/crypto'; import { uuid } from '@/lib/crypto';
import { getQueryFilters, parseRequest } from '@/lib/request'; import { getQueryFilters, parseRequest } from '@/lib/request';
import { json, unauthorized } from '@/lib/response'; import { json, unauthorized } from '@/lib/response';
import { searchParams, segmentParametersSchema, segmentTypeParam } from '@/lib/schema'; import { searchParams, segmentParamSchema, segmentTypeParam } from '@/lib/schema';
import { canUpdateWebsite, canViewWebsite } from '@/permissions'; import { canUpdateWebsite, canViewWebsite } from '@/permissions';
import { createSegment, getWebsiteSegments } from '@/queries/prisma'; import { createSegment, getWebsiteSegments } from '@/queries/prisma';
@ -42,7 +42,7 @@ export async function POST(
const schema = z.object({ const schema = z.object({
type: segmentTypeParam, type: segmentTypeParam,
name: z.string().max(200), name: z.string().max(200),
parameters: segmentParametersSchema, parameters: segmentParamSchema,
}); });
const { auth, body, error } = await parseRequest(request, schema); const { auth, body, error } = await parseRequest(request, schema);

View file

@ -1,6 +1,7 @@
import type { Link, Pixel, Website } from '@/generated/prisma/client';
import { getLink, getPixel, getWebsite } from '@/queries/prisma'; import { getLink, getPixel, getWebsite } from '@/queries/prisma';
export async function getEntity(entityId: string) { export async function getEntity(entityId: string): Promise<Website | Link | Pixel | null> {
const website = await getWebsite(entityId); const website = await getWebsite(entityId);
const link = await getLink(entityId); const link = await getLink(entityId);
const pixel = await getPixel(entityId); const pixel = await getPixel(entityId);

View file

@ -249,7 +249,7 @@ export const reportResultSchema = z.intersection(
export const segmentTypeParam = z.enum(['segment', 'cohort']); export const segmentTypeParam = z.enum(['segment', 'cohort']);
export const segmentParametersSchema = z.object({ export const segmentParamSchema = z.object({
filters: z filters: z
.array( .array(
z.object({ z.object({