Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@
"uuid": "^13.0.0",
"web-vitals": "^5.1.0",
"webrtc-adapter": "^9.0.4",
"zod": "^3.24.1",
"zod": "^4.6.7",
"zustand": "^5.0.3"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/app-lock/settings/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ async function handlePut(request: AuthenticatedRequest): Promise<NextResponse> {
const validation = updateSettingsSchema.safeParse(body);
if (!validation.success) {
const errors: Record<string, string[]> = {};
for (const error of validation.error.errors) {
for (const error of validation.error.issues) {
const path = error.path.join(".");
if (!errors[path]) {
errors[path] = [];
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/api/app-lock/unlock/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ async function handlePost(
const validation = lockEventSchema.safeParse(body);
if (!validation.success) {
const errors: Record<string, string[]> = {};
for (const error of validation.error.errors) {
for (const error of validation.error.issues) {
const path = error.path.join(".");
if (!errors[path]) {
errors[path] = [];
Expand Down Expand Up @@ -222,7 +222,7 @@ async function handlePost(
const validation = unlockEventSchema.safeParse(body);
if (!validation.success) {
const errors: Record<string, string[]> = {};
for (const error of validation.error.errors) {
for (const error of validation.error.issues) {
const path = error.path.join(".");
if (!errors[path]) {
errors[path] = [];
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/api/billing/checkout/create/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const createCheckoutSchema = z.object({
clientReferenceId: z.string().optional(),
allowPromotionCodes: z.boolean().optional(),
idempotencyKey: z.string().optional(),
metadata: z.record(z.string()).optional(),
metadata: z.record(z.string(), z.string()).optional(),
});

export async function POST(request: NextRequest) {
Expand All @@ -33,7 +33,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/checkout/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/crypto/create/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/crypto/verify/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export async function POST(request: NextRequest, context: RouteContext) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/app/api/billing/invoices/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const createInvoiceSchema = z.object({
collectionMethod: z.enum(["charge_automatically", "send_invoice"]).optional(),
daysUntilDue: z.number().int().min(1).max(365).optional(),
description: z.string().optional(),
metadata: z.record(z.string()).optional(),
metadata: z.record(z.string(), z.string()).optional(),
statementDescriptor: z.string().max(22).optional(),
footer: z.string().optional(),
idempotencyKey: z.string().optional(),
Expand All @@ -37,7 +37,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down Expand Up @@ -123,7 +123,7 @@ export async function GET(request: NextRequest) {
const validation = listInvoicesSchema.safeParse(params);
if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/invoices/upcoming/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export async function GET(request: NextRequest) {
const validation = upcomingInvoiceSchema.safeParse(params);
if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/api/billing/payment-intent/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const paymentIntentSchema = z.object({
description: z.string().optional(),
receiptEmail: z.string().email().optional(),
paymentMethodTypes: z.array(z.string()).optional(),
metadata: z.record(z.string()).optional(),
metadata: z.record(z.string(), z.string()).optional(),
});

function getStripe(): Stripe {
Expand All @@ -42,7 +42,7 @@ export async function POST(request: NextRequest) {

if (!result.success) {
return NextResponse.json(
{ error: "Validation failed", details: result.error.errors },
{ error: "Validation failed", details: result.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/payouts/[id]/approve/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export async function POST(

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/app/api/billing/payouts/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const createPayoutSchema = z.object({
"internal_transfer",
]),
recipientName: z.string().min(1),
recipientDetails: z.record(z.unknown()),
recipientDetails: z.record(z.string(), z.unknown()),
description: z.string().min(1),
category: z.enum([
"vendor_payment",
Expand All @@ -40,7 +40,7 @@ const createPayoutSchema = z.object({
]),
reference: z.string().optional(),
recipientId: z.string().optional(),
metadata: z.record(z.unknown()).optional(),
metadata: z.record(z.string(), z.unknown()).optional(),
submitForApproval: z.boolean().optional(),
});

Expand All @@ -51,7 +51,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/portal/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/reconciliation/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/app/api/billing/refunds/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const createRefundSchema = z
reason: z
.enum(["duplicate", "fraudulent", "requested_by_customer"])
.optional(),
metadata: z.record(z.string()).optional(),
metadata: z.record(z.string(), z.string()).optional(),
reverseTransfer: z.boolean().optional(),
refundApplicationFee: z.boolean().optional(),
instructionsEmail: z.string().email().optional(),
Expand All @@ -30,7 +30,7 @@ const createRefundSchema = z
});

const bulkRefundSchema = z.object({
refunds: z.array(createRefundSchema.innerType()),
refunds: z.array(createRefundSchema),
stopOnError: z.boolean().optional(),
});

Expand All @@ -43,7 +43,7 @@ export async function POST(request: NextRequest) {
const validation = bulkRefundSchema.safeParse(body);
if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down Expand Up @@ -76,7 +76,7 @@ export async function POST(request: NextRequest) {
const validation = createRefundSchema.safeParse(body);
if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/subscribe/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/token-gate/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/token-gate/verify/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/treasury/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/billing/upgrade/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/api/calls/[id]/participants/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ export async function POST(
const validation = addParticipantsSchema.safeParse(body);
if (!validation.success) {
return badRequestResponse("Invalid request body", "VALIDATION_ERROR", {
errors: validation.error.errors,
errors: validation.error.issues,
});
}

Expand Down Expand Up @@ -507,7 +507,7 @@ export async function DELETE(
const validation = removeParticipantSchema.safeParse(body);
if (!validation.success) {
return badRequestResponse("Invalid request body", "VALIDATION_ERROR", {
errors: validation.error.errors,
errors: validation.error.issues,
});
}

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/calls/[id]/recording/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export async function POST(

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request body", details: validation.error.errors },
{ error: "Invalid request body", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/app/api/calls/initiate/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const initiateCallSchema = z.object({
targetUserIds: z.array(z.string().uuid()).optional(),
channelId: z.string().uuid().optional(),
type: z.enum(["audio", "video", "screen_share"]).default("audio"),
metadata: z.record(z.unknown()).optional(),
metadata: z.record(z.string(), z.unknown()).optional(),
});

export async function POST(request: NextRequest) {
Expand All @@ -41,7 +41,7 @@ export async function POST(request: NextRequest) {

if (!validation.success) {
return NextResponse.json(
{ error: "Invalid request", details: validation.error.errors },
{ error: "Invalid request", details: validation.error.issues },
{ status: 400 },
);
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/calls/quality/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ const QualityMetricsSchema = z.object({
.optional(),

// Raw WebRTC stats
rtcStats: z.record(z.unknown()).optional(),
rtcStats: z.record(z.string(), z.unknown()).optional(),
});

const QualityQuerySchema = z.object({
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/channels/[id]/categories/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ export async function PUT(
{
success: false,
error: "Invalid request body",
details: validation.error.errors,
details: validation.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/channels/[id]/token-gate/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export async function POST(
return NextResponse.json(
{
error: "Validation failed",
details: validationResult.error.errors,
details: validationResult.error.issues,
},
{ status: 400 },
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/app/api/channels/broadcast/[id]/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ export async function POST(
{
success: false,
error: "Invalid request body",
details: validation.error.errors,
details: validation.error.issues,
},
{ status: 400 },
);
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/app/api/channels/broadcast/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ export async function GET(request: NextRequest) {
{
success: false,
error: "Invalid query parameters",
details: error.errors,
details: error.issues,
},
{ status: 400 },
);
Expand Down Expand Up @@ -180,7 +180,7 @@ export async function POST(request: NextRequest) {
{
success: false,
error: "Invalid request body",
details: validation.error.errors,
details: validation.error.issues,
},
{ status: 400 },
);
Expand Down Expand Up @@ -249,7 +249,7 @@ export async function POST(request: NextRequest) {
{
success: false,
error: "Invalid request body",
details: error.errors,
details: error.issues,
},
{ status: 400 },
);
Expand All @@ -276,7 +276,7 @@ async function handleSendBroadcast(
{
success: false,
error: "Invalid broadcast data",
details: validation.error.errors,
details: validation.error.issues,
},
{ status: 400 },
);
Expand Down
Loading
Loading