workadventure/front/src/register.ts

29 lines
880 B
TypeScript
Raw Normal View History

2020-09-17 18:08:20 +02:00
import Axios from "axios";
import {API_URL} from "./Enum/EnvironmentVariable";
2020-09-18 16:29:53 +02:00
declare let history:History;
2020-09-17 18:08:20 +02:00
2020-09-18 16:29:53 +02:00
//todo: better naming
export interface ConnexionData {
organizationSlug: string,
worldSlug: string,
roomSlug: string,
}
export async function redirectIfToken(): Promise<ConnexionData | null> {
const match = /\/register\/(.+)/.exec(window.location.toString());
if (!match) {
return null
}
let res = null;
try {
res = await Axios.get(`${API_URL}/register/`+match[1])
} catch (e) {
return null;
2020-09-17 18:08:20 +02:00
}
2020-09-18 16:29:53 +02:00
const organizationSlug = res.data.organizationSlug;
const worldSlug = res.data.worldSlug;
const roomSlug = res.data.roomSlug;
const connexionUrl = '/@/'+organizationSlug+'/'+worldSlug+'/'+roomSlug;
history.pushState({}, '', connexionUrl);
return {organizationSlug, worldSlug, roomSlug};
2020-09-17 18:08:20 +02:00
}