diff --git a/src/routes/auth/register.ts b/src/routes/auth/register.ts
index 41798552..279103bc 100644
--- a/src/routes/auth/register.ts
+++ b/src/routes/auth/register.ts
@@ -196,6 +196,7 @@ router.post(
username: adjusted_username,
discriminator,
avatar: null,
+ accent_color: null,
bot: false,
system: false,
desktop: false,
diff --git a/src/routes/users/#id/profile.ts b/src/routes/users/#id/profile.ts
new file mode 100644
index 00000000..b86b0b90
--- /dev/null
+++ b/src/routes/users/#id/profile.ts
@@ -0,0 +1,26 @@
+import { Router, Request, Response } from "express";
+import { getPublicUser } from "../../../util/User";
+
+const router: Router = Router();
+
+router.get("/", async (req: Request, res: Response) => {
+ const user = await getPublicUser(req.params.id, { user_data: true })
+
+ res.json({
+ connected_accounts: user.user_data.connected_accounts,
+ premium_guild_since: null, // TODO
+ premium_since: null, // TODO
+ user: {
+ username: user.username,
+ discriminator: user.discriminator,
+ id: user.id,
+ public_flags: user.public_flags,
+ avatar: user.avatar,
+ accent_color: user.accent_color,
+ bio: req.user_bot ? null : user.bio,
+ bot: user.bot,
+ }
+ });
+});
+
+export default router;
diff --git a/src/routes/users/@me/profile.ts b/src/routes/users/@me/profile.ts
new file mode 100644
index 00000000..0d295d05
--- /dev/null
+++ b/src/routes/users/@me/profile.ts
@@ -0,0 +1,26 @@
+import { Router, Request, Response } from "express";
+import { getPublicUser } from "../../../util/User";
+
+const router: Router = Router();
+
+router.get("/", async (req: Request, res: Response) => {
+ const user = await getPublicUser(req.user_id, { user_data: true })
+
+ res.json({
+ connected_accounts: user.user_data.connected_accounts,
+ premium_guild_since: null, // TODO
+ premium_since: null, // TODO
+ user: {
+ username: user.username,
+ discriminator: user.discriminator,
+ id: user.id,
+ public_flags: user.public_flags,
+ avatar: user.avatar,
+ accent_color: user.accent_color,
+ bio: user.bio,
+ bot: user.bot,
+ }
+ });
+});
+
+export default router;
diff --git a/src/schema/User.ts b/src/schema/User.ts
index d5a7b909..ae213ee3 100644
--- a/src/schema/User.ts
+++ b/src/schema/User.ts
@@ -3,11 +3,13 @@ import { Length } from "../util/instanceOf";
export const UserModifySchema = {
$username: new Length(String, 2, 32),
$avatar: String,
- $bio: new Length(String, 0, 190)
+ $bio: new Length(String, 0, 190),
+ $accent_color: Number
};
export interface UserModifySchema {
username?: string;
avatar?: string | null;
bio?: string;
+ accent_color?: number | null;
}
|