chore(backend): Aanpassingen Dwengo Learning-Object-Repository

Processing uit Dwengo Learning-Object-Repository geconverteerd naar TypeScript en aangepast aan onze app.

Functionaliteit van Dwengo Learning-Object-Repository in ons project gekopiëerd en deels aanBestanden die enkel types of interfaces exporteren hernoemd naar *.d.tsgepast aan TypeScript en ons project.
This commit is contained in:
Gerald Schmittinger 2025-03-07 23:20:57 +01:00
parent ba3da01d2d
commit 463c8c9fc0
45 changed files with 1258 additions and 3747 deletions

View file

@ -0,0 +1,20 @@
/**
* Based on https://github.com/dwengovzw/Learning-Object-Repository/blob/main/app/processors/text/text_processor.js
*/
import DOMPurify from 'isomorphic-dompurify'
import Processor from "../processor.js"
import {DwengoContentType} from "../content-type.js";
class TextProcessor extends Processor<string> {
constructor() {
super(DwengoContentType.TEXT_PLAIN);
}
override renderFn(text: string) {
// Sanitize plain text to prevent xss.
return DOMPurify.sanitize(text);
}
}
export default TextProcessor;

View file

@ -1,36 +0,0 @@
import DOMPurify from 'isomorphic-dompurify'
import Processor from "../processor.ts"
import path from "path"
class TextProcessor extends Processor {
constructor() {
super();
}
/**
*
* @param {string} plain text
* @param {object} args Optional arguments
* @returns
*/
render(text, args = {}) {
// Sanitize plain text to prevent xss.
return DOMPurify.sanitize(text);
}
processFiles(files, metadata){
let inputString = "";
let file = files.find((f) => {
let ext = path.extname(f.originalname);
if (ext == ".txt") {
inputString = f.buffer.toString('utf8');
return true;
}else{
return false;
}
});
return [this.render(inputString), files]
}
}
export default TextProcessor;