Skip to content

Commit ccd41a5

Browse files
author
rinaldo stevenazzi
committed
check if user already exist
1 parent a3f8c18 commit ccd41a5

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed

constants/events.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
module.exports = Object.freeze({
3+
USER_ALREADY_EXIST: 'userAlreadyExist',
4+
USER_CREATED: 'userCreated',
5+
REMOVE_USER: 'removeUser'
6+
})
7+

constants/scores.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

controllers/Global.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const MongoDB = require("../services/MongoDB")
22
const Users = require("../services/Users");
33
const Scores = require("../services/Scores");
4+
const EVENTS = require("../constants/events");
45

56
class Global {
67
constructor(){
@@ -29,12 +30,16 @@ class Global {
2930
})
3031
}
3132

32-
addUser (score, email, password) {
33-
return new Promise((resolve, reject) => {
33+
addUser (score, email, password) {
34+
return new Promise(async (resolve, reject) => {
35+
const oldUser = await this.users.isUserAlreadyExist(email)
36+
if (oldUser) {
37+
resolve({message: EVENTS.USER_ALREADY_EXIST})
38+
}
39+
3440
this.users.addUser({score, email, password})
35-
.then(() => {
36-
console.log('Global Controller - addUser')
37-
resolve()
41+
.then((result) => {
42+
resolve({message: EVENTS.USER_CREATED})
3843
}).catch(e => {
3944
console.log('Global Controller - addUser failed !!!')
4045
reject()

index.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const express = require('express');
22
const http = require('http')
33
require('dotenv').config()
44
const Global = require('./Controllers/Global')
5+
const EVENTS = require("./constants/events");
56

67
const app = express()
78
const server = http.createServer(app)
@@ -34,8 +35,11 @@ app.post('/adduser', (req, res) => {
3435
// console.log('globalController - /adduser score', score)
3536
// console.log('globalController - /adduser email', email)
3637
// console.log('globalController - /adduser password', password)
37-
globalController.addUser(score, email, password).then(() => {
38-
console.log('index - response 200')
38+
globalController.addUser(score, email, password).then((result) => {
39+
console.log('index - adduser result', result)
40+
if (result.message === EVENTS.USER_ALREADY_EXIST) {
41+
res.status(409).send("User Already Exist.")
42+
}
3943
res.send()
4044
}).catch((result) => {
4145
console.log('index - response 406')

services/Users.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,16 @@ class Users {
1313
this.collection = collection.collection("users")
1414
}
1515

16+
async isUserAlreadyExist (email) {
17+
return await this.collection.findOne({ email });
18+
}
19+
1620
addUser (user) {
1721
return new Promise((resolve, reject) => {
1822
this.collection.insertOne(user)
19-
.then(() => {
20-
console.log('Users - addUser')
21-
resolve(null)
23+
.then((result) => {
24+
console.log('Users - addUser', result)
25+
resolve(result)
2226
})
2327
.catch(e => {
2428
console.log('Users - addUser failed !!!')

0 commit comments

Comments
 (0)