diff --git a/src/models/personalRoomsModel.ts b/src/models/personalRoomsModel.ts index 36243c6d..e54d1b1c 100644 --- a/src/models/personalRoomsModel.ts +++ b/src/models/personalRoomsModel.ts @@ -125,6 +125,7 @@ favouriteLoadoutSchema.set("toJSON", { const tailorShopSchema = new Schema( { FavouriteLoadouts: [favouriteLoadoutSchema], + Colors: { type: colorSchema, required: false }, CustomJson: String, LevelDecosVisible: Boolean, Rooms: [roomSchema] diff --git a/src/services/shipCustomizationsService.ts b/src/services/shipCustomizationsService.ts index c583c1a8..bc7ca5fb 100644 --- a/src/services/shipCustomizationsService.ts +++ b/src/services/shipCustomizationsService.ts @@ -28,7 +28,13 @@ export const setShipCustomizations = async ( } } else { const personalRooms = await getPersonalRooms(accountId); - personalRooms.ShipInteriorColors = shipCustomization.Customization.Colors; + if (shipCustomization.IsShop) { + personalRooms.TailorShop.Colors = shipCustomization.Customization.Colors; + personalRooms.TailorShop.LevelDecosVisible = shipCustomization.Customization.LevelDecosVisible; + personalRooms.TailorShop.CustomJson = shipCustomization.Customization.CustomJson; + } else { + personalRooms.ShipInteriorColors = shipCustomization.Customization.Colors; + } await personalRooms.save(); } }; diff --git a/src/types/shipTypes.ts b/src/types/shipTypes.ts index 92f5f0cb..936a5cc6 100644 --- a/src/types/shipTypes.ts +++ b/src/types/shipTypes.ts @@ -84,12 +84,15 @@ export interface ISetShipCustomizationsRequest { Customization: Customization; IsExterior: boolean; AirSupportPower?: string; + IsShop?: boolean; } export interface Customization { SkinFlavourItem: string; Colors: IColor; ShipAttachments: ShipAttachments; + LevelDecosVisible: boolean; + CustomJson: string; } //TODO: check for more attachments @@ -155,12 +158,12 @@ export interface IFavouriteLoadoutDatabase { export interface ITailorShopDatabase { FavouriteLoadouts: IFavouriteLoadoutDatabase[]; - CustomJson: "{}"; // ??? + Colors?: IColor; + CustomJson: string; LevelDecosVisible: boolean; Rooms: IRoom[]; } export interface ITailorShop extends Omit { FavouriteLoadouts: IFavouriteLoadout[]; - Colors?: []; // ??? }