diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index 6efc68fb..db94ecaa 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -25,11 +25,10 @@ import { logger } from "@/src/utils/logger"; import { catBreadHash } from "@/src/helpers/stringHelpers"; import { Types } from "mongoose"; import { isNemesisCompatibleWithVersion } from "@/src/helpers/nemesisHelpers"; -import { version_compare } from "@/src/services/worldStateService"; import { getPersonalRooms } from "@/src/services/personalRoomsService"; import { IPersonalRoomsClient } from "@/src/types/personalRoomsTypes"; import { Ship } from "@/src/models/shipModel"; -import { toLegacyOid } from "@/src/helpers/inventoryHelpers"; +import { toLegacyOid, version_compare } from "@/src/helpers/inventoryHelpers"; export const inventoryController: RequestHandler = async (request, response) => { const account = await getAccountForRequest(request); diff --git a/src/controllers/api/loginController.ts b/src/controllers/api/loginController.ts index f1eab10a..2007db12 100644 --- a/src/controllers/api/loginController.ts +++ b/src/controllers/api/loginController.ts @@ -7,7 +7,7 @@ import { Account } from "@/src/models/loginModel"; import { createAccount, isCorrectPassword, isNameTaken } from "@/src/services/loginService"; import { IDatabaseAccountJson, ILoginRequest, ILoginResponse } from "@/src/types/loginTypes"; import { logger } from "@/src/utils/logger"; -import { version_compare } from "@/src/services/worldStateService"; +import { version_compare } from "@/src/helpers/inventoryHelpers"; export const loginController: RequestHandler = async (request, response) => { const loginRequest = JSON.parse(String(request.body)) as ILoginRequest; // parse octet stream of json data to json object diff --git a/src/controllers/api/setGuildMotdController.ts b/src/controllers/api/setGuildMotdController.ts index 62f10521..1e09ab28 100644 --- a/src/controllers/api/setGuildMotdController.ts +++ b/src/controllers/api/setGuildMotdController.ts @@ -1,8 +1,8 @@ +import { version_compare } from "@/src/helpers/inventoryHelpers"; import { Alliance, Guild, GuildMember } from "@/src/models/guildModel"; import { hasGuildPermissionEx } from "@/src/services/guildService"; import { getInventory } from "@/src/services/inventoryService"; import { getAccountForRequest, getSuffixedName } from "@/src/services/loginService"; -import { version_compare } from "@/src/services/worldStateService"; import { GuildPermission, ILongMOTD } from "@/src/types/guildTypes"; import { RequestHandler } from "express"; diff --git a/src/helpers/inventoryHelpers.ts b/src/helpers/inventoryHelpers.ts index 0e64c818..a860e860 100644 --- a/src/helpers/inventoryHelpers.ts +++ b/src/helpers/inventoryHelpers.ts @@ -2,6 +2,23 @@ import { IMongoDate, IOid, IOidWithLegacySupport } from "@/src/types/commonTypes import { Types } from "mongoose"; import { TRarity } from "warframe-public-export-plus"; +export const version_compare = (a: string, b: string): number => { + const a_digits = a + .split("/")[0] + .split(".") + .map(x => parseInt(x)); + const b_digits = b + .split("/")[0] + .split(".") + .map(x => parseInt(x)); + for (let i = 0; i != a_digits.length; ++i) { + if (a_digits[i] != b_digits[i]) { + return a_digits[i] > b_digits[i] ? 1 : -1; + } + } + return 0; +}; + export const toOid = (objectId: Types.ObjectId): IOid => { return { $oid: objectId.toString() } satisfies IOid; }; diff --git a/src/helpers/nemesisHelpers.ts b/src/helpers/nemesisHelpers.ts index 5df1ad9a..6e9db804 100644 --- a/src/helpers/nemesisHelpers.ts +++ b/src/helpers/nemesisHelpers.ts @@ -6,9 +6,10 @@ import { logger } from "../utils/logger"; import { IOid } from "../types/commonTypes"; import { Types } from "mongoose"; import { addMods, generateRewardSeed } from "../services/inventoryService"; -import { isArchwingMission, version_compare } from "../services/worldStateService"; +import { isArchwingMission } from "../services/worldStateService"; import { fromStoreItem, toStoreItem } from "../services/itemDataService"; import { createMessage } from "../services/inboxService"; +import { version_compare } from "./inventoryHelpers"; export const getInfNodes = (faction: string, rank: number): IInfNode[] => { const infNodes = []; diff --git a/src/services/worldStateService.ts b/src/services/worldStateService.ts index a9a65efa..6b953518 100644 --- a/src/services/worldStateService.ts +++ b/src/services/worldStateService.ts @@ -18,6 +18,7 @@ import { ISyndicateMissionInfo, IWorldState } from "../types/worldStateTypes"; +import { version_compare } from "../helpers/inventoryHelpers"; const sortieBosses = [ "SORTIE_BOSS_HYENA", @@ -1239,20 +1240,3 @@ export const isArchwingMission = (node: IRegion): boolean => { } return false; }; - -export const version_compare = (a: string, b: string): number => { - const a_digits = a - .split("/")[0] - .split(".") - .map(x => parseInt(x)); - const b_digits = b - .split("/")[0] - .split(".") - .map(x => parseInt(x)); - for (let i = 0; i != a_digits.length; ++i) { - if (a_digits[i] != b_digits[i]) { - return a_digits[i] > b_digits[i] ? 1 : -1; - } - } - return 0; -};