feat: import #831

Merged
Sainan merged 39 commits from import into main 2025-01-20 03:19:32 -08:00
4 changed files with 27 additions and 18 deletions
Showing only changes of commit 83015ec8f3 - Show all commits

View File

@ -44,7 +44,7 @@ export const arcaneCommonController: RequestHandler = async (req, res) => {
ItemType: json.arcane.ItemType, ItemType: json.arcane.ItemType,
UpgradeFingerprint: JSON.stringify({ lvl: json.newRank }) UpgradeFingerprint: JSON.stringify({ lvl: json.newRank })
}); });
upgradeId = inventory.Upgrades[newLength - 1]._id!.toString(); upgradeId = inventory.Upgrades[newLength - 1]._id.toString();
} }
// Remove RawUpgrades // Remove RawUpgrades

View File

@ -1,7 +1,7 @@
import { getJSONfromString } from "@/src/helpers/stringHelpers"; import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getAccountIdForRequest } from "@/src/services/loginService"; import { getAccountIdForRequest } from "@/src/services/loginService";
import { RequestHandler } from "express"; import { RequestHandler } from "express";
import { ICrewShipSalvagedWeaponSkin } from "@/src/types/inventoryTypes/inventoryTypes"; import { IInventoryClient, IUpgradeClient } from "@/src/types/inventoryTypes/inventoryTypes";
import { addMods, getInventory } from "@/src/services/inventoryService"; import { addMods, getInventory } from "@/src/services/inventoryService";
import { config } from "@/src/services/configService"; import { config } from "@/src/services/configService";
@ -20,7 +20,7 @@ export const artifactsController: RequestHandler = async (req, res) => {
parsedUpgradeFingerprint.lvl += LevelDiff; parsedUpgradeFingerprint.lvl += LevelDiff;
const stringifiedUpgradeFingerprint = JSON.stringify(parsedUpgradeFingerprint); const stringifiedUpgradeFingerprint = JSON.stringify(parsedUpgradeFingerprint);
let itemIndex = Upgrades.findIndex(upgrade => upgrade._id?.equals(ItemId!.$oid)); let itemIndex = Upgrades.findIndex(upgrade => upgrade._id.equals(ItemId.$oid));
if (itemIndex !== -1) { if (itemIndex !== -1) {
Upgrades[itemIndex].UpgradeFingerprint = stringifiedUpgradeFingerprint; Upgrades[itemIndex].UpgradeFingerprint = stringifiedUpgradeFingerprint;
@ -58,7 +58,7 @@ export const artifactsController: RequestHandler = async (req, res) => {
} }
const changedInventory = await inventory.save(); const changedInventory = await inventory.save();
const itemId = changedInventory.toJSON().Upgrades[itemIndex]?.ItemId?.$oid; const itemId = changedInventory.toJSON<IInventoryClient>().Upgrades[itemIndex].ItemId.$oid;
if (!itemId) { if (!itemId) {
throw new Error("Item Id not found in upgradeMod"); throw new Error("Item Id not found in upgradeMod");
@ -68,7 +68,7 @@ export const artifactsController: RequestHandler = async (req, res) => {
}; };
interface IArtifactsRequest { interface IArtifactsRequest {
Upgrade: ICrewShipSalvagedWeaponSkin; Upgrade: IUpgradeClient;
LevelDiff: number; LevelDiff: number;
Cost: number; Cost: number;
FusionPointCost: number; FusionPointCost: number;

View File

@ -2,7 +2,6 @@ import { Document, Model, Schema, Types, model } from "mongoose";
import { import {
IFlavourItem, IFlavourItem,
IRawUpgrade, IRawUpgrade,
ICrewShipSalvagedWeaponSkin,
IMiscItem, IMiscItem,
IInventoryDatabase, IInventoryDatabase,
IBooster, IBooster,
@ -52,7 +51,8 @@ import {
IDialogueDatabase, IDialogueDatabase,
IDialogueGift, IDialogueGift,
ICompletedDialogue, ICompletedDialogue,
IDialogueClient IDialogueClient,
IUpgradeDatabase
} from "../../types/inventoryTypes/inventoryTypes"; } from "../../types/inventoryTypes/inventoryTypes";
import { IOid } from "../../types/commonTypes"; import { IOid } from "../../types/commonTypes";
import { import {
@ -288,7 +288,7 @@ RawUpgrades.set("toJSON", {
} }
}); });
const upgradesSchema = new Schema<ICrewShipSalvagedWeaponSkin>( const upgradeSchema = new Schema<IUpgradeDatabase>(
{ {
UpgradeFingerprint: String, UpgradeFingerprint: String,
PendingRerollFingerprint: { type: String, required: false }, PendingRerollFingerprint: { type: String, required: false },
@ -297,11 +297,11 @@ const upgradesSchema = new Schema<ICrewShipSalvagedWeaponSkin>(
{ id: false } { id: false }
); );
upgradesSchema.virtual("ItemId").get(function () { upgradeSchema.virtual("ItemId").get(function () {
return toOid(this._id); return toOid(this._id);
}); });
upgradesSchema.set("toJSON", { upgradeSchema.set("toJSON", {
virtuals: true, virtuals: true,
transform(_document, returnedObject) { transform(_document, returnedObject) {
delete returnedObject._id; delete returnedObject._id;
@ -848,7 +848,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
//Non Upgrade Mods Example:I have 999 item WeaponElectricityDamageMod (only "ItemCount"+"ItemType") //Non Upgrade Mods Example:I have 999 item WeaponElectricityDamageMod (only "ItemCount"+"ItemType")
RawUpgrades: [RawUpgrades], RawUpgrades: [RawUpgrades],
//Upgrade Mods\Riven\Arcane Example:"UpgradeFingerprint"+"ItemType"+"" //Upgrade Mods\Riven\Arcane Example:"UpgradeFingerprint"+"ItemType"+""
Upgrades: [upgradesSchema], Upgrades: [upgradeSchema],
//Warframe //Warframe
Suits: [EquipmentSchema], Suits: [EquipmentSchema],
@ -1164,7 +1164,7 @@ type InventoryDocumentProps = {
OperatorAmps: Types.DocumentArray<IEquipmentDatabase>; OperatorAmps: Types.DocumentArray<IEquipmentDatabase>;
FlavourItems: Types.DocumentArray<IFlavourItem>; FlavourItems: Types.DocumentArray<IFlavourItem>;
RawUpgrades: Types.DocumentArray<IRawUpgrade>; RawUpgrades: Types.DocumentArray<IRawUpgrade>;
Upgrades: Types.DocumentArray<ICrewShipSalvagedWeaponSkin>; Upgrades: Types.DocumentArray<IUpgradeDatabase>;
MiscItems: Types.DocumentArray<IMiscItem>; MiscItems: Types.DocumentArray<IMiscItem>;
Boosters: Types.DocumentArray<IBooster>; Boosters: Types.DocumentArray<IBooster>;
OperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>; OperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>;

View File

@ -25,6 +25,9 @@ export interface IInventoryDatabase
| "Ships" | "Ships"
| "WeaponSkins" | "WeaponSkins"
| "Suits" | "Suits"
| "Upgrades"
| "CrewShipSalvagedWeaponSkins"
| "CrewShipWeaponSkins"
> { > {
accountOwnerId: Types.ObjectId; accountOwnerId: Types.ObjectId;
Created: Date; Created: Date;
@ -38,6 +41,9 @@ export interface IInventoryDatabase
Ships: Types.ObjectId[]; Ships: Types.ObjectId[];
WeaponSkins: IWeaponSkinDatabase[]; WeaponSkins: IWeaponSkinDatabase[];
Suits: IEquipmentDatabase[]; Suits: IEquipmentDatabase[];
Upgrades: IUpgradeDatabase[];
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
CrewShipWeaponSkins: IUpgradeDatabase[];
} }
export interface IQuestKeyDatabase { export interface IQuestKeyDatabase {
@ -194,7 +200,7 @@ export interface IInventoryClient extends IDailyAffiliations {
Accolades?: { Accolades?: {
Heirloom?: boolean; Heirloom?: boolean;
}; };
Upgrades: ICrewShipSalvagedWeaponSkin[]; Upgrades: IUpgradeClient[];
EquippedGear: string[]; EquippedGear: string[];
DeathMarks: string[]; DeathMarks: string[];
FusionTreasures: IFusionTreasure[]; FusionTreasures: IFusionTreasure[];
@ -272,10 +278,10 @@ export interface IInventoryClient extends IDailyAffiliations {
CrewShips: ICrewShip[]; CrewShips: ICrewShip[];
PlayerSkills: IPlayerSkills; PlayerSkills: IPlayerSkills;
CrewShipAmmo: IConsumable[]; CrewShipAmmo: IConsumable[];
CrewShipSalvagedWeaponSkins: ICrewShipSalvagedWeaponSkin[]; CrewShipSalvagedWeaponSkins: IUpgradeClient[];
CrewShipWeapons: ICrewShipWeapon[]; CrewShipWeapons: ICrewShipWeapon[];
CrewShipSalvagedWeapons: ICrewShipWeapon[]; CrewShipSalvagedWeapons: ICrewShipWeapon[];
CrewShipWeaponSkins: ICrewShipSalvagedWeaponSkin[]; CrewShipWeaponSkins: IUpgradeClient[];
TradeBannedUntil?: IMongoDate; TradeBannedUntil?: IMongoDate;
PlayedParkourTutorial: boolean; PlayedParkourTutorial: boolean;
SubscribedToEmailsPersonalized: number; SubscribedToEmailsPersonalized: number;
@ -418,12 +424,15 @@ export interface ISlots {
Slots: number; Slots: number;
} }
export interface ICrewShipSalvagedWeaponSkin { export interface IUpgradeClient {
ItemType: string; ItemType: string;
UpgradeFingerprint?: string; UpgradeFingerprint?: string;
PendingRerollFingerprint?: string; PendingRerollFingerprint?: string;
ItemId?: IOid; ItemId: IOid;
_id?: Types.ObjectId; }
export interface IUpgradeDatabase extends Omit<IUpgradeClient, "ItemId"> {
_id: Types.ObjectId;
} }
export interface ICrewShip { export interface ICrewShip {