feat: confirmGuildInvitation
All checks were successful
Build / build (18) (push) Successful in 1m3s
Build / build (20) (push) Successful in 57s
Build / build (18) (pull_request) Successful in 40s
Build / build (22) (push) Successful in 38s
Build / build (20) (pull_request) Successful in 1m3s
Build / build (22) (pull_request) Successful in 38s

This commit is contained in:
Sainan 2025-03-10 19:56:59 +01:00
parent f8ee99f2db
commit e143e4323d
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,32 @@
import { Guild, GuildMember } from "@/src/models/guildModel";
import { getGuildClient, updateInventoryForConfirmedGuildJoin } from "@/src/services/guildService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { RequestHandler } from "express";
import { Types } from "mongoose";
export const confirmGuildInvitationController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const guildMember = await GuildMember.findOne({
accountId: accountId,
guildId: req.query.clanId as string
});
if (guildMember) {
guildMember.status = 0;
await guildMember.save();
await updateInventoryForConfirmedGuildJoin(accountId, new Types.ObjectId(req.query.clanId as string));
const guild = (await Guild.findOne({ _id: req.query.clanId as string }))!;
res.json({
...(await getGuildClient(guild, accountId)),
InventoryChanges: {
Recipes: [
{
ItemType: "/Lotus/Types/Keys/DojoKeyBlueprint",
ItemCount: 1
}
]
}
});
} else {
res.end();
}
};

View File

@ -15,6 +15,7 @@ import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompl
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
import { clearDialogueHistoryController } from "@/src/controllers/api/clearDialogueHistoryController";
import { completeRandomModChallengeController } from "@/src/controllers/api/completeRandomModChallengeController";
import { confirmGuildInvitationController } from "@/src/controllers/api/confirmGuildInvitationController";
import { contributeGuildClassController } from "@/src/controllers/api/contributeGuildClassController";
import { contributeToDojoComponentController } from "@/src/controllers/api/contributeToDojoComponentController";
import { contributeToVaultController } from "@/src/controllers/api/contributeToVaultController";
@ -116,6 +117,7 @@ apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController)
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
apiRouter.get("/confirmGuildInvitation.php", confirmGuildInvitationController);
apiRouter.get("/credits.php", creditsController);
apiRouter.get("/declineGuildInvite.php", declineGuildInviteController);
apiRouter.get("/deleteSession.php", deleteSessionController);