From d547ea8b3acffa30fa44e0715661490d066bf580 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Mon, 15 Jun 2020 16:51:04 +0300
Subject: feat: create logIn function and get access token

---
 src/index.tsx | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

(limited to 'src/index.tsx')

diff --git a/src/index.tsx b/src/index.tsx
index 876491d..b9204b6 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -14,7 +14,7 @@ import ProfilePage from './pages/ProfilePage/ProfilePage';
 import FeedPage from './pages/FeedPage/FeedPage';
 import AuthPage from './pages/AuthPage/AuthPage';
 import { User, Page } from './types';
-import { get } from './requests';
+import { get, post } from './requests';
 
 
 const theme = createMuiTheme({
@@ -52,9 +52,26 @@ const App: React.FC = () => {
     }
   };
 
+  const logIn = (name: string, password: string) => {
+    post('/authentication', {
+      strategy: 'local',
+      name,
+      password
+    }).then(response => {
+      const user = response.data.undefined; // TODO: rename 'undefined' field
+      const { accessToken } = response.data;
+
+      setUser(user);
+      localStorage.setItem('userId', user._id);
+      localStorage.setItem('token', accessToken);
+      navigate('profile', user._id);
+    });
+  };
+
   const logOut = () => {
-    localStorage.removeItem('userId');
     setUser(undefined);
+    localStorage.removeItem('userId');
+    localStorage.removeItem('token');
     navigate('auth');
   };
 
@@ -74,7 +91,7 @@ const App: React.FC = () => {
       <div className={classes.root}>
         { page.prefix === 'profile' && <ProfilePage logOut={logOut} id={page.id} navigate={navigate} /> }
         { page.prefix === 'feed' && <FeedPage navigate={navigate} /> }
-        { page.prefix === 'auth' && <AuthPage setUser={setUser} navigate={navigate} /> }
+        { page.prefix === 'auth' && <AuthPage logIn={logIn} navigate={navigate} /> }
       </div>
     </ThemeProvider>
   );
-- 
cgit v1.2.3


From dd0c6babb832772cb017171476b2629ef00ee147 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Mon, 15 Jun 2020 17:27:11 +0300
Subject: feat: invalidate from on error

---
 src/index.tsx | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'src/index.tsx')

diff --git a/src/index.tsx b/src/index.tsx
index b9204b6..f28aff8 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -52,8 +52,8 @@ const App: React.FC = () => {
     }
   };
 
-  const logIn = (name: string, password: string) => {
-    post('/authentication', {
+  const logIn = (name: string, password: string): Promise<boolean> => {
+    return post('/authentication', {
       strategy: 'local',
       name,
       password
@@ -65,7 +65,8 @@ const App: React.FC = () => {
       localStorage.setItem('userId', user._id);
       localStorage.setItem('token', accessToken);
       navigate('profile', user._id);
-    });
+      return true;
+    }).catch(error => false);
   };
 
   const logOut = () => {
@@ -91,7 +92,7 @@ const App: React.FC = () => {
       <div className={classes.root}>
         { page.prefix === 'profile' && <ProfilePage logOut={logOut} id={page.id} navigate={navigate} /> }
         { page.prefix === 'feed' && <FeedPage navigate={navigate} /> }
-        { page.prefix === 'auth' && <AuthPage logIn={logIn} navigate={navigate} /> }
+        { page.prefix === 'auth' && <AuthPage logIn={logIn} /> }
       </div>
     </ThemeProvider>
   );
-- 
cgit v1.2.3


From d5643baf50a3e8a99d545e3e08a06872a3cfb4cc Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Mon, 15 Jun 2020 17:39:32 +0300
Subject: fix: parse response correctly

---
 src/index.tsx | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

(limited to 'src/index.tsx')

diff --git a/src/index.tsx b/src/index.tsx
index f28aff8..4e2a0b7 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -58,13 +58,12 @@ const App: React.FC = () => {
       name,
       password
     }).then(response => {
-      const user = response.data.undefined; // TODO: rename 'undefined' field
-      const { accessToken } = response.data;
-
-      setUser(user);
-      localStorage.setItem('userId', user._id);
-      localStorage.setItem('token', accessToken);
-      navigate('profile', user._id);
+      const me = response.data.user;
+      const token = response.data.accessToken;
+      setUser(me);
+      localStorage.setItem('userId', me._id);
+      localStorage.setItem('token', token);
+      navigate('profile', me._id);
       return true;
     }).catch(error => false);
   };
-- 
cgit v1.2.3


From dd297844bd602625804e0ddb0706e737ab655334 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Mon, 15 Jun 2020 17:59:13 +0300
Subject: fix: remove unused var

---
 src/index.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/index.tsx')

diff --git a/src/index.tsx b/src/index.tsx
index 4e2a0b7..a06ec62 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -65,7 +65,7 @@ const App: React.FC = () => {
       localStorage.setItem('token', token);
       navigate('profile', me._id);
       return true;
-    }).catch(error => false);
+    }).catch(() => false);
   };
 
   const logOut = () => {
-- 
cgit v1.2.3

