mirror of
https://github.com/documenso/documenso.git
synced 2026-07-12 14:05:20 +10:00
fd94a403af
Add deprecated flag and migration message to all 19 v1 API endpoints to signal users should migrate to the v2 API.
336 lines
11 KiB
TypeScript
336 lines
11 KiB
TypeScript
import { initContract } from '@ts-rest/core';
|
|
|
|
import {
|
|
ZCreateTemplateV2RequestSchema,
|
|
ZCreateTemplateV2ResponseSchema,
|
|
} from '@documenso/trpc/server/template-router/schema';
|
|
|
|
import {
|
|
ZAuthorizationHeadersSchema,
|
|
ZCreateDocumentFromTemplateMutationResponseSchema,
|
|
ZCreateDocumentFromTemplateMutationSchema,
|
|
ZCreateDocumentMutationResponseSchema,
|
|
ZCreateDocumentMutationSchema,
|
|
ZCreateFieldMutationSchema,
|
|
ZCreateRecipientMutationSchema,
|
|
ZDeleteDocumentMutationSchema,
|
|
ZDeleteFieldMutationSchema,
|
|
ZDeleteRecipientMutationSchema,
|
|
ZDownloadDocumentQuerySchema,
|
|
ZDownloadDocumentSuccessfulSchema,
|
|
ZGenerateDocumentFromTemplateMutationResponseSchema,
|
|
ZGenerateDocumentFromTemplateMutationSchema,
|
|
ZGetDocumentsQuerySchema,
|
|
ZGetTemplatesQuerySchema,
|
|
ZNoBodyMutationSchema,
|
|
ZResendDocumentForSigningMutationSchema,
|
|
ZSendDocumentForSigningMutationSchema,
|
|
ZSuccessfulDeleteTemplateResponseSchema,
|
|
ZSuccessfulDocumentResponseSchema,
|
|
ZSuccessfulFieldCreationResponseSchema,
|
|
ZSuccessfulFieldResponseSchema,
|
|
ZSuccessfulGetDocumentResponseSchema,
|
|
ZSuccessfulGetTemplateResponseSchema,
|
|
ZSuccessfulGetTemplatesResponseSchema,
|
|
ZSuccessfulRecipientResponseSchema,
|
|
ZSuccessfulResendDocumentResponseSchema,
|
|
ZSuccessfulResponseSchema,
|
|
ZSuccessfulSigningResponseSchema,
|
|
ZUnsuccessfulResponseSchema,
|
|
ZUpdateFieldMutationSchema,
|
|
ZUpdateRecipientMutationSchema,
|
|
} from './schema';
|
|
|
|
const c = initContract();
|
|
|
|
export const ApiContractV1 = c.router(
|
|
{
|
|
getDocuments: {
|
|
method: 'GET',
|
|
path: '/api/v1/documents',
|
|
query: ZGetDocumentsQuerySchema,
|
|
responses: {
|
|
200: ZSuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Get all documents',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
getDocument: {
|
|
method: 'GET',
|
|
path: '/api/v1/documents/:id',
|
|
responses: {
|
|
200: ZSuccessfulGetDocumentResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Get a single document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
downloadSignedDocument: {
|
|
method: 'GET',
|
|
path: '/api/v1/documents/:id/download',
|
|
query: ZDownloadDocumentQuerySchema,
|
|
responses: {
|
|
200: ZDownloadDocumentSuccessfulSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Download a signed document when the storage transport is S3',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
createDocument: {
|
|
method: 'POST',
|
|
path: '/api/v1/documents',
|
|
body: ZCreateDocumentMutationSchema,
|
|
responses: {
|
|
200: ZCreateDocumentMutationResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Upload a new document and get a presigned URL',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
createTemplate: {
|
|
method: 'POST',
|
|
path: '/api/v1/templates',
|
|
body: ZCreateTemplateV2RequestSchema,
|
|
responses: {
|
|
200: ZCreateTemplateV2ResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Create a new template and get a presigned URL',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
deleteTemplate: {
|
|
method: 'DELETE',
|
|
path: '/api/v1/templates/:id',
|
|
body: ZNoBodyMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulDeleteTemplateResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Delete a template',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
getTemplate: {
|
|
method: 'GET',
|
|
path: '/api/v1/templates/:id',
|
|
responses: {
|
|
200: ZSuccessfulGetTemplateResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Get a single template',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
getTemplates: {
|
|
method: 'GET',
|
|
path: '/api/v1/templates',
|
|
query: ZGetTemplatesQuerySchema,
|
|
responses: {
|
|
200: ZSuccessfulGetTemplatesResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Get all templates',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
createDocumentFromTemplate: {
|
|
method: 'POST',
|
|
path: '/api/v1/templates/:templateId/create-document',
|
|
body: ZCreateDocumentFromTemplateMutationSchema,
|
|
responses: {
|
|
200: ZCreateDocumentFromTemplateMutationResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Create a new document from an existing template',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
generateDocumentFromTemplate: {
|
|
method: 'POST',
|
|
path: '/api/v1/templates/:templateId/generate-document',
|
|
body: ZGenerateDocumentFromTemplateMutationSchema,
|
|
responses: {
|
|
200: ZGenerateDocumentFromTemplateMutationResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Create a new document from an existing template',
|
|
deprecated: true,
|
|
description:
|
|
'Deprecated. Please migrate to the v2 API.\n\nCreate a new document from an existing template. Passing in values for title and meta will override the original values defined in the template. If you do not pass in values for recipients, it will use the values defined in the template.',
|
|
},
|
|
|
|
sendDocument: {
|
|
method: 'POST',
|
|
path: '/api/v1/documents/:id/send',
|
|
body: ZSendDocumentForSigningMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulSigningResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Send a document for signing',
|
|
deprecated: true,
|
|
description:
|
|
'Deprecated. Please migrate to the v2 API.\n\nNotes\n\n`sendEmail` - Whether to send an email to the recipients asking them to action the document. If you disable this, you will need to manually distribute the document to the recipients using the generated signing links. Defaults to true',
|
|
},
|
|
|
|
resendDocument: {
|
|
method: 'POST',
|
|
path: '/api/v1/documents/:id/resend',
|
|
body: ZResendDocumentForSigningMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulResendDocumentResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Re-send a document for signing',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
deleteDocument: {
|
|
method: 'DELETE',
|
|
path: '/api/v1/documents/:id',
|
|
body: ZDeleteDocumentMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulDocumentResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Delete a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
createRecipient: {
|
|
method: 'POST',
|
|
path: '/api/v1/documents/:id/recipients',
|
|
body: ZCreateRecipientMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulRecipientResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Create a recipient for a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
updateRecipient: {
|
|
method: 'PATCH',
|
|
path: '/api/v1/documents/:id/recipients/:recipientId',
|
|
body: ZUpdateRecipientMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulRecipientResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Update a recipient for a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
deleteRecipient: {
|
|
method: 'DELETE',
|
|
path: '/api/v1/documents/:id/recipients/:recipientId',
|
|
body: ZDeleteRecipientMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulRecipientResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Delete a recipient from a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
createField: {
|
|
method: 'POST',
|
|
path: '/api/v1/documents/:id/fields',
|
|
body: ZCreateFieldMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulFieldCreationResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Create a field for a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
updateField: {
|
|
method: 'PATCH',
|
|
path: '/api/v1/documents/:id/fields/:fieldId',
|
|
body: ZUpdateFieldMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulFieldResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Update a field for a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
|
|
deleteField: {
|
|
method: 'DELETE',
|
|
path: '/api/v1/documents/:id/fields/:fieldId',
|
|
body: ZDeleteFieldMutationSchema,
|
|
responses: {
|
|
200: ZSuccessfulFieldResponseSchema,
|
|
400: ZUnsuccessfulResponseSchema,
|
|
401: ZUnsuccessfulResponseSchema,
|
|
404: ZUnsuccessfulResponseSchema,
|
|
500: ZUnsuccessfulResponseSchema,
|
|
},
|
|
summary: 'Delete a field from a document',
|
|
deprecated: true,
|
|
description: 'Deprecated. Please migrate to the v2 API.',
|
|
},
|
|
},
|
|
{
|
|
baseHeaders: ZAuthorizationHeadersSchema,
|
|
},
|
|
);
|