Fix usuarios page #6
@@ -198,7 +198,14 @@
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const resposta = await client.query(api.funcionarios.getAll, {});
|
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) {
|
} catch (error: unknown) {
|
||||||
console.error("Erro ao carregar funcionários:", error);
|
console.error("Erro ao carregar funcionários:", error);
|
||||||
funcionarios = [];
|
funcionarios = [];
|
||||||
@@ -216,7 +223,7 @@
|
|||||||
|
|
||||||
const funcionariosFiltrados = $derived.by(() => {
|
const funcionariosFiltrados = $derived.by(() => {
|
||||||
if (!buscaFuncionario) {
|
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();
|
const buscaNormalizada = buscaFuncionario.toLowerCase();
|
||||||
|
|||||||
@@ -107,12 +107,10 @@ export const login = mutation({
|
|||||||
.withIndex("by_email", (q) => q.eq("email", args.matriculaOuEmail))
|
.withIndex("by_email", (q) => q.eq("email", args.matriculaOuEmail))
|
||||||
.first();
|
.first();
|
||||||
} else {
|
} else {
|
||||||
usuario = await ctx.db
|
funcionario = await ctx.db.query("funcionarios").withIndex("by_matricula", (q) => q.eq("matricula", args.matriculaOuEmail)).first();
|
||||||
.query("usuarios")
|
if (funcionario) {
|
||||||
.withIndex("by_matricula", (q) =>
|
usuario = await ctx.db.get(funcionario.usuarioId);
|
||||||
q.eq("matricula", args.matriculaOuEmail)
|
}
|
||||||
)
|
|
||||||
.first();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!usuario) {
|
if (!usuario) {
|
||||||
|
|||||||
@@ -6,16 +6,6 @@ import { query } from "./_generated/server";
|
|||||||
*/
|
*/
|
||||||
export const listar = query({
|
export const listar = query({
|
||||||
args: {},
|
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) => {
|
handler: async (ctx) => {
|
||||||
return await ctx.db.query("roles").collect();
|
return await ctx.db.query("roles").collect();
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user