diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index cec9572..8f2e46a 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -62,7 +62,9 @@ public function login(Request $request) if (!Auth::attempt($credentials, $remember)) { return response([ - 'error' => 'The Provided credentials are not correct' + 'errors' => [ + 'auth' => ['The Provided credentials are not correct'] + ] ], 422); } $user = Auth::user(); diff --git a/vue/package-lock.json b/vue/package-lock.json index 951d3a9..b197a54 100644 --- a/vue/package-lock.json +++ b/vue/package-lock.json @@ -944,9 +944,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", - "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==", + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "funding": [ { "type": "individual", @@ -983,7 +983,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2422,9 +2421,9 @@ } }, "follow-redirects": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", - "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" }, "fraction.js": { "version": "4.1.2", @@ -2440,7 +2439,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { diff --git a/vue/src/store/index.js b/vue/src/store/index.js index aedcb7e..511dd64 100644 --- a/vue/src/store/index.js +++ b/vue/src/store/index.js @@ -32,18 +32,30 @@ const store = createStore({ register({commit}, user) { return axiosClient.post('/register', user) - .then(({data}) => { - commit('setUser', data.user); - commit('setToken', data.token) - return data; - }) + .then(res => { + return new Promise((resolve, reject) => { + if (res.isAxiosError) + reject(res.response.data.errors) + + const data = res.data + commit('setUser', data.user); + commit('setToken', data.token) + resolve() + }) + }) }, login({commit}, user) { return axiosClient.post('/login', user) - .then(({data}) => { - commit('setUser', data.user); - commit('setToken', data.token) - return data; + .then(res => { + return new Promise((resolve, reject) => { + if (res.isAxiosError) + reject(res.response.data.errors) + + const data = res.data + commit('setUser', data.user); + commit('setToken', data.token) + resolve() + }) }) }, logout({commit}) { diff --git a/vue/src/views/Login.vue b/vue/src/views/Login.vue index 11456ca..131d11e 100644 --- a/vue/src/views/Login.vue +++ b/vue/src/views/Login.vue @@ -20,10 +20,17 @@

- - {{ errorMsg }} + +
+
+
+ * {{ error }} +
+
+
+ { + .catch((error) => { loading.value = false; - errorMsg.value = err.response.data.error; + errors.value = error; }); } diff --git a/vue/src/views/Register.vue b/vue/src/views/Register.vue index f2aa9a9..6c536c2 100644 --- a/vue/src/views/Register.vue +++ b/vue/src/views/Register.vue @@ -20,12 +20,33 @@

- -
-
- * {{ error }} + +
+
+
+ * {{ error }} +
+ + + + +
@@ -53,7 +74,7 @@ required="" v-model="user.email" class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm" - :class="{ 'border-red-500': errors.email, 'z-10': errors.email }" + :class="{ 'border-red-500/50': errors.email, 'z-10': errors.email }" placeholder="Email address" />
@@ -68,7 +89,7 @@ v-model="user.password" class="appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm" placeholder="Password" - :class="{ 'border-red-500': errors.password, 'z-10': errors.password }" + :class="{ 'border-red-500/50': errors.password, 'z-10': errors.password }" />
@@ -158,9 +179,7 @@ function register(ev) { }) .catch((error) => { loading.value = false; - if (error.response.status === 422) { - errors.value = error.response.data.errors; - } + errors.value = error; }); }