From 9b2ab05c59554d0eddbd572f52c4b36a3256089f Mon Sep 17 00:00:00 2001 From: Sendou Date: Wed, 8 Jan 2020 02:23:12 +0200 Subject: [PATCH] addVouch backend --- graphql-schemas/plus.js | 15 +++++++-------- graphql-schemas/user.js | 1 + index.js | 1 + package-lock.json | 20 +++++++------------- package.json | 4 ++-- 5 files changed, 18 insertions(+), 23 deletions(-) diff --git a/graphql-schemas/plus.js b/graphql-schemas/plus.js index c4a7f1a39..47a07411e 100644 --- a/graphql-schemas/plus.js +++ b/graphql-schemas/plus.js @@ -380,11 +380,6 @@ const resolvers = { return true }, addVouch: async (root, args, ctx) => { - /*addVouch( - discord_id: String! - server: String! - region: String! - ): Boolean! */ if (!ctx.user) throw new AuthenticationError("Not logged in.") if (!ctx.user.plus || !ctx.user.plus.membership_status) { throw new AuthenticationError("Not plus member.") @@ -395,7 +390,7 @@ const resolvers = { if (args.region !== "EU" && args.region !== "NA") throw new UserInputError("Invalid region given.") - const can_vouch = !ctx.user.plus.can_vouch + const can_vouch = ctx.user.plus.can_vouch if (!can_vouch || (can_vouch !== "ONE" && args.server === "ONE")) throw new UserInputError("No privileges to vouch.") @@ -422,10 +417,14 @@ const resolvers = { user.plus.vouch_status = args.server user.plus.voucher_discord_id = ctx.user.discord_id if (!user.plus.plus_region) user.plus.plus_region = args.region - ctx.user.plus.can_vouch = null + + const vouchingUser = await User.findOne({ + discord_id: ctx.user.discord_id, + }) + vouchingUser.can_vouch = null await user.save() - await ctx.user.save() //works or nah? + await vouchingUser.save() return true }, diff --git a/graphql-schemas/user.js b/graphql-schemas/user.js index 7f2a0b1ea..a1f867bdd 100644 --- a/graphql-schemas/user.js +++ b/graphql-schemas/user.js @@ -94,6 +94,7 @@ const resolvers = { membership_status: "ONE", vouch_status: null, plus_region: "EU", + can_vouch: "ONE", }, } } diff --git a/index.js b/index.js index 4fab9cbb6..cd42cc3d9 100644 --- a/index.js +++ b/index.js @@ -110,6 +110,7 @@ const server = new ApolloServer({ membership_status: "ONE", vouch_status: null, plus_region: "EU", + can_vouch: "ONE", }, }, } diff --git a/package-lock.json b/package-lock.json index 3c6378223..9569bbb55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -530,12 +530,11 @@ } }, "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.1.tgz", + "integrity": "sha512-Yl+7nfreYKaLRvAvjNPkvfjnQHJM1yLBY3zhqAwcJSwR/6ETkanUgylgtIvkvz0xJ+p/vZuNw8X7Hnb7Whsbpw==", "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" + "follow-redirects": "1.5.10" } }, "backo2": { @@ -1355,11 +1354,6 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - }, "is-callable": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", @@ -1610,9 +1604,9 @@ } }, "mongoose": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.4.tgz", - "integrity": "sha512-jQjLckUILEQUqBuG+ihjtA9OLmrqcIG5n+vaeHpR++TG8/ug5yy5ogkDnybTSq8Ql5OORud3+OCOc2Uw96q32w==", + "version": "5.8.5", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.5.tgz", + "integrity": "sha512-Ek73KYUVpD9+O0tK//C6I69akmVfhJLdSX7RwpyIhfBlVEyi9tW+255A+BUXvOKNS0e6SX8e7C42+WD5kcylCg==", "requires": { "bson": "~1.1.1", "kareem": "2.3.1", diff --git a/package.json b/package.json index d020940e4..4a9b47398 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dependencies": { "apollo-server": "^2.9.15", "apollo-server-express": "^2.9.15", - "axios": "^0.19.0", + "axios": "^0.19.1", "btoa": "^1.2.1", "connect-mongo": "^3.2.0", "cors": "^2.8.5", @@ -23,7 +23,7 @@ "express-session": "^1.17.0", "graphql": "^14.5.8", "lodash": "^4.17.15", - "mongoose": "^5.8.4", + "mongoose": "^5.8.5", "mongoose-unique-validator": "^2.0.3", "node-fetch": "^2.6.0", "passport": "^0.4.1",