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,7 +1,7 @@
import { v } from 'convex/values';
import type { Id } from './_generated/dataModel';
import { mutation, query } from './_generated/server';
import { getCurrentUserFunction } from './auth';
import type { Id } from './_generated/dataModel';
/**
* Valida formato de horário HH:mm
@@ -36,7 +36,7 @@ export const obterConfiguracao = query({
nomeSaida: 'Saída 2',
validarLocalizacao: true,
toleranciaDistanciaMetros: 100,
ativo: false,
ativo: false
};
}
@@ -48,9 +48,9 @@ export const obterConfiguracao = query({
nomeRetornoAlmoco: config.nomeRetornoAlmoco || 'Entrada 2',
nomeSaida: config.nomeSaida || 'Saída 2',
validarLocalizacao: config.validarLocalizacao ?? true,
toleranciaDistanciaMetros: config.toleranciaDistanciaMetros ?? 100,
toleranciaDistanciaMetros: config.toleranciaDistanciaMetros ?? 100
};
},
}
});
/**
@@ -68,7 +68,7 @@ export const salvarConfiguracao = mutation({
nomeRetornoAlmoco: v.optional(v.string()),
nomeSaida: v.optional(v.string()),
validarLocalizacao: v.optional(v.boolean()),
toleranciaDistanciaMetros: v.optional(v.number()),
toleranciaDistanciaMetros: v.optional(v.number())
},
handler: async (ctx, args) => {
const usuario = await getCurrentUserFunction(ctx);
@@ -101,7 +101,9 @@ export const salvarConfiguracao = mutation({
// Validar sequência lógica de horários
const [horaEntrada, minutoEntrada] = args.horarioEntrada.split(':').map(Number);
const [horaSaidaAlmoco, minutoSaidaAlmoco] = args.horarioSaidaAlmoco.split(':').map(Number);
const [horaRetornoAlmoco, minutoRetornoAlmoco] = args.horarioRetornoAlmoco.split(':').map(Number);
const [horaRetornoAlmoco, minutoRetornoAlmoco] = args.horarioRetornoAlmoco
.split(':')
.map(Number);
const [horaSaida, minutoSaida] = args.horarioSaida.split(':').map(Number);
const minutosEntrada = horaEntrada * 60 + minutoEntrada;
@@ -151,10 +153,9 @@ export const salvarConfiguracao = mutation({
toleranciaDistanciaMetros: args.toleranciaDistanciaMetros ?? 100,
ativo: true,
atualizadoPor: usuario._id as Id<'usuarios'>,
atualizadoEm: Date.now(),
atualizadoEm: Date.now()
});
return { configId };
},
}
});