feat: import #831
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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>;
|
||||||
|
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user