@@ -4,10 +4,13 @@ const sharp = require('sharp');
44const { broadCastNewSolve } = require ( './../controllers/Sockets.js' )
55const sanitizeFile = require ( 'sanitize-filename' ) ;
66const { checkUsernamePerms } = require ( './../utils/permissionUtils.js' )
7- const DomPurify = require ( 'dompurify' )
7+ const createDOMPurify = require ( 'dompurify' ) ;
88const path = require ( 'path' ) ;
9- const fs = require ( 'fs' )
9+ const fs = require ( 'fs' ) ;
10+ const { JSDOM } = require ( 'jsdom' ) ;
1011
12+ const window = new JSDOM ( '' ) . window ;
13+ const DOMPurify = createDOMPurify ( window ) ;
1114
1215const disableStates = async ( req , res ) => {
1316 if ( req . locals . perms < 2 ) throw new Error ( 'Permissions' ) ;
@@ -659,7 +662,7 @@ const newChall = async (req, res) => {
659662 let doc = {
660663 name : req . body . name ,
661664 category : req . body . category . trim ( ) ,
662- description : req . locals . perms <= 1 ? DomPurify . sanitize ( req . body . description ) : req . body . description ,
665+ description : req . locals . perms <= 1 ? DOMPurify . sanitize ( req . body . description ) : req . body . description ,
663666 points : req . body . dynamic ? req . body . initial : parseInt ( req . body . points ) ,
664667 flags : req . body . flags ,
665668
@@ -712,6 +715,7 @@ const newChall = async (req, res) => {
712715 res . send ( { success : true } ) ;
713716 }
714717 catch ( err ) {
718+ console . log ( err )
715719 if ( err . name == 'MongoServerError' ) {
716720 switch ( err . code ) {
717721 case 11000 :
0 commit comments