From 0a78120864a23d7c502cbf9112ca30683f3b394c Mon Sep 17 00:00:00 2001 From: Sainan Date: Sun, 29 Dec 2024 05:18:15 +0100 Subject: [PATCH 1/3] chore: remove toLoginRequest --- src/controllers/api/loginController.ts | 7 ++---- src/helpers/loginHelpers.ts | 35 -------------------------- 2 files changed, 2 insertions(+), 40 deletions(-) delete mode 100644 src/helpers/loginHelpers.ts diff --git a/src/controllers/api/loginController.ts b/src/controllers/api/loginController.ts index 51d3815f..68bbeb82 100644 --- a/src/controllers/api/loginController.ts +++ b/src/controllers/api/loginController.ts @@ -4,17 +4,14 @@ import { RequestHandler } from "express"; import { config } from "@/src/services/configService"; import buildConfig from "@/static/data/buildConfig.json"; -import { toLoginRequest } from "@/src/helpers/loginHelpers"; import { Account } from "@/src/models/loginModel"; import { createAccount, isCorrectPassword, isNameTaken } from "@/src/services/loginService"; -import { IDatabaseAccountJson, ILoginResponse } from "@/src/types/loginTypes"; +import { IDatabaseAccountJson, ILoginRequest, ILoginResponse } from "@/src/types/loginTypes"; import { DTLS, groups, HUB, platformCDNs } from "@/static/fixed_responses/login_static"; import { logger } from "@/src/utils/logger"; export const loginController: RequestHandler = async (request, response) => { - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument - const body = JSON.parse(request.body); // parse octet stream of json data to json object - const loginRequest = toLoginRequest(body); + const loginRequest = JSON.parse(String(request.body)) as ILoginRequest; // parse octet stream of json data to json object const account = await Account.findOne({ email: loginRequest.email }); //{ _id: 0, __v: 0 } const nonce = Math.round(Math.random() * Number.MAX_SAFE_INTEGER); diff --git a/src/helpers/loginHelpers.ts b/src/helpers/loginHelpers.ts deleted file mode 100644 index f9335822..00000000 --- a/src/helpers/loginHelpers.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { ILoginRequest } from "@/src/types/loginTypes"; -import { parseEmail, parseNumber, parseString } from "./general"; - -const toLoginRequest = (loginRequest: unknown): ILoginRequest => { - if (!loginRequest || typeof loginRequest !== "object") { - throw new Error("incorrect or missing login request data"); - } - - // TODO: function that checks whether every field of interface is in object - if ( - "email" in loginRequest && - "password" in loginRequest && - "time" in loginRequest && - "s" in loginRequest && - "lang" in loginRequest && - "date" in loginRequest && - "ClientType" in loginRequest && - "PS" in loginRequest - ) { - return { - email: parseEmail(loginRequest.email), - password: parseString(loginRequest.password), - time: parseNumber(loginRequest.time), - s: parseString(loginRequest.s), - lang: parseString(loginRequest.lang), - date: parseNumber(loginRequest.date), - ClientType: parseString(loginRequest.ClientType), - PS: parseString(loginRequest.PS) - }; - } - - throw new Error("incorrect login request"); -}; - -export { toLoginRequest }; -- 2.47.2 From b0c3e725f86b93eaeb05b64ab081c309ffa8276c Mon Sep 17 00:00:00 2001 From: Sainan Date: Sun, 29 Dec 2024 05:37:48 +0100 Subject: [PATCH 2/3] chore: fix no-case-declarations warnings --- src/controllers/custom/addItemController.ts | 6 ++++-- src/services/inventoryService.ts | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/controllers/custom/addItemController.ts b/src/controllers/custom/addItemController.ts index ea5fd535..c1045e63 100644 --- a/src/controllers/custom/addItemController.ts +++ b/src/controllers/custom/addItemController.ts @@ -9,15 +9,17 @@ const addItemController: RequestHandler = async (req, res) => { const request = toAddItemRequest(req.body); switch (request.type) { - case ItemType.Powersuit: + case ItemType.Powersuit: { const powersuit = await addPowerSuit(request.InternalName, accountId); res.json(powersuit); return; - case ItemType.Weapon: + } + case ItemType.Weapon: { const weaponType = getWeaponType(request.InternalName); const weapon = await addEquipment(weaponType, request.InternalName, accountId); res.json(weapon); break; + } default: res.status(400).json({ error: "something went wrong" }); break; diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 423be170..9d51f597 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -262,7 +262,7 @@ export const addItem = async ( } } break; - case "Weapons": + case "Weapons": { const weaponType = getWeaponType(typeName); const weapon = await addEquipment(weaponType, typeName, accountId); await updateSlots(accountId, InventorySlot.WEAPONS, 0, 1); @@ -272,6 +272,7 @@ export const addItem = async ( [weaponType]: [weapon] } }; + } case "Objects": { // /Lotus/Objects/Tenno/Props/TnoLisetTextProjector (Note Beacon) const inventory = await getInventory(accountId); -- 2.47.2 From db0e218fb0b4fc76560969e30d97a92a3207f420 Mon Sep 17 00:00:00 2001 From: Sainan Date: Sun, 29 Dec 2024 08:02:24 +0100 Subject: [PATCH 3/3] this also ain't needed --- src/controllers/api/loginController.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/controllers/api/loginController.ts b/src/controllers/api/loginController.ts index 68bbeb82..52d4d6ac 100644 --- a/src/controllers/api/loginController.ts +++ b/src/controllers/api/loginController.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ import { RequestHandler } from "express"; import { config } from "@/src/services/configService"; -- 2.47.2