refactor: improve type safety and error handling in vacation management components
- Updated the `AprovarFerias.svelte` component to use specific types for `solicitacao` and `gestorId`, enhancing type safety. - Improved error handling by refining catch blocks to handle errors more accurately. - Made minor adjustments to ensure consistent code formatting and readability across the component.
This commit is contained in:
@@ -9,15 +9,16 @@ import {
|
||||
} from "./auth/utils";
|
||||
import { registrarLogin } from "./logsLogin";
|
||||
import { Id } from "./_generated/dataModel";
|
||||
import type { QueryCtx } from "./_generated/server";
|
||||
|
||||
/**
|
||||
* Helper para verificar se usuário está bloqueado
|
||||
*/
|
||||
async function verificarBloqueioUsuario(ctx: any, usuarioId: Id<"usuarios">) {
|
||||
async function verificarBloqueioUsuario(ctx: QueryCtx, usuarioId: Id<"usuarios">) {
|
||||
const bloqueio = await ctx.db
|
||||
.query("bloqueiosUsuarios")
|
||||
.withIndex("by_usuario", (q: any) => q.eq("usuarioId", usuarioId))
|
||||
.filter((q: any) => q.eq(q.field("ativo"), true))
|
||||
.withIndex("by_usuario", (q) => q.eq("usuarioId", usuarioId))
|
||||
.filter((q) => q.eq(q.field("ativo"), true))
|
||||
.first();
|
||||
|
||||
return bloqueio !== null;
|
||||
@@ -26,17 +27,17 @@ async function verificarBloqueioUsuario(ctx: any, usuarioId: Id<"usuarios">) {
|
||||
/**
|
||||
* Helper para verificar rate limiting por IP
|
||||
*/
|
||||
async function verificarRateLimitIP(ctx: any, ipAddress: string) {
|
||||
async function verificarRateLimitIP(ctx: QueryCtx, ipAddress: string) {
|
||||
// Últimas 15 minutos
|
||||
const dataLimite = Date.now() - 15 * 60 * 1000;
|
||||
|
||||
const tentativas = await ctx.db
|
||||
.query("logsLogin")
|
||||
.withIndex("by_ip", (q: any) => q.eq("ipAddress", ipAddress))
|
||||
.filter((q: any) => q.gte(q.field("timestamp"), dataLimite))
|
||||
.withIndex("by_ip", (q) => q.eq("ipAddress", ipAddress))
|
||||
.filter((q) => q.gte(q.field("timestamp"), dataLimite))
|
||||
.collect();
|
||||
|
||||
const falhas = tentativas.filter((t: any) => !t.sucesso).length;
|
||||
const falhas = tentativas.filter((t) => !t.sucesso).length;
|
||||
|
||||
// Bloquear se 5 ou mais tentativas falhas em 15 minutos
|
||||
return falhas >= 5;
|
||||
@@ -299,6 +300,7 @@ export const login = mutation({
|
||||
matricula: usuario.matricula,
|
||||
nome: usuario.nome,
|
||||
email: usuario.email,
|
||||
funcionarioId: usuario.funcionarioId,
|
||||
role: {
|
||||
_id: role._id,
|
||||
nome: role.nome,
|
||||
|
||||
Reference in New Issue
Block a user