mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 15:53:02 +10:00
Adds document access tokens and QR code functionality to enable secure document sharing via URLs. It includes a new document access page that allows viewing and downloading documents through tokenized links.
39 lines
740 B
TypeScript
39 lines
740 B
TypeScript
import { prisma } from '@documenso/prisma';
|
|
|
|
export type GetDocumentByAccessTokenOptions = {
|
|
token: string;
|
|
};
|
|
|
|
export const getDocumentByAccessToken = async ({ token }: GetDocumentByAccessTokenOptions) => {
|
|
if (!token) {
|
|
throw new Error('Missing token');
|
|
}
|
|
|
|
const result = await prisma.document.findFirstOrThrow({
|
|
where: {
|
|
qrToken: token,
|
|
},
|
|
select: {
|
|
id: true,
|
|
title: true,
|
|
completedAt: true,
|
|
documentData: {
|
|
select: {
|
|
id: true,
|
|
type: true,
|
|
data: true,
|
|
initialData: true,
|
|
},
|
|
},
|
|
documentMeta: {
|
|
select: {
|
|
password: true,
|
|
},
|
|
},
|
|
recipients: true,
|
|
},
|
|
});
|
|
|
|
return result;
|
|
};
|