From 675ef382aef77e126e3bbbdabe95926ad735f430 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Thu, 12 Aug 2021 16:47:51 +0200 Subject: [PATCH] :sparkles: RabbitMQ --- package-lock.json | Bin 686195 -> 686195 bytes package.json | 2 +- src/Server.ts | 3 ++- .../channels/#channel_id/messages/index.ts | 2 -- src/util/Event.ts | 7 ++++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8e2d01d52467e76d41282ad5f3bafa40d3e374b..ba22436a19c8aae9f1983ed4619ca33e83b1e15f 100644 GIT binary patch delta 291 zcmezTLG$wm%?Y2FObs`FSsKG=I(?xmqyFTRu^Nn~lM{^fDpNxOoPvx33i7g3jJ*mYJ(7zGJu7|FQeFMh zt3urJ{lkK@N=ow#6Wv1HToNZUhA2$7U&7wp7uVhw#|XqsK+FupEZh6ySfBOL$sN-h k=dsC5_t#=$-`p2>lCfRy11k`-0Wmueb8Of9!0Fln0AjjohyVZp delta 291 zcmezTLG$wm%?Y2FOe{BkSsKG=GWp;-gUP32)fr8uFFeAc5L%QN9#v{#8DVIio99=O zXp-X?p{<>1>Ye3kk*}X`5*b<=U=Wm-rCsV45?)qTVj39e9a-j_T#;-ZoSvOp6>OYl zS{Ce@oSNgMUlEn#l~v{%Y!Wb;F+^dq{Sx-(zPR?jI7T350%B$$X4&2s$NH>~PVSiA kIFC(cy1y11`{us5lZ@?pA6S8y4T#x+m}9%%2Ts=x09BuBR{#J2 diff --git a/package.json b/package.json index 80e57e51..c0eacadd 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ }, "homepage": "https://github.com/fosscord/fosscord-api#readme", "dependencies": { - "@fosscord/server-util": "^1.3.49", + "@fosscord/server-util": "^1.3.51", "@types/jest": "^26.0.22", "@types/json-schema": "^7.0.7", "ajv": "^8.4.0", diff --git a/src/Server.ts b/src/Server.ts index 69222636..3e20695a 100644 --- a/src/Server.ts +++ b/src/Server.ts @@ -3,7 +3,7 @@ import fs from "fs"; import { Connection } from "mongoose"; import { Server, ServerOptions } from "lambert-server"; import { Authentication, CORS } from "./middlewares/"; -import { Config, db } from "@fosscord/server-util"; +import { Config, db, RabbitMQ } from "@fosscord/server-util"; import i18next from "i18next"; import i18nextMiddleware, { I18next } from "i18next-http-middleware"; import i18nextBackend from "i18next-node-fs-backend"; @@ -58,6 +58,7 @@ export class FosscordServer extends Server { await this.setupSchema(); console.log("[Database] connected"); await Config.init(); + await RabbitMQ.init(); this.app.use(CORS); this.app.use(Authentication); diff --git a/src/routes/channels/#channel_id/messages/index.ts b/src/routes/channels/#channel_id/messages/index.ts index 59494c7e..fea4d6a4 100644 --- a/src/routes/channels/#channel_id/messages/index.ts +++ b/src/routes/channels/#channel_id/messages/index.ts @@ -113,8 +113,6 @@ router.post("/", messageUpload.single("file"), async (req: Request, res: Respons var body = req.body as MessageCreateSchema; const attachments: Attachment[] = []; - console.log(body); - if (req.file) { try { const file = await uploadFile(`/attachments/${channel_id}`, req.file); diff --git a/src/util/Event.ts b/src/util/Event.ts index d0b78a53..e0bcadd4 100644 --- a/src/util/Event.ts +++ b/src/util/Event.ts @@ -1,13 +1,14 @@ -import { Config, Event, EventModel, rabbitCon, rabbitCh } from "@fosscord/server-util"; +import { Config, Event, EventModel, RabbitMQ } from "@fosscord/server-util"; export async function emitEvent(payload: Omit) { - if (rabbitCon) { + if (RabbitMQ.connection) { const id = (payload.channel_id || payload.user_id || payload.guild_id) as string; if (!id) console.error("event doesn't contain any id", payload); const data = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.data; // use rabbitmq for event transmission + await RabbitMQ.channel?.assertQueue(id); // assertQueue isn't needed, because a queue will automatically created if it doesn't exist - const successful = rabbitCh.sendToQueue(id, Buffer.from(`${data}`), { type: payload.event }); + const successful = RabbitMQ.channel?.sendToQueue(id, Buffer.from(`${data}`), { type: payload.event }); if (!successful) throw new Error("failed to send event"); } else { // use mongodb for event transmission