6540f15c5b
* Wrap websockets with HyperExpress * Add endpoints on pusher to resolve wokas * getting textures urls from pusher * Adding OpenAPI documentation for the pusher. The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint. * revert FRONT_URL * playerTextures metadata is being loaded via Phaser.Loader * fetch textures every time character or customize scene is open * Heavy changes: refactoring the pusher to always send the textures (and the front to accept them) * Sending character layer details to admin * Cleaning commented code * Fixing regex * Fix woka endpoints on pusher * Change error wording on pusher * Working on integration of the woka-list with the new admin endpoint. * Switching from "name" to "id" in texture object + using zod for woka/list validation * Add position on default woka data * Remove async on pusher option method * Fix woka list url * add options for /register * Fxiing loading the Woka list * Actually returning something in logout-callback * Copying messages to back too * remove customize button if no body parts are available (#1952) * remove customize button if no body parts are available * remove unused position field from PlayerTexturesCollection interface * removed unused label field * fix LocalUser test * little PlayerTextures class refactor * Fixing linting * Fixing missing Openapi packages in prod * Fixing back build Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: David Négrier <d.negrier@thecodingmachine.com> * Add returns on pusher endpoints Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re> Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import axios, { AxiosResponse } from "axios";
|
|
import { ADMIN_API_TOKEN, ADMIN_API_URL } from "../Enum/EnvironmentVariable";
|
|
import { wokaList, WokaList } from "../Enum/PlayerTextures";
|
|
import { WokaServiceInterface } from "./WokaServiceInterface";
|
|
|
|
class AdminWokaService implements WokaServiceInterface {
|
|
/**
|
|
* Returns the list of all available Wokas for the current user.
|
|
*/
|
|
getWokaList(roomUrl: string, token: string): Promise<WokaList | undefined> {
|
|
return axios
|
|
.get<unknown, AxiosResponse<unknown>>(`${ADMIN_API_URL}/api/woka/list`, {
|
|
headers: { Authorization: `${ADMIN_API_TOKEN}` },
|
|
params: {
|
|
roomUrl,
|
|
uuid: token,
|
|
},
|
|
})
|
|
.then((res) => {
|
|
return wokaList.parse(res.data);
|
|
})
|
|
.catch((err) => {
|
|
console.error(`Cannot get woka list from admin API with token: ${token}`, err);
|
|
return undefined;
|
|
});
|
|
}
|
|
}
|
|
|
|
export const adminWokaService = new AdminWokaService();
|