Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
1,134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. import { Injectable } from '@angular/core';
  2. import { Observable } from 'rxjs/Observable';
  3. import { AngularFire } from 'angularfire2';
  4. import 'rxjs/add/operator/map';
  5.  
  6. export class User {
  7. name: string;
  8. email: string;
  9.  
  10. constructor(name: string, email: string) {
  11. this.name = name;
  12. this.email = email;
  13. }
  14. }
  15.  
  16. /*
  17. Generated class for the AuthService provider.
  18.  
  19. See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  20. for more info on providers and Angular 2 DI.
  21. */
  22. @Injectable()
  23. export class AuthService {
  24. currentUser: User;
  25. errorMessage: '';
  26. constructor(private af: AngularFire) {
  27.  
  28. }
  29.  
  30. public login(credentials) {
  31. if (credentials.email === null || credentials.password === null) {
  32. return Observable.throw("Bitte geben Sie ihre Daten ein");
  33. } else {
  34. return Observable.create(observer => {
  35. //Firebase auth check
  36. this.af.auth.login({
  37. email: credentials.email,
  38. password: credentials.password
  39. }).then((success) => {
  40. this.currentUser = new User('admin', 'admin@admin.de');
  41. observer.next(true);
  42. observer.complete();
  43. }).catch((err) => {
  44. observer.next(false);
  45. observer.complete();
  46. });
  47. })
  48. }
  49. }
  50.  
  51. public register(credentials) {
  52. if (credentials.email === null || credentials.password === null) {
  53. return Observable.throw("Bitte geben Sie ihre vollständigen Daten ein");
  54. } else {
  55. //firebase user creation
  56. return Observable.create(observer => {
  57. if (this.checkCredentials(credentials)) {
  58. this.af.auth.createUser({
  59. email: credentials.email,
  60. password: credentials.password
  61. }).then((success) => {
  62. observer.next(true);
  63. observer.complete();
  64. }).catch((err) => {
  65. observer.next(false);
  66. observer.complete();
  67. });
  68. } else {
  69. observer.error("Bitte verwenden Sie eine TU E-Mail");
  70. observer.complete();
  71. }
  72. })
  73. }
  74. }
  75.  
  76. public checkCredentials(credentials) {
  77. if (credentials.email.indexOf('@tu-bs.de') != -1) {
  78. return true;
  79. } else {
  80. this.errorMessage += "No Tu-Mail;"
  81. return false;
  82. }
  83. }
  84.  
  85. public getErrorMessage() {
  86. return this.errorMessage;
  87. }
  88.  
  89. public getUserInfo() : User {
  90. return this.currentUser;
  91. }
  92.  
  93. public logut() {
  94. return Observable.create(observer => {
  95. this.currentUser = null;
  96. observer.next(true);
  97. observer.complete();
  98. })
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement