feat: add trpc openapi (#1535)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { createElement } from 'react';
|
||||
|
||||
import { msg } from '@lingui/macro';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
|
||||
import { mailer } from '@documenso/email/mailer';
|
||||
@@ -21,6 +22,7 @@ import { prisma } from '@documenso/prisma';
|
||||
import type { Recipient } from '@documenso/prisma/client';
|
||||
import { RecipientRole } from '@documenso/prisma/client';
|
||||
import { SendStatus, SigningStatus } from '@documenso/prisma/client';
|
||||
import { RecipientSchema } from '@documenso/prisma/generated/zod';
|
||||
|
||||
import { getI18nInstance } from '../../client-only/providers/i18n.server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
@@ -39,13 +41,21 @@ export interface SetRecipientsForDocumentOptions {
|
||||
requestMetadata?: RequestMetadata;
|
||||
}
|
||||
|
||||
export const ZSetRecipientsForDocumentResponseSchema = z.object({
|
||||
recipients: RecipientSchema.array(),
|
||||
});
|
||||
|
||||
export type TSetRecipientsForDocumentResponse = z.infer<
|
||||
typeof ZSetRecipientsForDocumentResponseSchema
|
||||
>;
|
||||
|
||||
export const setRecipientsForDocument = async ({
|
||||
userId,
|
||||
teamId,
|
||||
documentId,
|
||||
recipients,
|
||||
requestMetadata,
|
||||
}: SetRecipientsForDocumentOptions): Promise<Recipient[]> => {
|
||||
}: SetRecipientsForDocumentOptions): Promise<TSetRecipientsForDocumentResponse> => {
|
||||
const document = await prisma.document.findFirst({
|
||||
where: {
|
||||
id: documentId,
|
||||
@@ -344,7 +354,9 @@ export const setRecipientsForDocument = async ({
|
||||
return !isRemoved && !isUpdated;
|
||||
});
|
||||
|
||||
return [...filteredRecipients, ...persistedRecipients];
|
||||
return {
|
||||
recipients: [...filteredRecipients, ...persistedRecipients],
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise';
|
||||
import {
|
||||
DIRECT_TEMPLATE_RECIPIENT_EMAIL,
|
||||
@@ -6,6 +8,7 @@ import {
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import type { Recipient } from '@documenso/prisma/client';
|
||||
import { RecipientRole } from '@documenso/prisma/client';
|
||||
import { RecipientSchema } from '@documenso/prisma/generated/zod';
|
||||
|
||||
import { AppError, AppErrorCode } from '../../errors/app-error';
|
||||
import {
|
||||
@@ -29,12 +32,20 @@ export type SetRecipientsForTemplateOptions = {
|
||||
}[];
|
||||
};
|
||||
|
||||
export const ZSetRecipientsForTemplateResponseSchema = z.object({
|
||||
recipients: RecipientSchema.array(),
|
||||
});
|
||||
|
||||
export type TSetRecipientsForTemplateResponse = z.infer<
|
||||
typeof ZSetRecipientsForTemplateResponseSchema
|
||||
>;
|
||||
|
||||
export const setRecipientsForTemplate = async ({
|
||||
userId,
|
||||
teamId,
|
||||
templateId,
|
||||
recipients,
|
||||
}: SetRecipientsForTemplateOptions) => {
|
||||
}: SetRecipientsForTemplateOptions): Promise<TSetRecipientsForTemplateResponse> => {
|
||||
const template = await prisma.template.findFirst({
|
||||
where: {
|
||||
id: templateId,
|
||||
@@ -220,5 +231,7 @@ export const setRecipientsForTemplate = async ({
|
||||
return !isRemoved && !isUpdated;
|
||||
});
|
||||
|
||||
return [...filteredRecipients, ...persistedRecipients];
|
||||
return {
|
||||
recipients: [...filteredRecipients, ...persistedRecipients],
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user