feat: Introduce structured table definitions in convex/tables for various entities and remove the todos example table.
This commit is contained in:
55
packages/backend/convex/tables/ferias.ts
Normal file
55
packages/backend/convex/tables/ferias.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { defineTable } from 'convex/server';
|
||||
import { v } from 'convex/values';
|
||||
|
||||
export const feriasTables = {
|
||||
ferias: defineTable({
|
||||
funcionarioId: v.id('funcionarios'),
|
||||
anoReferencia: v.number(),
|
||||
dataInicio: v.string(),
|
||||
dataFim: v.string(),
|
||||
diasFerias: v.number(),
|
||||
status: v.union(
|
||||
v.literal('aguardando_aprovacao'),
|
||||
v.literal('aprovado'),
|
||||
v.literal('reprovado'),
|
||||
v.literal('data_ajustada_aprovada'),
|
||||
v.literal('EmFérias'),
|
||||
v.literal('Cancelado_RH')
|
||||
),
|
||||
gestorId: v.optional(v.id('usuarios')),
|
||||
observacao: v.optional(v.string()),
|
||||
motivoReprovacao: v.optional(v.string()),
|
||||
dataAprovacao: v.optional(v.number()),
|
||||
dataReprovacao: v.optional(v.number()),
|
||||
diasAbono: v.number(),
|
||||
historicoAlteracoes: v.optional(
|
||||
v.array(
|
||||
v.object({
|
||||
data: v.number(),
|
||||
usuarioId: v.id('usuarios'),
|
||||
acao: v.string()
|
||||
})
|
||||
)
|
||||
)
|
||||
})
|
||||
.index('by_funcionario', ['funcionarioId'])
|
||||
.index('by_funcionario_and_ano', ['funcionarioId', 'anoReferencia'])
|
||||
.index('by_funcionario_and_status', ['funcionarioId', 'status'])
|
||||
.index('by_status', ['status'])
|
||||
.index('by_ano', ['anoReferencia']),
|
||||
|
||||
notificacoesFerias: defineTable({
|
||||
destinatarioId: v.id('usuarios'),
|
||||
feriasId: v.id('ferias'),
|
||||
tipo: v.union(
|
||||
v.literal('nova_solicitacao'),
|
||||
v.literal('aprovado'),
|
||||
v.literal('reprovado'),
|
||||
v.literal('data_ajustada')
|
||||
),
|
||||
lida: v.boolean(),
|
||||
mensagem: v.string()
|
||||
})
|
||||
.index('by_destinatario', ['destinatarioId'])
|
||||
.index('by_destinatario_and_lida', ['destinatarioId', 'lida'])
|
||||
};
|
||||
Reference in New Issue
Block a user