2020-10-06 15:37:00 +02:00
|
|
|
import {ADMIN_API_TOKEN, ADMIN_API_URL} from "../Enum/EnvironmentVariable";
|
2020-10-12 16:23:07 +02:00
|
|
|
import Axios from "axios";
|
2020-10-06 15:37:00 +02:00
|
|
|
|
|
|
|
export interface AdminApiData {
|
|
|
|
organizationSlug: string
|
|
|
|
worldSlug: string
|
|
|
|
roomSlug: string
|
|
|
|
mapUrlStart: string
|
2020-10-14 16:00:25 +02:00
|
|
|
tags: string[]
|
|
|
|
policy_type: number
|
2020-10-06 15:37:00 +02:00
|
|
|
userUuid: string
|
2020-10-20 16:39:23 +02:00
|
|
|
messages?: unknown[],
|
|
|
|
textures: CharacterTexture[]
|
2020-10-06 15:37:00 +02:00
|
|
|
}
|
|
|
|
|
2020-10-20 16:39:23 +02:00
|
|
|
export interface CharacterTexture {
|
|
|
|
id: number,
|
|
|
|
level: number,
|
|
|
|
url: string,
|
|
|
|
rights: string
|
|
|
|
}
|
|
|
|
|
2020-10-06 15:37:00 +02:00
|
|
|
class AdminApi {
|
2020-10-13 15:12:24 +02:00
|
|
|
|
|
|
|
async fetchMapDetails(organizationSlug: string, worldSlug: string, roomSlug: string|undefined): Promise<AdminApiData> {
|
|
|
|
if (!ADMIN_API_URL) {
|
|
|
|
return Promise.reject('No admin backoffice set!');
|
|
|
|
}
|
|
|
|
|
2020-10-13 15:29:08 +02:00
|
|
|
const params: { organizationSlug: string, worldSlug: string, roomSlug?: string } = {
|
2020-10-13 15:12:24 +02:00
|
|
|
organizationSlug,
|
|
|
|
worldSlug
|
|
|
|
};
|
|
|
|
|
|
|
|
if (roomSlug) {
|
2020-10-13 15:29:08 +02:00
|
|
|
params.roomSlug = roomSlug;
|
2020-10-13 15:12:24 +02:00
|
|
|
}
|
|
|
|
|
2020-10-20 09:20:00 +02:00
|
|
|
const res = await Axios.get(ADMIN_API_URL + '/api/map',
|
2020-10-13 15:12:24 +02:00
|
|
|
{
|
2020-10-20 09:20:00 +02:00
|
|
|
headers: {"Authorization": `${ADMIN_API_TOKEN}`},
|
2020-10-13 15:12:24 +02:00
|
|
|
params
|
|
|
|
}
|
|
|
|
)
|
|
|
|
return res.data;
|
|
|
|
}
|
2020-10-06 15:37:00 +02:00
|
|
|
}
|
|
|
|
|
2020-10-13 15:12:24 +02:00
|
|
|
export const adminApi = new AdminApi();
|