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));