fix woka-list

This commit is contained in:
_Bastler 2022-03-13 15:49:21 +01:00
parent 366231df98
commit df094d30a2
4 changed files with 21 additions and 27 deletions

View File

@ -345,20 +345,6 @@ class ConnectionManager {
gameManager.setPlayerName(username); gameManager.setPlayerName(username);
} }
const layers: string[] = [];
if (textures) {
let i = 0;
for (const layerItem of textures) {
if (layerItem !== undefined) {
layers.push(layerItem.id);
}
i++;
}
if (layers.length > 0) {
gameManager.setCharacterLayers(layers);
}
}
if (locale) { if (locale) {
try { try {
if (locales.indexOf(locale) == -1) { if (locales.indexOf(locale) == -1) {
@ -376,6 +362,18 @@ class ConnectionManager {
} }
} }
if (textures) {
const layers: string[] = [];
for (const texture of textures) {
if (texture !== undefined) {
layers.push(texture.id);
}
}
if (layers.length > 0) {
gameManager.setCharacterLayers(layers);
}
}
//user connected, set connected store for menu at true //user connected, set connected store for menu at true
userIsConnected.set(true); userIsConnected.set(true);
} }

View File

@ -46,7 +46,7 @@ export class CustomizeScene extends AbstractCharacterScene {
// FIXME: window.location.href is wrong. We need the URL of the main room (so we need to apply any redirect before!) // FIXME: window.location.href is wrong. We need the URL of the main room (so we need to apply any redirect before!)
this.load.json( this.load.json(
wokaMetadataKey, wokaMetadataKey,
`${PUSHER_URL}/woka/list/` + encodeURIComponent(window.location.href), `${PUSHER_URL}/woka/list?roomUrl=` + encodeURIComponent(window.location.href),
undefined, undefined,
{ {
responseType: "text", responseType: "text",

View File

@ -50,7 +50,7 @@ export class SelectCharacterScene extends AbstractCharacterScene {
// FIXME: window.location.href is wrong. We need the URL of the main room (so we need to apply any redirect before!) // FIXME: window.location.href is wrong. We need the URL of the main room (so we need to apply any redirect before!)
this.load.json( this.load.json(
wokaMetadataKey, wokaMetadataKey,
`${PUSHER_URL}/woka/list/` + encodeURIComponent(window.location.href), `${PUSHER_URL}/woka/list?roomUrl=` + encodeURIComponent(window.location.href),
undefined, undefined,
{ {
responseType: "text", responseType: "text",

View File

@ -1,17 +1,17 @@
import { BaseHttpController } from "./BaseHttpController"; import { BaseHttpController } from "./BaseHttpController";
import { parse } from "query-string";
import { wokaService } from "../Services/WokaService"; import { wokaService } from "../Services/WokaService";
import * as tg from "generic-type-guard";
import { jwtTokenManager } from "../Services/JWTTokenManager"; import { jwtTokenManager } from "../Services/JWTTokenManager";
export class WokaListController extends BaseHttpController { export class WokaListController extends BaseHttpController {
routes() { routes() {
this.app.options("/woka/list/:roomUrl", {}, (req, res) => { this.app.options("/woka/list", {}, (req, res) => {
res.status(200).send(""); res.status(200).send("");
return; return;
}); });
// eslint-disable-next-line @typescript-eslint/no-misused-promises // eslint-disable-next-line @typescript-eslint/no-misused-promises
this.app.get("/woka/list/:roomUrl", {}, async (req, res) => { this.app.get("/woka/list", {}, async (req, res) => {
const token = req.header("Authorization"); const token = req.header("Authorization");
if (!token) { if (!token) {
@ -29,17 +29,13 @@ export class WokaListController extends BaseHttpController {
return; return;
} }
const isParameters = new tg.IsInterface() let { roomUrl } = parse(req.path_query);
.withProperties({
roomUrl: tg.isString,
})
.get();
if (!isParameters(req.path_parameters)) { if (typeof roomUrl !== "string") {
return res.status(400).send("Unknown parameters"); throw new Error("missing roomUrl URL parameter");
} }
const roomUrl = decodeURIComponent(req.path_parameters.roomUrl); roomUrl = decodeURIComponent(roomUrl);
const wokaList = await wokaService.getWokaList(roomUrl, req.params["uuid"]); const wokaList = await wokaService.getWokaList(roomUrl, req.params["uuid"]);
if (!wokaList) { if (!wokaList) {