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,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,