import * as Cookie from "js-cookie";
import * as jwtDecode from "jwt-decode";

export const setToken = (idToken, accessToken) => {
    // @ts-ignore
    if (!process.browser) {
        return;
    }
    Cookie.set("user", jwtDecode(idToken));
    Cookie.set("idToken", idToken);
    Cookie.set("accessToken", accessToken);
};

export const unsetToken = () => {
    // @ts-ignore
    if (!process.browser) {
        return;
    }
    Cookie.remove("idToken");
    Cookie.remove("accessToken");
    Cookie.remove("user");

    // to support logging out from all windows
    window.localStorage.setItem("logout", "a");
};

export const getUser = () => {
    return Cookie.getJSON("user");
};

export const getUserTokens = () => {
    return {
        idToken: Cookie.get("idToken"),
        accessToken: Cookie.get("accessToken"),
    }
};
