// SPDX-License-Identifier: AGPL-3.0
import { authActions, AuthAction } from "./auth-action";
-import { User } from "~/models/user";
-import { ServiceRepository } from "~/services/services";
-import { SshKeyResource } from '~/models/ssh-key';
-import { Session } from "~/models/session";
-import { Config, mockConfig } from '~/common/config';
+import { User } from "models/user";
+import { ServiceRepository } from "services/services";
+import { SshKeyResource } from 'models/ssh-key';
+import { Session } from "models/session";
+import { Config, mockConfig } from 'common/config';
export interface AuthState {
user?: User;
apiToken?: string;
apiTokenExpiration?: Date;
+ apiTokenLocation?: string;
extraApiToken?: string;
extraApiTokenExpiration?: Date;
sshKeys: SshKeyResource[];
user: undefined,
apiToken: undefined,
apiTokenExpiration: undefined,
+ apiTokenLocation: undefined,
extraApiToken: undefined,
extraApiTokenExpiration: undefined,
sshKeys: [],
({ ...state, extraApiToken, extraApiTokenExpiration }),
RESET_EXTRA_TOKEN: () =>
({ ...state, extraApiToken: undefined, extraApiTokenExpiration: undefined }),
- INIT_USER: ({ user, token, tokenExpiration }) =>
+ INIT_USER: ({ user, token, tokenExpiration, tokenLocation = state.apiTokenLocation }) =>
({ ...state,
user,
apiToken: token,
apiTokenExpiration: tokenExpiration,
- homeCluster: user.uuid.substr(0, 5)
+ apiTokenLocation: tokenLocation,
+ homeCluster: user.uuid.substring(0, 5)
}),
LOGIN: () => state,
LOGOUT: () => ({ ...state, apiToken: undefined }),
USER_DETAILS_SUCCESS: (user: User) =>
- ({ ...state, user, homeCluster: user.uuid.substr(0, 5) }),
+ ({ ...state, user, homeCluster: user.uuid.substring(0, 5) }),
SET_SSH_KEYS: (sshKeys: SshKeyResource[]) => ({ ...state, sshKeys }),
ADD_SSH_KEY: (sshKey: SshKeyResource) =>
({ ...state, sshKeys: state.sshKeys.concat(sshKey) }),