feat: equipment IsNew flag

This commit is contained in:
Sainan 2025-03-23 19:09:52 +01:00
parent 8a29f06207
commit ffca79a5d9
5 changed files with 14 additions and 6 deletions

View File

@ -840,7 +840,8 @@ const EquipmentSchema = new Schema<IEquipmentDatabase>(
Customization: crewShipCustomizationSchema,
RailjackImage: FlavourItemSchema,
CrewMembers: crewShipMembersSchema,
Details: detailsSchema
Details: detailsSchema,
IsNew: Boolean
},
{ id: false }
);

View File

@ -900,7 +900,8 @@ export const addEquipment = (
ItemType: type,
Configs: [],
XP: 0,
ModularParts: modularParts
ModularParts: modularParts,
IsNew: true
},
defaultOverwrites
);

View File

@ -155,7 +155,12 @@ export const handleInventoryItemConfigChange = async (
}
for (const [configId, config] of Object.entries(itemConfigEntries)) {
inventoryItem.Configs[parseInt(configId)] = config;
if (typeof config !== "boolean") {
inventoryItem.Configs[parseInt(configId)] = config;
}
}
if ("IsNew" in itemConfigEntries) {
inventoryItem.IsNew = itemConfigEntries.IsNew;
}
}
break;

View File

@ -140,6 +140,7 @@ export interface IEquipmentDatabase {
RailjackImage?: IFlavourItem;
CrewMembers?: ICrewShipMembersDatabase;
Details?: IKubrowPetDetailsDatabase;
IsNew?: boolean;
_id: Types.ObjectId;
}

View File

@ -48,9 +48,9 @@ export interface IItemEntry {
[itemId: string]: IConfigEntry;
}
export interface IConfigEntry {
[configId: string]: IItemConfig;
}
export type IConfigEntry = {
[configId in "0" | "1" | "2" | "3" | "4" | "5"]: IItemConfig;
} & { IsNew?: boolean };
export interface ILoadoutClient extends Omit<ILoadoutDatabase, "_id" | "loadoutOwnerId"> {}