feat: Introduce structured table definitions in convex/tables for various entities and remove the todos example table.
This commit is contained in:
37
packages/backend/convex/tables/contratos.ts
Normal file
37
packages/backend/convex/tables/contratos.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { defineTable } from 'convex/server';
|
||||
import { v } from 'convex/values';
|
||||
|
||||
export const situacaoContrato = v.union(
|
||||
v.literal('em_execucao'),
|
||||
v.literal('rescendido'),
|
||||
v.literal('aguardando_assinatura'),
|
||||
v.literal('finalizado')
|
||||
);
|
||||
|
||||
export const contratosTables = {
|
||||
contratos: defineTable({
|
||||
contratadaId: v.id('empresas'),
|
||||
objeto: v.string(),
|
||||
numeroNotaEmpenho: v.string(),
|
||||
responsavelId: v.id('funcionarios'),
|
||||
departamento: v.string(),
|
||||
situacao: situacaoContrato,
|
||||
numeroProcessoLicitatorio: v.string(),
|
||||
modalidade: v.string(),
|
||||
numeroContrato: v.string(),
|
||||
anoContrato: v.number(),
|
||||
dataInicioVigencia: v.string(),
|
||||
dataFimVigencia: v.string(),
|
||||
nomeFiscal: v.string(),
|
||||
valorTotal: v.string(),
|
||||
dataAditivoPrazo: v.optional(v.string()),
|
||||
diasAvisoVencimento: v.number(),
|
||||
criadoPor: v.id('usuarios'),
|
||||
criadoEm: v.number(),
|
||||
atualizadoEm: v.optional(v.number())
|
||||
})
|
||||
.index('by_responsavel', ['responsavelId'])
|
||||
.index('by_situacao', ['situacao'])
|
||||
.index('by_vigencia_inicio', ['dataInicioVigencia'])
|
||||
.index('by_vigencia_fim', ['dataFimVigencia'])
|
||||
};
|
||||
Reference in New Issue
Block a user