feat: Introduce structured table definitions in convex/tables for various entities and remove the todos example table.
This commit is contained in:
36
packages/backend/convex/tables/ausencias.ts
Normal file
36
packages/backend/convex/tables/ausencias.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { defineTable } from 'convex/server';
|
||||
import { v } from 'convex/values';
|
||||
|
||||
export const ausenciasTables = {
|
||||
// Solicitações de Ausências
|
||||
solicitacoesAusencias: defineTable({
|
||||
funcionarioId: v.id('funcionarios'),
|
||||
dataInicio: v.string(),
|
||||
dataFim: v.string(),
|
||||
motivo: v.string(),
|
||||
status: v.union(
|
||||
v.literal('aguardando_aprovacao'),
|
||||
v.literal('aprovado'),
|
||||
v.literal('reprovado')
|
||||
),
|
||||
gestorId: v.optional(v.id('usuarios')),
|
||||
dataAprovacao: v.optional(v.number()),
|
||||
dataReprovacao: v.optional(v.number()),
|
||||
motivoReprovacao: v.optional(v.string()),
|
||||
observacao: v.optional(v.string()),
|
||||
criadoEm: v.number()
|
||||
})
|
||||
.index('by_funcionario', ['funcionarioId'])
|
||||
.index('by_status', ['status'])
|
||||
.index('by_funcionario_and_status', ['funcionarioId', 'status']),
|
||||
|
||||
notificacoesAusencias: defineTable({
|
||||
destinatarioId: v.id('usuarios'),
|
||||
solicitacaoAusenciaId: v.id('solicitacoesAusencias'),
|
||||
tipo: v.union(v.literal('nova_solicitacao'), v.literal('aprovado'), v.literal('reprovado')),
|
||||
lida: v.boolean(),
|
||||
mensagem: v.string()
|
||||
})
|
||||
.index('by_destinatario', ['destinatarioId'])
|
||||
.index('by_destinatario_and_lida', ['destinatarioId', 'lida'])
|
||||
};
|
||||
Reference in New Issue
Block a user