feat: migrate templates and documents to envelope model

This commit is contained in:
David Nguyen
2025-09-11 18:23:38 +10:00
parent eec2307634
commit bf89bc781b
234 changed files with 8677 additions and 6054 deletions

View File

@ -1,8 +1,11 @@
import fs from 'node:fs';
import path from 'node:path';
import { incrementDocumentId } from '@documenso/lib/server-only/envelope/increment-id';
import { prefixedId } from '@documenso/lib/universal/id';
import { prisma } from '..';
import { DocumentDataType, DocumentSource } from '../client';
import { DocumentDataType, DocumentSource, EnvelopeType } from '../client';
import { seedPendingDocument } from './documents';
import { seedDirectTemplate, seedTemplate } from './templates';
import { seedUser } from './users';
@ -52,11 +55,27 @@ export const seedDatabase = async () => {
for (let i = 1; i <= 4; i++) {
const documentData = await createDocumentData({ documentData: examplePdf });
await prisma.document.create({
const documentId = await incrementDocumentId();
const documentMeta = await prisma.documentMeta.create({
data: {},
});
await prisma.envelope.create({
data: {
id: prefixedId('envelope'),
secondaryId: documentId.formattedDocumentId,
type: EnvelopeType.DOCUMENT,
documentMetaId: documentMeta.id,
source: DocumentSource.DOCUMENT,
title: `Example Document ${i}`,
documentDataId: documentData.id,
envelopeItems: {
create: {
id: prefixedId('envelope_item'),
title: `Example Document ${i}`,
documentDataId: documentData.id,
},
},
userId: exampleUser.user.id,
teamId: exampleUser.team.id,
recipients: {
@ -73,11 +92,27 @@ export const seedDatabase = async () => {
for (let i = 1; i <= 4; i++) {
const documentData = await createDocumentData({ documentData: examplePdf });
await prisma.document.create({
const documentId = await incrementDocumentId();
const documentMeta = await prisma.documentMeta.create({
data: {},
});
await prisma.envelope.create({
data: {
id: prefixedId('envelope'),
secondaryId: documentId.formattedDocumentId,
type: EnvelopeType.DOCUMENT,
source: DocumentSource.DOCUMENT,
title: `Document ${i}`,
documentDataId: documentData.id,
documentMetaId: documentMeta.id,
envelopeItems: {
create: {
id: prefixedId('envelope_item'),
title: `Document ${i}`,
documentDataId: documentData.id,
},
},
userId: adminUser.user.id,
teamId: adminUser.team.id,
recipients: {