Compare commits

...

3 Commits

View File

@ -1,6 +1,7 @@
import type { z } from 'zod'; import type { z } from 'zod';
import { prisma } from '@documenso/prisma'; import { prisma } from '@documenso/prisma';
import { FolderType } from '@documenso/prisma/generated/types';
import { TemplateSchema } from '@documenso/prisma/generated/zod/modelSchema//TemplateSchema'; import { TemplateSchema } from '@documenso/prisma/generated/zod/modelSchema//TemplateSchema';
import type { TCreateTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema'; import type { TCreateTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema';
@ -44,29 +45,34 @@ export const createTemplate = async ({
} }
} }
const folder = await prisma.folder.findFirstOrThrow({ let folder = null;
where: {
id: folderId, if (folderId) {
...(teamId folder = await prisma.folder.findFirst({
? { where: {
team: { id: folderId,
id: teamId, type: FolderType.TEMPLATE,
members: { ...(teamId
some: { ? {
userId, team: {
id: teamId,
members: {
some: {
userId,
},
}, },
}, },
}, }
} : {
: { userId,
userId, teamId: null,
teamId: null, }),
}), },
}, });
});
if (!team) { if (!folder) {
throw new AppError(AppErrorCode.NOT_FOUND); throw new AppError(AppErrorCode.NOT_FOUND);
}
} }
return await prisma.template.create({ return await prisma.template.create({
@ -75,7 +81,7 @@ export const createTemplate = async ({
userId, userId,
templateDocumentDataId, templateDocumentDataId,
teamId, teamId,
folderId: folder.id, folderId: folder?.id,
templateMeta: { templateMeta: {
create: { create: {
language: team?.teamGlobalSettings?.documentLanguage, language: team?.teamGlobalSettings?.documentLanguage,