forked from OpenWF/SpaceNinjaServer
chore: turn getJSONfromString into a template/generic function (#836)
This commit is contained in:
parent
61f63dd40f
commit
8b836020bf
@ -9,7 +9,7 @@ import { ExportUpgrades } from "warframe-public-export-plus";
|
|||||||
export const activateRandomModController: RequestHandler = async (req, res) => {
|
export const activateRandomModController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const request = getJSONfromString(String(req.body)) as IActiveRandomModRequest;
|
const request = getJSONfromString<IActiveRandomModRequest>(String(req.body));
|
||||||
addMods(inventory, [
|
addMods(inventory, [
|
||||||
{
|
{
|
||||||
ItemType: request.ItemType,
|
ItemType: request.ItemType,
|
||||||
|
@ -6,7 +6,7 @@ import { getInventory } from "@/src/services/inventoryService";
|
|||||||
|
|
||||||
const addFriendImageController: RequestHandler = async (req, res) => {
|
const addFriendImageController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const json = getJSONfromString(String(req.body)) as IUpdateGlyphRequest;
|
const json = getJSONfromString<IUpdateGlyphRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
inventory.ActiveAvatarImageType = json.AvatarImageType;
|
inventory.ActiveAvatarImageType = json.AvatarImageType;
|
||||||
await inventory.save();
|
await inventory.save();
|
||||||
|
@ -6,7 +6,7 @@ import { IOid } from "@/src/types/commonTypes";
|
|||||||
|
|
||||||
export const arcaneCommonController: RequestHandler = async (req, res) => {
|
export const arcaneCommonController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const json = getJSONfromString(String(req.body)) as IArcaneCommonRequest;
|
const json = getJSONfromString<IArcaneCommonRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const upgrade = inventory.Upgrades.id(json.arcane.ItemId.$oid);
|
const upgrade = inventory.Upgrades.id(json.arcane.ItemId.$oid);
|
||||||
if (json.newRank == -1) {
|
if (json.newRank == -1) {
|
||||||
|
@ -7,7 +7,7 @@ import { config } from "@/src/services/configService";
|
|||||||
|
|
||||||
export const artifactsController: RequestHandler = async (req, res) => {
|
export const artifactsController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const artifactsData = getJSONfromString(String(req.body)) as IArtifactsRequest;
|
const artifactsData = getJSONfromString<IArtifactsRequest>(String(req.body));
|
||||||
|
|
||||||
const { Upgrade, LevelDiff, Cost, FusionPointCost } = artifactsData;
|
const { Upgrade, LevelDiff, Cost, FusionPointCost } = artifactsData;
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ export interface IClaimCompletedRecipeRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const claimCompletedRecipeController: RequestHandler = async (req, res) => {
|
export const claimCompletedRecipeController: RequestHandler = async (req, res) => {
|
||||||
const claimCompletedRecipeRequest = getJSONfromString(String(req.body)) as IClaimCompletedRecipeRequest;
|
const claimCompletedRecipeRequest = getJSONfromString<IClaimCompletedRecipeRequest>(String(req.body));
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
if (!accountId) throw new Error("no account id");
|
if (!accountId) throw new Error("no account id");
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import { Guild } from "@/src/models/guildModel";
|
|||||||
|
|
||||||
export const createGuildController: RequestHandler = async (req, res) => {
|
export const createGuildController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const payload = getJSONfromString(String(req.body)) as ICreateGuildRequest;
|
const payload = getJSONfromString<ICreateGuildRequest>(String(req.body));
|
||||||
|
|
||||||
// Create guild on database
|
// Create guild on database
|
||||||
const guild = new Guild({
|
const guild = new Guild({
|
||||||
|
@ -7,7 +7,7 @@ import { TEndlessXpCategory } from "@/src/types/inventoryTypes/inventoryTypes";
|
|||||||
export const endlessXpController: RequestHandler = async (req, res) => {
|
export const endlessXpController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const payload = getJSONfromString(String(req.body)) as IEndlessXpRequest;
|
const payload = getJSONfromString<IEndlessXpRequest>(String(req.body));
|
||||||
|
|
||||||
inventory.EndlessXP ??= [];
|
inventory.EndlessXP ??= [];
|
||||||
const entry = inventory.EndlessXP.find(x => x.Category == payload.Category);
|
const entry = inventory.EndlessXP.find(x => x.Category == payload.Category);
|
||||||
|
@ -8,7 +8,7 @@ import { EquipmentFeatures } from "@/src/types/inventoryTypes/commonInventoryTyp
|
|||||||
export const evolveWeaponController: RequestHandler = async (req, res) => {
|
export const evolveWeaponController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const payload = getJSONfromString(String(req.body)) as IEvolveWeaponRequest;
|
const payload = getJSONfromString<IEvolveWeaponRequest>(String(req.body));
|
||||||
|
|
||||||
const recipe = getRecipe(payload.Recipe)!;
|
const recipe = getRecipe(payload.Recipe)!;
|
||||||
if (payload.Action == "EWA_INSTALL") {
|
if (payload.Action == "EWA_INSTALL") {
|
||||||
|
@ -9,7 +9,7 @@ import { ExportResources, ExportSyndicates } from "warframe-public-export-plus";
|
|||||||
export const fishmongerController: RequestHandler = async (req, res) => {
|
export const fishmongerController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const body = getJSONfromString(String(req.body)) as IFishmongerRequest;
|
const body = getJSONfromString<IFishmongerRequest>(String(req.body));
|
||||||
const miscItemChanges: IMiscItem[] = [];
|
const miscItemChanges: IMiscItem[] = [];
|
||||||
let syndicateTag: string | undefined;
|
let syndicateTag: string | undefined;
|
||||||
let gainedStanding = 0;
|
let gainedStanding = 0;
|
||||||
|
@ -9,7 +9,7 @@ import { IGenericUpdate } from "@/src/types/genericUpdate";
|
|||||||
|
|
||||||
const genericUpdateController: RequestHandler = async (request, response) => {
|
const genericUpdateController: RequestHandler = async (request, response) => {
|
||||||
const accountId = await getAccountIdForRequest(request);
|
const accountId = await getAccountIdForRequest(request);
|
||||||
const update = getJSONfromString(String(request.body)) as IGenericUpdate;
|
const update = getJSONfromString<IGenericUpdate>(String(request.body));
|
||||||
await updateGeneric(update, accountId);
|
await updateGeneric(update, accountId);
|
||||||
response.json(update);
|
response.json(update);
|
||||||
};
|
};
|
||||||
|
@ -10,7 +10,7 @@ import { ExportRelics, ExportRewards, TRarity } from "warframe-public-export-plu
|
|||||||
|
|
||||||
export const getVoidProjectionRewardsController: RequestHandler = async (req, res) => {
|
export const getVoidProjectionRewardsController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const data = getJSONfromString(String(req.body)) as IVoidProjectionRewardRequest;
|
const data = getJSONfromString<IVoidProjectionRewardRequest>(String(req.body));
|
||||||
const response: IVoidProjectionRewardResponse = {
|
const response: IVoidProjectionRewardResponse = {
|
||||||
CurrentWave: data.CurrentWave,
|
CurrentWave: data.CurrentWave,
|
||||||
ParticipantInfo: data.ParticipantInfo,
|
ParticipantInfo: data.ParticipantInfo,
|
||||||
|
@ -26,7 +26,7 @@ interface IGildWeaponRequest {
|
|||||||
|
|
||||||
export const gildWeaponController: RequestHandler = async (req, res) => {
|
export const gildWeaponController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const data = getJSONfromString(String(req.body)) as IGildWeaponRequest;
|
const data = getJSONfromString<IGildWeaponRequest>(String(req.body));
|
||||||
data.ItemId = String(req.query.ItemId);
|
data.ItemId = String(req.query.ItemId);
|
||||||
if (!modularWeaponCategory.includes(req.query.Category as WeaponTypeInternal | "Hoverboards")) {
|
if (!modularWeaponCategory.includes(req.query.Category as WeaponTypeInternal | "Hoverboards")) {
|
||||||
throw new Error(`Unknown modular weapon Category: ${String(req.query.Category)}`);
|
throw new Error(`Unknown modular weapon Category: ${String(req.query.Category)}`);
|
||||||
|
@ -5,9 +5,9 @@ import { addKeyChainItems, getInventory } from "@/src/services/inventoryService"
|
|||||||
|
|
||||||
export const giveKeyChainTriggeredItemsController: RequestHandler = async (req, res) => {
|
export const giveKeyChainTriggeredItemsController: RequestHandler = async (req, res) => {
|
||||||
const accountId = parseString(req.query.accountId);
|
const accountId = parseString(req.query.accountId);
|
||||||
const keyChainTriggeredItemsRequest = getJSONfromString(
|
const keyChainTriggeredItemsRequest = getJSONfromString<IGiveKeyChainTriggeredItemsRequest>(
|
||||||
(req.body as string).toString()
|
(req.body as string).toString()
|
||||||
) as IGiveKeyChainTriggeredItemsRequest;
|
);
|
||||||
|
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const inventoryChanges = await addKeyChainItems(inventory, keyChainTriggeredItemsRequest);
|
const inventoryChanges = await addKeyChainItems(inventory, keyChainTriggeredItemsRequest);
|
||||||
|
@ -22,7 +22,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
switch (req.query.mode) {
|
switch (req.query.mode) {
|
||||||
case "s": {
|
case "s": {
|
||||||
// shard installation
|
// shard installation
|
||||||
const request = getJSONfromString(String(req.body)) as IShardInstallRequest;
|
const request = getJSONfromString<IShardInstallRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const suit = inventory.Suits.find(suit => suit._id.toString() == request.SuitId.$oid)!;
|
const suit = inventory.Suits.find(suit => suit._id.toString() == request.SuitId.$oid)!;
|
||||||
if (!suit.ArchonCrystalUpgrades || suit.ArchonCrystalUpgrades.length != 5) {
|
if (!suit.ArchonCrystalUpgrades || suit.ArchonCrystalUpgrades.length != 5) {
|
||||||
@ -50,7 +50,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
|
|
||||||
case "x": {
|
case "x": {
|
||||||
// shard removal
|
// shard removal
|
||||||
const request = getJSONfromString(String(req.body)) as IShardUninstallRequest;
|
const request = getJSONfromString<IShardUninstallRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const suit = inventory.Suits.find(suit => suit._id.toString() == request.SuitId.$oid)!;
|
const suit = inventory.Suits.find(suit => suit._id.toString() == request.SuitId.$oid)!;
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
|
|
||||||
case "n": {
|
case "n": {
|
||||||
// name the beast
|
// name the beast
|
||||||
const request = getJSONfromString(String(req.body)) as IHelminthNameRequest;
|
const request = getJSONfromString<IHelminthNameRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
inventory.InfestedFoundry ??= {};
|
inventory.InfestedFoundry ??= {};
|
||||||
inventory.InfestedFoundry.Name = request.newName;
|
inventory.InfestedFoundry.Name = request.newName;
|
||||||
@ -105,7 +105,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
|
|
||||||
case "c": {
|
case "c": {
|
||||||
// consume items
|
// consume items
|
||||||
const request = getJSONfromString(String(req.body)) as IHelminthFeedRequest;
|
const request = getJSONfromString<IHelminthFeedRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
inventory.InfestedFoundry ??= {};
|
inventory.InfestedFoundry ??= {};
|
||||||
inventory.InfestedFoundry.Resources ??= [];
|
inventory.InfestedFoundry.Resources ??= [];
|
||||||
@ -201,7 +201,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
|
|
||||||
case "o": {
|
case "o": {
|
||||||
// offerings update
|
// offerings update
|
||||||
const request = getJSONfromString(String(req.body)) as IHelminthOfferingsUpdate;
|
const request = getJSONfromString<IHelminthOfferingsUpdate>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
inventory.InfestedFoundry ??= {};
|
inventory.InfestedFoundry ??= {};
|
||||||
inventory.InfestedFoundry.InvigorationIndex = request.OfferingsIndex;
|
inventory.InfestedFoundry.InvigorationIndex = request.OfferingsIndex;
|
||||||
@ -220,7 +220,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
|
|
||||||
case "a": {
|
case "a": {
|
||||||
// subsume warframe
|
// subsume warframe
|
||||||
const request = getJSONfromString(String(req.body)) as IHelminthSubsumeRequest;
|
const request = getJSONfromString<IHelminthSubsumeRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const recipe = getRecipe(request.Recipe)!;
|
const recipe = getRecipe(request.Recipe)!;
|
||||||
for (const ingredient of recipe.secretIngredients!) {
|
for (const ingredient of recipe.secretIngredients!) {
|
||||||
@ -283,7 +283,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case "u": {
|
case "u": {
|
||||||
const request = getJSONfromString(String(req.body)) as IHelminthInvigorationRequest;
|
const request = getJSONfromString<IHelminthInvigorationRequest>(String(req.body));
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const suit = inventory.Suits.id(request.SuitId.$oid)!;
|
const suit = inventory.Suits.id(request.SuitId.$oid)!;
|
||||||
const upgradesExpiry = new Date(new Date().getTime() + 7 * 24 * 60 * 60 * 1000);
|
const upgradesExpiry = new Date(new Date().getTime() + 7 * 24 * 60 * 60 * 1000);
|
||||||
|
@ -52,7 +52,7 @@ import { getInventory } from "@/src/services/inventoryService";
|
|||||||
export const missionInventoryUpdateController: RequestHandler = async (req, res): Promise<void> => {
|
export const missionInventoryUpdateController: RequestHandler = async (req, res): Promise<void> => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
|
||||||
const missionReport = getJSONfromString((req.body as string).toString()) as IMissionInventoryUpdateRequest;
|
const missionReport = getJSONfromString<IMissionInventoryUpdateRequest>((req.body as string).toString());
|
||||||
|
|
||||||
if (missionReport.MissionStatus !== "GS_SUCCESS") {
|
if (missionReport.MissionStatus !== "GS_SUCCESS") {
|
||||||
console.log(`Mission failed: ${missionReport.RewardInfo?.node}`);
|
console.log(`Mission failed: ${missionReport.RewardInfo?.node}`);
|
||||||
|
@ -29,7 +29,7 @@ interface IModularCraftRequest {
|
|||||||
|
|
||||||
export const modularWeaponCraftingController: RequestHandler = async (req, res) => {
|
export const modularWeaponCraftingController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const data = getJSONfromString(String(req.body)) as IModularCraftRequest;
|
const data = getJSONfromString<IModularCraftRequest>(String(req.body));
|
||||||
if (!(data.WeaponType in modularWeaponTypes)) {
|
if (!(data.WeaponType in modularWeaponTypes)) {
|
||||||
throw new Error(`unknown modular weapon type: ${data.WeaponType}`);
|
throw new Error(`unknown modular weapon type: ${data.WeaponType}`);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ interface INameWeaponRequest {
|
|||||||
export const nameWeaponController: RequestHandler = async (req, res) => {
|
export const nameWeaponController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const body = getJSONfromString(String(req.body)) as INameWeaponRequest;
|
const body = getJSONfromString<INameWeaponRequest>(String(req.body));
|
||||||
const item = inventory[req.query.Category as string as TEquipmentKey].find(
|
const item = inventory[req.query.Category as string as TEquipmentKey].find(
|
||||||
item => item._id.toString() == (req.query.ItemId as string)
|
item => item._id.toString() == (req.query.ItemId as string)
|
||||||
)!;
|
)!;
|
||||||
|
@ -7,7 +7,7 @@ import { RequestHandler } from "express";
|
|||||||
export const playerSkillsController: RequestHandler = async (req, res) => {
|
export const playerSkillsController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const request = getJSONfromString(String(req.body)) as IPlayerSkillsRequest;
|
const request = getJSONfromString<IPlayerSkillsRequest>(String(req.body));
|
||||||
|
|
||||||
const oldRank: number = inventory.PlayerSkills[request.Skill as keyof IPlayerSkills];
|
const oldRank: number = inventory.PlayerSkills[request.Skill as keyof IPlayerSkills];
|
||||||
const cost = (request.Pool == "LPP_DRIFTER" ? drifterCosts[oldRank] : 1 << oldRank) * 1000;
|
const cost = (request.Pool == "LPP_DRIFTER" ? drifterCosts[oldRank] : 1 << oldRank) * 1000;
|
||||||
|
@ -7,7 +7,7 @@ import { getRandomElement } from "@/src/services/rngService";
|
|||||||
|
|
||||||
export const rerollRandomModController: RequestHandler = async (req, res) => {
|
export const rerollRandomModController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const request = getJSONfromString(String(req.body)) as RerollRandomModRequest;
|
const request = getJSONfromString<RerollRandomModRequest>(String(req.body));
|
||||||
if ("ItemIds" in request) {
|
if ("ItemIds" in request) {
|
||||||
const inventory = await getInventory(accountId, "Upgrades MiscItems");
|
const inventory = await getInventory(accountId, "Upgrades MiscItems");
|
||||||
const upgrade = inventory.Upgrades.id(request.ItemIds[0])!;
|
const upgrade = inventory.Upgrades.id(request.ItemIds[0])!;
|
||||||
|
@ -6,7 +6,7 @@ import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
|||||||
export const setEquippedInstrumentController: RequestHandler = async (req, res) => {
|
export const setEquippedInstrumentController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const body = getJSONfromString(String(req.body)) as ISetEquippedInstrumentRequest;
|
const body = getJSONfromString<ISetEquippedInstrumentRequest>(String(req.body));
|
||||||
inventory.EquippedInstrument = body.Instrument;
|
inventory.EquippedInstrument = body.Instrument;
|
||||||
await inventory.save();
|
await inventory.save();
|
||||||
res.end();
|
res.end();
|
||||||
|
@ -7,7 +7,7 @@ import { WeaponTypeInternal } from "@/src/services/itemDataService";
|
|||||||
export const setWeaponSkillTreeController: RequestHandler = async (req, res) => {
|
export const setWeaponSkillTreeController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const payload = getJSONfromString(String(req.body)) as ISetWeaponSkillTreeRequest;
|
const payload = getJSONfromString<ISetWeaponSkillTreeRequest>(String(req.body));
|
||||||
|
|
||||||
const item = inventory[req.query.Category as WeaponTypeInternal].find(
|
const item = inventory[req.query.Category as WeaponTypeInternal].find(
|
||||||
item => item._id.toString() == (req.query.ItemId as string)
|
item => item._id.toString() == (req.query.ItemId as string)
|
||||||
|
@ -14,7 +14,7 @@ interface IStartRecipeRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const startRecipeController: RequestHandler = async (req, res) => {
|
export const startRecipeController: RequestHandler = async (req, res) => {
|
||||||
const startRecipeRequest = getJSONfromString(String(req.body)) as IStartRecipeRequest;
|
const startRecipeRequest = getJSONfromString<IStartRecipeRequest>(String(req.body));
|
||||||
logger.debug("StartRecipe Request", { startRecipeRequest });
|
logger.debug("StartRecipe Request", { startRecipeRequest });
|
||||||
|
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
@ -9,7 +9,7 @@ import { IInventoryChanges } from "@/src/types/purchaseTypes";
|
|||||||
export const syndicateSacrificeController: RequestHandler = async (request, response) => {
|
export const syndicateSacrificeController: RequestHandler = async (request, response) => {
|
||||||
const accountId = await getAccountIdForRequest(request);
|
const accountId = await getAccountIdForRequest(request);
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
const data = getJSONfromString(String(request.body)) as ISyndicateSacrificeRequest;
|
const data = getJSONfromString<ISyndicateSacrificeRequest>(String(request.body));
|
||||||
|
|
||||||
let syndicate = inventory.Affiliations.find(x => x.Tag == data.AffiliationTag);
|
let syndicate = inventory.Affiliations.find(x => x.Tag == data.AffiliationTag);
|
||||||
if (!syndicate) {
|
if (!syndicate) {
|
||||||
|
@ -19,7 +19,7 @@ interface ITrainingResultsResponse {
|
|||||||
const trainingResultController: RequestHandler = async (req, res): Promise<void> => {
|
const trainingResultController: RequestHandler = async (req, res): Promise<void> => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
|
||||||
const trainingResults = getJSONfromString(String(req.body)) as ITrainingResultsRequest;
|
const trainingResults = getJSONfromString<ITrainingResultsRequest>(String(req.body));
|
||||||
|
|
||||||
const inventory = await getInventory(accountId);
|
const inventory = await getInventory(accountId);
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import { updateChallengeProgress } from "@/src/services/inventoryService";
|
|||||||
import { IUpdateChallengeProgressRequest } from "@/src/types/requestTypes";
|
import { IUpdateChallengeProgressRequest } from "@/src/types/requestTypes";
|
||||||
|
|
||||||
const updateChallengeProgressController: RequestHandler = async (req, res) => {
|
const updateChallengeProgressController: RequestHandler = async (req, res) => {
|
||||||
const payload = getJSONfromString(String(req.body)) as IUpdateChallengeProgressRequest;
|
const payload = getJSONfromString<IUpdateChallengeProgressRequest>(String(req.body));
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
|
||||||
await updateChallengeProgress(payload, accountId);
|
await updateChallengeProgress(payload, accountId);
|
||||||
|
@ -9,7 +9,7 @@ import { addItem, combineInventoryChanges, getInventory } from "@/src/services/i
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||||
export const updateQuestController: RequestHandler = async (req, res) => {
|
export const updateQuestController: RequestHandler = async (req, res) => {
|
||||||
const accountId = parseString(req.query.accountId);
|
const accountId = parseString(req.query.accountId);
|
||||||
const updateQuestRequest = getJSONfromString((req.body as string).toString()) as IUpdateQuestRequest;
|
const updateQuestRequest = getJSONfromString<IUpdateQuestRequest>((req.body as string).toString());
|
||||||
|
|
||||||
// updates should be made only to one quest key per request
|
// updates should be made only to one quest key per request
|
||||||
if (updateQuestRequest.QuestKeys.length > 1) {
|
if (updateQuestRequest.QuestKeys.length > 1) {
|
||||||
|
@ -9,7 +9,7 @@ const updateThemeController: RequestHandler = async (request, response) => {
|
|||||||
const body = String(request.body);
|
const body = String(request.body);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const json = getJSONfromString(body) as IThemeUpdateRequest;
|
const json = getJSONfromString<IThemeUpdateRequest>(body);
|
||||||
if (typeof json !== "object") {
|
if (typeof json !== "object") {
|
||||||
throw new Error("Invalid data format");
|
throw new Error("Invalid data format");
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export const getJSONfromString = (str: string): any => {
|
export const getJSONfromString = <T>(str: string): T => {
|
||||||
const jsonSubstring = str.substring(0, str.lastIndexOf("}") + 1);
|
const jsonSubstring = str.substring(0, str.lastIndexOf("}") + 1);
|
||||||
return JSON.parse(jsonSubstring);
|
return JSON.parse(jsonSubstring) as T;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getSubstringFromKeyword = (str: string, keyword: string): string => {
|
export const getSubstringFromKeyword = (str: string, keyword: string): string => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user