diff --git a/packages/lib/server-only/template/create-template.ts b/packages/lib/server-only/template/create-template.ts index d2725eb41..ce12ceaa9 100644 --- a/packages/lib/server-only/template/create-template.ts +++ b/packages/lib/server-only/template/create-template.ts @@ -44,29 +44,34 @@ export const createTemplate = async ({ } } - const folder = await prisma.folder.findFirstOrThrow({ - where: { - id: folderId, - ...(teamId - ? { - team: { - id: teamId, - members: { - some: { - userId, + let folder = null; + + if (folderId) { + folder = await prisma.folder.findFirstOrThrow({ + where: { + id: folderId, + type: 'TEMPLATE', + ...(teamId + ? { + team: { + id: teamId, + members: { + some: { + userId, + }, }, }, - }, - } - : { - userId, - teamId: null, - }), - }, - }); + } + : { + userId, + teamId: null, + }), + }, + }); - if (!team) { - throw new AppError(AppErrorCode.NOT_FOUND); + if (!folder) { + throw new AppError(AppErrorCode.NOT_FOUND); + } } return await prisma.template.create({ @@ -75,7 +80,7 @@ export const createTemplate = async ({ userId, templateDocumentDataId, teamId, - folderId: folder.id, + folderId: folder?.id, templateMeta: { create: { language: team?.teamGlobalSettings?.documentLanguage,