Added the user-room token created from admin when we access a room
This commit is contained in:
parent
9eb4206fe0
commit
dd79f7d0f4
13 changed files with 63 additions and 2 deletions
|
@ -9,6 +9,7 @@ export const isGameStateEvent = new tg.IsInterface()
|
|||
startLayerName: tg.isUnion(tg.isString, tg.isNull),
|
||||
tags: tg.isArray(tg.isString),
|
||||
variables: tg.isObject,
|
||||
userRoomToken: tg.isUnion(tg.isString, tg.isUndefined),
|
||||
})
|
||||
.get();
|
||||
/**
|
||||
|
|
|
@ -20,6 +20,12 @@ export const setTags = (_tags: string[]) => {
|
|||
|
||||
let uuid: string | undefined;
|
||||
|
||||
let userRoomToken: string | undefined;
|
||||
|
||||
export const setUserRoomToken = (token: string | undefined) => {
|
||||
userRoomToken = token;
|
||||
};
|
||||
|
||||
export const setUuid = (_uuid: string | undefined) => {
|
||||
uuid = _uuid;
|
||||
};
|
||||
|
@ -67,6 +73,13 @@ export class WorkadventurePlayerCommands extends IframeApiContribution<Workadven
|
|||
}
|
||||
return uuid;
|
||||
}
|
||||
|
||||
get userRoomToken(): string | undefined {
|
||||
if (userRoomToken === undefined) {
|
||||
throw new Error("User-room token not initialized yet. You should call WA.player.userRoomToken within a WA.onInit callback.");
|
||||
}
|
||||
return userRoomToken;
|
||||
}
|
||||
}
|
||||
|
||||
export default new WorkadventurePlayerCommands();
|
||||
|
|
|
@ -68,6 +68,7 @@ export class RoomConnection implements RoomConnection {
|
|||
private static websocketFactory: null | ((url: string) => any) = null; // eslint-disable-line @typescript-eslint/no-explicit-any
|
||||
private closed: boolean = false;
|
||||
private tags: string[] = [];
|
||||
private _userRoomToken: string | undefined;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
public static setWebsocketFactory(websocketFactory: (url: string) => any): void {
|
||||
|
@ -211,6 +212,7 @@ export class RoomConnection implements RoomConnection {
|
|||
|
||||
this.userId = roomJoinedMessage.getCurrentuserid();
|
||||
this.tags = roomJoinedMessage.getTagList();
|
||||
this._userRoomToken = roomJoinedMessage.getUserroomtoken();
|
||||
|
||||
this.dispatch(EventMessage.CONNECT, {
|
||||
connection: this,
|
||||
|
@ -710,4 +712,8 @@ export class RoomConnection implements RoomConnection {
|
|||
public getAllTags(): string[] {
|
||||
return this.tags;
|
||||
}
|
||||
|
||||
public get userRoomToken(): string | undefined {
|
||||
return this._userRoomToken;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1165,6 +1165,7 @@ ${escapedMessage}
|
|||
roomId: this.roomUrl,
|
||||
tags: this.connection ? this.connection.getAllTags() : [],
|
||||
variables: this.sharedVariablesManager.variables,
|
||||
userRoomToken: this.connection ? this.connection.userRoomToken : ''
|
||||
};
|
||||
});
|
||||
this.iframeSubscriptionList.push(
|
||||
|
|
|
@ -15,11 +15,11 @@ import ui from "./Api/iframe/ui";
|
|||
import sound from "./Api/iframe/sound";
|
||||
import room, { setMapURL, setRoomId } from "./Api/iframe/room";
|
||||
import state, { initVariables } from "./Api/iframe/state";
|
||||
import player, { setPlayerName, setTags, setUuid } from "./Api/iframe/player";
|
||||
import player, { setPlayerName, setTags, setUserRoomToken, setUuid } from "./Api/iframe/player";
|
||||
import type { ButtonDescriptor } from "./Api/iframe/Ui/ButtonDescriptor";
|
||||
import type { Popup } from "./Api/iframe/Ui/Popup";
|
||||
import type { Sound } from "./Api/iframe/Sound/Sound";
|
||||
import { answerPromises, queryWorkadventure, sendToWorkadventure } from "./Api/iframe/IframeApiContribution";
|
||||
import { answerPromises, queryWorkadventure } from "./Api/iframe/IframeApiContribution";
|
||||
|
||||
// Notify WorkAdventure that we are ready to receive data
|
||||
const initPromise = queryWorkadventure({
|
||||
|
@ -32,6 +32,7 @@ const initPromise = queryWorkadventure({
|
|||
setTags(state.tags);
|
||||
setUuid(state.uuid);
|
||||
initVariables(state.variables as Map<string, unknown>);
|
||||
setUserRoomToken(state.userRoomToken);
|
||||
});
|
||||
|
||||
const wa = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue