client/src/reducers/authReducer.js
changeset 89 06f609adfbf8
parent 88 2a861fed6bde
child 90 990f2c928b15
--- a/client/src/reducers/authReducer.js	Mon Jun 26 16:05:47 2017 +0200
+++ b/client/src/reducers/authReducer.js	Mon Jun 26 15:45:50 2017 +0200
@@ -8,6 +8,7 @@
     case types.AUTH_LOGOUT:
       return false;
     case types.AUTH_LOGIN_SUCCESS:
+    case types.AUTH_REGISTER_SUCCESS:
       return true;
     default:
       return state;
@@ -20,6 +21,7 @@
     case types.AUTH_LOGOUT:
       return null;
     case types.AUTH_LOGIN_SUCCESS:
+    case types.AUTH_REGISTER_SUCCESS:
       return new UserRecord(action.user);
     case types.USER_UPDATE_SETTINGS:
       return state.merge({
@@ -68,3 +70,31 @@
       return state
   }
 }
+
+const registerState = Immutable.Map({
+  loading: false,
+  success: false,
+  error: false,
+  errorMessages: Immutable.Map({})
+});
+
+export const register = (state = registerState, action) => {
+  switch (action.type) {
+    case types.AUTH_REGISTER_REQUEST:
+      return Immutable.Map({
+        loading: true,
+        success: false,
+        error: false,
+      })
+    case types.AUTH_REGISTER_SUCCESS:
+    case types.AUTH_REGISTER_ERROR:
+      return Immutable.Map({
+        loading: false,
+        success: action.type === types.AUTH_REGISTER_SUCCESS,
+        error: action.type === types.AUTH_REGISTER_ERROR,
+        errorMessages: action.type === types.AUTH_REGISTER_ERROR ? Immutable.Map(action.error) : Immutable.Map({})
+      })
+    default:
+      return state
+  }
+}