feat: download document via api v2 (#1918)

adds document download functionality to the API v2, returning
pre-signed S3 URLs that provide secure, time-limited access to document
files similar to what happens in the API v1 download document endpoint.
This commit is contained in:
Ephraim Duncan
2025-08-05 02:29:21 +00:00
committed by GitHub
parent 5689cd1538
commit 9b01a2318f
5 changed files with 123 additions and 18 deletions

View File

@ -1,5 +1,4 @@
import { TRPCError } from '@trpc/server';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { createFolder } from '@documenso/lib/server-only/folder/create-folder';
import { deleteFolder } from '@documenso/lib/server-only/folder/delete-folder';
import { findFolders } from '@documenso/lib/server-only/folder/find-folders';
@ -137,8 +136,7 @@ export const folderRouter = router({
type,
});
} catch (error) {
throw new TRPCError({
code: 'NOT_FOUND',
throw new AppError(AppErrorCode.NOT_FOUND, {
message: 'Parent folder not found',
});
}
@ -248,8 +246,7 @@ export const folderRouter = router({
type: currentFolder.type,
});
} catch (error) {
throw new TRPCError({
code: 'NOT_FOUND',
throw new AppError(AppErrorCode.NOT_FOUND, {
message: 'Parent folder not found',
});
}
@ -294,8 +291,7 @@ export const folderRouter = router({
type: FolderType.DOCUMENT,
});
} catch (error) {
throw new TRPCError({
code: 'NOT_FOUND',
throw new AppError(AppErrorCode.NOT_FOUND, {
message: 'Folder not found',
});
}
@ -340,8 +336,7 @@ export const folderRouter = router({
type: FolderType.TEMPLATE,
});
} catch (error) {
throw new TRPCError({
code: 'NOT_FOUND',
throw new AppError(AppErrorCode.NOT_FOUND, {
message: 'Folder not found',
});
}