mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
fix: add empty success responses (#1600)
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
import { TRPCError } from '@trpc/server';
|
||||
import { DateTime } from 'luxon';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { getServerLimits } from '@documenso/ee/server-only/limits/server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
|
||||
@ -42,6 +41,7 @@ import {
|
||||
ZFindDocumentAuditLogsQuerySchema,
|
||||
ZFindDocumentsRequestSchema,
|
||||
ZFindDocumentsResponseSchema,
|
||||
ZGenericSuccessResponse,
|
||||
ZGetDocumentByIdQuerySchema,
|
||||
ZGetDocumentByTokenQuerySchema,
|
||||
ZGetDocumentWithDetailsByIdRequestSchema,
|
||||
@ -52,6 +52,7 @@ import {
|
||||
ZSearchDocumentsMutationSchema,
|
||||
ZSetPasswordForDocumentMutationSchema,
|
||||
ZSetSigningOrderForDocumentMutationSchema,
|
||||
ZSuccessResponseSchema,
|
||||
ZUpdateDocumentRequestSchema,
|
||||
ZUpdateDocumentResponseSchema,
|
||||
} from './schema';
|
||||
@ -326,7 +327,7 @@ export const documentRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteDocumentMutationSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { documentId } = input;
|
||||
@ -339,6 +340,8 @@ export const documentRouter = router({
|
||||
teamId,
|
||||
requestMetadata: ctx.metadata,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
@ -481,18 +484,20 @@ export const documentRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZResendDocumentMutationSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { documentId, recipients } = input;
|
||||
|
||||
return await resendDocument({
|
||||
await resendDocument({
|
||||
userId: ctx.user.id,
|
||||
teamId,
|
||||
documentId,
|
||||
recipients,
|
||||
requestMetadata: ctx.metadata,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
|
||||
@ -34,6 +34,19 @@ import {
|
||||
|
||||
import { ZCreateRecipientSchema } from '../recipient-router/schema';
|
||||
|
||||
/**
|
||||
* Required for empty responses since we currently can't 201 requests for our openapi setup.
|
||||
*
|
||||
* Without this it will throw an error in Speakeasy SDK when it tries to parse an empty response.
|
||||
*/
|
||||
export const ZSuccessResponseSchema = z.object({
|
||||
success: z.literal(true),
|
||||
});
|
||||
|
||||
export const ZGenericSuccessResponse = {
|
||||
success: true,
|
||||
} satisfies z.infer<typeof ZSuccessResponseSchema>;
|
||||
|
||||
export const ZDocumentTitleSchema = z
|
||||
.string()
|
||||
.trim()
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { createDocumentFields } from '@documenso/lib/server-only/field/create-document-fields';
|
||||
import { createTemplateFields } from '@documenso/lib/server-only/field/create-template-fields';
|
||||
import { deleteDocumentField } from '@documenso/lib/server-only/field/delete-document-field';
|
||||
@ -13,6 +11,7 @@ import { updateDocumentFields } from '@documenso/lib/server-only/field/update-do
|
||||
import { updateTemplateFields } from '@documenso/lib/server-only/field/update-template-fields';
|
||||
import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
|
||||
import { ZGenericSuccessResponse, ZSuccessResponseSchema } from '../document-router/schema';
|
||||
import { authenticatedProcedure, procedure, router } from '../trpc';
|
||||
import {
|
||||
ZCreateDocumentFieldRequestSchema,
|
||||
@ -200,7 +199,7 @@ export const fieldRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteDocumentFieldRequestSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { fieldId } = input;
|
||||
@ -211,6 +210,8 @@ export const fieldRouter = router({
|
||||
fieldId,
|
||||
requestMetadata: ctx.metadata,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
@ -396,7 +397,7 @@ export const fieldRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteTemplateFieldRequestSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { fieldId } = input;
|
||||
@ -406,6 +407,8 @@ export const fieldRouter = router({
|
||||
teamId,
|
||||
fieldId,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { completeDocumentWithToken } from '@documenso/lib/server-only/document/complete-document-with-token';
|
||||
import { rejectDocumentWithToken } from '@documenso/lib/server-only/document/reject-document-with-token';
|
||||
import { createDocumentRecipients } from '@documenso/lib/server-only/recipient/create-document-recipients';
|
||||
@ -13,6 +11,7 @@ import { updateDocumentRecipients } from '@documenso/lib/server-only/recipient/u
|
||||
import { updateTemplateRecipients } from '@documenso/lib/server-only/recipient/update-template-recipients';
|
||||
import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
|
||||
import { ZGenericSuccessResponse, ZSuccessResponseSchema } from '../document-router/schema';
|
||||
import { authenticatedProcedure, procedure, router } from '../trpc';
|
||||
import {
|
||||
ZCompleteDocumentWithTokenMutationSchema,
|
||||
@ -200,7 +199,7 @@ export const recipientRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteDocumentRecipientRequestSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { recipientId } = input;
|
||||
@ -211,6 +210,8 @@ export const recipientRouter = router({
|
||||
recipientId,
|
||||
requestMetadata: ctx.metadata,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
@ -391,7 +392,7 @@ export const recipientRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteTemplateRecipientRequestSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { recipientId } = input;
|
||||
@ -401,6 +402,8 @@ export const recipientRouter = router({
|
||||
userId: ctx.user.id,
|
||||
teamId,
|
||||
});
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { getServerLimits } from '@documenso/ee/server-only/limits/server';
|
||||
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
|
||||
import { getDocumentWithDetailsById } from '@documenso/lib/server-only/document/get-document-with-details-by-id';
|
||||
@ -24,6 +22,7 @@ import { toggleTemplateDirectLink } from '@documenso/lib/server-only/template/to
|
||||
import { updateTemplate } from '@documenso/lib/server-only/template/update-template';
|
||||
import type { Document } from '@documenso/prisma/client';
|
||||
|
||||
import { ZGenericSuccessResponse, ZSuccessResponseSchema } from '../document-router/schema';
|
||||
import { authenticatedProcedure, maybeAuthenticatedProcedure, router } from '../trpc';
|
||||
import {
|
||||
ZCreateDocumentFromDirectTemplateRequestSchema,
|
||||
@ -195,7 +194,7 @@ export const templateRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteTemplateMutationSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { templateId } = input;
|
||||
@ -203,6 +202,8 @@ export const templateRouter = router({
|
||||
const userId = ctx.user.id;
|
||||
|
||||
await deleteTemplate({ userId, id: templateId, teamId });
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
@ -352,7 +353,7 @@ export const templateRouter = router({
|
||||
},
|
||||
})
|
||||
.input(ZDeleteTemplateDirectLinkRequestSchema)
|
||||
.output(z.void())
|
||||
.output(ZSuccessResponseSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
const { teamId } = ctx;
|
||||
const { templateId } = input;
|
||||
@ -360,6 +361,8 @@ export const templateRouter = router({
|
||||
const userId = ctx.user.id;
|
||||
|
||||
await deleteTemplateDirectLink({ userId, teamId, templateId });
|
||||
|
||||
return ZGenericSuccessResponse;
|
||||
}),
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user