Ajustes cad func #4
@@ -10,7 +10,6 @@ export const simboloTipo = v.union(
|
|||||||
export type SimboloTipo = Infer<typeof simboloTipo>;
|
export type SimboloTipo = Infer<typeof simboloTipo>;
|
||||||
|
|
||||||
export default defineSchema({
|
export default defineSchema({
|
||||||
...tables,
|
|
||||||
todos: defineTable({
|
todos: defineTable({
|
||||||
text: v.string(),
|
text: v.string(),
|
||||||
completed: v.boolean(),
|
completed: v.boolean(),
|
||||||
@@ -32,26 +31,26 @@ export default defineSchema({
|
|||||||
desligamentoData: v.optional(v.string()),
|
desligamentoData: v.optional(v.string()),
|
||||||
simboloId: v.id("simbolos"),
|
simboloId: v.id("simbolos"),
|
||||||
simboloTipo: simboloTipo,
|
simboloTipo: simboloTipo,
|
||||||
|
|
||||||
// Dados Pessoais Adicionais (opcionais)
|
// Dados Pessoais Adicionais (opcionais)
|
||||||
nomePai: v.optional(v.string()),
|
nomePai: v.optional(v.string()),
|
||||||
nomeMae: v.optional(v.string()),
|
nomeMae: v.optional(v.string()),
|
||||||
naturalidade: v.optional(v.string()),
|
naturalidade: v.optional(v.string()),
|
||||||
naturalidadeUF: v.optional(v.string()),
|
naturalidadeUF: v.optional(v.string()),
|
||||||
sexo: v.optional(v.union(
|
sexo: v.optional(
|
||||||
v.literal("masculino"),
|
v.union(v.literal("masculino"), v.literal("feminino"), v.literal("outro"))
|
||||||
v.literal("feminino"),
|
),
|
||||||
v.literal("outro")
|
estadoCivil: v.optional(
|
||||||
)),
|
v.union(
|
||||||
estadoCivil: v.optional(v.union(
|
v.literal("solteiro"),
|
||||||
v.literal("solteiro"),
|
v.literal("casado"),
|
||||||
v.literal("casado"),
|
v.literal("divorciado"),
|
||||||
v.literal("divorciado"),
|
v.literal("viuvo"),
|
||||||
v.literal("viuvo"),
|
v.literal("uniao_estavel")
|
||||||
v.literal("uniao_estavel")
|
)
|
||||||
)),
|
),
|
||||||
nacionalidade: v.optional(v.string()),
|
nacionalidade: v.optional(v.string()),
|
||||||
|
|
||||||
// Documentos Pessoais
|
// Documentos Pessoais
|
||||||
rgOrgaoExpedidor: v.optional(v.string()),
|
rgOrgaoExpedidor: v.optional(v.string()),
|
||||||
rgDataEmissao: v.optional(v.string()),
|
rgDataEmissao: v.optional(v.string()),
|
||||||
@@ -64,29 +63,25 @@ export default defineSchema({
|
|||||||
tituloEleitorZona: v.optional(v.string()),
|
tituloEleitorZona: v.optional(v.string()),
|
||||||
tituloEleitorSecao: v.optional(v.string()),
|
tituloEleitorSecao: v.optional(v.string()),
|
||||||
pisNumero: v.optional(v.string()),
|
pisNumero: v.optional(v.string()),
|
||||||
|
|
||||||
// Formação e Saúde
|
// Formação e Saúde
|
||||||
grauInstrucao: v.optional(v.union(
|
grauInstrucao: v.optional(
|
||||||
v.literal("fundamental"),
|
v.union(
|
||||||
v.literal("medio"),
|
v.literal("fundamental"),
|
||||||
v.literal("superior"),
|
v.literal("medio"),
|
||||||
v.literal("pos_graduacao"),
|
v.literal("superior"),
|
||||||
v.literal("mestrado"),
|
v.literal("pos_graduacao"),
|
||||||
v.literal("doutorado")
|
v.literal("mestrado"),
|
||||||
)),
|
v.literal("doutorado")
|
||||||
|
)
|
||||||
|
),
|
||||||
formacao: v.optional(v.string()),
|
formacao: v.optional(v.string()),
|
||||||
formacaoRegistro: v.optional(v.string()),
|
formacaoRegistro: v.optional(v.string()),
|
||||||
grupoSanguineo: v.optional(v.union(
|
grupoSanguineo: v.optional(
|
||||||
v.literal("A"),
|
v.union(v.literal("A"), v.literal("B"), v.literal("AB"), v.literal("O"))
|
||||||
v.literal("B"),
|
),
|
||||||
v.literal("AB"),
|
fatorRH: v.optional(v.union(v.literal("positivo"), v.literal("negativo"))),
|
||||||
v.literal("O")
|
|
||||||
)),
|
|
||||||
fatorRH: v.optional(v.union(
|
|
||||||
v.literal("positivo"),
|
|
||||||
v.literal("negativo")
|
|
||||||
)),
|
|
||||||
|
|
||||||
// Cargo e Vínculo
|
// Cargo e Vínculo
|
||||||
descricaoCargo: v.optional(v.string()),
|
descricaoCargo: v.optional(v.string()),
|
||||||
nomeacaoPortaria: v.optional(v.string()),
|
nomeacaoPortaria: v.optional(v.string()),
|
||||||
@@ -94,17 +89,15 @@ export default defineSchema({
|
|||||||
nomeacaoDOE: v.optional(v.string()),
|
nomeacaoDOE: v.optional(v.string()),
|
||||||
pertenceOrgaoPublico: v.optional(v.boolean()),
|
pertenceOrgaoPublico: v.optional(v.boolean()),
|
||||||
orgaoOrigem: v.optional(v.string()),
|
orgaoOrigem: v.optional(v.string()),
|
||||||
aposentado: v.optional(v.union(
|
aposentado: v.optional(
|
||||||
v.literal("nao"),
|
v.union(v.literal("nao"), v.literal("funape_ipsep"), v.literal("inss"))
|
||||||
v.literal("funape_ipsep"),
|
),
|
||||||
v.literal("inss")
|
|
||||||
)),
|
|
||||||
|
|
||||||
// Dados Bancários
|
// Dados Bancários
|
||||||
contaBradescoNumero: v.optional(v.string()),
|
contaBradescoNumero: v.optional(v.string()),
|
||||||
contaBradescoDV: v.optional(v.string()),
|
contaBradescoDV: v.optional(v.string()),
|
||||||
contaBradescoAgencia: v.optional(v.string()),
|
contaBradescoAgencia: v.optional(v.string()),
|
||||||
|
|
||||||
// Documentos Anexos (Storage IDs)
|
// Documentos Anexos (Storage IDs)
|
||||||
certidaoAntecedentesPF: v.optional(v.id("_storage")),
|
certidaoAntecedentesPF: v.optional(v.id("_storage")),
|
||||||
certidaoAntecedentesJFPE: v.optional(v.id("_storage")),
|
certidaoAntecedentesJFPE: v.optional(v.id("_storage")),
|
||||||
@@ -129,7 +122,7 @@ export default defineSchema({
|
|||||||
comprovanteEscolaridade: v.optional(v.id("_storage")),
|
comprovanteEscolaridade: v.optional(v.id("_storage")),
|
||||||
comprovanteResidencia: v.optional(v.id("_storage")),
|
comprovanteResidencia: v.optional(v.id("_storage")),
|
||||||
comprovanteContaBradesco: v.optional(v.id("_storage")),
|
comprovanteContaBradesco: v.optional(v.id("_storage")),
|
||||||
|
|
||||||
// Declarações (Storage IDs)
|
// Declarações (Storage IDs)
|
||||||
declaracaoAcumulacaoCargo: v.optional(v.id("_storage")),
|
declaracaoAcumulacaoCargo: v.optional(v.id("_storage")),
|
||||||
declaracaoDependentesIR: v.optional(v.id("_storage")),
|
declaracaoDependentesIR: v.optional(v.id("_storage")),
|
||||||
@@ -198,19 +191,21 @@ export default defineSchema({
|
|||||||
ultimoAcesso: v.optional(v.number()),
|
ultimoAcesso: v.optional(v.number()),
|
||||||
criadoEm: v.number(),
|
criadoEm: v.number(),
|
||||||
atualizadoEm: v.number(),
|
atualizadoEm: v.number(),
|
||||||
|
|
||||||
// Campos de Chat e Perfil
|
// Campos de Chat e Perfil
|
||||||
avatar: v.optional(v.string()), // "avatar-1" até "avatar-15" ou storageId
|
avatar: v.optional(v.string()), // "avatar-1" até "avatar-15" ou storageId
|
||||||
fotoPerfil: v.optional(v.id("_storage")),
|
fotoPerfil: v.optional(v.id("_storage")),
|
||||||
setor: v.optional(v.string()),
|
setor: v.optional(v.string()),
|
||||||
statusMensagem: v.optional(v.string()), // max 100 chars
|
statusMensagem: v.optional(v.string()), // max 100 chars
|
||||||
statusPresenca: v.optional(v.union(
|
statusPresenca: v.optional(
|
||||||
v.literal("online"),
|
v.union(
|
||||||
v.literal("offline"),
|
v.literal("online"),
|
||||||
v.literal("ausente"),
|
v.literal("offline"),
|
||||||
v.literal("externo"),
|
v.literal("ausente"),
|
||||||
v.literal("em_reuniao")
|
v.literal("externo"),
|
||||||
)),
|
v.literal("em_reuniao")
|
||||||
|
)
|
||||||
|
),
|
||||||
ultimaAtividade: v.optional(v.number()), // timestamp
|
ultimaAtividade: v.optional(v.number()), // timestamp
|
||||||
notificacoesAtivadas: v.optional(v.boolean()),
|
notificacoesAtivadas: v.optional(v.boolean()),
|
||||||
somNotificacao: v.optional(v.boolean()),
|
somNotificacao: v.optional(v.boolean()),
|
||||||
@@ -309,8 +304,7 @@ export default defineSchema({
|
|||||||
chave: v.string(), // "sessao_duracao", "max_tentativas_login", etc.
|
chave: v.string(), // "sessao_duracao", "max_tentativas_login", etc.
|
||||||
valor: v.string(),
|
valor: v.string(),
|
||||||
descricao: v.string(),
|
descricao: v.string(),
|
||||||
})
|
}).index("by_chave", ["chave"]),
|
||||||
.index("by_chave", ["chave"]),
|
|
||||||
|
|
||||||
// Sistema de Chat
|
// Sistema de Chat
|
||||||
conversas: defineTable({
|
conversas: defineTable({
|
||||||
@@ -340,10 +334,14 @@ export default defineSchema({
|
|||||||
arquivoNome: v.optional(v.string()),
|
arquivoNome: v.optional(v.string()),
|
||||||
arquivoTamanho: v.optional(v.number()),
|
arquivoTamanho: v.optional(v.number()),
|
||||||
arquivoTipo: v.optional(v.string()),
|
arquivoTipo: v.optional(v.string()),
|
||||||
reagiuPor: v.optional(v.array(v.object({
|
reagiuPor: v.optional(
|
||||||
usuarioId: v.id("usuarios"),
|
v.array(
|
||||||
emoji: v.string()
|
v.object({
|
||||||
}))),
|
usuarioId: v.id("usuarios"),
|
||||||
|
emoji: v.string(),
|
||||||
|
})
|
||||||
|
)
|
||||||
|
),
|
||||||
mencoes: v.optional(v.array(v.id("usuarios"))),
|
mencoes: v.optional(v.array(v.id("usuarios"))),
|
||||||
agendadaPara: v.optional(v.number()), // timestamp
|
agendadaPara: v.optional(v.number()), // timestamp
|
||||||
enviadaEm: v.number(),
|
enviadaEm: v.number(),
|
||||||
|
|||||||
Reference in New Issue
Block a user