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,
UpgradeFingerprint: JSON.stringify({ lvl: json.newRank })
});
upgradeId = inventory.Upgrades[newLength - 1]._id!.toString();
upgradeId = inventory.Upgrades[newLength - 1]._id.toString();
}
// Remove RawUpgrades

View File

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

View File

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

View File

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