mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-07-25 04:32:58 -05:00
recalc team countries if someone changes their country
This commit is contained in:
parent
66858175b6
commit
ea1022cac6
6
frontend-react/package-lock.json
generated
6
frontend-react/package-lock.json
generated
|
|
@ -2005,9 +2005,9 @@
|
|||
}
|
||||
},
|
||||
"@testing-library/jest-dom": {
|
||||
"version": "5.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.10.0.tgz",
|
||||
"integrity": "sha512-t6e6Y6cu9cnTRwgNzgGtMn+bluLa/JkQ8j876g0XoZ6QKK/VBPPAIJ2PVWK4pjTD3U/BROP0o29cMwpZHcqltA==",
|
||||
"version": "5.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.10.1.tgz",
|
||||
"integrity": "sha512-uv9lLAnEFRzwUTN/y9lVVXVXlEzazDkelJtM5u92PsGkEasmdI+sfzhZHxSDzlhZVTrlLfuMh2safMr8YmzXLg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.9.2",
|
||||
"@types/testing-library__jest-dom": "^5.9.1",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"@reach/router": "^1.3.3",
|
||||
"@rehooks/local-storage": "^2.4.0",
|
||||
"@sendou/react-sketch": "^0.5.2",
|
||||
"@testing-library/jest-dom": "^5.10.0",
|
||||
"@testing-library/jest-dom": "^5.10.1",
|
||||
"@testing-library/react": "^10.2.1",
|
||||
"@testing-library/user-event": "^11.4.2",
|
||||
"@types/jest": "^26.0.0",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ const typeDef = gql`
|
|||
}
|
||||
|
||||
extend type User {
|
||||
team: Team
|
||||
team: ID
|
||||
}
|
||||
|
||||
type Founded {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
const { UserInputError, gql } = require("apollo-server-express")
|
||||
const User = require("../mongoose-models/user")
|
||||
const Player = require("../mongoose-models/player")
|
||||
const Team = require("../mongoose-models/team")
|
||||
const countries = require("../utils/countries")
|
||||
const weapons = require("../utils/weapons")
|
||||
const mockUser = require("../utils/mocks")
|
||||
|
|
@ -53,6 +54,26 @@ const typeDef = gql`
|
|||
top500: Boolean!
|
||||
}
|
||||
`
|
||||
|
||||
const recalculateTeamsCountries = async (team, newCountry, discordIdToSkip) => {
|
||||
const newCountries = new Set()
|
||||
newCountries.add(newCountry)
|
||||
for (const member of team.members) {
|
||||
if (member.discordId === discordIdToSkip) {
|
||||
continue
|
||||
}
|
||||
const user = await User.findOne({ discord_id: member.discordId })
|
||||
console.log("user.id", user.id)
|
||||
console.log("user.country", user.country)
|
||||
if (user.country) newCountries.add(user.country)
|
||||
}
|
||||
|
||||
console.log("newCountries", newCountries)
|
||||
team.countries = Array.from(newCountries)
|
||||
|
||||
await team.save()
|
||||
}
|
||||
|
||||
const resolvers = {
|
||||
User: {
|
||||
top500: async (root) => {
|
||||
|
|
@ -91,7 +112,7 @@ const resolvers = {
|
|||
Query: {
|
||||
user: (root, args, ctx) => {
|
||||
if (process.env.LOGGED_IN) {
|
||||
return { user: mockUser }
|
||||
return mockUser
|
||||
}
|
||||
return ctx.user
|
||||
},
|
||||
|
|
@ -123,7 +144,7 @@ const resolvers = {
|
|||
Mutation: {
|
||||
updateUser: async (root, args, ctx) => {
|
||||
if (!ctx.user) throw new AuthenticationError("not authenticated")
|
||||
if (args.country)
|
||||
if (args.country) {
|
||||
if (
|
||||
countries
|
||||
.map((countryObj) => countryObj.code)
|
||||
|
|
@ -134,6 +155,25 @@ const resolvers = {
|
|||
})
|
||||
}
|
||||
|
||||
if (ctx.user.team) {
|
||||
const team = await Team.findById(ctx.user.team)
|
||||
|
||||
if (ctx.user.country && ctx.user.country !== args.country) {
|
||||
// triggered if user is changing their country - shouldn't happen too often at all
|
||||
await recalculateTeamsCountries(
|
||||
team,
|
||||
args.country,
|
||||
ctx.user.discord_id
|
||||
)
|
||||
} else {
|
||||
const countries = team.countries || []
|
||||
if (!countries.includes(args.country)) countries.push(args.country)
|
||||
team.countries = countries
|
||||
await team.save()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (args.stick_sens !== null) {
|
||||
const number = Math.floor(args.stick_sens * 10)
|
||||
if (number < -50 || number > 50 || number % 5 != 0) {
|
||||
|
|
|
|||
120
package-lock.json
generated
120
package-lock.json
generated
|
|
@ -40,9 +40,12 @@
|
|||
}
|
||||
},
|
||||
"@apollographql/graphql-playground-html": {
|
||||
"version": "1.6.24",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.24.tgz",
|
||||
"integrity": "sha512-8GqG48m1XqyXh4mIZrtB5xOhUwSsh1WsrrsaZQOEYYql3YN9DEu9OOSg0ILzXHZo/h2Q74777YE4YzlArQzQEQ=="
|
||||
"version": "1.6.26",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.26.tgz",
|
||||
"integrity": "sha512-XAwXOIab51QyhBxnxySdK3nuMEUohhDsHQ5Rbco/V1vjlP75zZ0ZLHD9dTpXTN8uxKxopb2lUvJTq+M4g2Q0HQ==",
|
||||
"requires": {
|
||||
"xss": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
|
|
@ -391,9 +394,9 @@
|
|||
}
|
||||
},
|
||||
"apollo-engine-reporting": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-2.0.0.tgz",
|
||||
"integrity": "sha512-FvNwORsh3nxEfvQqd2xbd468a0q/R3kYar/Bk6YQdBX5qwqUhqmOcOSxLFk8Zb77HpwHij5CPpPWJb53TU1zcA==",
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-2.0.1.tgz",
|
||||
"integrity": "sha512-3OYYk7DqNuJ5xKYnyLy5O2n506jYSryim8WqzBTn9MRphRamwPFjHYQm+akPA60AubXrWnYa6A8euMAiQU0ttA==",
|
||||
"requires": {
|
||||
"apollo-engine-reporting-protobuf": "^0.5.1",
|
||||
"apollo-graphql": "^0.4.0",
|
||||
|
|
@ -446,12 +449,12 @@
|
|||
}
|
||||
},
|
||||
"apollo-server": {
|
||||
"version": "2.14.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-2.14.3.tgz",
|
||||
"integrity": "sha512-F2fsJa0YXkgKapsUmPOMXW+9HQaXF3EEP/iGmOcIVll3zBCkEzwEVv6w9/EIlpEw1KCm6uemYN1lMNs7fYTQsw==",
|
||||
"version": "2.14.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-2.14.4.tgz",
|
||||
"integrity": "sha512-5RRs/UnzZMK+QGqCE8Wyfy5vNBFPmweFlkMRs966pM+6orN/g2GxxypKRsGa2rit2Wz0wki8vw+MjI80t2lPvg==",
|
||||
"requires": {
|
||||
"apollo-server-core": "^2.14.3",
|
||||
"apollo-server-express": "^2.14.3",
|
||||
"apollo-server-core": "^2.14.4",
|
||||
"apollo-server-express": "^2.14.4",
|
||||
"express": "^4.0.0",
|
||||
"graphql-subscriptions": "^1.0.0",
|
||||
"graphql-tools": "^4.0.0"
|
||||
|
|
@ -466,17 +469,17 @@
|
|||
}
|
||||
},
|
||||
"apollo-server-core": {
|
||||
"version": "2.14.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.14.3.tgz",
|
||||
"integrity": "sha512-A9RkWuHFZ04uEnXof5V02T7wfhUel7Hx9LpEN4N59mXTpb7ewW+cb0u+J+SP+Y4vDhVqaHCGoveRVKy6X2kLhw==",
|
||||
"version": "2.14.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.14.4.tgz",
|
||||
"integrity": "sha512-aAfsvbJ2YrqAXDBgcBQocOmQJ5DkeOnEYQ6ADdkkDNU68V5yBRkAHLTOzPfbUlGHVrnOH8PT1FIVWwu5mBgkVA==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.4.3",
|
||||
"@apollographql/graphql-playground-html": "1.6.24",
|
||||
"@apollographql/graphql-playground-html": "1.6.26",
|
||||
"@types/graphql-upload": "^8.0.0",
|
||||
"@types/ws": "^7.0.0",
|
||||
"apollo-cache-control": "^0.11.0",
|
||||
"apollo-datasource": "^0.7.1",
|
||||
"apollo-engine-reporting": "^2.0.0",
|
||||
"apollo-engine-reporting": "^2.0.1",
|
||||
"apollo-server-caching": "^0.5.1",
|
||||
"apollo-server-env": "^2.4.4",
|
||||
"apollo-server-errors": "^2.4.1",
|
||||
|
|
@ -484,7 +487,7 @@
|
|||
"apollo-server-types": "^0.5.0",
|
||||
"apollo-tracing": "^0.11.0",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"graphql-extensions": "^0.12.2",
|
||||
"graphql-extensions": "^0.12.3",
|
||||
"graphql-tag": "^2.9.2",
|
||||
"graphql-tools": "^4.0.0",
|
||||
"graphql-upload": "^8.0.2",
|
||||
|
|
@ -509,17 +512,17 @@
|
|||
"integrity": "sha512-7oEd6pUxqyWYUbQ9TA8tM0NU/3aGtXSEibo6+txUkuHe7QaxfZ2wHRp+pfT1LC1K3RXYjKj61/C2xEO19s3Kdg=="
|
||||
},
|
||||
"apollo-server-express": {
|
||||
"version": "2.14.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.14.3.tgz",
|
||||
"integrity": "sha512-35PZXG6sQYB0YT+TBZ5KRxyWqknVnevuHyPG5XSAhMtWsVF2ySMzRPs6JdQTi0p2jlFTo5pt4P6FT3hRu0EFUw==",
|
||||
"version": "2.14.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.14.4.tgz",
|
||||
"integrity": "sha512-g0ml0NGmghvJhTiXMR0HqDD8eTz77zdgzDG2XoqNoRehtVIsZq8fmKTagVt9cUKCKKiBPUF+4tqAGD9lnprUdw==",
|
||||
"requires": {
|
||||
"@apollographql/graphql-playground-html": "1.6.24",
|
||||
"@apollographql/graphql-playground-html": "1.6.26",
|
||||
"@types/accepts": "^1.3.5",
|
||||
"@types/body-parser": "1.19.0",
|
||||
"@types/cors": "^2.8.4",
|
||||
"@types/express": "4.17.4",
|
||||
"accepts": "^1.3.5",
|
||||
"apollo-server-core": "^2.14.3",
|
||||
"apollo-server-core": "^2.14.4",
|
||||
"apollo-server-types": "^0.5.0",
|
||||
"body-parser": "^1.18.3",
|
||||
"cors": "^2.8.4",
|
||||
|
|
@ -868,6 +871,11 @@
|
|||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
||||
},
|
||||
"compressible": {
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
|
||||
|
|
@ -1037,6 +1045,11 @@
|
|||
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
|
||||
"dev": true
|
||||
},
|
||||
"cssfilter": {
|
||||
"version": "0.0.10",
|
||||
"resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz",
|
||||
"integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4="
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
|
|
@ -1153,21 +1166,21 @@
|
|||
}
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.17.5",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
|
||||
"integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
|
||||
"version": "1.17.6",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
|
||||
"integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.1.5",
|
||||
"is-regex": "^1.0.5",
|
||||
"is-callable": "^1.2.0",
|
||||
"is-regex": "^1.1.0",
|
||||
"object-inspect": "^1.7.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"string.prototype.trimleft": "^2.1.1",
|
||||
"string.prototype.trimright": "^2.1.1"
|
||||
"string.prototype.trimend": "^1.0.1",
|
||||
"string.prototype.trimstart": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
|
|
@ -1408,9 +1421,9 @@
|
|||
"integrity": "sha512-0TVyfOlCGhv/DBczQkJmwXOK6fjWkjzY3Pt7wY8i0gcYXq8aogG3weCsg48m72lywKSeOqedEHvVPOvZvSD51Q=="
|
||||
},
|
||||
"graphql-extensions": {
|
||||
"version": "0.12.2",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.2.tgz",
|
||||
"integrity": "sha512-vFaZua5aLiCOOzxfY5qzHZ6S52BCqW7VVOwzvV52Wb5edRm3dn6u+1MR9yYyEqUHSf8LvdhEojYlOkKiaQ4ghA==",
|
||||
"version": "0.12.3",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.3.tgz",
|
||||
"integrity": "sha512-W7iT0kzlwTiZU7fXfw9IgWnsqVj7EFLd0/wVcZZRAbR8L3f4+YsGls0oxKdsrvYBnbG347BXKQmIyo6GTEk4XA==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.4.3",
|
||||
"apollo-server-env": "^2.4.4",
|
||||
|
|
@ -1834,13 +1847,13 @@
|
|||
}
|
||||
},
|
||||
"mongoose": {
|
||||
"version": "5.9.18",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.18.tgz",
|
||||
"integrity": "sha512-agZbIuQcN1gZ12BJn6KesA+bgsvoLVjCwhfPw88hggxX8O24SWK4EJwN35GEZKDej9AHUZKNAPgmdeXCVQxviA==",
|
||||
"version": "5.9.19",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.19.tgz",
|
||||
"integrity": "sha512-wJ5FR2ykvyd17MRHA6sku/N1CMaC/kf4CnN357htD48RpzJhW60YDkxPSPLbkLg8Woa+i7jYi0glhzC0EcBcRQ==",
|
||||
"requires": {
|
||||
"bson": "^1.1.4",
|
||||
"kareem": "2.3.1",
|
||||
"mongodb": "3.5.8",
|
||||
"mongodb": "3.5.9",
|
||||
"mongoose-legacy-pluralize": "1.0.2",
|
||||
"mpath": "0.7.0",
|
||||
"mquery": "3.2.2",
|
||||
|
|
@ -1857,9 +1870,9 @@
|
|||
"integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q=="
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.8.tgz",
|
||||
"integrity": "sha512-jz7mR58z66JKL8Px4ZY+FXbgB7d0a0hEGCT7kw8iye46/gsqPrOEpZOswwJ2BQlfzsrCLKdsF9UcaUfGVN2HrQ==",
|
||||
"version": "3.5.9",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.9.tgz",
|
||||
"integrity": "sha512-vXHBY1CsGYcEPoVWhwgxIBeWqP3dSu9RuRDsoLRPTITrcrgm1f0Ubu1xqF9ozMwv53agmEiZm0YGo+7WL3Nbug==",
|
||||
"requires": {
|
||||
"bl": "^2.2.0",
|
||||
"bson": "^1.1.4",
|
||||
|
|
@ -2511,26 +2524,6 @@
|
|||
"es-abstract": "^1.17.5"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimleft": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
|
||||
"integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.5",
|
||||
"string.prototype.trimstart": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimright": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
|
||||
"integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.5",
|
||||
"string.prototype.trimend": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimstart": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
|
||||
|
|
@ -2824,6 +2817,15 @@
|
|||
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
|
||||
"dev": true
|
||||
},
|
||||
"xss": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/xss/-/xss-1.0.7.tgz",
|
||||
"integrity": "sha512-A9v7tblGvxu8TWXQC9rlpW96a+LN1lyw6wyhpTmmGW+FwRMactchBR3ROKSi33UPCUcUHSu8s9YP6F+K3Mw//w==",
|
||||
"requires": {
|
||||
"commander": "^2.20.3",
|
||||
"cssfilter": "0.0.10"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
"author": "Sendou",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"apollo-server": "^2.14.3",
|
||||
"apollo-server-express": "^2.14.3",
|
||||
"apollo-server": "^2.14.4",
|
||||
"apollo-server-express": "^2.14.4",
|
||||
"axios": "^0.19.2",
|
||||
"btoa": "^1.2.1",
|
||||
"compression": "^1.7.4",
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"express-session": "^1.17.1",
|
||||
"graphql": "^15.1.0",
|
||||
"lodash": "^4.17.15",
|
||||
"mongoose": "^5.9.18",
|
||||
"mongoose": "^5.9.19",
|
||||
"mongoose-unique-validator": "^2.0.3",
|
||||
"node-fetch": "^2.6.0",
|
||||
"passport": "^0.4.1",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
const mockUser = {
|
||||
_id: "5cee8f73d1120d4315c55011",
|
||||
id: "5cee8f73d1120d4315c55011",
|
||||
//team: "5e3ecc0ea7dd3830303eaaa7",
|
||||
//id: "5cee8f73d1120d4315c55011",
|
||||
team: "5ee60f1fff81d717ecae4bb1",
|
||||
discord_id: "79237403620945920",
|
||||
__v: 0,
|
||||
avatar: "a22c9557975494f859242aaf9b317058",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user