From 2f020a7f9de04c513685a36d9d3c552c053a0ed8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tam=C3=A1s=20Szab=C3=B3?= <tamas@szaboo.com>
Date: Sat, 3 Feb 2018 20:37:51 +0100
Subject: [PATCH] created redux user object

---
 package-lock.json           | 27 +++++++++++++++++++++++++++
 package.json                |  2 ++
 src/actions/types.js        |  3 +++
 src/reducers/TodoReducer.js | 16 ----------------
 src/reducers/UserReducer.js | 21 +++++++++++++++++++++
 src/reducers/index.js       |  4 ++--
 6 files changed, 55 insertions(+), 18 deletions(-)
 delete mode 100644 src/reducers/TodoReducer.js
 create mode 100644 src/reducers/UserReducer.js

diff --git a/package-lock.json b/package-lock.json
index c9ea83f..0bd99ee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -327,6 +327,15 @@
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
       "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
     },
+    "axios": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
+      "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
+      "requires": {
+        "follow-redirects": "1.4.1",
+        "is-buffer": "1.1.6"
+      }
+    },
     "axobject-query": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz",
@@ -3465,6 +3474,24 @@
       "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
       "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
     },
+    "follow-redirects": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
+      "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
+      "requires": {
+        "debug": "3.1.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
diff --git a/package.json b/package.json
index 73171f6..5d4da36 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,10 @@
 {
   "name": "kszkepzes-frontend",
   "version": "0.1.0",
+  "proxy": "http://127.0.0.1:8000",
   "private": true,
   "dependencies": {
+    "axios": "^0.17.1",
     "prop-types": "^15.6.0",
     "react": "^16.2.0",
     "react-dom": "^16.2.0",
diff --git a/src/actions/types.js b/src/actions/types.js
index e69de29..546a492 100644
--- a/src/actions/types.js
+++ b/src/actions/types.js
@@ -0,0 +1,3 @@
+export const GET_USERDATA = 'get_userdata';
+export const PROFILE_CHANGE = 'profile_change';
+export const GROUP_CHANGE = 'group_change';
diff --git a/src/reducers/TodoReducer.js b/src/reducers/TodoReducer.js
deleted file mode 100644
index ec9ded5..0000000
--- a/src/reducers/TodoReducer.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import {
-  ADD_TODO,
-} from '../actions/types';
-
-const INITIAL_STATE = {
-  todos: [{ data: 'hello' }],
-};
-
-export default (state = INITIAL_STATE, action) => {
-  switch (action.type) {
-    case ADD_TODO:
-      return { todos: [...state.todos, { data: action.payload }] };
-    default:
-      return state;
-  }
-};
diff --git a/src/reducers/UserReducer.js b/src/reducers/UserReducer.js
new file mode 100644
index 0000000..839a47e
--- /dev/null
+++ b/src/reducers/UserReducer.js
@@ -0,0 +1,21 @@
+import {
+  GET_USERDATA,
+  PROFILE_CHANGE,
+  GROUP_CHANGE,
+} from '../actions/types';
+
+const INITIAL_STATE = {
+};
+
+export default (state = INITIAL_STATE, action) => {
+  switch (action.type) {
+    case GET_USERDATA:
+      return { ...state, ...action.payload };
+    case PROFILE_CHANGE:
+      return { ...state, [action.target]: action.payload };
+    case GROUP_CHANGE:
+      return { ...state, groups: action.payload };
+    default:
+      return state;
+  }
+};
diff --git a/src/reducers/index.js b/src/reducers/index.js
index 030bd73..4efaaed 100644
--- a/src/reducers/index.js
+++ b/src/reducers/index.js
@@ -1,8 +1,8 @@
 import { combineReducers } from 'redux';
-import TodoReducer from './TodoReducer';
+import UserReducer from './UserReducer';
 
 const rootReducer = combineReducers({
-  todos: TodoReducer,
+  user: UserReducer,
 });
 
 export default rootReducer;
-- 
GitLab