56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
import { z } from 'zod';
|
|
import { storeSchema } from './store.schema';
|
|
import { customerSchema } from './customer.schema';
|
|
import { sellerSchema } from './seller.schema';
|
|
import { partnerSchema } from './partner.schema';
|
|
import { productSchema } from './product.schema';
|
|
import { createApiSchema } from './api-response.schema';
|
|
|
|
/**
|
|
* Schema Zod para validar um pedido (Order).
|
|
* Usa z.any() pois Order tem muitos campos opcionais e variações.
|
|
*/
|
|
const orderSchema = z.any();
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar um pedido específico.
|
|
* Formato: { success: boolean, data: Order }
|
|
*/
|
|
export const orderResponseSchema = createApiSchema(orderSchema);
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar pedidos.
|
|
* Formato: { success: boolean, data: Order[] }
|
|
*/
|
|
export const ordersResponseSchema = createApiSchema(z.array(orderSchema));
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar lojas.
|
|
* Formato: { success: boolean, data: Store[] }
|
|
*/
|
|
export const storesResponseSchema = createApiSchema(z.array(storeSchema));
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar clientes.
|
|
* Formato: { success: boolean, data: Customer[] }
|
|
*/
|
|
export const customersResponseSchema = createApiSchema(z.array(customerSchema));
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar vendedores.
|
|
* Formato: { success: boolean, data: Seller[] }
|
|
*/
|
|
export const sellersResponseSchema = createApiSchema(z.array(sellerSchema));
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar parceiros.
|
|
* Formato: { success: boolean, data: Partner[] }
|
|
*/
|
|
export const partnersResponseSchema = createApiSchema(z.array(partnerSchema));
|
|
|
|
/**
|
|
* Schema para validar a resposta da API ao buscar produtos.
|
|
* Formato: { success: boolean, data: Product[] }
|
|
*/
|
|
export const productsResponseSchema = createApiSchema(z.array(productSchema));
|