From 9b330ffd3e53b63cc3b406f2fcff63cc794ec79a Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 12 Apr 2025 06:15:03 -0700 Subject: [PATCH] feat: sendMsgToInBox (#1580) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1580 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- .../api/sendMsgToInBoxController.ts | 31 +++++++++++++++++++ src/routes/api.ts | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 src/controllers/api/sendMsgToInBoxController.ts diff --git a/src/controllers/api/sendMsgToInBoxController.ts b/src/controllers/api/sendMsgToInBoxController.ts new file mode 100644 index 00000000..7cad8c15 --- /dev/null +++ b/src/controllers/api/sendMsgToInBoxController.ts @@ -0,0 +1,31 @@ +import { getJSONfromString } from "@/src/helpers/stringHelpers"; +import { createMessage } from "@/src/services/inboxService"; +import { getAccountIdForRequest } from "@/src/services/loginService"; +import { RequestHandler } from "express"; + +export const sendMsgToInBoxController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const data = getJSONfromString(String(req.body)); + await createMessage(accountId, [ + { + sub: data.title, + msg: data.message, + sndr: data.sender ?? "/Lotus/Language/Bosses/Ordis", + icon: data.senderIcon, + highPriority: data.highPriority, + transmission: data.transmission, + att: data.attachments + } + ]); + res.end(); +}; + +interface ISendMsgToInBoxRequest { + title: string; + message: string; + sender?: string; + senderIcon?: string; + highPriority?: boolean; + transmission?: string; + attachments?: string[]; +} diff --git a/src/routes/api.ts b/src/routes/api.ts index f5c12376..41a6cf0b 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -102,6 +102,7 @@ import { saveLoadoutController } from "@/src/controllers/api/saveLoadoutControll import { saveSettingsController } from "@/src/controllers/api/saveSettingsController"; import { saveVaultAutoContributeController } from "@/src/controllers/api/saveVaultAutoContributeController"; import { sellController } from "@/src/controllers/api/sellController"; +import { sendMsgToInBoxController } from "@/src/controllers/api/sendMsgToInBoxController"; import { setActiveQuestController } from "@/src/controllers/api/setActiveQuestController"; import { setActiveShipController } from "@/src/controllers/api/setActiveShipController"; import { setAllianceGuildPermissionsController } from "@/src/controllers/api/setAllianceGuildPermissionsController"; @@ -267,6 +268,7 @@ apiRouter.post("/saveLoadout.php", saveLoadoutController); apiRouter.post("/saveSettings.php", saveSettingsController); apiRouter.post("/saveVaultAutoContribute.php", saveVaultAutoContributeController); apiRouter.post("/sell.php", sellController); +apiRouter.post("/sendMsgToInBox.php", sendMsgToInBoxController); apiRouter.post("/setDojoComponentColors.php", setDojoComponentColorsController); apiRouter.post("/setDojoComponentMessage.php", setDojoComponentMessageController); apiRouter.post("/setDojoComponentSettings.php", setDojoComponentSettingsController);