aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database.tsx15
-rw-r--r--package-lock.json82
-rw-r--r--package.json2
-rw-r--r--src/Main.tsx3
-rw-r--r--src/Server.ts (renamed from src/Server.tsx)0
-rw-r--r--src/SocketStub.ts (renamed from src/SocketStub.tsx)0
-rw-r--r--src/database.ts41
-rw-r--r--webpack.config.js5
8 files changed, 132 insertions, 16 deletions
diff --git a/database.tsx b/database.tsx
deleted file mode 100644
index 9c90326a5..000000000
--- a/database.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { action, configure } from 'mobx';
-import * as mongodb from 'mongodb';
-
-export class database {
- private MongoClient = mongodb.MongoClient;
- private url = 'mongodb://localhost:27017/website';
-
- public async update(id: string, field: string, value: string) {
- this.MongoClient.connect(this.url, (err, db) => {
- let collection = db.collection('documents');
- collection.update({ "id": id }, { $set: { field: value } });
- db.close();
- });
- }
-}
diff --git a/package-lock.json b/package-lock.json
index 9fbe16195..810bf6c8f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,14 @@
"@fortawesome/fontawesome-common-types": "^0.2.14"
}
},
+ "@types/bson": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@types/bson/-/bson-1.0.11.tgz",
+ "integrity": "sha512-j+UcCWI+FsbI5/FQP/Kj2CXyplWAz39ktHFkXk84h7dNblKRSoNJs95PZFRd96NQGqsPEPgeclqnznWZr14ZDA==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/chai": {
"version": "4.1.7",
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz",
@@ -37,6 +45,15 @@
"integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==",
"dev": true
},
+ "@types/mongodb": {
+ "version": "3.1.19",
+ "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.1.19.tgz",
+ "integrity": "sha512-H54hQEovAhyLrIZOhPNfGyCCDoTqKsjb8GQBy8nptJqfxrYCp5WVcPJf9v0kfTPR72xOhaz9+WcYxOXWwEg1Vg==",
+ "requires": {
+ "@types/bson": "*",
+ "@types/node": "*"
+ }
+ },
"@types/node": {
"version": "10.12.21",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.21.tgz",
@@ -928,6 +945,11 @@
"pako": "~1.0.5"
}
},
+ "bson": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz",
+ "integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA=="
+ },
"buffer": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
@@ -4172,6 +4194,12 @@
"readable-stream": "^2.0.1"
}
},
+ "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==",
+ "optional": true
+ },
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
@@ -4425,6 +4453,26 @@
}
}
},
+ "mongodb": {
+ "version": "3.1.13",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.13.tgz",
+ "integrity": "sha512-sz2dhvBZQWf3LRNDhbd30KHVzdjZx9IKC0L+kSZ/gzYquCF5zPOgGqRz6sSCqYZtKP2ekB4nfLxhGtzGHnIKxA==",
+ "requires": {
+ "mongodb-core": "3.1.11",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "mongodb-core": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.11.tgz",
+ "integrity": "sha512-rD2US2s5qk/ckbiiGFHeu+yKYDXdJ1G87F6CG3YdaZpzdOm5zpoAZd/EKbPmFO6cQZ+XVXBXBJ660sSI0gc6qg==",
+ "requires": {
+ "bson": "^1.1.0",
+ "require_optional": "^1.0.1",
+ "safe-buffer": "^5.1.2",
+ "saslprep": "^1.0.0"
+ }
+ },
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@@ -8692,6 +8740,22 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
+ "require_optional": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
+ "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
+ "requires": {
+ "resolve-from": "^2.0.0",
+ "semver": "^5.1.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
+ "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
+ }
+ }
+ },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -8786,6 +8850,15 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
+ "saslprep": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.2.tgz",
+ "integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
"sass-graph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
@@ -9244,6 +9317,15 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
"spdx-correct": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
diff --git a/package.json b/package.json
index 9afddb8d9..8e79901be 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.14",
"@types/jquery": "^3.3.29",
+ "@types/mongodb": "^3.1.19",
"@types/prosemirror-commands": "^1.0.1",
"@types/prosemirror-history": "^1.0.1",
"@types/prosemirror-keymap": "^1.0.1",
@@ -45,6 +46,7 @@
"mobx": "^5.9.0",
"mobx-react": "^5.3.5",
"mobx-react-devtools": "^6.0.3",
+ "mongodb": "^3.1.13",
"node-sass": "^4.11.0",
"normalize.css": "^8.0.1",
"npm": "^6.7.0",
diff --git a/src/Main.tsx b/src/Main.tsx
index fa6230393..eee8554f3 100644
--- a/src/Main.tsx
+++ b/src/Main.tsx
@@ -14,6 +14,7 @@ import { ContextMenu } from './views/ContextMenu';
import { DocumentView } from './views/nodes/DocumentView';
import { CompileScript } from './util/Scripting';
import { ImageField } from './fields/ImageField';
+import { database } from './database';
configure({
@@ -40,6 +41,8 @@ document.addEventListener("pointerdown", action(function (e: PointerEvent) {
//runInAction(() =>
{
+ let db = new database();
+ db.update('1', '2', '3');
let doc1 = Documents.TextDocument({ title: "hello" });
let doc2 = doc1.MakeDelegate();
doc2.Set(KS.X, new NumberField(150));
diff --git a/src/Server.tsx b/src/Server.ts
index 645420771..645420771 100644
--- a/src/Server.tsx
+++ b/src/Server.ts
diff --git a/src/SocketStub.tsx b/src/SocketStub.ts
index f9d48c067..f9d48c067 100644
--- a/src/SocketStub.tsx
+++ b/src/SocketStub.ts
diff --git a/src/database.ts b/src/database.ts
new file mode 100644
index 000000000..a822b15bf
--- /dev/null
+++ b/src/database.ts
@@ -0,0 +1,41 @@
+import { action, configure } from 'mobx';
+import * as mongodb from 'mongodb';
+
+export class database {
+ private MongoClient = mongodb.MongoClient;
+ private url = 'mongodb://localhost:27017/website';
+
+ public update(id: string, field: string, value: string) {
+ this.MongoClient.connect(this.url, (err, db) => {
+ let collection = db.db().collection('documents');
+ collection.update({ "id": id }, { $set: { field: value } });
+ db.close();
+ });
+ }
+
+ public delete(id: string) {
+ this.MongoClient.connect(this.url, (err, db) => {
+ let collection = db.db().collection('documents');
+ collection.remove({ "id": id });
+ db.close();
+ });
+ }
+
+ public insert(kvpairs: JSON) {
+ this.MongoClient.connect(this.url, (err, db) => {
+ let collection = db.db().collection('documents');
+ collection.insert(kvpairs, () => { });
+ db.close();
+ });
+ }
+
+ public getDocument(id: string) {
+ var result: Array<JSON>;
+ this.MongoClient.connect(this.url, (err, db) => {
+ let collection = db.db().collection('documents');
+ collection.find({ "id": id }).toArray((err, db) => { result = db });
+ db.close();
+ return result[0];
+ });
+ }
+}
diff --git a/webpack.config.js b/webpack.config.js
index 1a7c9286e..b5b6720bd 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -9,7 +9,10 @@ module.exports = {
devtool: "source-map",
node: {
fs: 'empty',
- module: 'empty'
+ module: 'empty',
+ dns: 'mock',
+ tls: 'mock',
+ net: 'mock'
},
output: {
filename: "./bundle.js",