1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { linkAccountPanelActions, LinkAccountPanelAction } from "~/store/link-account-panel/link-account-panel-actions";
6 import { UserResource, User } from "~/models/user";
8 export interface LinkAccountPanelState {
9 user: UserResource | undefined;
10 userToken: string | undefined;
11 userToLink: UserResource | undefined;
12 userToLinkToken: string | undefined;
15 const initialState = {
18 userToLink: undefined,
19 userToLinkToken: undefined
22 export const linkAccountPanelReducer = (state: LinkAccountPanelState = initialState, action: LinkAccountPanelAction) =>
23 linkAccountPanelActions.match(action, {
25 LOAD_LINKING: ({ userToLink, user, userToken, userToLinkToken}) => ({ ...state, user, userToken, userToLink, userToLinkToken }),
26 RESET_LINKING: () => ({ ...state, user: undefined, userToken: undefined, userToLink: undefined, userToLinkToken: undefined })