import { defineTable } from 'convex/server'; import { v } from 'convex/values'; export const atasTables = { atas: defineTable({ numero: v.string(), dataInicio: v.optional(v.string()), dataFim: v.optional(v.string()), dataProrrogacao: v.optional(v.string()), empresaId: v.id('empresas'), numeroSei: v.string(), criadoPor: v.id('usuarios'), criadoEm: v.number(), atualizadoEm: v.number() }) .index('by_numero', ['numero']) .index('by_empresaId', ['empresaId']) .index('by_numeroSei', ['numeroSei']), atasObjetos: defineTable({ ataId: v.id('atas'), objetoId: v.id('objetos'), // Configuração de limite de uso por (ataId, objetoId) quantidadeTotal: v.optional(v.number()), limitePercentual: v.optional(v.number()), // padrão lógico: 50 // Controle transacional para evitar corrida; se ausente, pode ser inicializado via rebuild. quantidadeUsada: v.optional(v.number()) }) .index('by_ataId', ['ataId']) .index('by_objetoId', ['objetoId']) .index('by_ataId_and_objetoId', ['ataId', 'objetoId']), atasDocumentos: defineTable({ ataId: v.id('atas'), nome: v.string(), storageId: v.id('_storage'), tipo: v.string(), // MIME type tamanho: v.number(), // bytes criadoPor: v.id('usuarios'), criadoEm: v.number() }).index('by_ataId', ['ataId']) };