feat: add route for retrieving a single document by id
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { NextApiRequest, NextApiResponse } from 'next';
|
||||
|
||||
import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id';
|
||||
import { getDocuments } from '@documenso/lib/server-only/public-api/get-documents';
|
||||
import { contract } from '@documenso/trpc/api-contract/contract';
|
||||
import { createNextRoute, createNextRouter } from '@documenso/trpc/server/public-api/ts-rest';
|
||||
@@ -19,6 +20,14 @@ const router = createNextRoute(contract, {
|
||||
},
|
||||
};
|
||||
},
|
||||
getDocument: async (args) => {
|
||||
const document = await getDocumentById(args.params.id);
|
||||
|
||||
return {
|
||||
status: 200,
|
||||
body: document,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
const nextRouter = createNextRouter(contract, router);
|
||||
|
||||
@@ -24,14 +24,29 @@ const SuccessfulResponse = z.object({
|
||||
totalPages: z.number(),
|
||||
});
|
||||
|
||||
export const contract = c.router({
|
||||
getDocuments: {
|
||||
method: 'GET',
|
||||
path: '/documents',
|
||||
query: GetDocumentsQuery,
|
||||
responses: {
|
||||
200: SuccessfulResponse,
|
||||
export const contract = c.router(
|
||||
{
|
||||
getDocuments: {
|
||||
method: 'GET',
|
||||
path: '/documents',
|
||||
query: GetDocumentsQuery,
|
||||
responses: {
|
||||
200: SuccessfulResponse,
|
||||
},
|
||||
summary: 'Get all documents',
|
||||
},
|
||||
getDocument: {
|
||||
method: 'GET',
|
||||
path: `/documents/:id`,
|
||||
responses: {
|
||||
200: DocumentSchema,
|
||||
},
|
||||
summary: 'Get a single document',
|
||||
},
|
||||
summary: 'Get all documents for a user',
|
||||
},
|
||||
});
|
||||
{
|
||||
baseHeaders: z.object({
|
||||
authorization: z.string(),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user