Files
outline/server/commands/revisionCreator.ts
Tom Moor 91d8d27f2d feat: Render diffs in email notifications (#4164)
* deps

* diffCompact

* Diffs in email

* test

* fix: Fade deleted images
fix: Don't include empty paragraphs as context
fix: Allow for same image multiple times and refactor

* Remove target _blank

* fix: Table heading incorrect color
2022-09-24 14:29:11 -07:00

35 lines
799 B
TypeScript

import { sequelize } from "@server/database/sequelize";
import { Document, User, Event, Revision } from "@server/models";
export default async function revisionCreator({
document,
user,
ip,
}: {
document: Document;
user: User;
ip?: string;
}) {
return sequelize.transaction(async (transaction) => {
const revision = await Revision.createFromDocument(document, {
transaction,
});
await Event.create(
{
name: "revisions.create",
documentId: document.id,
collectionId: document.collectionId,
modelId: revision.id,
teamId: document.teamId,
actorId: user.id,
createdAt: document.updatedAt,
ip: ip || user.lastActiveIp,
},
{
transaction,
}
);
return revision;
});
}