-
- {periodo.funcionario?.nome || 'Funcionário'}
-
-
- Ano de Referência: {periodo.anoReferencia}
-
+
+
+
+
+ {periodo.funcionario?.nome || 'Funcionário'}
+
+
+ Ano de Referência: {periodo.anoReferencia}
+
+
{getStatusTexto(periodo.status)}
diff --git a/packages/backend/convex/ausencias.ts b/packages/backend/convex/ausencias.ts
index 89078d2..e118ab5 100644
--- a/packages/backend/convex/ausencias.ts
+++ b/packages/backend/convex/ausencias.ts
@@ -97,7 +97,7 @@ export const listarSolicitacoesSubordinados = query({
.collect();
const solicitacoes: Array & {
- 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,
};
diff --git a/packages/backend/convex/ferias.ts b/packages/backend/convex/ferias.ts
index 747fa31..4fc6d6c 100644
--- a/packages/backend/convex/ferias.ts
+++ b/packages/backend/convex/ferias.ts
@@ -213,6 +213,18 @@ export const listarSolicitacoesSubordinados = query({
todasFerias.map(async (ferias) => {
const funcionario = await ctx.db.get(ferias.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);
+ }
+ }
+
// Buscar time do funcionário
const membroTime = await ctx.db
.query("timesMembros")
@@ -229,7 +241,10 @@ export const listarSolicitacoesSubordinados = query({
return {
...ferias,
- funcionario,
+ funcionario: funcionario ? {
+ ...funcionario,
+ fotoPerfilUrl,
+ } : null,
time,
};
})
@@ -250,6 +265,19 @@ export const obterDetalhes = query({
if (!ferias) return null;
const funcionario = await ctx.db.get(ferias.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 (ferias.gestorId) {
gestor = await ctx.db.get(ferias.gestorId);
@@ -271,7 +299,10 @@ export const obterDetalhes = query({
return {
...ferias,
- funcionario,
+ funcionario: funcionario ? {
+ ...funcionario,
+ fotoPerfilUrl,
+ } : null,
gestor,
time,
};