feat: add UserAvatar component to display employee profile pictures in absence and vacation requests; update backend to include profile picture URLs for employees
This commit is contained in:
@@ -97,7 +97,7 @@ export const listarSolicitacoesSubordinados = query({
|
||||
.collect();
|
||||
|
||||
const solicitacoes: Array<Doc<"solicitacoesAusencias"> & {
|
||||
funcionario: Doc<"funcionarios"> | null;
|
||||
funcionario: (Doc<"funcionarios"> & { fotoPerfilUrl: string | null }) | null;
|
||||
time: Doc<"times"> | null;
|
||||
}> = [];
|
||||
|
||||
@@ -122,9 +122,25 @@ export const listarSolicitacoesSubordinados = query({
|
||||
// Adicionar info do funcionário
|
||||
for (const s of solic) {
|
||||
const funcionario = await ctx.db.get(s.funcionarioId);
|
||||
|
||||
// Buscar usuário do funcionário para obter fotoPerfilUrl
|
||||
let fotoPerfilUrl: string | null = null;
|
||||
if (funcionario) {
|
||||
const usuario = await ctx.db
|
||||
.query("usuarios")
|
||||
.withIndex("by_funcionarioId", (q) => q.eq("funcionarioId", funcionario._id))
|
||||
.first();
|
||||
if (usuario?.fotoPerfil) {
|
||||
fotoPerfilUrl = await ctx.storage.getUrl(usuario.fotoPerfil);
|
||||
}
|
||||
}
|
||||
|
||||
solicitacoes.push({
|
||||
...s,
|
||||
funcionario,
|
||||
funcionario: funcionario ? {
|
||||
...funcionario,
|
||||
fotoPerfilUrl,
|
||||
} : null,
|
||||
time,
|
||||
});
|
||||
}
|
||||
@@ -143,6 +159,19 @@ export const obterDetalhes = query({
|
||||
if (!solicitacao) return null;
|
||||
|
||||
const funcionario = await ctx.db.get(solicitacao.funcionarioId);
|
||||
|
||||
// Buscar usuário do funcionário para obter fotoPerfilUrl
|
||||
let fotoPerfilUrl: string | null = null;
|
||||
if (funcionario) {
|
||||
const usuario = await ctx.db
|
||||
.query("usuarios")
|
||||
.withIndex("by_funcionarioId", (q) => q.eq("funcionarioId", funcionario._id))
|
||||
.first();
|
||||
if (usuario?.fotoPerfil) {
|
||||
fotoPerfilUrl = await ctx.storage.getUrl(usuario.fotoPerfil);
|
||||
}
|
||||
}
|
||||
|
||||
let gestor = null;
|
||||
if (solicitacao.gestorId) {
|
||||
gestor = await ctx.db.get(solicitacao.gestorId);
|
||||
@@ -164,7 +193,10 @@ export const obterDetalhes = query({
|
||||
|
||||
return {
|
||||
...solicitacao,
|
||||
funcionario,
|
||||
funcionario: funcionario ? {
|
||||
...funcionario,
|
||||
fotoPerfilUrl,
|
||||
} : null,
|
||||
gestor,
|
||||
time,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user