diff --git a/gateway/src/listener/listener.ts b/gateway/src/listener/listener.ts
index 16803639..35841312 100644
--- a/gateway/src/listener/listener.ts
+++ b/gateway/src/listener/listener.ts
@@ -116,7 +116,7 @@ async function consume(this: WebSocket, opts: EventOpts) {
.has("VIEW_CHANNEL")
)
return;
- break;
+ //No break needed here, we need to call the listenEvent function below
case "GUILD_CREATE":
this.events[id] = await listenEvent(id, consumer, listenOpts);
break;
@@ -193,16 +193,11 @@ async function consume(this: WebSocket, opts: EventOpts) {
break;
}
- let aa = {
+ Send(this, {
op: OPCODES.Dispatch,
t: event,
d: data,
s: this.sequence++,
- }
-
- //TODO remove before PR merge
- console.log(aa)
-
- Send(this, aa);
+ });
opts.acknowledge?.();
}
diff --git a/util/src/services/ChannelService.ts b/util/src/services/ChannelService.ts
index 8f57a28a..aa021a4a 100644
--- a/util/src/services/ChannelService.ts
+++ b/util/src/services/ChannelService.ts
@@ -84,15 +84,18 @@ export class ChannelService {
return
}
- let channel_dto = null;
+ await emitEvent({
+ event: "CHANNEL_DELETE",
+ data: await DmChannelDTO.from(channel, [user_id]),
+ user_id: user_id
+ });
//If the owner leave we make the first recipient in the list the new owner
if (channel.owner_id === user_id) {
channel.owner_id = channel.recipients!.find(r => r.user_id !== user_id)!.user_id //Is there a criteria to choose the new owner?
- channel_dto = await DmChannelDTO.from(channel, [user_id])
await emitEvent({
event: "CHANNEL_UPDATE",
- data: channel_dto,
+ data: await DmChannelDTO.from(channel, [user_id]),
channel_id: channel.id
});
}
@@ -100,12 +103,6 @@ export class ChannelService {
await channel.save()
await emitEvent({
- event: "CHANNEL_DELETE",
- data: channel_dto !== null ? channel_dto : await DmChannelDTO.from(channel, [user_id]),
- user_id: user_id
- });
-
- await emitEvent({
event: "CHANNEL_RECIPIENT_REMOVE", data: {
channel_id: channel.id,
user: await User.findOneOrFail({ where: { id: user_id }, select: PublicUserProjection })
diff --git a/util/src/util/Event.ts b/util/src/util/Event.ts
index ae296df9..765e5fc7 100644
--- a/util/src/util/Event.ts
+++ b/util/src/util/Event.ts
@@ -5,7 +5,6 @@ import { EVENT, Event } from "../interfaces";
const events = new EventEmitter();
export async function emitEvent(payload: Omit<Event, "created_at">) {
- console.log(payload) //TODO remove before merge
const id = (payload.channel_id || payload.user_id || payload.guild_id) as string;
if (!id) return console.error("event doesn't contain any id", payload);
|