diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.svelte b/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.svelte index 079db7f..e23f206 100644 --- a/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.svelte +++ b/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.svelte @@ -1173,9 +1173,9 @@ class="btn btn-xs btn-ghost" onclick={async () => { try { - const url = await client.storage.getUrl( - atestado.documentoId as any - ); + const url = await client.query(api.atestadosLicencas.obterUrlDocumento, { + storageId: atestado.documentoId as any, + }); if (url) { window.open(url, "_blank"); } else { @@ -1240,9 +1240,9 @@ class="btn btn-xs btn-ghost" onclick={async () => { try { - const url = await client.storage.getUrl( - licenca.documentoId as any - ); + const url = await client.query(api.atestadosLicencas.obterUrlDocumento, { + storageId: licenca.documentoId as any, + }); if (url) { window.open(url, "_blank"); } else { diff --git a/packages/backend/convex/atestadosLicencas.ts b/packages/backend/convex/atestadosLicencas.ts index c326445..385aef7 100644 --- a/packages/backend/convex/atestadosLicencas.ts +++ b/packages/backend/convex/atestadosLicencas.ts @@ -740,6 +740,22 @@ export const generateUploadUrl = mutation({ }, }); +/** + * Obter URL de um documento armazenado + */ +export const obterUrlDocumento = query({ + args: { + storageId: v.id("_storage"), + }, + returns: v.union(v.string(), v.null()), + handler: async (ctx, args) => { + const usuario = await getUsuarioAutenticado(ctx); + if (!usuario) throw new Error("Não autenticado"); + + return await ctx.storage.getUrl(args.storageId); + }, +}); + /** * Criar atestado médico */