chore: generate inventory equipment types from equipmentKeys (#972)

Reviewed-on: OpenWF/SpaceNinjaServer#972
Co-authored-by: Sainan <sainan@calamity.inc>
Co-committed-by: Sainan <sainan@calamity.inc>
This commit is contained in:
Sainan 2025-02-20 02:58:57 -08:00 committed by OrdisPrime
parent ac6ac19199
commit 815d18623e

View File

@ -12,6 +12,10 @@ import {
IOperatorConfigDatabase IOperatorConfigDatabase
} from "@/src/types/inventoryTypes/commonInventoryTypes"; } from "@/src/types/inventoryTypes/commonInventoryTypes";
export type InventoryDatabaseEquipment = {
[_ in TEquipmentKey]: IEquipmentDatabase[];
};
export interface IInventoryDatabase export interface IInventoryDatabase
extends Omit< extends Omit<
IInventoryClient, IInventoryClient,
@ -35,7 +39,8 @@ export interface IInventoryDatabase
| "DialogueHistory" | "DialogueHistory"
| "KubrowPetEggs" | "KubrowPetEggs"
| TEquipmentKey | TEquipmentKey
> { >,
InventoryDatabaseEquipment {
accountOwnerId: Types.ObjectId; accountOwnerId: Types.ObjectId;
Created: Date; Created: Date;
TrainingDate: Date; TrainingDate: Date;
@ -56,30 +61,6 @@ export interface IInventoryDatabase
InfestedFoundry?: IInfestedFoundryDatabase; InfestedFoundry?: IInfestedFoundryDatabase;
DialogueHistory?: IDialogueHistoryDatabase; DialogueHistory?: IDialogueHistoryDatabase;
KubrowPetEggs?: IKubrowPetEggDatabase[]; KubrowPetEggs?: IKubrowPetEggDatabase[];
Suits: IEquipmentDatabase[];
LongGuns: IEquipmentDatabase[];
Pistols: IEquipmentDatabase[];
Melee: IEquipmentDatabase[];
SpecialItems: IEquipmentDatabase[];
Sentinels: IEquipmentDatabase[];
SentinelWeapons: IEquipmentDatabase[];
SpaceSuits: IEquipmentDatabase[];
SpaceGuns: IEquipmentDatabase[];
SpaceMelee: IEquipmentDatabase[];
Hoverboards: IEquipmentDatabase[];
OperatorAmps: IEquipmentDatabase[];
MoaPets: IEquipmentDatabase[];
Scoops: IEquipmentDatabase[];
Horses: IEquipmentDatabase[];
DrifterGuns: IEquipmentDatabase[];
DrifterMelee: IEquipmentDatabase[];
Motorcycles: IEquipmentDatabase[];
CrewShips: IEquipmentDatabase[];
DataKnives: IEquipmentDatabase[];
MechSuits: IEquipmentDatabase[];
CrewShipHarnesses: IEquipmentDatabase[];
KubrowPets: IEquipmentDatabase[];
} }
export interface IQuestKeyDatabase { export interface IQuestKeyDatabase {
@ -179,30 +160,11 @@ export interface IDailyAffiliations {
DailyAffiliationHex: number; DailyAffiliationHex: number;
} }
export interface IInventoryClient extends IDailyAffiliations { export type InventoryClientEquipment = {
Suits: IEquipmentClient[]; [_ in TEquipmentKey]: IEquipmentClient[];
LongGuns: IEquipmentClient[]; };
Pistols: IEquipmentClient[];
Melee: IEquipmentClient[]; export interface IInventoryClient extends IDailyAffiliations, InventoryClientEquipment {
SpecialItems: IEquipmentClient[];
Sentinels: IEquipmentClient[];
SentinelWeapons: IEquipmentClient[];
SpaceSuits: IEquipmentClient[];
SpaceGuns: IEquipmentClient[];
SpaceMelee: IEquipmentClient[];
Hoverboards: IEquipmentClient[];
OperatorAmps: IEquipmentClient[];
MoaPets: IEquipmentClient[];
Scoops: IEquipmentClient[];
Horses: IEquipmentClient[];
DrifterGuns: IEquipmentClient[];
DrifterMelee: IEquipmentClient[];
Motorcycles: IEquipmentClient[];
CrewShips: IEquipmentClient[];
DataKnives: IEquipmentClient[];
MechSuits: IEquipmentClient[];
CrewShipHarnesses: IEquipmentClient[];
KubrowPets: IEquipmentClient[];
AdultOperatorLoadOuts: IOperatorConfigClient[]; AdultOperatorLoadOuts: IOperatorConfigClient[];
OperatorLoadOuts: IOperatorConfigClient[]; OperatorLoadOuts: IOperatorConfigClient[];
KahlLoadOuts: IOperatorConfigClient[]; KahlLoadOuts: IOperatorConfigClient[];