From 15ba9e19c9f85e2b6d7be3f88d0575c6526bdc92 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Sat, 26 Dec 2020 22:54:26 +0100 Subject: [PATCH 1/2] Added API check for banned/unverified users --- api/repositories/user-repository.js | 14 +++++++++++++- .../components/user/profile/update-form.vue | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 client/src/components/user/profile/update-form.vue diff --git a/api/repositories/user-repository.js b/api/repositories/user-repository.js index bbdeb0f..e414f98 100644 --- a/api/repositories/user-repository.js +++ b/api/repositories/user-repository.js @@ -145,11 +145,23 @@ class UserRepository { delete fetchedUser.password if (match) { + if (fetchedUser.banned) { + reject({ + "message": `L'utilisateur #${fetchedUser.name} a été banni, la connexion est impossible.`, + "code": 403 + }) + } else if (!fetchedUser.verified) { + reject({ + "message": `L'utilisateur #${fetchedUser.name} n'as pas été vérifié, le compte doit être activé avant la connexion.`, + "code": 401 + }) + } else { resolve({ - "message": `L'utilisateur #${fetchedUser.id} s'est connecté.`, + "message": `L'utilisateur #${fetchedUser.name} s'est connecté.`, "code": 200, "user": fetchedUser, }) + } } else { reject({ "message": "Les informations de connexions sont erronées.", diff --git a/client/src/components/user/profile/update-form.vue b/client/src/components/user/profile/update-form.vue new file mode 100644 index 0000000..d07188a --- /dev/null +++ b/client/src/components/user/profile/update-form.vue @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file From c9bd0aa0ab4fc1ff9bfa3ed889570d4b28aa2aa2 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Sat, 26 Dec 2020 22:55:19 +0100 Subject: [PATCH 2/2] Changed login and register views accordingly --- client/src/pages/user/login-page.vue | 8 +++----- client/src/pages/user/register-page.vue | 16 ++++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/client/src/pages/user/login-page.vue b/client/src/pages/user/login-page.vue index 7533ade..2247884 100644 --- a/client/src/pages/user/login-page.vue +++ b/client/src/pages/user/login-page.vue @@ -13,9 +13,7 @@ type="email" id="email" class="form-control" - :class="{ - 'is-invalid': errors.email || errors.login, - 'is-valid': submitted && !errors.email }" + :class="{ 'is-invalid': errors.email || errors.login }" placeholder="john.doe@gmail.com" autocomplete="email"> @@ -145,10 +143,10 @@ export default { this.$router.push('/profil') }) .catch(err => { - if (err.status === 404) { + if (err.status != 500) { this.errors.email = err.data.error; } else { - this.errors.login = "Une erreur inconnue est survenue, rééssayez plus tard."; + this.errors.login = err.data.error; } }); } diff --git a/client/src/pages/user/register-page.vue b/client/src/pages/user/register-page.vue index 889c128..5fd97bb 100644 --- a/client/src/pages/user/register-page.vue +++ b/client/src/pages/user/register-page.vue @@ -11,7 +11,7 @@ v-model="name" :class="{ 'is-invalid': errors.name, - 'is-valid': submitted && !errors.name }" + 'is-valid': !errors.name }" type="text" id="username" class="form-control" @@ -38,7 +38,7 @@ v-model="email" :class="{ 'is-invalid': errors.email, - 'is-valid': submitted && !errors.email }" + 'is-valid': !errors.email }" type="email" id="email" class="form-control" @@ -64,7 +64,7 @@