feat: enhance login process with IP capture and improved error handling
- Implemented an internal mutation for login that captures the user's IP address and user agent for better security and tracking. - Enhanced the HTTP login endpoint to extract and log client IP, improving the overall authentication process. - Added validation for IP addresses to ensure only valid formats are recorded, enhancing data integrity. - Updated the login mutation to handle rate limiting and user status checks more effectively, providing clearer feedback on login attempts.
This commit is contained in:
@@ -151,11 +151,43 @@ export default defineSchema({
|
||||
|
||||
atestados: defineTable({
|
||||
funcionarioId: v.id("funcionarios"),
|
||||
tipo: v.union(
|
||||
v.literal("atestado_medico"),
|
||||
v.literal("declaracao_comparecimento")
|
||||
),
|
||||
dataInicio: v.string(),
|
||||
dataFim: v.string(),
|
||||
cid: v.string(),
|
||||
descricao: v.string(),
|
||||
}),
|
||||
cid: v.optional(v.string()), // Apenas para atestado médico
|
||||
observacoes: v.optional(v.string()),
|
||||
documentoId: v.optional(v.id("_storage")),
|
||||
criadoPor: v.id("usuarios"),
|
||||
criadoEm: v.number(),
|
||||
})
|
||||
.index("by_funcionario", ["funcionarioId"])
|
||||
.index("by_tipo", ["tipo"])
|
||||
.index("by_data_inicio", ["dataInicio"])
|
||||
.index("by_funcionario_and_tipo", ["funcionarioId", "tipo"]),
|
||||
|
||||
licencas: defineTable({
|
||||
funcionarioId: v.id("funcionarios"),
|
||||
tipo: v.union(
|
||||
v.literal("maternidade"),
|
||||
v.literal("paternidade")
|
||||
),
|
||||
dataInicio: v.string(),
|
||||
dataFim: v.string(),
|
||||
documentoId: v.optional(v.id("_storage")),
|
||||
observacoes: v.optional(v.string()),
|
||||
licencaOriginalId: v.optional(v.id("licencas")), // Para prorrogações
|
||||
ehProrrogacao: v.boolean(),
|
||||
criadoPor: v.id("usuarios"),
|
||||
criadoEm: v.number(),
|
||||
})
|
||||
.index("by_funcionario", ["funcionarioId"])
|
||||
.index("by_tipo", ["tipo"])
|
||||
.index("by_data_inicio", ["dataInicio"])
|
||||
.index("by_licenca_original", ["licencaOriginalId"])
|
||||
.index("by_funcionario_and_tipo", ["funcionarioId", "tipo"]),
|
||||
|
||||
solicitacoesFerias: defineTable({
|
||||
funcionarioId: v.id("funcionarios"),
|
||||
|
||||
Reference in New Issue
Block a user