feat: toggle wishlisted items
All checks were successful
Build / build (18) (push) Successful in 43s
Build / build (20) (push) Successful in 1m7s
Build / build (22) (push) Successful in 1m8s
Build / build (18) (pull_request) Successful in 43s
Build / build (20) (pull_request) Successful in 1m7s
Build / build (22) (pull_request) Successful in 1m13s

This commit is contained in:
Sainan 2025-03-22 20:36:02 +01:00
parent 57786bfffb
commit 73d3133da2
2 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,24 @@
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getInventory } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { RequestHandler } from "express";
export const wishlistController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId, "Wishlist");
const body = getJSONfromString<IWishlistRequest>(String(req.body));
for (const item of body.WishlistItems) {
const i = inventory.Wishlist.findIndex(x => x == item);
if (i == -1) {
inventory.Wishlist.push(item);
} else {
inventory.Wishlist.splice(i, 1);
}
}
await inventory.save();
res.end();
};
interface IWishlistRequest {
WishlistItems: string[];
}

View File

@ -115,6 +115,7 @@ import { updateSongChallengeController } from "@/src/controllers/api/updateSongC
import { updateThemeController } from "@/src/controllers/api/updateThemeController"; import { updateThemeController } from "@/src/controllers/api/updateThemeController";
import { upgradesController } from "@/src/controllers/api/upgradesController"; import { upgradesController } from "@/src/controllers/api/upgradesController";
import { valenceSwapController } from "@/src/controllers/api/valenceSwapController"; import { valenceSwapController } from "@/src/controllers/api/valenceSwapController";
import { wishlistController } from "@/src/controllers/api/wishlistController";
const apiRouter = express.Router(); const apiRouter = express.Router();
@ -245,5 +246,6 @@ apiRouter.post("/updateSongChallenge.php", updateSongChallengeController);
apiRouter.post("/updateTheme.php", updateThemeController); apiRouter.post("/updateTheme.php", updateThemeController);
apiRouter.post("/upgrades.php", upgradesController); apiRouter.post("/upgrades.php", upgradesController);
apiRouter.post("/valenceSwap.php", valenceSwapController); apiRouter.post("/valenceSwap.php", valenceSwapController);
apiRouter.post("/wishlist.php", wishlistController);
export { apiRouter }; export { apiRouter };