userdo
Version:
A Durable Object base class for building applications on Cloudflare Workers.
47 lines (46 loc) • 1.22 kB
JavaScript
import { z } from 'zod';
// Request/Response schemas for typed endpoints
export const SignupRequestSchema = z.object({
email: z.string().email(),
password: z.string().min(8),
});
export const LoginRequestSchema = z.object({
email: z.string().email(),
password: z.string().min(8),
});
export const PasswordResetRequestSchema = z.object({
email: z.string().email(),
});
export const PasswordResetConfirmSchema = z.object({
resetToken: z.string(),
newPassword: z.string().min(8),
});
export const SetDataRequestSchema = z.object({
key: z.string(),
value: z.unknown(),
});
// Response schemas
export const AuthResponseSchema = z.object({
user: z.object({
id: z.string(),
email: z.string(),
createdAt: z.string(),
}),
token: z.string(),
refreshToken: z.string(),
});
export const ErrorResponseSchema = z.object({
error: z.string(),
});
export const SuccessResponseSchema = z.object({
ok: z.literal(true),
});
export const DataResponseSchema = z.object({
ok: z.literal(true),
data: z.unknown(),
});
export const EventsResponseSchema = z.array(z.object({
event: z.string(),
data: z.unknown(),
timestamp: z.number(),
}));