From a11f3c04096f9019ce0cee11e853ea98d92afc45 Mon Sep 17 00:00:00 2001 From: CyberL1 Date: Tue, 12 Nov 2024 13:48:52 +0100 Subject: [PATCH] fix: return user profile theme colors as numbers --- .eslintrc | 14 --------- eslint.config.mjs | 45 ++++++++++++++++++++++++++++ package-lock.json | Bin 402195 -> 403087 bytes package.json | 3 ++ src/api/routes/users/#id/profile.ts | 4 +-- 5 files changed, 50 insertions(+), 16 deletions(-) delete mode 100644 .eslintrc create mode 100644 eslint.config.mjs diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 40eac134..00000000 --- a/.eslintrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "root": true, - "rules": { - "no-mixed-spaces-and-tabs": "off", - "@typescript-eslint/no-inferrable-types": "off", // Required by typeorm - "@typescript-eslint/no-var-requires": "off" // Sometimes requred by typeorm to resolve circular deps - }, - "env": { - "node": true - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..0d6cfbba --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,45 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import globals from "globals"; +import tsParser from "@typescript-eslint/parser"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [{ + ignores: [ + "**/node_modules", + "**/dist", + "**/README.md", + "**/COPYING", + "src/webrtc", + "**/scripts/", + "**/assets", + ], +}, ...compat.extends("eslint:recommended", "plugin:@typescript-eslint/recommended"), { + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: tsParser, + }, + + rules: { + "no-mixed-spaces-and-tabs": "off", + "@typescript-eslint/no-inferrable-types": "off", + "@typescript-eslint/no-var-requires": "off", + }, +}]; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9d91c0e6b59f6093c6391fb14a88a9b548b01929..c8f04aa5561f41f56537e087c303188084eb5181 100644 GIT binary patch delta 373 zcmV-*0gC>U#u$&y7_i(0m(U^t2A4=111Sk!IW93YE-)f2v(*JS0~2R#Z(?C=b0Rt* zB3>~yE-^ALFtY^->87_ek^_$cv(T>_0|7LX;fXPm?xF__YI83wFKTlwIW93YlMz!P zRd7acMRZ12Lr{4{Pi!kgHc4i5D|bUTQg1jpZ**#DXG3N+c4Ku{aaU(?PE%20QgU!= zQ+8x!MK*6{OnNkANNss|L^WnNXGvs7R5UAaGd4^%RCkwQ^8qiH;4cC`lldnXldrW0 zgE6#+F|+}YkF-?Xfi~2W?FYlWOplSHg8myv9tv*mwH1+yRqECaJ=3E`%f9`XYQmt5@wBC{Q`)dH8N8v`+u zaGwXajwS;J0fR8MhcLDQw=lK>1#p*KO9B_Szb69>ZnI>ta{-4ymjj1Dmjt&!mjzFc DAF(7C diff --git a/package.json b/package.json index b87dc6fc..c2f3536d 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,8 @@ }, "homepage": "https://spacebar.chat", "devDependencies": { + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.14.0", "@types/amqplib": "^0.10.5", "@types/bcrypt": "^5.0.2", "@types/body-parser": "^1.19.5", @@ -61,6 +63,7 @@ "@typescript-eslint/parser": "^8.12.2", "eslint": "^9.13.0", "express": "^4.21.1", + "globals": "^15.12.0", "husky": "^9.1.6", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", diff --git a/src/api/routes/users/#id/profile.ts b/src/api/routes/users/#id/profile.ts index 44271cad..ffae3b17 100644 --- a/src/api/routes/users/#id/profile.ts +++ b/src/api/routes/users/#id/profile.ts @@ -82,7 +82,7 @@ router.get( ? await Member.findOneOrFail({ where: { id: req.params.id, guild_id: guild_id }, relations: ["roles"], - }) + }) : undefined; // TODO: make proper DTO's in util? @@ -92,7 +92,7 @@ router.get( accent_color: user.accent_color, banner: user.banner, pronouns: user.pronouns, - theme_colors: user.theme_colors, + theme_colors: user.theme_colors?.map((t) => Number(t)), // these are strings for some reason, they should be numbers }; const guildMemberProfile = {