connexion avec le backend pour la page login
This commit is contained in:
parent
9566d11dd7
commit
22f6d316b4
5 changed files with 78 additions and 18 deletions
|
|
@ -28,6 +28,7 @@ import { PageRegistryComponent } from './user/page-registry/page-registry.compon
|
||||||
import { PopupDeleteProfilComponent } from './common/components/popup-delete-profil/popup-delete-profil.component';
|
import { PopupDeleteProfilComponent } from './common/components/popup-delete-profil/popup-delete-profil.component';
|
||||||
import {MatSortModule} from "@angular/material/sort";
|
import {MatSortModule} from "@angular/material/sort";
|
||||||
import { PopupUpdatePersonAdminComponent } from './admin/userList/popup-update-person-admin/popup-update-person-admin.component';
|
import { PopupUpdatePersonAdminComponent } from './admin/userList/popup-update-person-admin/popup-update-person-admin.component';
|
||||||
|
import {HttpClientModule} from "@angular/common/http";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -51,6 +52,7 @@ import { PopupUpdatePersonAdminComponent } from './admin/userList/popup-update-p
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
FormsModule,
|
FormsModule,
|
||||||
BrowserAnimationsModule,
|
BrowserAnimationsModule,
|
||||||
|
HttpClientModule,
|
||||||
MatFormFieldModule,
|
MatFormFieldModule,
|
||||||
MatInputModule,
|
MatInputModule,
|
||||||
MatButtonModule,
|
MatButtonModule,
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,38 @@
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
|
import {HttpClient, HttpParams} from "@angular/common/http";
|
||||||
|
import {Observable} from "rxjs";
|
||||||
|
import {environment} from "../../../../environments/environment";
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class MessageService {
|
export class MessageService
|
||||||
|
{
|
||||||
|
|
||||||
|
constructor( private http: HttpClient ) { }
|
||||||
|
|
||||||
|
post(url: string, data: any): Observable<any>
|
||||||
|
{
|
||||||
|
const urlComplete = environment.debutUrl + url ;
|
||||||
|
return this.http.post<any>(urlComplete, data, {withCredentials: true});
|
||||||
|
}
|
||||||
|
|
||||||
|
get(url: string, params:HttpParams = new HttpParams()): Observable<any>
|
||||||
|
{
|
||||||
|
const urlComplete = environment.debutUrl + url ;
|
||||||
|
return this.http.get<any>(urlComplete,{ withCredentials: true, params: params });
|
||||||
|
}
|
||||||
|
|
||||||
|
put(url: string, data: any): Observable<any>
|
||||||
|
{
|
||||||
|
const urlComplete = environment.debutUrl + url ;
|
||||||
|
return this.http.put<any>(urlComplete, data, {withCredentials: true});
|
||||||
|
}
|
||||||
|
|
||||||
|
delete(url: string): Observable<any>
|
||||||
|
{
|
||||||
|
const urlComplete = environment.debutUrl + url ;
|
||||||
|
return this.http.delete<any>(urlComplete,{withCredentials: true});
|
||||||
|
}
|
||||||
|
|
||||||
constructor() { }
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,34 @@ import { Injectable } from '@angular/core';
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class ProfilService {
|
export class ProfilService
|
||||||
|
{
|
||||||
|
|
||||||
|
getId(): number | null
|
||||||
|
{
|
||||||
|
let idString = localStorage.getItem('id');
|
||||||
|
if(idString === null) return null;
|
||||||
|
else return parseInt(idString);
|
||||||
|
}
|
||||||
|
|
||||||
|
setId(id: number): void
|
||||||
|
{
|
||||||
|
localStorage.setItem('id', id.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
getIsAdmin(): boolean
|
||||||
|
{
|
||||||
|
let isAdminString = localStorage.getItem('isAdmin');
|
||||||
|
if(isAdminString === "T") return true;
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
setIsAdmin(isAdmin: boolean): void
|
||||||
|
{
|
||||||
|
let isAdminString = "" ;
|
||||||
|
if(isAdmin) isAdminString = "T";
|
||||||
|
else isAdminString = "F";
|
||||||
|
localStorage.setItem('isAdmin', isAdminString);
|
||||||
|
}
|
||||||
|
|
||||||
constructor() { }
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import {Component} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {Router} from "@angular/router";
|
import {Router} from "@angular/router";
|
||||||
import {MessageService} from "../../common/services/message/message.service";
|
import {MessageService} from "../../common/services/message/message.service";
|
||||||
import {HashageService} from "../../common/services/hashage/hashage.service";
|
import {ProfilService} from "../../common/services/profil/profil.service";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ export class PageLoginComponent
|
||||||
|
|
||||||
constructor( private messageService: MessageService,
|
constructor( private messageService: MessageService,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private hashageService: HashageService ) { }
|
private profilService: ProfilService ) { }
|
||||||
|
|
||||||
|
|
||||||
// Appuie sur le bouton "seConnecter"
|
// Appuie sur le bouton "seConnecter"
|
||||||
|
|
@ -29,30 +29,31 @@ export class PageLoginComponent
|
||||||
this.checkField();
|
this.checkField();
|
||||||
if(!this.hasError)
|
if(!this.hasError)
|
||||||
{
|
{
|
||||||
let data = {
|
const data = {
|
||||||
email: this.email,
|
email: this.email,
|
||||||
hash_pass: this.hashageService.run(this.password)
|
password: this.password
|
||||||
};
|
};
|
||||||
console.log(data);
|
|
||||||
/*
|
|
||||||
this.messageService
|
this.messageService
|
||||||
.sendMessage('user/auth', data)
|
.post('login', data)
|
||||||
.subscribe( retour => this.callbackSeConnecter(retour))
|
.subscribe( retour => this.onSeConnecterCallback(retour), err => this.onSeConnecterCallback(err));
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Callback de "onSeConnecter"
|
// Callback de "onSeConnecter"
|
||||||
callbackSeConnecter(retour: any): void
|
onSeConnecterCallback(retour: any): void
|
||||||
{
|
{
|
||||||
if(retour.status !== 200)
|
console.log(retour);
|
||||||
|
if(retour.status !== "success")
|
||||||
{
|
{
|
||||||
this.errorMessage = retour.error.data.reason;
|
this.errorMessage = retour.message;
|
||||||
this.hasError = true;
|
this.hasError = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//this.router.navigateByUrl( '/search' );
|
this.profilService.setId(retour.data.id);
|
||||||
|
this.profilService.setIsAdmin(retour.data.is_admin)
|
||||||
|
if(!retour.data.is_admin) this.router.navigateByUrl('admin/userList');
|
||||||
|
else this.router.navigateByUrl('user/userList');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
// The list of file replacements can be found in `angular.json`.
|
// The list of file replacements can be found in `angular.json`.
|
||||||
|
|
||||||
export const environment = {
|
export const environment = {
|
||||||
production: false
|
production: false,
|
||||||
|
debutUrl: "http://127.0.0.1:5000/api/"
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue