import { defineSchema, defineTable } from "convex/server"; import { Infer, v } from "convex/values"; import { tables } from "./betterAuth/schema"; import { cidrv4 } from "better-auth"; export const simboloTipo = v.union( v.literal("cargo_comissionado"), v.literal("funcao_gratificada") ); export type SimboloTipo = Infer; export default defineSchema({ ...tables, todos: defineTable({ text: v.string(), completed: v.boolean(), }), funcionarios: defineTable({ nome: v.string(), nascimento: v.string(), rg: v.string(), cpf: v.string(), endereco: v.string(), cep: v.string(), cidade: v.string(), uf: v.string(), telefone: v.string(), email: v.string(), matricula: v.string(), admissaoData: v.optional(v.string()), desligamentoData: v.optional(v.string()), simboloId: v.id("simbolos"), simboloTipo: simboloTipo, }) .index("by_matricula", ["matricula"]) .index("by_nome", ["nome"]) .index("by_simboloId", ["simboloId"]) .index("by_simboloTipo", ["simboloTipo"]) .index("by_cpf", ["cpf"]) .index("by_rg", ["rg"]), atestados: defineTable({ funcionarioId: v.id("funcionarios"), dataInicio: v.string(), dataFim: v.string(), cid: v.string(), descricao: v.string(), }), ferias: defineTable({ funcionarioId: v.id("funcionarios"), dataInicio: v.string(), dataFim: v.string(), }), simbolos: defineTable({ nome: v.string(), tipo: simboloTipo, descricao: v.string(), vencValor: v.string(), repValor: v.string(), valor: v.string(), }), });