Compare commits

...

3 Commits

Author SHA1 Message Date
Catalin Documenso
90b6ebe5f0 fix: use enum for type 2025-05-02 21:20:58 +03:00
Catalin Documenso
6e8cd8fc6a fix: update folder retrieval logic in createTemplate function 2025-05-02 20:47:27 +03:00
Catalin Documenso
928745e13b fix: fix folder retrieval for template creation 2025-05-02 20:39:41 +03:00

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,9 +45,13 @@ export const createTemplate = async ({
} }
} }
const folder = await prisma.folder.findFirstOrThrow({ let folder = null;
if (folderId) {
folder = await prisma.folder.findFirst({
where: { where: {
id: folderId, id: folderId,
type: FolderType.TEMPLATE,
...(teamId ...(teamId
? { ? {
team: { team: {
@@ -65,9 +70,10 @@ export const createTemplate = async ({
}, },
}); });
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({
data: { data: {
@@ -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,