Files
outline/server/queues/tasks/DocumentUpdateTextTask.ts
T
Tom Moor 3f3a70d996 feat: Adjust line-height depending on script (#10565)
* migration

* Auto detect language and adjust line-height accordingly

* Remove accidental commit

* Remove unneccessary adjustment

* test

* mock
2025-11-08 11:47:51 -05:00

26 lines
873 B
TypeScript

import { franc } from "franc";
import { iso6393To1 } from "iso-639-3";
import { Node } from "prosemirror-model";
import { schema, serializer } from "@server/editor";
import { Document } from "@server/models";
import { DocumentEvent } from "@server/types";
import { DocumentHelper } from "@server/models/helpers/DocumentHelper";
import BaseTask from "./BaseTask";
export default class DocumentUpdateTextTask extends BaseTask<DocumentEvent> {
public async perform(event: DocumentEvent) {
const document = await Document.findByPk(event.documentId);
if (!document?.content) {
return;
}
const node = Node.fromJSON(schema, document.content);
document.text = serializer.serialize(node);
const language = franc(DocumentHelper.toPlainText(document));
document.language = iso6393To1[language];
await document.save({ silent: true });
}
}