tsoa-zod-validator
Version:
Zod validation decorators for tsoa
64 lines (63 loc) • 1.97 kB
TypeScript
/**
* This file contains sample validators that can be used with the tsoa-zod-validator library.
* These are provided as examples and are not part of the core library.
*/
import { z } from 'zod';
/**
* Example user schema for validation
*/
export declare const UserSchema: z.ZodObject<{
name: z.ZodString;
email: z.ZodString;
age: z.ZodOptional<z.ZodNumber>;
role: z.ZodDefault<z.ZodEnum<{
user: "user";
admin: "admin";
guest: "guest";
}>>;
}, z.core.$strip>;
/**
* Example pagination schema for query parameters
*/
export declare const PaginationSchema: z.ZodObject<{
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
sort: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Example schema for authentication headers
*/
export declare const AuthHeadersSchema: z.ZodObject<{
authorization: z.ZodString;
}, z.core.$strip>;
/**
* Example schema for file upload configurations
*/
export declare const FileUploadSchema: z.ZodObject<{
maxSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
allowedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
maxFiles: z.ZodOptional<z.ZodNumber>;
required: z.ZodOptional<z.ZodBoolean>;
minFiles: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
* Example of schema composition
*/
export declare const BaseProductSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
price: z.ZodNumber;
}, z.core.$strip>;
export declare const CreateProductSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
price: z.ZodNumber;
categoryId: z.ZodString;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const UpdateProductSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
description: z.ZodOptional<z.ZodString>;
price: z.ZodOptional<z.ZodNumber>;
id: z.ZodString;
}, z.core.$strip>;