feat: vista suite backdrop and soundscape customisation (#2534)
Closes #2532 Reviewed-on: #2534 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
parent
2307a40833
commit
c0a0463a68
22
src/controllers/api/apartmentController.ts
Normal file
22
src/controllers/api/apartmentController.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
|
import { getPersonalRooms } from "@/src/services/personalRoomsService";
|
||||||
|
import { RequestHandler } from "express";
|
||||||
|
|
||||||
|
export const apartmentController: RequestHandler = async (req, res) => {
|
||||||
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
const personalRooms = await getPersonalRooms(accountId, "Apartment");
|
||||||
|
const response: IApartmentResponse = {};
|
||||||
|
if (req.query.backdrop !== undefined) {
|
||||||
|
response.NewBackdropItem = personalRooms.Apartment.VideoWallBackdrop = req.query.backdrop as string;
|
||||||
|
}
|
||||||
|
if (req.query.soundscape !== undefined) {
|
||||||
|
response.NewSoundscapeItem = personalRooms.Apartment.Soundscape = req.query.soundscape as string;
|
||||||
|
}
|
||||||
|
await personalRooms.save();
|
||||||
|
res.json(response);
|
||||||
|
};
|
||||||
|
|
||||||
|
interface IApartmentResponse {
|
||||||
|
NewBackdropItem?: string;
|
||||||
|
NewSoundscapeItem?: string;
|
||||||
|
}
|
@ -122,7 +122,9 @@ const apartmentSchema = new Schema<IApartmentDatabase>(
|
|||||||
{
|
{
|
||||||
Rooms: [roomSchema],
|
Rooms: [roomSchema],
|
||||||
FavouriteLoadouts: [favouriteLoadoutSchema],
|
FavouriteLoadouts: [favouriteLoadoutSchema],
|
||||||
Gardening: gardeningSchema
|
Gardening: gardeningSchema,
|
||||||
|
VideoWallBackdrop: String,
|
||||||
|
Soundscape: String
|
||||||
},
|
},
|
||||||
{ _id: false }
|
{ _id: false }
|
||||||
);
|
);
|
||||||
|
@ -10,6 +10,7 @@ import { addPendingFriendController } from "@/src/controllers/api/addPendingFrie
|
|||||||
import { addToAllianceController } from "@/src/controllers/api/addToAllianceController";
|
import { addToAllianceController } from "@/src/controllers/api/addToAllianceController";
|
||||||
import { addToGuildController } from "@/src/controllers/api/addToGuildController";
|
import { addToGuildController } from "@/src/controllers/api/addToGuildController";
|
||||||
import { adoptPetController } from "@/src/controllers/api/adoptPetController";
|
import { adoptPetController } from "@/src/controllers/api/adoptPetController";
|
||||||
|
import { apartmentController } from "@/src/controllers/api/apartmentController";
|
||||||
import { arcaneCommonController } from "@/src/controllers/api/arcaneCommonController";
|
import { arcaneCommonController } from "@/src/controllers/api/arcaneCommonController";
|
||||||
import { archonFusionController } from "@/src/controllers/api/archonFusionController";
|
import { archonFusionController } from "@/src/controllers/api/archonFusionController";
|
||||||
import { artifactsController } from "@/src/controllers/api/artifactsController";
|
import { artifactsController } from "@/src/controllers/api/artifactsController";
|
||||||
@ -168,6 +169,7 @@ const apiRouter = express.Router();
|
|||||||
// get
|
// get
|
||||||
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
||||||
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
|
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
|
||||||
|
apiRouter.get("/apartment.php", apartmentController);
|
||||||
apiRouter.get("/cancelGuildAdvertisement.php", cancelGuildAdvertisementController);
|
apiRouter.get("/cancelGuildAdvertisement.php", cancelGuildAdvertisementController);
|
||||||
apiRouter.get("/changeDojoRoot.php", changeDojoRootController);
|
apiRouter.get("/changeDojoRoot.php", changeDojoRootController);
|
||||||
apiRouter.get("/changeGuildRank.php", changeGuildRankController);
|
apiRouter.get("/changeGuildRank.php", changeGuildRankController);
|
||||||
|
@ -91,12 +91,16 @@ export interface IApartmentClient {
|
|||||||
Gardening: IGardeningClient;
|
Gardening: IGardeningClient;
|
||||||
Rooms: IRoom[];
|
Rooms: IRoom[];
|
||||||
FavouriteLoadouts: IFavouriteLoadout[];
|
FavouriteLoadouts: IFavouriteLoadout[];
|
||||||
|
VideoWallBackdrop?: string;
|
||||||
|
Soundscape?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IApartmentDatabase {
|
export interface IApartmentDatabase {
|
||||||
Gardening: IGardeningDatabase;
|
Gardening: IGardeningDatabase;
|
||||||
Rooms: IRoom[];
|
Rooms: IRoom[];
|
||||||
FavouriteLoadouts: IFavouriteLoadoutDatabase[];
|
FavouriteLoadouts: IFavouriteLoadoutDatabase[];
|
||||||
|
VideoWallBackdrop?: string;
|
||||||
|
Soundscape?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IPlacedDecosDatabase {
|
export interface IPlacedDecosDatabase {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user