diff options
Diffstat (limited to 'src/sagas/users.js')
| -rw-r--r-- | src/sagas/users.js | 74 |
1 files changed, 39 insertions, 35 deletions
diff --git a/src/sagas/users.js b/src/sagas/users.js index f1ee9823..3825443a 100644 --- a/src/sagas/users.js +++ b/src/sagas/users.js @@ -1,46 +1,50 @@ -import {call, put} from "redux-saga/effects"; -import {logInSucceeded} from "../actions/auth"; -import {addToStore} from "../actions/objects"; -import {fetchAuthorizationsOfCurrentUserSucceeded} from "../actions/users"; -import {performTokenSignIn} from "../api/routes/token-signin"; -import {addUser, getAuthorizationsByUser} from "../api/routes/users"; -import {saveAuthLocalStorage} from "../auth/index"; -import {fetchAndStoreSimulation, fetchAndStoreUser} from "./objects"; +import { call, put } from "redux-saga/effects"; +import { logInSucceeded } from "../actions/auth"; +import { addToStore } from "../actions/objects"; +import { fetchAuthorizationsOfCurrentUserSucceeded } from "../actions/users"; +import { performTokenSignIn } from "../api/routes/token-signin"; +import { addUser, getAuthorizationsByUser } from "../api/routes/users"; +import { saveAuthLocalStorage } from "../auth/index"; +import { fetchAndStoreSimulation, fetchAndStoreUser } from "./objects"; export function* onFetchLoggedInUser(action) { - try { - const tokenResponse = yield call(performTokenSignIn, action.payload.authToken); - let userId = tokenResponse.userId; - - if (tokenResponse.isNewUser) { - saveAuthLocalStorage({authToken: action.payload.authToken}); - const newUser = yield call(addUser, action.payload); - userId = newUser.id; - } - - yield put(logInSucceeded(Object.assign({userId}, action.payload))); - } catch (error) { - console.error(error); + try { + const tokenResponse = yield call( + performTokenSignIn, + action.payload.authToken + ); + let userId = tokenResponse.userId; + + if (tokenResponse.isNewUser) { + saveAuthLocalStorage({ authToken: action.payload.authToken }); + const newUser = yield call(addUser, action.payload); + userId = newUser.id; } + + yield put(logInSucceeded(Object.assign({ userId }, action.payload))); + } catch (error) { + console.error(error); + } } export function* onFetchAuthorizationsOfCurrentUser(action) { - try { - const authorizations = yield call(getAuthorizationsByUser, action.userId); + try { + const authorizations = yield call(getAuthorizationsByUser, action.userId); - for (const authorization of authorizations) { - yield put(addToStore("authorization", authorization)); + for (const authorization of authorizations) { + yield put(addToStore("authorization", authorization)); - yield fetchAndStoreSimulation(authorization.simulationId); - yield fetchAndStoreUser(authorization.userId); - } + yield fetchAndStoreSimulation(authorization.simulationId); + yield fetchAndStoreUser(authorization.userId); + } - const authorizationIds = authorizations.map(authorization => ( - [authorization.userId, authorization.simulationId] - )); + const authorizationIds = authorizations.map(authorization => [ + authorization.userId, + authorization.simulationId + ]); - yield put(fetchAuthorizationsOfCurrentUserSucceeded(authorizationIds)); - } catch (error) { - console.error(error); - } + yield put(fetchAuthorizationsOfCurrentUserSucceeded(authorizationIds)); + } catch (error) { + console.error(error); + } } |
