X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/eeb82d50816250cc6287928e6d958affa73880ee..f626dd268140b4ef406a2ec0c6568f6ca0298e1d:/src/store/auth/auth-action.ts diff --git a/src/store/auth/auth-action.ts b/src/store/auth/auth-action.ts index e18c78b1..e9930a02 100644 --- a/src/store/auth/auth-action.ts +++ b/src/store/auth/auth-action.ts @@ -3,19 +3,28 @@ // SPDX-License-Identifier: AGPL-3.0 import { ofType, default as unionize, UnionOf } from "unionize"; -import { UserDetailsResponse } from "../../services/auth-service/auth-service"; +import { Dispatch } from "redux"; +import { authService } from "../../services/services"; +import { User } from "../../models/user"; -const actions = unionize({ +export const authActions = unionize({ SAVE_API_TOKEN: ofType(), LOGIN: {}, LOGOUT: {}, INIT: {}, USER_DETAILS_REQUEST: {}, - USER_DETAILS_SUCCESS: ofType() + USER_DETAILS_SUCCESS: ofType() }, { tag: 'type', value: 'payload' }); -export type AuthAction = UnionOf; -export default actions; +export const getUserDetails = () => (dispatch: Dispatch): Promise => { + dispatch(authActions.USER_DETAILS_REQUEST()); + return authService.getUserDetails().then(details => { + dispatch(authActions.USER_DETAILS_SUCCESS(details)); + return details; + }); +}; + +export type AuthAction = UnionOf;