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