diff --git a/api/package-lock.json b/api/package-lock.json
index 0a9af8e0..276ae72a 100644
--- a/api/package-lock.json
+++ b/api/package-lock.json
@@ -1,7 +1,7 @@
{
"name": "@fosscord/api",
"version": "1.0.0",
- "lockfileVersion": 2,
+ "lockfileVersion": 1,
"requires": true,
"packages": {
"": {
@@ -11083,54 +11083,57 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
"integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
"dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "requires": {
+ "ajv": "^6.9.2",
+ "browserify": "^16.2.3",
+ "concat-stream": "^1.5.2",
+ "d3-fg": "^6.14.0",
+ "debounce": "^1.2.0",
+ "debug": "^4.1.1",
+ "end-of-stream": "^1.1.0",
+ "env-string": "^1.0.0",
+ "escape-string-regexp": "^1.0.5",
+ "execspawn": "^1.0.1",
+ "has-unicode": "^2.0.1",
+ "hsl-to-rgb-for-reals": "^1.1.0",
+ "jsonstream2": "^1.1.2",
+ "make-dir": "^1.3.0",
+ "minimist": "^1.2.0",
+ "morphdom": "^2.3.3",
+ "nanohtml": "^1.4.0",
+ "on-net-listen": "^1.1.0",
+ "opn": "^5.4.0",
+ "perf-sym": "^2.0.3",
+ "pump": "^3.0.0",
+ "pumpify": "^1.4.0",
+ "semver": "^5.5.1",
+ "single-line-log": "^1.0.1",
+ "split2": "^3.1.0",
+ "tachyons": "^4.9.1",
+ "through2": "^2.0.5",
+ "which": "^1.2.4"
},
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/zip-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
- "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
- "dev": true,
"dependencies": {
- "archiver-utils": "^2.1.0",
- "compress-commons": "^4.1.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">= 10"
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ }
}
},
- "node_modules/zip-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- }
- },
- "dependencies": {
"@babel/code-frame": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
@@ -11603,9 +11606,9 @@
}
},
"@fosscord/server-util": {
- "version": "1.3.52",
- "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.52.tgz",
- "integrity": "sha512-DPHlyALxFgT/WuC7FSQ0Wc90P/fXeRGopybXNtk9/SzS5/txj9qhyhAWWJfSbEf43Ngu5RIyBdTk11C6Je+grA==",
+ "version": "1.3.55",
+ "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.55.tgz",
+ "integrity": "sha512-3qcII5tLQJawNVmO2GSGYeY7IFu00hLTPn6G902h1x+AN7SfpIEDglBtWPlMl6dgryi0jpMtQaEna3jFt8l1JQ==",
"requires": {
"@types/jsonwebtoken": "^8.5.0",
"@types/mongoose-autopopulate": "^0.10.1",
@@ -12306,60 +12309,14 @@
"@zerollup/ts-helpers": "^1.7.18"
}
},
- "0x": {
- "version": "4.10.2",
- "resolved": "https://registry.npmjs.org/0x/-/0x-4.10.2.tgz",
- "integrity": "sha512-LXTa7LgSDOns5VsdyMSNTkrXqMZ1cLuPqehojM96WFO9+L2XjmKKTayKi++38CevR1QrjF4EqGDN98oxNhf5uQ==",
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
"dev": true,
"requires": {
- "ajv": "^6.9.2",
- "browserify": "^16.2.3",
- "concat-stream": "^1.5.2",
- "d3-fg": "^6.14.0",
- "debounce": "^1.2.0",
- "debug": "^4.1.1",
- "end-of-stream": "^1.1.0",
- "env-string": "^1.0.0",
- "escape-string-regexp": "^1.0.5",
- "execspawn": "^1.0.1",
- "has-unicode": "^2.0.1",
- "hsl-to-rgb-for-reals": "^1.1.0",
- "jsonstream2": "^1.1.2",
- "make-dir": "^1.3.0",
- "minimist": "^1.2.0",
- "morphdom": "^2.3.3",
- "nanohtml": "^1.4.0",
- "on-net-listen": "^1.1.0",
- "opn": "^5.4.0",
- "perf-sym": "^2.0.3",
- "pump": "^3.0.0",
- "pumpify": "^1.4.0",
- "semver": "^5.5.1",
- "single-line-log": "^1.0.1",
- "split2": "^3.1.0",
- "tachyons": "^4.9.1",
- "through2": "^2.0.5",
- "which": "^1.2.4"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- }
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
}
},
"abab": {
@@ -12946,9 +12903,9 @@
"integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
"dev": true,
"requires": {
+ "JSONStream": "^1.0.3",
"combine-source-map": "~0.8.0",
"defined": "^1.0.0",
- "JSONStream": "^1.0.3",
"safe-buffer": "^5.1.1",
"through2": "^2.0.0",
"umd": "^3.0.0"
@@ -12975,6 +12932,7 @@
"integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==",
"dev": true,
"requires": {
+ "JSONStream": "^1.0.3",
"assert": "^1.4.0",
"browser-pack": "^6.0.1",
"browser-resolve": "^2.0.0",
@@ -12996,7 +12954,6 @@
"https-browserify": "^1.0.0",
"inherits": "~2.0.1",
"insert-module-globals": "^7.0.0",
- "JSONStream": "^1.0.3",
"labeled-stream-splicer": "^2.0.0",
"mkdirp-classic": "^0.5.2",
"module-deps": "^6.2.3",
@@ -14770,8 +14727,7 @@
"express-async-errors": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/express-async-errors/-/express-async-errors-3.1.1.tgz",
- "integrity": "sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng==",
- "requires": {}
+ "integrity": "sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng=="
},
"express-validator": {
"version": "6.12.1",
@@ -15482,11 +15438,11 @@
"integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
"dev": true,
"requires": {
+ "JSONStream": "^1.0.3",
"acorn-node": "^1.5.2",
"combine-source-map": "^0.8.0",
"concat-stream": "^1.6.1",
"is-buffer": "^1.1.0",
- "JSONStream": "^1.0.3",
"path-is-absolute": "^1.0.1",
"process": "~0.11.0",
"through2": "^2.0.0",
@@ -16015,8 +15971,7 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
"integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"jest-regex-util": {
"version": "26.0.0",
@@ -16335,16 +16290,6 @@
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
"dev": true
},
- "JSONStream": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
- "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
- "dev": true,
- "requires": {
- "jsonparse": "^1.2.0",
- "through": ">=2.2.7 <3"
- }
- },
"jsonstream2": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/jsonstream2/-/jsonstream2-1.1.2.tgz",
@@ -16665,8 +16610,7 @@
"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==",
- "devOptional": true
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
},
"merge-descriptors": {
"version": "1.0.1",
@@ -16833,6 +16777,7 @@
"integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
"dev": true,
"requires": {
+ "JSONStream": "^1.0.3",
"browser-resolve": "^2.0.0",
"cached-path-relative": "^1.0.2",
"concat-stream": "~1.6.0",
@@ -16840,7 +16785,6 @@
"detective": "^5.2.0",
"duplexer2": "^0.1.2",
"inherits": "^2.0.1",
- "JSONStream": "^1.0.3",
"parents": "^1.0.0",
"readable-stream": "^2.0.2",
"resolve": "^1.4.0",
@@ -16915,20 +16859,17 @@
"mongoose-autopopulate": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/mongoose-autopopulate/-/mongoose-autopopulate-0.12.3.tgz",
- "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw==",
- "requires": {}
+ "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw=="
},
"mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
- "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
- "requires": {}
+ "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
},
"mongoose-long": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.3.2.tgz",
- "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA==",
- "requires": {}
+ "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA=="
},
"morphdom": {
"version": "2.6.1",
@@ -17421,9 +17362,9 @@
}
},
"optional-require": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.5.tgz",
- "integrity": "sha512-PtR4HkBxH0Rpethop3qeZY+8gaXjN4+Ik9AJraOU+AQFm6v9rP34xQrQqJD9hNMB76UYxN3ziGExdtkB5C1TUg==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.7.tgz",
+ "integrity": "sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==",
"requires": {
"require-at": "^1.0.6"
}
@@ -18059,22 +18000,6 @@
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
- "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="
- }
- }
- },
"require-at": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
@@ -18097,6 +18022,22 @@
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dev": true
},
+ "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="
+ }
+ }
+ },
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -18430,7 +18371,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
"integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
- "devOptional": true,
"requires": {
"sparse-bitfield": "^3.0.3"
}
@@ -18858,7 +18798,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
- "devOptional": true,
"requires": {
"memory-pager": "^1.0.2"
}
@@ -19097,15 +19036,6 @@
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
},
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
"string-length": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
@@ -19141,6 +19071,15 @@
}
}
},
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
@@ -20015,8 +19954,7 @@
"version": "7.5.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
"integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"xml-name-validator": {
"version": "3.0.0",
diff --git a/api/package.json b/api/package.json
index 96afa82e..c9dd6b1f 100644
--- a/api/package.json
+++ b/api/package.json
@@ -35,7 +35,6 @@
},
"homepage": "https://github.com/fosscord/fosscord-api#readme",
"dependencies": {
- "@fosscord/server-util": "^1.3.52",
"@fosscord/util": "file:../util",
"@types/jest": "^26.0.22",
"@types/json-schema": "^7.0.7",
diff --git a/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts b/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts
index 5784b5d5..e4308364 100644
--- a/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts
+++ b/api/src/routes/guilds/#guild_id/members/#member_id/nick.ts
@@ -17,8 +17,8 @@ router.patch("/", check(MemberNickChangeSchema), async (req: Request, res: Respo
const perms = await getPermission(req.user_id, guild_id);
perms.hasThrow(permissionString);
- await changeNickname(member_id, guild_id, req.body.nickname);
- res.status(204);
+ await changeNickname(member_id, guild_id, req.body.nick);
+ res.status(200).send();
});
export default router;
diff --git a/api/src/schema/Emoji.ts b/api/src/schema/Emoji.ts
new file mode 100644
index 00000000..deaccf5c
--- /dev/null
+++ b/api/src/schema/Emoji.ts
@@ -0,0 +1,14 @@
+// https://discord.com/developers/docs/resources/emoji
+
+
+export const EmojiCreateSchema = {
+ name: String, //name of the emoji
+ image: String, // image data the 128x128 emoji image uri
+ roles: Array //roles allowed to use this emoji
+};
+
+export interface EmojiCreateSchema {
+ name: string; // name of the emoji
+ image: string; // image data the 128x128 emoji image uri
+ roles: []; //roles allowed to use this emoji
+}
diff --git a/api/src/util/Member.ts b/api/src/util/Member.ts
index ee3f64ad..53ff4632 100644
--- a/api/src/util/Member.ts
+++ b/api/src/util/Member.ts
@@ -197,6 +197,7 @@ export async function removeRole(user_id: string, guild_id: string, role_id: str
export async function changeNickname(user_id: string, guild_id: string, nickname: string) {
const user = await getPublicUser(user_id);
+
var memberObj = await MemberModel.findOneAndUpdate(
{
id: user_id,
diff --git a/gateway/src/schema/Identify.ts b/gateway/src/schema/Identify.ts
index 646c5f05..f6d95204 100644
--- a/gateway/src/schema/Identify.ts
+++ b/gateway/src/schema/Identify.ts
@@ -26,6 +26,8 @@ export const IdentifySchema = {
$client_event_source: String,
$client_version: String,
$system_locale: String,
+ $window_manager: String,
+ $distro: String,
},
$presence: ActivitySchema,
$compress: Boolean,
diff --git a/util/package.json b/util/package.json
index c2b08a3d..5ce97669 100644
--- a/util/package.json
+++ b/util/package.json
@@ -1,7 +1,7 @@
{
"name": "@fosscord/util",
- "version": "1.3.52",
- "description": "Utility functions and database models for fosscord",
+ "version": "1.3.55",
+ "description": "Utility functions for the all server repositories",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
diff --git a/util/src/util/Permissions.ts b/util/src/util/Permissions.ts
index 445e901f..63d87e48 100644
--- a/util/src/util/Permissions.ts
+++ b/util/src/util/Permissions.ts
@@ -49,7 +49,7 @@ type PermissionString =
| "MANAGE_NICKNAMES"
| "MANAGE_ROLES"
| "MANAGE_WEBHOOKS"
- | "MANAGE_EMOJIS";
+ | "MANAGE_EMOJIS_AND_STICKERS";
const CUSTOM_PERMISSION_OFFSET = BigInt(1) << BigInt(48); // 16 free custom permission bits, and 16 for discord to add new ones
@@ -87,7 +87,7 @@ export class Permissions extends BitField {
MANAGE_NICKNAMES: BigInt(1) << BigInt(27),
MANAGE_ROLES: BigInt(1) << BigInt(28),
MANAGE_WEBHOOKS: BigInt(1) << BigInt(29),
- MANAGE_EMOJIS: BigInt(1) << BigInt(30),
+ MANAGE_EMOJIS_AND_STICKERS: BigInt(1) << BigInt(30),
/**
* CUSTOM PERMISSIONS ideas:
* - allow user to dm members
|