54268c24c8114052abb4faeeb880b5cd00b0ce2b
[arvados-workbench2.git] / src / common / redirect-to.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 const REDIRECT_TO_KEY = 'redirectTo';
6
7 export const storeRedirects = () => {
8     if (window.location.href.indexOf(REDIRECT_TO_KEY) > -1) {
9         const { location: { href }, sessionStorage } = window;
10         const redirectUrl = href.split(`${REDIRECT_TO_KEY}=`)[1];
11         
12         if (sessionStorage) {
13             sessionStorage.setItem(REDIRECT_TO_KEY, redirectUrl);
14         }
15     }
16 };
17
18 export const handleRedirects = (token: string) => {
19     const { sessionStorage } = window;
20
21     if (sessionStorage && sessionStorage.getItem(REDIRECT_TO_KEY)) {
22         const redirectUrl = sessionStorage.getItem(REDIRECT_TO_KEY);
23         sessionStorage.removeItem(REDIRECT_TO_KEY);
24         window.location.href = `${redirectUrl}?api_token=${token}`;
25     }
26 };