feat: equipment IsNew flag (#1309)
All checks were successful
Build / build (22) (push) Successful in 38s
Build / build (18) (push) Successful in 1m15s
Build Docker image / docker (push) Successful in 31s
Build / build (20) (push) Successful in 1m22s

Reviewed-on: #1309
This commit is contained in:
Sainan 2025-03-27 12:27:38 -07:00
parent ba795150a9
commit a56ff89bb9
5 changed files with 14 additions and 6 deletions

View File

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

View File

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

View File

@ -155,7 +155,12 @@ export const handleInventoryItemConfigChange = async (
} }
for (const [configId, config] of Object.entries(itemConfigEntries)) { 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; break;

View File

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

View File

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