feat: sendMsgToInBox (#1580)

Reviewed-on: OpenWF/SpaceNinjaServer#1580
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-12 06:15:03 -07:00 committed by Sainan
parent 97d27e8110
commit 9b330ffd3e
2 changed files with 33 additions and 0 deletions

View File

@ -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<ISendMsgToInBoxRequest>(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[];
}

View File

@ -102,6 +102,7 @@ import { saveLoadoutController } from "@/src/controllers/api/saveLoadoutControll
import { saveSettingsController } from "@/src/controllers/api/saveSettingsController"; import { saveSettingsController } from "@/src/controllers/api/saveSettingsController";
import { saveVaultAutoContributeController } from "@/src/controllers/api/saveVaultAutoContributeController"; import { saveVaultAutoContributeController } from "@/src/controllers/api/saveVaultAutoContributeController";
import { sellController } from "@/src/controllers/api/sellController"; import { sellController } from "@/src/controllers/api/sellController";
import { sendMsgToInBoxController } from "@/src/controllers/api/sendMsgToInBoxController";
import { setActiveQuestController } from "@/src/controllers/api/setActiveQuestController"; import { setActiveQuestController } from "@/src/controllers/api/setActiveQuestController";
import { setActiveShipController } from "@/src/controllers/api/setActiveShipController"; import { setActiveShipController } from "@/src/controllers/api/setActiveShipController";
import { setAllianceGuildPermissionsController } from "@/src/controllers/api/setAllianceGuildPermissionsController"; import { setAllianceGuildPermissionsController } from "@/src/controllers/api/setAllianceGuildPermissionsController";
@ -267,6 +268,7 @@ apiRouter.post("/saveLoadout.php", saveLoadoutController);
apiRouter.post("/saveSettings.php", saveSettingsController); apiRouter.post("/saveSettings.php", saveSettingsController);
apiRouter.post("/saveVaultAutoContribute.php", saveVaultAutoContributeController); apiRouter.post("/saveVaultAutoContribute.php", saveVaultAutoContributeController);
apiRouter.post("/sell.php", sellController); apiRouter.post("/sell.php", sellController);
apiRouter.post("/sendMsgToInBox.php", sendMsgToInBoxController);
apiRouter.post("/setDojoComponentColors.php", setDojoComponentColorsController); apiRouter.post("/setDojoComponentColors.php", setDojoComponentColorsController);
apiRouter.post("/setDojoComponentMessage.php", setDojoComponentMessageController); apiRouter.post("/setDojoComponentMessage.php", setDojoComponentMessageController);
apiRouter.post("/setDojoComponentSettings.php", setDojoComponentSettingsController); apiRouter.post("/setDojoComponentSettings.php", setDojoComponentSettingsController);