From 3ee30a7738720c3b28678d5c778fd81a78984bd6 Mon Sep 17 00:00:00 2001 From: roschaefer Date: Tue, 17 Dec 2019 10:27:08 +0100 Subject: [PATCH 1/2] Update neo4j driver --- backend/package.json | 2 +- backend/src/bootstrap/neo4j.js | 2 +- backend/yarn.lock | 31 ++++++++++++++++++++++++++++++- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/backend/package.json b/backend/package.json index a0ab06371..df3f9d40f 100644 --- a/backend/package.json +++ b/backend/package.json @@ -80,7 +80,7 @@ "metascraper-youtube": "^5.8.9", "minimatch": "^3.0.4", "mustache": "^3.1.0", - "neo4j-driver": "~1.7.6", + "neo4j-driver": "^4.0.1", "neo4j-graphql-js": "^2.10.2", "neode": "^0.3.3", "node-fetch": "~2.6.0", diff --git a/backend/src/bootstrap/neo4j.js b/backend/src/bootstrap/neo4j.js index 404e8a2c0..6d46a0279 100644 --- a/backend/src/bootstrap/neo4j.js +++ b/backend/src/bootstrap/neo4j.js @@ -1,4 +1,4 @@ -import { v1 as neo4j } from 'neo4j-driver' +import neo4j from 'neo4j-driver' import CONFIG from './../config' import Neode from 'neode' import models from '../models' diff --git a/backend/yarn.lock b/backend/yarn.lock index 26d19e2a0..f27ff956a 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -6152,7 +6152,7 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -neo4j-driver@^1.7.3, neo4j-driver@^1.7.5, neo4j-driver@~1.7.6: +neo4j-driver@^1.7.3, neo4j-driver@^1.7.5: version "1.7.6" resolved "https://registry.yarnpkg.com/neo4j-driver/-/neo4j-driver-1.7.6.tgz#eccb135a71eba9048c68717444593a6424cffc49" integrity sha512-6c3ALO3vYDfUqNoCy8OFzq+fQ7q/ab3LCuJrmm8P04M7RmyRCCnUtJ8IzSTGbiZvyhcehGK+azNDAEJhxPV/hA== @@ -6161,10 +6161,27 @@ neo4j-driver@^1.7.3, neo4j-driver@^1.7.5, neo4j-driver@~1.7.6: text-encoding-utf-8 "^1.0.2" uri-js "^4.2.2" +<<<<<<< HEAD neo4j-graphql-js@^2.10.2: version "2.10.2" resolved "https://registry.yarnpkg.com/neo4j-graphql-js/-/neo4j-graphql-js-2.10.2.tgz#e67d1aab6441b28f276adf0f6d655720983b9b84" integrity sha512-CgtKEgrWgSJBjuKQ5CEPt4tcG1z14oAB3UWQjX8scDlUag0iWofgzpPlrc3brn+RitfeEc3FuMSru8E9dVDJPg== +======= +neo4j-driver@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/neo4j-driver/-/neo4j-driver-4.0.1.tgz#b25ffde0f16602e94c46d097e16a8bacbd773d5a" + integrity sha512-SqBhXyyyayVs5gV/6BrgdKbcmU5AsYQXkFAiYO74XAE8XPLJ1HVR/Hu4wjonAX7+70DsalkWEiFN1c6UaCVzlQ== + dependencies: + "@babel/runtime" "^7.5.5" + rxjs "^6.5.2" + text-encoding-utf-8 "^1.0.2" + uri-js "^4.2.2" + +neo4j-graphql-js@^2.10.1: + version "2.10.1" + resolved "https://registry.yarnpkg.com/neo4j-graphql-js/-/neo4j-graphql-js-2.10.1.tgz#e470d067db681bac8f4daa755f697000110aca4b" + integrity sha512-D6Gimu39lkg+3pXKWR3qEY6yMXOv/JOdKSizsYSAE73lj9CubJAYx4hdtmNXJ0Tyy+C9LxcPZwWZEzg0P9niEw== +>>>>>>> Update neo4j driver dependencies: "@babel/runtime" "^7.5.5" "@babel/runtime-corejs2" "^7.5.5" @@ -7391,6 +7408,13 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" +rxjs@^6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" + integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -7509,6 +7533,11 @@ serve-static@1.14.1: version "1.14.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" From deaf071550c392e6ddd78fb2b112f08bc8c39976 Mon Sep 17 00:00:00 2001 From: roschaefer Date: Tue, 17 Dec 2019 11:21:25 +0100 Subject: [PATCH 2/2] Update neode This fixes some API changes with the update of neode. --- backend/package.json | 4 +-- backend/src/bootstrap/neo4j.js | 2 +- backend/src/models/User.spec.js | 8 ++--- backend/src/schema/resolvers/registration.js | 2 +- backend/src/server.js | 6 ++++ backend/yarn.lock | 36 ++++---------------- 6 files changed, 18 insertions(+), 40 deletions(-) diff --git a/backend/package.json b/backend/package.json index df3f9d40f..92563269b 100644 --- a/backend/package.json +++ b/backend/package.json @@ -80,9 +80,9 @@ "metascraper-youtube": "^5.8.9", "minimatch": "^3.0.4", "mustache": "^3.1.0", - "neo4j-driver": "^4.0.1", + "neo4j-driver": "~1.7.6", "neo4j-graphql-js": "^2.10.2", - "neode": "^0.3.3", + "neode": "^0.3.6", "node-fetch": "~2.6.0", "nodemailer": "^6.4.2", "nodemailer-html-to-text": "^3.1.0", diff --git a/backend/src/bootstrap/neo4j.js b/backend/src/bootstrap/neo4j.js index 6d46a0279..404e8a2c0 100644 --- a/backend/src/bootstrap/neo4j.js +++ b/backend/src/bootstrap/neo4j.js @@ -1,4 +1,4 @@ -import neo4j from 'neo4j-driver' +import { v1 as neo4j } from 'neo4j-driver' import CONFIG from './../config' import Neode from 'neode' import models from '../models' diff --git a/backend/src/models/User.spec.js b/backend/src/models/User.spec.js index 332e6a3ea..433cc5a6f 100644 --- a/backend/src/models/User.spec.js +++ b/backend/src/models/User.spec.js @@ -70,15 +70,11 @@ describe('slug', () => { }) it(' ', async () => { - await expect(createUser({ slug: 'matt rider' })).rejects.toThrow( - /fails to match the required pattern/, - ) + await expect(createUser({ slug: 'matt rider' })).rejects.toThrow('ERROR_VALIDATION') }) it('ä', async () => { - await expect(createUser({ slug: 'mätt' })).rejects.toThrow( - /fails to match the required pattern/, - ) + await expect(createUser({ slug: 'mätt' })).rejects.toThrow('ERROR_VALIDATION') }) }) }) diff --git a/backend/src/schema/resolvers/registration.js b/backend/src/schema/resolvers/registration.js index 9d5d5f09a..1a6bda1c8 100644 --- a/backend/src/schema/resolvers/registration.js +++ b/backend/src/schema/resolvers/registration.js @@ -40,7 +40,7 @@ export default { `, { nonce, email }, ) - const emailAddress = await neode.hydrateFirst(result, 'email', neode.model('Email')) + const emailAddress = await neode.hydrateFirst(result, 'email', neode.model('EmailAddress')) if (!emailAddress) throw new UserInputError('Invalid email or nonce') args = await fileUpload(args, { file: 'avatarUpload', url: 'avatar' }) args = await encryptPassword(args) diff --git a/backend/src/server.js b/backend/src/server.js index 91b9a13aa..122f23683 100644 --- a/backend/src/server.js +++ b/backend/src/server.js @@ -38,6 +38,12 @@ const createServer = options => { schema: middleware(schema), debug: !!CONFIG.DEBUG, tracing: !!CONFIG.DEBUG, + formatError: error => { + if (error.message === 'ERROR_VALIDATION') { + return new Error(error.originalError.details.map(d => d.message)) + } + return error + }, } const server = new ApolloServer(Object.assign({}, defaults, options)) diff --git a/backend/yarn.lock b/backend/yarn.lock index f27ff956a..bdb40cb3c 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -6152,7 +6152,7 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -neo4j-driver@^1.7.3, neo4j-driver@^1.7.5: +neo4j-driver@^1.7.3, neo4j-driver@^1.7.6, neo4j-driver@~1.7.6: version "1.7.6" resolved "https://registry.yarnpkg.com/neo4j-driver/-/neo4j-driver-1.7.6.tgz#eccb135a71eba9048c68717444593a6424cffc49" integrity sha512-6c3ALO3vYDfUqNoCy8OFzq+fQ7q/ab3LCuJrmm8P04M7RmyRCCnUtJ8IzSTGbiZvyhcehGK+azNDAEJhxPV/hA== @@ -6161,27 +6161,10 @@ neo4j-driver@^1.7.3, neo4j-driver@^1.7.5: text-encoding-utf-8 "^1.0.2" uri-js "^4.2.2" -<<<<<<< HEAD neo4j-graphql-js@^2.10.2: version "2.10.2" resolved "https://registry.yarnpkg.com/neo4j-graphql-js/-/neo4j-graphql-js-2.10.2.tgz#e67d1aab6441b28f276adf0f6d655720983b9b84" integrity sha512-CgtKEgrWgSJBjuKQ5CEPt4tcG1z14oAB3UWQjX8scDlUag0iWofgzpPlrc3brn+RitfeEc3FuMSru8E9dVDJPg== -======= -neo4j-driver@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/neo4j-driver/-/neo4j-driver-4.0.1.tgz#b25ffde0f16602e94c46d097e16a8bacbd773d5a" - integrity sha512-SqBhXyyyayVs5gV/6BrgdKbcmU5AsYQXkFAiYO74XAE8XPLJ1HVR/Hu4wjonAX7+70DsalkWEiFN1c6UaCVzlQ== - dependencies: - "@babel/runtime" "^7.5.5" - rxjs "^6.5.2" - text-encoding-utf-8 "^1.0.2" - uri-js "^4.2.2" - -neo4j-graphql-js@^2.10.1: - version "2.10.1" - resolved "https://registry.yarnpkg.com/neo4j-graphql-js/-/neo4j-graphql-js-2.10.1.tgz#e470d067db681bac8f4daa755f697000110aca4b" - integrity sha512-D6Gimu39lkg+3pXKWR3qEY6yMXOv/JOdKSizsYSAE73lj9CubJAYx4hdtmNXJ0Tyy+C9LxcPZwWZEzg0P9niEw== ->>>>>>> Update neo4j driver dependencies: "@babel/runtime" "^7.5.5" "@babel/runtime-corejs2" "^7.5.5" @@ -6191,14 +6174,14 @@ neo4j-graphql-js@^2.10.1: lodash "^4.17.15" neo4j-driver "^1.7.3" -neode@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/neode/-/neode-0.3.3.tgz#a539830cce6f6e4825462f6cb03f2969a0003f1b" - integrity sha512-pArHG1hD2kVwrzLlz6B1+IgdOJRQj/BgR6KzH6DlVzSA6geoZRe68fbpvmOJtzyPU7iuUYxXVk87PpPM1A7dlg== +neode@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/neode/-/neode-0.3.6.tgz#7daf791eff6d170e52c338ea2e5cca6fdc6bfbe3" + integrity sha512-jCskCPobtHpsIIYQD72h5lRjMJEX70KwIeqgpt1VOLI+d1zJZvUlDkcOKgarAW0fmwtHIrPOP6mLPe5G/ZG9+g== dependencies: "@hapi/joi" "^15.1.0" dotenv "^4.0.0" - neo4j-driver "^1.7.5" + neo4j-driver "^1.7.6" uuid "^3.3.2" next-tick@^1.0.0: @@ -7408,13 +7391,6 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" -rxjs@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== - dependencies: - tslib "^1.9.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"