feat: Add 'atas' (minutes/records) management feature, and implement various improvements across UI, backend logic, and authentication.

This commit is contained in:
2025-12-02 16:37:48 -03:00
parent 05e7f1181d
commit 4bd9e21748
265 changed files with 29156 additions and 26460 deletions

View File

@@ -1,15 +1,14 @@
import { RateLimiter, SECOND } from '@convex-dev/rate-limiter';
import { v } from 'convex/values';
import { internalMutation, mutation, query } from './_generated/server';
import { internal } from './_generated/api';
import { components, internal } from './_generated/api';
import type { Id } from './_generated/dataModel';
import type { MutationCtx, QueryCtx } from './_generated/server';
import { internalMutation, mutation, query } from './_generated/server';
import type {
AtaqueCiberneticoTipo,
SeveridadeSeguranca,
StatusEventoSeguranca
} from './tables/security';
import type { MutationCtx, QueryCtx } from './_generated/server';
import { RateLimiter, SECOND } from '@convex-dev/rate-limiter';
import { components } from './_generated/api';
type Indicador = {
tipo: string;
@@ -1675,7 +1674,12 @@ async function aplicarRateLimit(
}
} as Record<
string,
{ kind: 'token bucket' | 'fixed window'; rate: number; period: number; capacity?: number }
{
kind: 'token bucket' | 'fixed window';
rate: number;
period: number;
capacity?: number;
}
>;
const rateLimiter = new RateLimiter(components.rateLimiter, rateLimiterConfig);
@@ -2142,7 +2146,10 @@ export const criarEventosTeste = mutation({
const agora = Date.now();
// Tipos de ataque para teste
const tiposAtaque: Array<{ tipo: AtaqueCiberneticoTipo; severidade: SeveridadeSeguranca }> = [
const tiposAtaque: Array<{
tipo: AtaqueCiberneticoTipo;
severidade: SeveridadeSeguranca;
}> = [
{ tipo: 'sql_injection', severidade: 'alto' },
{ tipo: 'xss', severidade: 'moderado' },
{ tipo: 'brute_force', severidade: 'alto' },