import { defineTable } from 'convex/server'; import { v } from 'convex/values'; export const pedidosTables = { pedidos: defineTable({ numeroSei: v.optional(v.string()), status: v.union( v.literal('em_rascunho'), v.literal('aguardando_aceite'), v.literal('em_analise'), v.literal('precisa_ajustes'), v.literal('cancelado'), v.literal('concluido') ), acaoId: v.optional(v.id('acoes')), criadoPor: v.id('usuarios'), criadoEm: v.number(), atualizadoEm: v.number() }) .index('by_numeroSei', ['numeroSei']) .index('by_status', ['status']) .index('by_criadoPor', ['criadoPor']) .index('by_acaoId', ['acaoId']), pedidoItems: defineTable({ pedidoId: v.id('pedidos'), produtoId: v.id('produtos'), valorEstimado: v.string(), valorReal: v.optional(v.string()), quantidade: v.number(), adicionadoPor: v.id('funcionarios'), criadoEm: v.number() }) .index('by_pedidoId', ['pedidoId']) .index('by_produtoId', ['produtoId']) .index('by_adicionadoPor', ['adicionadoPor']), historicoPedidos: defineTable({ pedidoId: v.id('pedidos'), usuarioId: v.id('usuarios'), acao: v.string(), // "criacao", "alteracao_status", "adicao_item", "remocao_item", "edicao_item" detalhes: v.optional(v.string()), // JSON string data: v.number() }) .index('by_pedidoId', ['pedidoId']) .index('by_usuarioId', ['usuarioId']) .index('by_data', ['data']) };