From bd3bd7c445822243c29c04dbe14d7f249745fcad Mon Sep 17 00:00:00 2001 From: Valentin Kaelin Date: Sun, 4 Oct 2020 15:00:07 +0200 Subject: [PATCH] chore: add mongodb adonis package --- server-new/.adonisrc.json | 6 +- server-new/.env.example | 3 + server-new/config/mongodb.ts | 14 +++ server-new/package-lock.json | 162 +++++++++++++++++++++++++++++++++-- server-new/package.json | 1 + server-new/start/routes.ts | 6 ++ server-new/tsconfig.json | 3 +- 7 files changed, 184 insertions(+), 11 deletions(-) create mode 100644 server-new/config/mongodb.ts diff --git a/server-new/.adonisrc.json b/server-new/.adonisrc.json index 310b011..cf9d81c 100644 --- a/server-new/.adonisrc.json +++ b/server-new/.adonisrc.json @@ -2,7 +2,8 @@ "typescript": true, "commands": [ "./commands", - "@adonisjs/core/build/commands" + "@adonisjs/core/build/commands", + "@zakodium/adonis-mongodb/lib/commands" ], "exceptionHandlerNamespace": "App/Exceptions/Handler", "aliases": { @@ -17,7 +18,8 @@ ], "providers": [ "./providers/AppProvider", - "@adonisjs/core" + "@adonisjs/core", + "@zakodium/adonis-mongodb" ], "metaFiles": [ ".env", diff --git a/server-new/.env.example b/server-new/.env.example index ecbc796..a79f72b 100644 --- a/server-new/.env.example +++ b/server-new/.env.example @@ -2,3 +2,6 @@ PORT= HOST= NODE_ENV= APP_KEY= + +MONGODB_URL=mongodb://localhost:27017 +MONGODB_DATABASE=leaguestats diff --git a/server-new/config/mongodb.ts b/server-new/config/mongodb.ts new file mode 100644 index 0000000..331d2e7 --- /dev/null +++ b/server-new/config/mongodb.ts @@ -0,0 +1,14 @@ +import { MongodbConfig } from '@ioc:Mongodb/Database' +import Env from '@ioc:Adonis/Core/Env' + +const config: MongodbConfig = { + default: 'mongodb', + connections: { + mongodb: { + url: Env.getOrFail('MONGODB_URL') as string, + database: Env.getOrFail('MONGODB_DATABASE') as string, + }, + }, +} + +export default config diff --git a/server-new/package-lock.json b/server-new/package-lock.json index 9d3b03d..ec58360 100644 --- a/server-new/package-lock.json +++ b/server-new/package-lock.json @@ -457,6 +457,14 @@ "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" }, + "@types/bson": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.2.tgz", + "integrity": "sha512-+uWmsejEHfmSjyyM/LkrP0orfE2m5Mx9Xel4tXNeqi1ldK5XMQcDsFkBmLDtuyKUbxj2jGDo0H240fbCRJZo7Q==", + "requires": { + "@types/node": "*" + } + }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", @@ -509,6 +517,15 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, + "@types/mongodb": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.5.26.tgz", + "integrity": "sha512-p0X2VJgIBNHfNBdZdzzG8eQ/3bf6mQoXDT0UhVyVEdSzXEa1+2pFcwGvEZp72sjztyBwfRKlgrXMjCVavLcuGg==", + "requires": { + "@types/bson": "*", + "@types/node": "*" + } + }, "@types/node": { "version": "14.11.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", @@ -616,6 +633,19 @@ "eslint-visitor-keys": "^1.1.0" } }, + "@zakodium/adonis-mongodb": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@zakodium/adonis-mongodb/-/adonis-mongodb-0.3.0.tgz", + "integrity": "sha512-nGdtCGg8FMDc8uoueudx2VrHHBtBW/9i5zxenTxu1tAs7Y3LEDncxTr9ROXTW2YAfXBWOW0XAzcLInBIxaY4qQ==", + "requires": { + "@poppinss/utils": "^2.5.6", + "@types/mongodb": "3.5.26", + "cli-table3": "^0.6.0", + "lodash": "^4.17.20", + "mongodb": "^3.6.1", + "pluralize": "^8.0.0" + } + }, "abstract-logging": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.0.tgz", @@ -981,6 +1011,53 @@ "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true }, + "bl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1000,6 +1077,11 @@ "fill-range": "^7.0.1" } }, + "bson": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.5.tgz", + "integrity": "sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg==" + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -1268,8 +1350,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cp-file": { "version": "9.0.0", @@ -1404,6 +1485,11 @@ } } }, + "denque": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", + "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -2474,8 +2560,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -2604,8 +2689,7 @@ "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, "lodash.toarray": { "version": "4.4.0", @@ -2716,6 +2800,12 @@ "mimic-fn": "^3.0.0" } }, + "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 + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -2901,6 +2991,19 @@ "minimist": "^1.2.5" } }, + "mongodb": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.2.tgz", + "integrity": "sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==", + "requires": { + "bl": "^2.2.1", + "bson": "^1.1.4", + "denque": "^1.4.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2", + "saslprep": "^1.0.0" + } + }, "mri": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", @@ -3413,6 +3516,11 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -3576,6 +3684,27 @@ "resolved": "https://registry.npmjs.org/require-all/-/require-all-3.0.0.tgz", "integrity": "sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI=" }, + "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=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -3621,6 +3750,15 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", @@ -3963,6 +4101,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" + } + }, "split-lines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz", @@ -4365,8 +4512,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8-compile-cache": { "version": "2.1.1", diff --git a/server-new/package.json b/server-new/package.json index e84b52c..1eeb677 100644 --- a/server-new/package.json +++ b/server-new/package.json @@ -22,6 +22,7 @@ "@adonisjs/ace": "^6.9.4", "@adonisjs/core": "^5.0.0-preview-rc-1.12", "@adonisjs/fold": "^6.4.1", + "@zakodium/adonis-mongodb": "^0.3.0", "proxy-addr": "^2.0.6", "reflect-metadata": "^0.1.13", "source-map-support": "^0.5.19" diff --git a/server-new/start/routes.ts b/server-new/start/routes.ts index 66b2ba9..35f23d8 100644 --- a/server-new/start/routes.ts +++ b/server-new/start/routes.ts @@ -19,7 +19,13 @@ */ import Route from '@ioc:Adonis/Core/Route' +import mongodb from '@ioc:Mongodb/Database' Route.get('/', async () => { return { hello: 'world' } }) + +Route.get('mongo', async () => { + const match = await (await mongodb.connection().collection('matches')).findOne({}) + return { test: match } +}) diff --git a/server-new/tsconfig.json b/server-new/tsconfig.json index f10e94c..e7762a8 100644 --- a/server-new/tsconfig.json +++ b/server-new/tsconfig.json @@ -23,7 +23,8 @@ ] }, "types": [ - "@adonisjs/core" + "@adonisjs/core", + "@zakodium/adonis-mongodb" ] } }