feat: sistema GastroBar PDV completo
- Backend: Fastify + Prisma/SQLite com autenticacao JWT - CRUD completo: usuarios, categorias, produtos, comandas - Sistema de comandas com itens, status, pagamento - Controle de estoque (entrada/saida automatica) - Relatorios e dashboard com KPIs - Notificacoes sonoras na cozinha - Frontend: SPA vanilla TS com tema dark glassmorphism - Mobile-first com bottom-sheet e cards compactos - Busca de comandas por periodo - Modal de detalhes com secao editavel colapsavel
This commit is contained in:
37
src/schemas/order.schema.ts
Normal file
37
src/schemas/order.schema.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
export const createOrderSchema = z.object({
|
||||
identificador: z.string().min(1),
|
||||
nomeCliente: z.string().optional(),
|
||||
});
|
||||
|
||||
export const addItemOrderSchema = z.object({
|
||||
produtoId: z.string().uuid(),
|
||||
quantidade: z.number().int().positive(),
|
||||
observacao: z.string().optional(),
|
||||
});
|
||||
|
||||
export const updateItemStatusSchema = z.object({
|
||||
status: z.enum(['PENDENTE', 'PREPARANDO', 'PRONTO', 'ENTREGUE']),
|
||||
});
|
||||
|
||||
export const updateOrderSchema = z.object({
|
||||
identificador: z.string().min(1).optional(),
|
||||
nomeCliente: z.string().optional(),
|
||||
status: z.enum(['ABERTA', 'FECHADA', 'PAGA', 'CANCELADA']).optional(),
|
||||
desconto: z.number().min(0).optional(),
|
||||
acrescimo: z.number().min(0).optional(),
|
||||
taxaServico: z.boolean().optional(),
|
||||
motivoCancelamento: z.string().optional(),
|
||||
});
|
||||
|
||||
export const payOrderSchema = z.object({
|
||||
formaPagamento: z.enum(['DINHEIRO', 'CARTAO_CREDITO', 'CARTAO_DEBITO', 'PIX']),
|
||||
});
|
||||
|
||||
export type CreateOrderInput = z.infer<typeof createOrderSchema>;
|
||||
export type AddItemOrderInput = z.infer<typeof addItemOrderSchema>;
|
||||
export type UpdateItemStatusInput = z.infer<typeof updateItemStatusSchema>;
|
||||
export type UpdateOrderInput = z.infer<typeof updateOrderSchema>;
|
||||
export type PayOrderInput = z.infer<typeof payOrderSchema>;
|
||||
|
||||
Reference in New Issue
Block a user