schema for CrewShipSalvagedWeapons
This commit is contained in:
parent
47d3008a6c
commit
095dc9fd9e
@ -1120,7 +1120,12 @@ const alignmentSchema = new Schema<IAlignment>(
|
|||||||
|
|
||||||
const crewShipWeaponSchema2 = new Schema<ICrewShipWeaponDatabase>(
|
const crewShipWeaponSchema2 = new Schema<ICrewShipWeaponDatabase>(
|
||||||
{
|
{
|
||||||
ItemType: String
|
ItemType: String,
|
||||||
|
Configs: { type: [ItemConfigSchema], default: undefined },
|
||||||
|
UpgradeVer: { type: Number, default: undefined },
|
||||||
|
UpgradeType: { type: Number, default: undefined },
|
||||||
|
UpgradeFingerprint: { type: String, default: undefined },
|
||||||
|
IsNew: { type: Boolean, default: undefined }
|
||||||
},
|
},
|
||||||
{ id: false }
|
{ id: false }
|
||||||
);
|
);
|
||||||
@ -1261,11 +1266,11 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
|||||||
CrewShipAmmo: [typeCountSchema],
|
CrewShipAmmo: [typeCountSchema],
|
||||||
CrewShipWeapons: [crewShipWeaponSchema2],
|
CrewShipWeapons: [crewShipWeaponSchema2],
|
||||||
CrewShipWeaponSkins: [upgradeSchema],
|
CrewShipWeaponSkins: [upgradeSchema],
|
||||||
|
CrewShipSalvagedWeapons: [crewShipWeaponSchema2],
|
||||||
//NPC Crew and weapon
|
|
||||||
CrewMembers: [Schema.Types.Mixed],
|
|
||||||
CrewShipSalvagedWeaponSkins: [upgradeSchema],
|
CrewShipSalvagedWeaponSkins: [upgradeSchema],
|
||||||
CrewShipSalvagedWeapons: [upgradeSchema],
|
|
||||||
|
//RailJack Crew
|
||||||
|
CrewMembers: [Schema.Types.Mixed],
|
||||||
|
|
||||||
//Complete Mission\Quests
|
//Complete Mission\Quests
|
||||||
Missions: [missionSchema],
|
Missions: [missionSchema],
|
||||||
@ -1526,6 +1531,8 @@ export type InventoryDocumentProps = {
|
|||||||
Drones: Types.DocumentArray<IDroneDatabase>;
|
Drones: Types.DocumentArray<IDroneDatabase>;
|
||||||
CrewShipWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
|
CrewShipWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
|
||||||
CrewShipWeaponSkins: Types.DocumentArray<IUpgradeDatabase>;
|
CrewShipWeaponSkins: Types.DocumentArray<IUpgradeDatabase>;
|
||||||
|
CrewShipSalvagedWeapons: Types.DocumentArray<ICrewShipWeaponDatabase>;
|
||||||
|
CrewShipSalvagedWeaponsSkins: Types.DocumentArray<IUpgradeDatabase>;
|
||||||
} & { [K in TEquipmentKey]: Types.DocumentArray<IEquipmentDatabase> };
|
} & { [K in TEquipmentKey]: Types.DocumentArray<IEquipmentDatabase> };
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
|
@ -12,6 +12,8 @@ import {
|
|||||||
ICrewShipMemberDatabase,
|
ICrewShipMemberDatabase,
|
||||||
ICrewShipMembersClient,
|
ICrewShipMembersClient,
|
||||||
ICrewShipMembersDatabase,
|
ICrewShipMembersDatabase,
|
||||||
|
ICrewShipWeaponClient,
|
||||||
|
ICrewShipWeaponDatabase,
|
||||||
IDialogueClient,
|
IDialogueClient,
|
||||||
IDialogueDatabase,
|
IDialogueDatabase,
|
||||||
IDialogueHistoryClient,
|
IDialogueHistoryClient,
|
||||||
@ -67,6 +69,22 @@ const convertEquipment = (client: IEquipmentClient): IEquipmentDatabase => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const convertCrewShipWeapon = (client: ICrewShipWeaponClient): ICrewShipWeaponDatabase => {
|
||||||
|
const { ItemId, ...rest } = client;
|
||||||
|
return {
|
||||||
|
...rest,
|
||||||
|
_id: new Types.ObjectId(ItemId.$oid),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||||
|
Configs: client.Configs
|
||||||
|
? client.Configs.map(obj =>
|
||||||
|
Object.fromEntries(
|
||||||
|
Object.entries(obj).filter(([_, value]) => !Array.isArray(value) || value.length > 0)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
: []
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const convertWeaponSkin = (client: IWeaponSkinClient): IWeaponSkinDatabase => {
|
const convertWeaponSkin = (client: IWeaponSkinClient): IWeaponSkinDatabase => {
|
||||||
const { ItemId, ...rest } = client;
|
const { ItemId, ...rest } = client;
|
||||||
return {
|
return {
|
||||||
@ -185,6 +203,11 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
|
|||||||
replaceArray<IUpgradeDatabase>(db[key], client[key].map(convertUpgrade));
|
replaceArray<IUpgradeDatabase>(db[key], client[key].map(convertUpgrade));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (const key of ["CrewShipWeapons", "CrewShipSalvagedWeapons"] as const) {
|
||||||
|
if (client[key] !== undefined) {
|
||||||
|
replaceArray<ICrewShipWeaponDatabase>(db[key], client[key].map(convertCrewShipWeapon));
|
||||||
|
}
|
||||||
|
}
|
||||||
for (const key of [
|
for (const key of [
|
||||||
"RawUpgrades",
|
"RawUpgrades",
|
||||||
"MiscItems",
|
"MiscItems",
|
||||||
|
@ -30,9 +30,10 @@ export interface IInventoryDatabase
|
|||||||
| "Ships"
|
| "Ships"
|
||||||
| "WeaponSkins"
|
| "WeaponSkins"
|
||||||
| "Upgrades"
|
| "Upgrades"
|
||||||
| "CrewShipSalvagedWeaponSkins"
|
|
||||||
| "CrewShipWeapons"
|
| "CrewShipWeapons"
|
||||||
| "CrewShipWeaponSkins"
|
| "CrewShipWeaponSkins"
|
||||||
|
| "CrewShipSalvagedWeapons"
|
||||||
|
| "CrewShipSalvagedWeaponSkins"
|
||||||
| "AdultOperatorLoadOuts"
|
| "AdultOperatorLoadOuts"
|
||||||
| "OperatorLoadOuts"
|
| "OperatorLoadOuts"
|
||||||
| "KahlLoadOuts"
|
| "KahlLoadOuts"
|
||||||
@ -59,9 +60,10 @@ export interface IInventoryDatabase
|
|||||||
Ships: Types.ObjectId[];
|
Ships: Types.ObjectId[];
|
||||||
WeaponSkins: IWeaponSkinDatabase[];
|
WeaponSkins: IWeaponSkinDatabase[];
|
||||||
Upgrades: IUpgradeDatabase[];
|
Upgrades: IUpgradeDatabase[];
|
||||||
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
|
|
||||||
CrewShipWeapons: ICrewShipWeaponDatabase[];
|
CrewShipWeapons: ICrewShipWeaponDatabase[];
|
||||||
CrewShipWeaponSkins: IUpgradeDatabase[];
|
CrewShipWeaponSkins: IUpgradeDatabase[];
|
||||||
|
CrewShipSalvagedWeapons: ICrewShipWeaponDatabase[];
|
||||||
|
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
|
||||||
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
|
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
OperatorLoadOuts: IOperatorConfigDatabase[];
|
OperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
KahlLoadOuts: IOperatorConfigDatabase[];
|
KahlLoadOuts: IOperatorConfigDatabase[];
|
||||||
@ -297,10 +299,10 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
|
|||||||
PersonalTechProjects: IPersonalTechProject[];
|
PersonalTechProjects: IPersonalTechProject[];
|
||||||
PlayerSkills: IPlayerSkills;
|
PlayerSkills: IPlayerSkills;
|
||||||
CrewShipAmmo: ITypeCount[];
|
CrewShipAmmo: ITypeCount[];
|
||||||
CrewShipSalvagedWeaponSkins: IUpgradeClient[];
|
|
||||||
CrewShipWeapons: ICrewShipWeaponClient[];
|
CrewShipWeapons: ICrewShipWeaponClient[];
|
||||||
CrewShipSalvagedWeapons: IEquipmentClient[];
|
|
||||||
CrewShipWeaponSkins: IUpgradeClient[];
|
CrewShipWeaponSkins: IUpgradeClient[];
|
||||||
|
CrewShipSalvagedWeapons: ICrewShipWeaponClient[];
|
||||||
|
CrewShipSalvagedWeaponSkins: IUpgradeClient[];
|
||||||
TradeBannedUntil?: IMongoDate;
|
TradeBannedUntil?: IMongoDate;
|
||||||
PlayedParkourTutorial: boolean;
|
PlayedParkourTutorial: boolean;
|
||||||
SubscribedToEmailsPersonalized: number;
|
SubscribedToEmailsPersonalized: number;
|
||||||
@ -537,16 +539,20 @@ export interface ICrewShipWeapon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// inventory.CrewShipWeapons
|
// inventory.CrewShipWeapons
|
||||||
export interface ICrewShipWeaponClient {
|
|
||||||
ItemType: string;
|
|
||||||
ItemId: IOid;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ICrewShipWeaponDatabase {
|
export interface ICrewShipWeaponDatabase {
|
||||||
ItemType: string;
|
ItemType: string;
|
||||||
|
Configs?: IItemConfig[];
|
||||||
|
UpgradeVer?: number;
|
||||||
|
UpgradeType?: string;
|
||||||
|
UpgradeFingerprint?: string;
|
||||||
|
IsNew?: boolean;
|
||||||
_id: Types.ObjectId;
|
_id: Types.ObjectId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ICrewShipWeaponClient extends Omit<ICrewShipWeaponDatabase, "_Id"> {
|
||||||
|
ItemId: IOid;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ICrewShipPilotWeapon {
|
export interface ICrewShipPilotWeapon {
|
||||||
PRIMARY_A: IEquipmentSelection;
|
PRIMARY_A: IEquipmentSelection;
|
||||||
SECONDARY_A: IEquipmentSelection;
|
SECONDARY_A: IEquipmentSelection;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user