mirror of
https://github.com/documenso/documenso.git
synced 2025-11-18 02:32:00 +10:00
feat: wip
This commit is contained in:
38
packages/lib/server-only/template/create-template.ts
Normal file
38
packages/lib/server-only/template/create-template.ts
Normal file
@ -0,0 +1,38 @@
|
||||
'use server';
|
||||
|
||||
import { nanoid } from 'nanoid';
|
||||
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { DocumentContent } from '@documenso/prisma/client';
|
||||
|
||||
type CreateTemplateInput = {
|
||||
name: string;
|
||||
description: string;
|
||||
document: DocumentContent;
|
||||
userId: number;
|
||||
};
|
||||
|
||||
export const createTemplate = async ({
|
||||
name,
|
||||
description,
|
||||
document,
|
||||
userId,
|
||||
}: CreateTemplateInput) => {
|
||||
const createTemplateDocument = await prisma.documentContent.create({
|
||||
data: {
|
||||
content: document.content,
|
||||
name: document.name,
|
||||
},
|
||||
});
|
||||
|
||||
const createdTemplate = await prisma.template.create({
|
||||
data: {
|
||||
name,
|
||||
slug: nanoid(10),
|
||||
description,
|
||||
ownerId: userId,
|
||||
documentId: createTemplateDocument.id,
|
||||
},
|
||||
});
|
||||
return createdTemplate;
|
||||
};
|
||||
Reference in New Issue
Block a user