summaryrefslogtreecommitdiff
path: root/frontend/src/sagas/users.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/sagas/users.js')
-rw-r--r--frontend/src/sagas/users.js79
1 files changed, 40 insertions, 39 deletions
diff --git a/frontend/src/sagas/users.js b/frontend/src/sagas/users.js
index 3825443a..fb5197d1 100644
--- a/frontend/src/sagas/users.js
+++ b/frontend/src/sagas/users.js
@@ -1,50 +1,51 @@
-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 } 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;
+ try {
+ const tokenResponse = yield call(
+ performTokenSignIn,
+ action.payload.authToken,
+ )
+ console.log(tokenResponse)
+ 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)
}
-
- 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 user = yield call(fetchAndStoreUser, action.userId)
- for (const authorization of authorizations) {
- yield put(addToStore("authorization", authorization));
+ for (const authorization of user.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 = user.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)
+ }
}