Fix usuarios page #6
@@ -198,7 +198,14 @@
|
||||
|
||||
try {
|
||||
const resposta = await client.query(api.funcionarios.getAll, {});
|
||||
funcionarios = resposta;
|
||||
// Suportar ambos formatos (array direto ou objeto com .data), dependendo do hook/cliente
|
||||
const lista = Array.isArray(resposta)
|
||||
? resposta
|
||||
: (resposta && typeof resposta === "object" && Array.isArray((resposta as { data?: unknown }).data)
|
||||
? ((resposta as { data: unknown[] }).data)
|
||||
: []);
|
||||
|
||||
funcionarios = lista as Funcionario[];
|
||||
} catch (error: unknown) {
|
||||
console.error("Erro ao carregar funcionários:", error);
|
||||
funcionarios = [];
|
||||
@@ -216,7 +223,7 @@
|
||||
|
||||
const funcionariosFiltrados = $derived.by(() => {
|
||||
if (!buscaFuncionario) {
|
||||
return funcionarios.sort((a, b) => a.nome.localeCompare(b.nome));
|
||||
return [...funcionarios].sort((a, b) => a.nome.localeCompare(b.nome));
|
||||
}
|
||||
|
||||
const buscaNormalizada = buscaFuncionario.toLowerCase();
|
||||
|
||||
@@ -107,12 +107,10 @@ export const login = mutation({
|
||||
.withIndex("by_email", (q) => q.eq("email", args.matriculaOuEmail))
|
||||
.first();
|
||||
} else {
|
||||
usuario = await ctx.db
|
||||
.query("usuarios")
|
||||
.withIndex("by_matricula", (q) =>
|
||||
q.eq("matricula", args.matriculaOuEmail)
|
||||
)
|
||||
.first();
|
||||
funcionario = await ctx.db.query("funcionarios").withIndex("by_matricula", (q) => q.eq("matricula", args.matriculaOuEmail)).first();
|
||||
if (funcionario) {
|
||||
usuario = await ctx.db.get(funcionario.usuarioId);
|
||||
}
|
||||
}
|
||||
|
||||
if (!usuario) {
|
||||
|
||||
@@ -6,16 +6,6 @@ import { query } from "./_generated/server";
|
||||
*/
|
||||
export const listar = query({
|
||||
args: {},
|
||||
returns: v.array(
|
||||
v.object({
|
||||
_id: v.id("roles"),
|
||||
_creationTime: v.number(),
|
||||
nome: v.string(),
|
||||
descricao: v.string(),
|
||||
nivel: v.number(),
|
||||
setor: v.optional(v.string()),
|
||||
})
|
||||
),
|
||||
handler: async (ctx) => {
|
||||
return await ctx.db.query("roles").collect();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user