diff --git a/package-lock.json b/package-lock.json index 85db8d51..1f220634 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,6 +59,7 @@ "three-custom-shader-material": "6.2.1", "three-mesh-bvh": "0.8.3", "webdav-server": "^2.6.2", + "ws": "^8.18.0", "zlibjs": "^0.3.1" } }, @@ -2104,6 +2105,27 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -4683,6 +4705,27 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -5382,9 +5425,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/package.json b/package.json index dc7367cf..7d2475ee 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "session-file-store": "^1.5.0", "sharp": "^0.33.5", "socket.io": "^4.8.1", + "ws": "^8.18.0", "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^5.0.1", "three": "0.172.0", diff --git a/services/webdav/ATON.service.webdav.js b/services/webdav/ATON.service.webdav.js index 840fbf56..47d7da83 100644 --- a/services/webdav/ATON.service.webdav.js +++ b/services/webdav/ATON.service.webdav.js @@ -41,15 +41,17 @@ for (let u in Core.users){ //privilegeManager.setRights(user, "/", [ 'canRead' ]); //privilegeManager.setRights(user, "/"+uname+"/", [ 'canRead' ]); /* - privilegeManager.setRights(user, "/"+uname+"/", [ 'canRead' ]); + //privilegeManager.setRights(user, "/"+uname+"/", [ 'all' ]); privilegeManager.setRights(user, "/"+uname+"/collection/", [ 'all' ]); privilegeManager.setRights(user, "/"+uname+"/scenes/", [ 'all' ]); -*/ +*/ + privilegeManager.setRights(user, "/"+uname+"-collection/", [ 'all' ]); privilegeManager.setRights(user, "/"+uname+"-scenes/", [ 'all' ]); if (bAdmin){ privilegeManager.setRights(user, "/apps/", [ 'all' ]); + privilegeManager.setRights(user, "/config/flares/", [ 'all' ]); } //privilegeManager.setRights(user, '/', [ 'all' ]); @@ -91,15 +93,20 @@ for (let u in Core.users){ if (fs.existsSync(upathCollection)){ server.setFileSystemSync("/"+uname+"-collection", new webdav.PhysicalFileSystem(upathCollection)); + //server.setFileSystemSync("/"+uname+"/collection", new webdav.PhysicalFileSystem(upathCollection)); } if (fs.existsSync(upathScenes)){ server.setFileSystemSync("/"+uname+"-scenes", new webdav.PhysicalFileSystem(upathScenes)); + //server.setFileSystemSync("/"+uname+"/scenes", new webdav.PhysicalFileSystem(upathScenes)); } } // Access to web-apps server.setFileSystemSync("/apps", new webdav.PhysicalFileSystem(Core.DIR_WAPPS)); +// Access to flares +server.setFileSystemSync("/flares", new webdav.PhysicalFileSystem(Core.DIR_FLARES)); + //server.setFileSystemSync('/collection', new webdav.PhysicalFileSystem(Core.DIR_COLLECTIONS)); //server.setFileSystemSync('/scenes', new webdav.PhysicalFileSystem(Core.DIR_SCENES));