From cc997a67263bcebcb5e9e2d074aebb3a2ccf9136 Mon Sep 17 00:00:00 2001 From: Gael Leblan Date: Fri, 28 Aug 2020 11:45:52 +0200 Subject: [PATCH] Initial Commit --- app.js | 3 + db/schema/user.js | 12 +++ db/service/userService.js | 0 npm-debug.log | 40 -------- package-lock.json | 204 ++++++++++++++++++++++++++++++++++++++ package.json | 2 + utils/database.js | 21 ++++ 7 files changed, 242 insertions(+), 40 deletions(-) create mode 100644 db/schema/user.js create mode 100644 db/service/userService.js delete mode 100644 npm-debug.log create mode 100644 utils/database.js diff --git a/app.js b/app.js index 467aa0f..01394bd 100644 --- a/app.js +++ b/app.js @@ -7,12 +7,14 @@ const port = 3000; const nodeSlicer = require('./slicers/slic3r/slic3r'); const prusaSlicer = require('./slicers/prusaslicer/prusaslicer'); const converter = require('./utils/converter'); +const database = require('./utils/database'); const express = require('express') const app = express() const fs = require('fs-extra'); const compression = require('compression') const cors = require('cors') + // compress responses app.use(compression()) // default options @@ -81,5 +83,6 @@ app.get('/public/profiles', function(req, res) { }); app.listen(port, hostname, () => { + database.init(undefined, () => {}) console.log(`Server running at http://${hostname}:${port}/`); }); diff --git a/db/schema/user.js b/db/schema/user.js new file mode 100644 index 0000000..88971ef --- /dev/null +++ b/db/schema/user.js @@ -0,0 +1,12 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; +var user = {}; + +var userSchema = new Schema({ + name: String, + mail: String +}); + +user.schema = userSchema; + +module.exports = user; diff --git a/db/service/userService.js b/db/service/userService.js new file mode 100644 index 0000000..e69de29 diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index 42fe215..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,40 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/home/Gael.Leblan/.nvm/versions/node/v4.1.2/bin/node', -1 verbose cli '/home/Gael.Leblan/.nvm/versions/node/v4.1.2/bin/npm', -1 verbose cli 'run', -1 verbose cli 'dev' ] -2 info using npm@2.14.4 -3 info using node@v4.1.2 -4 verbose run-script [ 'predev', 'dev', 'postdev' ] -5 info predev baldr-api@1.0.0 -6 info dev baldr-api@1.0.0 -7 verbose unsafe-perm in lifecycle true -8 info baldr-api@1.0.0 Failed to exec dev script -9 verbose stack Error: baldr-api@1.0.0 dev: `node app.js` -9 verbose stack Exit status 1 -9 verbose stack at EventEmitter. (/home/Gael.Leblan/.nvm/versions/node/v4.1.2/lib/node_modules/npm/lib/utils/lifecycle.js:214:16) -9 verbose stack at emitTwo (events.js:87:13) -9 verbose stack at EventEmitter.emit (events.js:172:7) -9 verbose stack at ChildProcess. (/home/Gael.Leblan/.nvm/versions/node/v4.1.2/lib/node_modules/npm/lib/utils/spawn.js:24:14) -9 verbose stack at emitTwo (events.js:87:13) -9 verbose stack at ChildProcess.emit (events.js:172:7) -9 verbose stack at maybeClose (internal/child_process.js:818:16) -9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) -10 verbose pkgid baldr-api@1.0.0 -11 verbose cwd /home/Gael.Leblan/Workspace/perso/BaldrSlicer/baldr-api -12 error Linux 4.15.0-109-generic -13 error argv "/home/Gael.Leblan/.nvm/versions/node/v4.1.2/bin/node" "/home/Gael.Leblan/.nvm/versions/node/v4.1.2/bin/npm" "run" "dev" -14 error node v4.1.2 -15 error npm v2.14.4 -16 error code ELIFECYCLE -17 error baldr-api@1.0.0 dev: `node app.js` -17 error Exit status 1 -18 error Failed at the baldr-api@1.0.0 dev script 'node app.js'. -18 error This is most likely a problem with the baldr-api package, -18 error not with npm itself. -18 error Tell the author that this fails on your system: -18 error node app.js -18 error You can get their info via: -18 error npm owner ls baldr-api -18 error There is likely additional logging output above. -19 verbose exit [ 1, true ] diff --git a/package-lock.json b/package-lock.json index a2fb3b6..d3fb55d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,20 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "bl": { + "version": "2.2.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/bl/-/bl-2.2.0.tgz", + "integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -40,6 +54,11 @@ "concat-map": "0.0.1" } }, + "bson": { + "version": "1.1.5", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/bson/-/bson-1.1.5.tgz", + "integrity": "sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg==" + }, "busboy": { "version": "0.3.1", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/busboy/-/busboy-0.3.1.tgz", @@ -85,6 +104,11 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "core-util-is": { + "version": "1.0.2", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, "cors": { "version": "2.8.5", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/cors/-/cors-2.8.5.tgz", @@ -102,6 +126,11 @@ "ms": "2.0.0" } }, + "denque": { + "version": "1.4.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/denque/-/denque-1.4.1.tgz", + "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" + }, "dicer": { "version": "0.3.0", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/dicer/-/dicer-0.3.0.tgz", @@ -615,6 +644,11 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "isarray": { + "version": "1.0.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "js-yaml": { "version": "3.14.0", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/js-yaml/-/js-yaml-3.14.0.tgz", @@ -638,6 +672,17 @@ "universalify": "^1.0.0" } }, + "kareem": { + "version": "2.3.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/kareem/-/kareem-2.3.1.tgz", + "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "mime-db": { "version": "1.44.0", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mime-db/-/mime-db-1.44.0.tgz", @@ -659,6 +704,81 @@ "brace-expansion": "^1.1.7" } }, + "mongodb": { + "version": "3.6.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mongodb/-/mongodb-3.6.0.tgz", + "integrity": "sha512-/XWWub1mHZVoqEsUppE0GV7u9kanLvHxho6EvBxQbShXTKYF9trhZC2NzbulRGeG7xMJHD8IOWRcdKx5LPjAjQ==", + "requires": { + "bl": "^2.2.0", + "bson": "^1.1.4", + "denque": "^1.4.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2", + "saslprep": "^1.0.0" + } + }, + "mongoose": { + "version": "5.10.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mongoose/-/mongoose-5.10.0.tgz", + "integrity": "sha512-5itAvBMVDG4+zTDtuLg/IyoTxEMgvpOSHnigQ9Cyh8LR4BEgMAChJj7JSaGkg+tr1AjCSY9DgSdU8bHqCOoxXg==", + "requires": { + "bson": "^1.1.4", + "kareem": "2.3.1", + "mongodb": "3.6.0", + "mongoose-legacy-pluralize": "1.0.2", + "mpath": "0.7.0", + "mquery": "3.2.2", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "safe-buffer": "5.2.1", + "sift": "7.0.1", + "sliced": "1.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "mongoose-legacy-pluralize": { + "version": "1.0.2", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" + }, + "mpath": { + "version": "0.7.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mpath/-/mpath-0.7.0.tgz", + "integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg==" + }, + "mquery": { + "version": "3.2.2", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/mquery/-/mquery-3.2.2.tgz", + "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==", + "requires": { + "bluebird": "3.5.1", + "debug": "3.1.0", + "regexp-clone": "^1.0.0", + "safe-buffer": "5.1.2", + "sliced": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "ms": { "version": "2.0.0", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/ms/-/ms-2.0.0.tgz", @@ -692,6 +812,44 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, + "require_optional": { + "version": "1.0.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/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" + } + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, "rimraf": { "version": "2.6.3", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/rimraf/-/rimraf-2.6.3.tgz", @@ -705,6 +863,39 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "saslprep": { + "version": "1.0.3", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "sift": { + "version": "7.0.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/sift/-/sift-7.0.1.tgz", + "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" + }, + "sliced": { + "version": "1.0.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -715,6 +906,14 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/streamsearch/-/streamsearch-0.1.2.tgz", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "temp": { "version": "0.8.4", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/temp/-/temp-0.8.4.tgz", @@ -733,6 +932,11 @@ "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/universalify/-/universalify-1.0.0.tgz", "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, "vary": { "version": "1.1.2", "resolved": "http://nexus3.domi-r.cloud.arkea.com:8080/repository/npm-all/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index 50d6bf3..6d1ff8d 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ "fs-extra": "^9.0.1", "js-yaml": "^3.2.5", "json-schema-defaults": "0.0.2", + "mongodb": "^3.6.0", + "mongoose": "^5.10.0", "temp": "^0.8.1", "tv4": "^1.1.5" } diff --git a/utils/database.js b/utils/database.js new file mode 100644 index 0000000..3dc5b2b --- /dev/null +++ b/utils/database.js @@ -0,0 +1,21 @@ +var database = {}; +const uri = "mongodb://localhost/baldr-db" +const mongoose = require('mongoose'); + +database.init = function(config, callback) { + mongoose.connect(uri, { + useNewUrlParser: true + }); + const db = mongoose.connection; + db.on('error', function() { + console.log("Error while connecting to database") + callback(false); + }); + db.once('open', function() { + // we're connected! + console.log("Connected to database") + callback(true); + }); +} + +module.exports = database;