login, register et profil rectification bug

thierry
Tmadkaud 7 years ago
parent 831fe9f336
commit 6b0055220d

@ -4,5 +4,3 @@
<button (click)="loadRegisterComponent()">Register</button>
<button (click)="loadLoginComponent()">Login</button>

@ -4,7 +4,7 @@
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Salut {{myUser.firstname}} {{myUser.familyname}} et bienvenue ! </div>
<div class="from-group">
<input type="email" [(ngModel)]="email" placeholder="Email..">
</div>
@ -12,6 +12,5 @@
<input type="password" [(ngModel)]="password" placeholder="Password..">
</div>
<button (click)="login()">Login</button>
<button (click)="logout()">Logout</button>
<button (click)="loadRegisterComponent()">Go to register</button>
<button (click)="loadHomeComponent()">Go to home</button>

@ -1,102 +1,41 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Router } from '@angular/router';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { FormsModule } from '@angular/forms';
import { LoginService } from '../../services/login/login.service';
import { User } from '../../../User';
import {forEach} from "@angular/router/src/utils/collection";
import { AuthService } from '../../services/auth/auth.service';
@Component({
selector: 'login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss'],
providers: [LoginService]
providers: [AuthService]
})
export class LoginComponent implements OnInit {
user: Observable<firebase.User>;
currentUser: Observable<User>;
export class LoginComponent implements OnInit, OnDestroy {
email: string;
password: string;
myUser: User;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase, private loginService: LoginService, private router: Router) {
user: Observable<firebase.User>;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService) {
this.user = afAuth.authState;
this.email = '';
this.password = '';
// console.log(this.afDb.database.ref().child('users/' + this.userId).orderByValue());
/*
this.afAuth.authState.subscribe(
(auth) => {
if(auth != null){
this.myUser = this.afDb.object('users/' + auth.uid);
}
}
)*/
this.myUser = new User();
}
login() {
this.afAuth.auth.signInWithEmailAndPassword(this.email, this.password);
this.user.subscribe(
(auth) => {
if (auth == null) {
} else {
/*
const marequete = this.afDb.object('/users' + auth.uid);
marequete.subscribe(utilisateur => {
console.log('juste utilisateur: ' + utilisateur.firstname);
});
*/
const queryUs = this.afDb.list('/users', {
query: {
orderByChild: '_id',
equalTo: auth.uid
}
});
queryUs.subscribe(queriedUsers => {
for (var i = 0; i < queriedUsers.length ; i++){
if (queriedUsers[i]._id === auth.uid){
console.log('its good ! ' + queriedUsers[i]._id + ' et ' + auth.uid);
this.myUser = queriedUsers[i];
}else{
console.log('id sont diferrent dans login ! voicie auth.id : ' + auth.uid);
console.log('queriedUsers[i]._id: ' + queriedUsers[i]._id);
}
console.log(queriedUsers[i].familyname);
console.log(queriedUsers[i]._id);
}
// console.log(queriedUsers[0].familyname);
// console.log(auth.uid);
// this.myUser = queriedUsers[0];
});
}
}
);
// console.log(typeof this.afDb.database.ref().child('users/').child(this.userId));
this.authService.signIn(this.email, this.password);
}
logout() {
this.loginService.logout().then(userLogged => {
console.log('logout');
/*this.myUser = {
_id: '',
email: '',
emailVerified: false,
password: '',
familyname: '',
firstname: '',
username: '',
birthday: new Date(),
idCard: '',
secretCode: '',
status: ''
};*/
});
this.authService.logout();
}
loadHomeComponent() {
@ -108,8 +47,11 @@ export class LoginComponent implements OnInit {
}
ngOnInit() {
}
ngOnDestroy() {
this.myUser = {
_id: '',
uid: '',
email: '',
emailVerified: false,
password: '',
@ -121,6 +63,6 @@ export class LoginComponent implements OnInit {
secretCode: '',
status: ''
};
}
}
}

@ -0,0 +1,14 @@
<p>
Profil
</p>
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Salut {{localUser.firstname}} {{localUser.familyname}} {{localUser.uid}} surnommé {{localUser.username}} et bienvenue ! </div>
<div> tu es né le {{localUser.birthday.getDate()}}, ton email est {{localUser.email}}</div>
<div *ngFor="let user of profileData | async">
User is {{user.firstname}}
</div>
<button (click)="logout()">Logout</button>
<button (click)="loadLoginComponent()">Go to login</button>
<button (click)="loadHomeComponent()">Go to home</button>

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ProfilComponent } from './profil.component';
describe('ProfilComponent', () => {
let component: ProfilComponent;
let fixture: ComponentFixture<ProfilComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ProfilComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ProfilComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,88 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Router } from '@angular/router';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { FormsModule } from '@angular/forms';
import { ProfilService } from '../../services/profil/profil.service';
import { User } from '../../../User';
import {forEach} from "@angular/router/src/utils/collection";
import { AuthService } from '../../services/auth/auth.service';
@Component({
selector: 'profil',
styleUrls: ['./profil.component.scss'],
templateUrl: './profil.component.html',
providers: [AuthService]
})
export class ProfilComponent implements OnInit, OnDestroy {
user: Observable<firebase.User>;
localUser: User;
profileData: FirebaseListObservable<User[]>;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService) {
this.user = afAuth.authState;
this.user.subscribe(
(auth) => {
console.log('bouyaka auth.uid: ' + auth.uid.toString());
this.profileData = this.afDb.list('/users/', {
query: {
orderByChild: 'uid',
equalTo: auth.uid.toString()
}
}
);
this.profileData.forEach(utilisateur => {
utilisateur.forEach( element => {
this.localUser = element;
});
});
}
);
}
logout() {
this.authService.logout();
this.router.navigate(['/login']);
}
loadLoginComponent() {
this.router.navigate(['/login']);
}
loadHomeComponent() {
this.router.navigate(['/']);
}
ngOnInit() {
}
ngOnDestroy() {
this.localUser = {
uid: '',
email: '',
emailVerified: false,
password: '',
familyname: '',
firstname: '',
username: '',
birthday: new Date(),
idCard: '',
secretCode: '',
status: ''
};
}
}

@ -1,5 +1,5 @@
///<reference path="../../../../node_modules/angularfire2/database/database.d.ts"/>
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Router } from '@angular/router';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
@ -7,6 +7,7 @@ import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { FormsModule } from '@angular/forms';
import { RegisterService } from '../../services/register/register.service';
import { AuthService } from '../../services/auth/auth.service';
import { User } from '../../../User';
@ -14,76 +15,28 @@ import { User } from '../../../User';
selector: 'app-register',
templateUrl: './register.component.html',
styleUrls: ['./register.component.scss'],
providers: [RegisterService]
providers: [AuthService]
})
export class RegisterComponent implements OnInit {
export class RegisterComponent implements OnInit, OnDestroy {
user: Observable<firebase.User>;
userC: firebase.User;
currentUser: User;
email: string;
password: string;
name: string;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase, private router: Router) {
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase, private router: Router, private authService: AuthService) {
this.user = afAuth.authState;
this.userC = afAuth.auth.currentUser;
this.currentUser = new User();
this.name = '';
this.email = '';
this.password = '';
}
register() {
this.afAuth.auth.createUserWithEmailAndPassword(this.currentUser.email, this.currentUser.password)
.then(function (userRecord) {
});
this.user.subscribe(
(auth) => {
if (auth != null) {
console.log('apres create user: ' + auth.uid);
this.currentUser._id = auth.uid;
console.log('apres create user: current user : ' + this.currentUser._id);
//this.writeUserData(auth.uid);
}
}
);
}
writeUserData(UID) {
console.log(UID);
firebase.database().ref('users/' + UID).set(this.currentUser);
//this.ngOnInit();
// this.userId = firebase.auth().currentUser.uid;
}
/*
register() {
this.admin.auth().createUser({
email: 'titi@caille.com',
emailVerified: false,
idCard: '11234567890',
secretCode: '11234567890',
password: 'caille',
displayName: 'Don titi',
//photoURL: 'http://www.example.com/12345678/photo.png',
disabled: false
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully created new user:', userRecord.uid);
})
.catch(function(error) {
console.log('Error creating new user:', error);
});
}*/
this.authService.signUp(this.currentUser);
}
loadHomeComponent() {
this.router.navigate(['/']);
@ -94,8 +47,11 @@ export class RegisterComponent implements OnInit {
}
ngOnInit() {
}
ngOnDestroy() {
this.currentUser = {
_id: '',
uid: '',
email: '',
emailVerified: false,
password: '',
@ -107,5 +63,6 @@ export class RegisterComponent implements OnInit {
secretCode: '',
status: ''
};
}
}

Loading…
Cancel
Save