47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import { defineSchema, defineTable } from "convex/server";
|
|
import { Infer, v } from "convex/values";
|
|
import { tables } from "./betterAuth/schema";
|
|
|
|
export const simboloTipo = v.union(
|
|
v.literal("cargo_comissionado"),
|
|
v.literal("funcao_gratificada")
|
|
);
|
|
export type SimboloTipo = Infer<typeof simboloTipo>;
|
|
|
|
export default defineSchema({
|
|
...tables,
|
|
todos: defineTable({
|
|
text: v.string(),
|
|
completed: v.boolean(),
|
|
}),
|
|
funcionarios: defineTable({
|
|
nome: v.string(),
|
|
nascimento: v.optional(v.string()),
|
|
rg: v.optional(v.string()),
|
|
cpf: v.optional(v.string()),
|
|
endereco: v.optional(v.string()),
|
|
cep: v.optional(v.string()),
|
|
cidade: v.optional(v.string()),
|
|
uf: v.optional(v.string()),
|
|
telefone: v.optional(v.string()),
|
|
email: v.optional(v.string()),
|
|
matricula: v.string(),
|
|
vencimento: v.optional(v.string()),
|
|
admissao: v.optional(v.string()),
|
|
desligamento: v.optional(v.string()),
|
|
ferias: v.optional(v.string()),
|
|
simboloId: v.id("simbolos"),
|
|
})
|
|
.index("by_matricula", ["matricula"])
|
|
.index("by_nome", ["nome"]),
|
|
|
|
simbolos: defineTable({
|
|
nome: v.string(),
|
|
tipo: simboloTipo,
|
|
descricao: v.string(),
|
|
vencValor: v.string(),
|
|
repValor: v.string(),
|
|
valor: v.string(),
|
|
}),
|
|
});
|