diff --git a/index.js b/index.js index 18b331ad9..526fda29c 100644 --- a/index.js +++ b/index.js @@ -4,12 +4,6 @@ const fork = require('child_process').fork; const path = require('path'); const argv = require('process').argv; -// const mdb = require('./persistence/MongoDBWrapper.js'); -const fsProm = require('./persistence/FileSystemWrapper.js'); - -const {synchronize} = require('./persistence/walkers.js'); -const {objectsPath} = require('./config.js'); - const program = path.resolve('server.js'); const options = { stdio: ['inherit', 'inherit', 'inherit', 'ipc'] @@ -18,7 +12,6 @@ const options = { let child = null; async function startNewChild() { - // await synchronize(mdb, fsProm, objectsPath); child = fork(program, argv, options); child.on('message', onChildMessage); child.on('exit', onChildCrash); diff --git a/package-lock.json b/package-lock.json index 3b74b6173..81b621675 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "ml-matrix": "^6.11.0", "module-alias": "^2.2.3", "monaco-editor": "^0.45.0", - "mongodb": "^6.1.0", "network-interfaces": "^1.1.0", "node-fetch": "^2.7.0", "node-persist": "^2.1.0", @@ -1749,14 +1748,6 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", - "dependencies": { - "sparse-bitfield": "^3.0.3" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1978,20 +1969,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz", - "integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg==" - }, - "node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, "node_modules/@types/yargs": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", @@ -2605,14 +2582,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/bson": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.1.0.tgz", - "integrity": "sha512-yiQ3KxvpVoRpx1oD1uPz4Jit9tAVTJgjdmjDKtUErkOoL9VNoF8Dd58qtAOL5E40exx2jvAT9sqdRSK/r+SHlA==", - "engines": { - "node": ">=16.20.1" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -6061,11 +6030,6 @@ "node": ">= 0.6" } }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" - }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -6249,91 +6213,6 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz", "integrity": "sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==" }, - "node_modules/mongodb": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.1.0.tgz", - "integrity": "sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==", - "dependencies": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^6.1.0", - "mongodb-connection-string-url": "^2.6.0" - }, - "engines": { - "node": ">=16.20.1" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.1.0", - "gcp-metadata": "^5.2.0", - "kerberos": "^2.0.1", - "mongodb-client-encryption": ">=6.0.0 <7", - "snappy": "^7.2.2", - "socks": "^2.7.1" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "gcp-metadata": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - }, - "socks": { - "optional": true - } - } - }, - "node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -7659,7 +7538,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true, + "dev": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -7669,7 +7548,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "devOptional": true, + "dev": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -7734,14 +7613,6 @@ "source-map": "^0.6.0" } }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "dependencies": { - "memory-pager": "^1.0.2" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -9964,14 +9835,6 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, - "@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", - "requires": { - "sparse-bitfield": "^3.0.3" - } - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -10172,20 +10035,6 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "@types/webidl-conversions": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz", - "integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg==" - }, - "@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "requires": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, "@types/yargs": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", @@ -10658,11 +10507,6 @@ "node-int64": "^0.4.0" } }, - "bson": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.1.0.tgz", - "integrity": "sha512-yiQ3KxvpVoRpx1oD1uPz4Jit9tAVTJgjdmjDKtUErkOoL9VNoF8Dd58qtAOL5E40exx2jvAT9sqdRSK/r+SHlA==" - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -13237,11 +13081,6 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, - "memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" - }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -13395,49 +13234,6 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz", "integrity": "sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==" }, - "mongodb": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.1.0.tgz", - "integrity": "sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==", - "requires": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^6.1.0", - "mongodb-connection-string-url": "^2.6.0" - } - }, - "mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "requires": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - }, - "dependencies": { - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - } - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -14432,13 +14228,13 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true + "dev": true }, "socks": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "devOptional": true, + "dev": true, "requires": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -14487,14 +14283,6 @@ "source-map": "^0.6.0" } }, - "sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "requires": { - "memory-pager": "^1.0.2" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", diff --git a/package.json b/package.json index 3b41c3c23..f8edc77c4 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "ml-matrix": "^6.11.0", "module-alias": "^2.2.3", "monaco-editor": "^0.45.0", - "mongodb": "^6.1.0", "network-interfaces": "^1.1.0", "node-fetch": "^2.7.0", "node-persist": "^2.1.0", diff --git a/persistence/CloudProxyWrapper.js b/persistence/CloudProxyWrapper.js index 4b190279d..99ce1357b 100644 --- a/persistence/CloudProxyWrapper.js +++ b/persistence/CloudProxyWrapper.js @@ -2,12 +2,8 @@ const fetch = require('node-fetch'); const FormData = require('form-data'); /** - * { - * path: string, - * contents: Buffer? (hopefully it works), - * isDirectory: haaah, - * } - * Should have user id which is somehow a scope for mongo + * Implements a slice of the fs/promises API required to synchronize local + * files with a cloud backup */ class CloudProxyWrapper { connect() { diff --git a/persistence/MongoDBWrapper.js b/persistence/MongoDBWrapper.js deleted file mode 100644 index d614363b5..000000000 --- a/persistence/MongoDBWrapper.js +++ /dev/null @@ -1,208 +0,0 @@ -const { MongoClient } = require('mongodb'); -const { uri } = require('../config-private.js'); -const client = new MongoClient(uri); - -/* -const root = config.thething; - -function cutPath(path) { - if (path.startsWith(root)) { - return path.substr(root.length); - } - return path; -} -*/ - -/** - * { - * path: string, - * contents: Buffer? (hopefully it works), - * isDirectory: haaah, - * } - * Should have user id which is somehow a scope for mongo - */ -class MongoDBWrapper { - connect() { - this.database = client.db('filesDatabase'); - this.collection = this.database.collection('files'); - } - - async copyFile(source, dest) { - const contents = await this.readFile(source); - return await this.writeFile(dest, contents); - } - - /** - * Create directory at `path` - * @param {string} path - * @param {object} options - */ - async mkdir(path, options) { - let paths = [path]; - if (options && options.recursive) { - let allParts = path.split('/'); - for (let i = 0; i < allParts.length; i++) { - let parts = allParts.slice(0, i); - paths.push(parts.join('/')); - } - } - for (let pathToCreate of paths) { - await this.collection.updateOne({ - path: pathToCreate, - }, { - $set: { - contents: null, - isDirectory: true, - } - }, { - upsert: true, - }); - } - } - - async readFile(path, options) { - const doc = await this.collection.findOne({ - path: {$eq: path}, - }); - if (!doc) { - throw new Error(`No file at ${path}`); - } - let buf; - if (typeof doc.contents === 'string') { - buf = Buffer.from(doc.contents); - } else { - buf = doc.contents.buffer; - } - if (typeof options === 'string') { - return buf.toString(options); - } - if (options && options.encoding) { - return buf.toString(options.encoding); - } - return buf; - } - - async readdir(path, options) { - // find all keys prefixed with path - let pathEscaped = path.replace(/[/\\.]/g, '\\$&'); - if (pathEscaped.endsWith('/')) { - pathEscaped = pathEscaped.substr(0, pathEscaped.length - 1); - } - const allDocs = await this.collection.find({ - path: {$regex: '^' + pathEscaped + '\\/[^/]+$'}, - }).toArray(); - - let dirEnts = []; - for (const doc of allDocs) { - const name = doc.path.split('/').at(-1); - const isDirectory = doc.isDirectory; - const isFile = !isDirectory; - if (!options || !options.withFileTypes) { - dirEnts.push(name); - continue; - } - - dirEnts.push({ - name, - path: doc.path, - isDirectory: function() { - return isDirectory; - }, - isFile: function() { - return isFile; - }, - }); - } - return dirEnts; - } - - async rename(path, destPath) { - // alter path rename to destPath - let pathEscaped = path.replace(/[/\\.]/g, '\\$&'); - if (pathEscaped.endsWith('/')) { - pathEscaped = pathEscaped.substr(0, pathEscaped.length - 1); - } - const allDocs = await this.collection.find({ - path: {$regex: '^' + pathEscaped + '\\/[^/]+$'}, - }).toArray(); - for (let doc of allDocs) { - return await this.collection.updateOne({ - path: doc.path, - }, { - $set: { - path: doc.path.replace(path, destPath), - } - }); - } - } - - async rmdir(path, _options) { - // remove all keys prefixed with path - // TODO: throw if options.recursive=false and you would remove any - return await this.collection.deleteMany({ - path: {$regex: '^' + path.replace(/[/\\.]/g, '\\$&')}, - }); - } - - /** - * @param {string} path - */ - async stat(path) { - const doc = await this.collection.findOne({ - path: {$eq: path}, - }); - if (!doc) { - throw new Error('ENOEXIST'); - } - - const isDirectory = doc.isDirectory; - const isFile = !isDirectory; - return { - name: doc.path.split('/').at(-1), - path: doc.path, - isDirectory: function() { - return isDirectory; - }, - isFile: function() { - return isFile; - }, - }; - } - - async access(path) { - await this.stat(path); - } - - /** - * Remove document with given path - * @param {string} path - */ - async unlink(path) { - return await this.collection.deleteOne({ - path: {$eq: path}, - }); - } - - /** - * Create or update document at `path` - * @param {string} path - * @param {any} contents - */ - async writeFile(path, contents) { - // write document (ez) - await this.collection.updateOne({ - path, - }, { - $set: { - contents, - isDirectory: false, - } - }, { - upsert: true, - }); - } -} - -let mdbWrapper = new MongoDBWrapper(); -mdbWrapper.connect(); -module.exports = mdbWrapper; diff --git a/persistence/VerifyWrapper.js b/persistence/VerifyWrapper.js index e2e9fd297..b070275ba 100644 --- a/persistence/VerifyWrapper.js +++ b/persistence/VerifyWrapper.js @@ -1,4 +1,3 @@ -// const cloud = require('./MongoDBWrapper.js'); const fs = require('./FileSystemWrapper.js'); const cloud = require('./CloudProxyWrapper.js');