Guest User

Untitled

a guest
Oct 2nd, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. // ***************************** \
  2. // USER REQUESTS
  3. // ***************************** \
  4.  
  5. // Post (create) new user
  6. router.route('/register').post((req,res) =>
  7. {
  8. let userData = new User(req.body);
  9. userData.save()
  10. .then(createdUser =>
  11. {
  12. res.status(200).json({'User': 'New user was added successfully'});
  13. })
  14. .catch(err =>
  15. {
  16. res.status(400).send('Failed to create new user');
  17. });
  18. });
  19.  
  20. // Post (login) existing user
  21. router.route('/login').post((req,res) =>
  22. {
  23. let userData = req.body;
  24. User.findOne({email: userData.email}, (err, foundUser) =>
  25. {
  26. if(err)
  27. {
  28. console.log("Error attempting to login: " + err);
  29. }
  30. else
  31. {
  32. if(!foundUser)
  33. {
  34. res.status(401).send("Email is not registered with us.");
  35. }
  36. else if(foundUser.password !== userData.password)
  37. {
  38. res.status(401).send("Invalid Password");
  39. }
  40. else
  41. {
  42. res.status(200).send('Login Successful');
  43. }
  44. }
  45. });
  46. });
  47.  
  48. export class AuthService {
  49.  
  50. private _uri = 'http://localhost:4000';
  51.  
  52. private _registerUri = `${this._uri}/register`;
  53. private _loginUri = `${this._uri}/login`;
  54.  
  55. constructor(private http: HttpClient) { }
  56.  
  57. // Register new user to database
  58. registerUser(user)
  59. {
  60. return this.http.post<any>(`${this._registerUri}`, user);
  61. }
  62.  
  63. // Login new user to database
  64. loginUser(email: String, password: String)
  65. {
  66. return this.http.post<any>(`${this._loginUri}`, {email: email, password: password});
  67. }
  68.  
  69. div class="container">
  70. <h1 id="h_Login">Sign Into Your Account</h1>
  71. <div class="row" id="main-content">
  72. <form class="col-8 mx-auto" id="col_FormContent">
  73. <div class="form-group section">
  74. <label for="email">Email</label>
  75. <input type="text" class="form-control" id="email" [(ngModel)]="loginUserData.email" name="email" #email="ngModel">
  76. </div>
  77. <div class="form-group section">
  78. <label for="password">Password</label>
  79. <input type="password" class="form-control" id="password" [(ngModel)]="loginUserData.password" name="password" #password="ngModel">
  80. </div>
  81. <div class="section_Buttons">
  82. <button class="btn btn-m btn-block" type="submit" (click)="loginUser()">Sign In</button>
  83. </div>
  84. </form>
  85. </div>
  86. </div>
  87.  
  88. export class LoginComponent implements OnInit {
  89.  
  90. loginUserData: any = {};
  91. loginForm: FormGroup;
  92.  
  93. constructor(private authService: AuthService, private router: Router) { }
  94.  
  95. ngOnInit() {}
  96.  
  97.  
  98. // EVENT HANDLER - (Login Button) Verify and Login user from database
  99. loginUser()
  100. {
  101. this.authService.loginUser(this.loginUserData.email, this.loginUserData.password)
  102. .subscribe(
  103. res =>
  104. {
  105. console.log("Login was successful");
  106. this.router.navigate(['/dashboard']);
  107. },
  108. err =>
  109. {
  110. // **** THE ERROR THAT IS RETURNED **** \
  111. console.log("Error on user login: " + err);
  112. }
  113. );
  114. }
  115.  
  116. }
Add Comment
Please, Sign In to add comment