diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/index.ts b/api/src/routes/channels/#channel_id/messages/#message_id/index.ts
index 63fee9b9..37734397 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/index.ts
+++ b/api/src/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -135,7 +135,7 @@ router.put(
embeds,
channel_id,
attachments,
- edited_timestamp: undefined,
+ edited_timestamp: null,
timestamp: new Date(snowflake.timestamp),
});
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts
index 849968f9..f3c3503f 100644
--- a/api/src/routes/channels/#channel_id/messages/index.ts
+++ b/api/src/routes/channels/#channel_id/messages/index.ts
@@ -13,7 +13,8 @@ import {
MessageCreateEvent,
Snowflake,
uploadFile,
- Member
+ Member,
+ Role,
} from "@fosscord/util";
import { HTTPError } from "lambert-server";
import { handleMessage, postHandleMessage, route } from "@fosscord/api";
@@ -146,11 +147,11 @@ router.get("/", async (req: Request, res: Response) => {
Some clients ( discord.js ) only check if a property exists within the response,
which causes erorrs when, say, the `application` property is `null`.
**/
-
- for (var curr in x) {
- if (x[curr] === null)
- delete x[curr];
- }
+
+ // for (var curr in x) {
+ // if (x[curr] === null)
+ // delete x[curr];
+ // }
return x;
})
@@ -217,7 +218,7 @@ router.post(
embeds,
channel_id,
attachments,
- edited_timestamp: undefined,
+ edited_timestamp: null,
timestamp: new Date()
});
@@ -244,8 +245,12 @@ router.post(
);
}
- //Fix for the client bug
- delete message.member
+ const member = await Member.findOneOrFail({ where: { id: req.user_id }, relations: ["roles"] });
+ member.roles = member.roles.filter((role: Role) => {
+ return role.id !== role.guild_id;
+ }).map((role: Role) => {
+ return role.id;
+ }) as any;
await Promise.all([
message.save(),
diff --git a/api/src/routes/users/@me/settings.ts b/api/src/routes/users/@me/settings.ts
index b22b72fb..50a00cac 100644
--- a/api/src/routes/users/@me/settings.ts
+++ b/api/src/routes/users/@me/settings.ts
@@ -6,6 +6,14 @@ const router = Router();
export interface UserSettingsSchema extends Partial<UserSettings> {}
+router.get("/", route({}), async (req: Request, res: Response) => {
+ const user = await User.findOneOrFail(
+ { id: req.user_id },
+ { relations: ["settings"] }
+ )
+ return res.json(user.settings);
+});
+
router.patch("/", route({ body: "UserSettingsSchema" }), async (req: Request, res: Response) => {
const body = req.body as UserSettings;
if (body.locale === "en") body.locale = "en-US"; // fix discord client crash on unkown locale
|