summary refs log tree commit diff
path: root/src/routes/guilds
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-04-07 03:03:27 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-04-07 03:03:27 +0200
commitb32beb0b9c9f19a3444d87aa7369912e54befa90 (patch)
tree5b473c39b023a0cff92338f2a2314fd5def966f9 /src/routes/guilds
parent:loud_sound: log gateway events (diff)
downloadserver-b32beb0b9c9f19a3444d87aa7369912e54befa90.tar.xz
:bug: fix lean not working with virtuals
Diffstat (limited to 'src/routes/guilds')
-rw-r--r--src/routes/guilds/#id/bans.ts6
-rw-r--r--src/routes/guilds/#id/channels.ts13
-rw-r--r--src/routes/guilds/#id/members.ts5
3 files changed, 13 insertions, 11 deletions
diff --git a/src/routes/guilds/#id/bans.ts b/src/routes/guilds/#id/bans.ts

index e66ae3d4..5ac92154 100644 --- a/src/routes/guilds/#id/bans.ts +++ b/src/routes/guilds/#id/bans.ts
@@ -1,5 +1,5 @@ import { Request, Response, Router } from "express"; -import { BanModel, getPermission, GuildBanAddEvent, GuildBanRemoveEvent, GuildModel } from "fosscord-server-util"; +import { BanModel, getPermission, GuildBanAddEvent, GuildBanRemoveEvent, GuildModel, toObject } from "fosscord-server-util"; import { HTTPError } from "lambert-server"; import { getIpAdress } from "../../../middlewares/GlobalRateLimit"; import { BanCreateSchema } from "../../../schema/Ban"; @@ -16,8 +16,8 @@ router.get("/", async (req: Request, res: Response) => { const guild = await GuildModel.findOne({ id: guild_id }).exec(); if (!guild) throw new HTTPError("Guild not found", 404); - var bans = await BanModel.find({ guild_id: guild_id }).lean().exec(); - return res.json(bans); + var bans = await BanModel.find({ guild_id: guild_id }).exec(); + return res.json(toObject(bans)); }); router.get("/:user", async (req: Request, res: Response) => { diff --git a/src/routes/guilds/#id/channels.ts b/src/routes/guilds/#id/channels.ts
index cd03fdbb..b949def0 100644 --- a/src/routes/guilds/#id/channels.ts +++ b/src/routes/guilds/#id/channels.ts
@@ -1,19 +1,20 @@ import { Router } from "express"; -import { ChannelModel, ChannelType, GuildModel, Snowflake } from "fosscord-server-util"; +import { ChannelCreateEvent, ChannelModel, ChannelType, GuildModel, Snowflake, toObject } from "fosscord-server-util"; import { HTTPError } from "lambert-server"; import { ChannelModifySchema } from "../../../schema/Channel"; +import { emitEvent } from "../../../util/Event"; import { check } from "../../../util/instanceOf"; const router = Router(); router.get("/", async (req, res) => { - const guild_id = (req.params.id); - const channels = await ChannelModel.find({ guild_id }).lean().exec(); + const guild_id = req.params.id; + const channels = await ChannelModel.find({ guild_id }).exec(); - res.json(channels); + res.json(toObject(channels)); }); router.post("/", check(ChannelModifySchema), async (req, res) => { - const guild_id = (req.params.id); + const guild_id = req.params.id; const body = req.body as ChannelModifySchema; if (!body.permission_overwrites) body.permission_overwrites = []; if (!body.topic) body.topic = ""; @@ -45,6 +46,8 @@ router.post("/", check(ChannelModifySchema), async (req, res) => { }; await new ChannelModel(channel).save(); + await emitEvent({ event: "CHANNEL_CREATE", data: channel, guild_id } as ChannelCreateEvent); + res.json(channel); }); diff --git a/src/routes/guilds/#id/members.ts b/src/routes/guilds/#id/members.ts
index f95bd313..1c3cb33d 100644 --- a/src/routes/guilds/#id/members.ts +++ b/src/routes/guilds/#id/members.ts
@@ -1,5 +1,5 @@ import { Request, Response, Router } from "express"; -import { GuildModel, MemberModel } from "fosscord-server-util"; +import { GuildModel, MemberModel, toObject } from "fosscord-server-util"; import { HTTPError } from "lambert-server"; import { instanceOf, Length } from "../../../util/instanceOf"; import { PublicMemberProjection } from "../../../util/Member"; @@ -32,10 +32,9 @@ router.get("/", async (req: Request, res: Response) => { var members = await MemberModel.find({ guild_id, ...query }, PublicMemberProjection) .limit(limit) .populate({ path: "user", select: PublicUserProjection }) - .lean() .exec(); - return res.json(members); + return res.json(toObject(members)); }); router.get("/:member", async (req: Request, res: Response) => {