diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts index beef662bb..3a9724242 100644 --- a/src/api/routes/users/@me/settings.ts +++ b/src/api/routes/users/@me/settings.ts @@ -19,7 +19,7 @@ import { route } from "@spacebar/api"; import { User, UserSettings } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import { UserSettingsUpdateSchema, UserSettingsSchema } from "@spacebar/schemas" +import { UserSettingsUpdateSchema, UserSettingsSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); @@ -36,7 +36,7 @@ router.get( }, }), async (req: Request, res: Response) => { - const settings = await UserSettings.getOrDefault(req.user_id) + const settings = await UserSettings.getOrDefault(req.user_id); return res.json(settings); }, ); @@ -67,13 +67,10 @@ router.patch( relations: ["settings"], }); - if (!user.settings) - user.settings = UserSettings.create(body as UserSettingsUpdateSchema); - else - user.settings.assign(body); + if (!user.settings) user.settings = UserSettings.create(body); + else user.settings.assign(body); - if (body.guild_folders) - user.settings.guild_folders = body.guild_folders; + if (body.guild_folders) user.settings.guild_folders = body.guild_folders; await user.settings.save(); await user.save(); diff --git a/src/util/util/FieldError.ts b/src/util/util/FieldError.ts index a99a04860..83d6051ce 100644 --- a/src/util/util/FieldError.ts +++ b/src/util/util/FieldError.ts @@ -31,7 +31,7 @@ export function FieldErrors(fields: Record(({ message, code }) => ({ + Object.values(fields).map(({ message, code }) => ({ _errors: [ { message, @@ -39,7 +39,7 @@ export function FieldErrors(fields: Record { - it("map", async () => { - const obj = { a: 1, b: 2, c: 3 }; - const result = obj.map((value, key) => `${key}:${value}`); - assert.deepEqual(result, { a: "a:1", b: "b:2", c: "c:3" }); - }); -}); diff --git a/src/util/util/extensions/Object.ts b/src/util/util/extensions/Object.ts deleted file mode 100644 index 894fbba31..000000000 --- a/src/util/util/extensions/Object.ts +++ /dev/null @@ -1,25 +0,0 @@ -declare global { - interface Object { - map(callback: (value: SV, key: string, object: { [index: string]: SV }) => TV): { [index: string]: TV }; - } -} - -export function objectMap(srcObj: { [index: string]: SV }, callback: (value: SV, key: string, object: { [index: string]: SV }) => TV): { [index: string]: TV } { - if (typeof callback !== "function") throw new TypeError(`${callback} is not a function`); - const obj: { [index: string]: TV } = {}; - Object.keys(srcObj).forEach((key) => { - obj[key] = callback(srcObj[key], key, srcObj); - }); - return obj; -} - -if (!Object.prototype.map) - Object.defineProperty(Object.prototype, "map", { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - value: function (cb) { - return objectMap(this, cb); - }, - enumerable: false, - writable: true, - }); diff --git a/src/util/util/extensions/index.ts b/src/util/util/extensions/index.ts index e006591f8..6d9ed8de1 100644 --- a/src/util/util/extensions/index.ts +++ b/src/util/util/extensions/index.ts @@ -1,5 +1,4 @@ export * from "./Array"; export * from "./Math"; export * from "./Url"; -export * from "./Object"; -export * from "./String"; \ No newline at end of file +export * from "./String";