Update schemas for profile customisation
1 files changed, 25 insertions, 1 deletions
diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index 187862f1..469dddef 100644
--- a/src/api/routes/users/@me/index.ts
+++ b/src/api/routes/users/@me/index.ts
@@ -20,7 +20,7 @@ import { route } from "@spacebar/api";
import { Config, emitEvent, FieldErrors, generateToken, handleFile, User, UserUpdateEvent } from "@spacebar/util";
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { PrivateUserProjection, UserModifySchema } from "@spacebar/schemas";
+import { DisplayNameStyle, PrivateUserProjection, UserModifySchema } from "@spacebar/schemas";
const router: Router = Router({ mergeParams: true });
@@ -191,6 +191,30 @@ router.patch(
}
}
+ if ("display_name_font_id" in body) {
+ if (!body.display_name_font_id) user.display_name_styles = undefined;
+ else {
+ user.display_name_styles ??= {} as unknown as DisplayNameStyle;
+ user.display_name_styles!.font_id = body.display_name_font_id;
+ }
+ }
+
+ if ("display_name_effect_id" in body) {
+ if (!body.display_name_effect_id) user.display_name_styles = undefined;
+ else {
+ user.display_name_styles ??= {} as unknown as DisplayNameStyle;
+ user.display_name_styles!.effect_id = body.display_name_effect_id;
+ }
+ }
+
+ if ("display_name_colors" in body) {
+ if (!body.display_name_colors) user.display_name_styles = undefined;
+ else {
+ user.display_name_styles ??= {} as unknown as DisplayNameStyle;
+ user.display_name_styles!.colors = body.display_name_colors;
+ }
+ }
+
user.assign(body);
user.validate();
await user.save();
|