tracking files

This commit is contained in:
Hedi MJID 2022-02-26 14:19:27 +01:00
parent cce97527b5
commit 9b3c02f6c1
73 changed files with 1671 additions and 479 deletions

View file

@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { AuthInterceptor } from './auth.interceptor';
describe('AuthInterceptor', () => {
beforeEach(() => TestBed.configureTestingModule({
providers: [
AuthInterceptor
]
}));
it('should be created', () => {
const interceptor: AuthInterceptor = TestBed.inject(AuthInterceptor);
expect(interceptor).toBeTruthy();
});
});

View file

@ -0,0 +1,31 @@
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs';
import { TokenService } from './token.service';
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(private tokenService: TokenService) {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
console.log('Coucou je suis le videur ! ');
const token = this.tokenService.getToken();
if(token) {
const authReq = request.clone(
{
headers : request.headers.set('Authorization', `Bearer ${token}`)
}
)
return next.handle(authReq);
} else {
return next.handle(request);
}
}
}

View file

@ -14,7 +14,7 @@ export class AuthService {
private tokenKey: string;
constructor(private http: HttpClient) {
// On se sert des variables d'environnement de notre application
this.apiUrl = environment.apiUrl;
this.tokenKey = environment.tokenKey;
}
@ -34,19 +34,14 @@ export class AuthService {
};
console.log('Mon body : ', body);
// Modifier cette partie ci-dessous :
// - pour pouvoir stocker dans le localstorage notre accesstoken
// - Sous la clé "TOKEN-LBP"
return this.http.post(`${this.apiUrl}/membres/sign-in`, body).pipe(
map((x: any) => {
console.log('Service : ', x.token);
// Modification à faire ici
localStorage.setItem(this.tokenKey, x.token);
return x; // permet de renvoyer la réponse à l'initiateur (page Signin) après le traitement du map
})
);
}
forgotPassword(email: string): Observable<any> {

View file

@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { EvenementService } from './evenement.service';
describe('EvenementService', () => {
let service: EvenementService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(EvenementService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});

View file

@ -0,0 +1,36 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
@Injectable({
providedIn: 'root'
})
export class EvenementService {
apiUrl: string;
tokenKey: string;
constructor(private http: HttpClient) {
// On se sert des variables d'environnement de notre application
this.apiUrl = environment.apiUrl;
this.tokenKey = environment.tokenKey;
}
getEvenementsByIdTeam(id: any): Observable<any> {
return this.http.get(`${this.apiUrl}/evenements/team/` + id);
}
addEvenements(evenement: any): Observable<any> {
console.log(evenement);
return this.http.post(`${this.apiUrl}/evenements/add`, evenement);
}
deleteEvenements(id: any): Observable<any> {
return this.http.delete(`${this.apiUrl}/evenements/delete/`+id,{responseType: 'text'});
}
updateEvenements(evenement:any): Observable<any> {
return this.http.put(`${this.apiUrl}/evenements/update/1`, evenement);
}
}

View file

@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { MailService } from './mail.service';
describe('MailService', () => {
let service: MailService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(MailService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});

View file

@ -0,0 +1,29 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
import { Mail } from '../models/mail';
import { TokenService } from './token.service';
@Injectable({
providedIn: 'root'
})
export class MailService {
apiUrl: string;
tokenKey: string;
constructor(private http: HttpClient, private tokenService: TokenService, private router: Router) {
this.apiUrl = environment.apiUrl;
this.tokenKey = environment.tokenKey;
}
envoiMailText(mail: Mail): Observable<any> | void{
return this.http.post(`${this.apiUrl}/sendmail/text`, mail, {
responseType: "text"
});
}
}

View file

@ -1,8 +1,10 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
import { Membre } from '../models/membre';
import { TokenService } from './token.service';
@Injectable({
providedIn: 'root'
@ -11,7 +13,7 @@ export class MembreService {
apiUrl: string;
tokenKey: string;
constructor(private http: HttpClient) {
constructor(private http: HttpClient, private tokenService: TokenService, private router: Router) {
this.apiUrl = environment.apiUrl;
this.tokenKey = environment.tokenKey;
}
@ -20,14 +22,27 @@ export class MembreService {
return this.http.get(`${this.apiUrl}/membres/all`);
}
getMembreId(id: any): Observable<any> {
return this.http.get(`${this.apiUrl}/membres/1` + id);
getMembresByTeamId(): Observable<any> | void{
const teamId = this.tokenService.getCurrentTeamId();
if (teamId){
return this.http.get(`${this.apiUrl}/membres/team/${teamId}`);
}else {
this.router.navigate(['accueil']);
}
}
addMembre(membre: Membre): Observable<any> {
console.log(membre);
getMembreId(id: any): Observable<any> {
return this.http.get(`${this.apiUrl}/membres/` + id);
}
return this.http.post(`${this.apiUrl}/membres/sign-up`, membre);
addMembre(membre: Membre): Observable<any> | void{
const teamId = this.tokenService.getCurrentTeamId();
if (teamId){
return this.http.post(`${this.apiUrl}/membres/add/${teamId}`, membre);
}else {
this.router.navigate(['accueil']);
}
}
deleteMembre(membre: Membre): Observable<any> {

View file

@ -44,13 +44,18 @@ apiUrl: string;
}
deleteMenu(id: any): Observable<any> {
return this.http.delete(`${this.apiUrl}/menus/delete/`+ id);
deleteMenu(id:number): Observable<any> {
return this.http.delete(`${this.apiUrl}/menus/delete/${id}`);
}
updateMenu(menu: Menu): Observable<any> {
return this.http.put(`${this.apiUrl}/contacts/update/`, menu);
}
updateMenu(menu: Menu, id:number): Observable<any> | void {
const teamId = this.tokenService.getCurrentTeamId();
if (teamId){
return this.http.put(`${this.apiUrl}/menus/update/${teamId}/${id}`, menu);
}else {
this.router.navigate(['accueil']);
}
}
}

View file

@ -1,8 +1,10 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
import { Team } from '../models/team';
import { TokenService } from './token.service';
@Injectable({
providedIn: 'root'
@ -12,7 +14,7 @@ export class TeamService {
tokenKey: string;
constructor(private http: HttpClient) {
constructor(private http: HttpClient, private tokenService: TokenService, private router: Router) {
this.apiUrl = environment.apiUrl;
this.tokenKey = environment.tokenKey;
}
@ -20,8 +22,13 @@ export class TeamService {
return this.http.get(`${this.apiUrl}/teams/all`);
}
getTeamById(id: any): Observable<any> {
return this.http.get(`${this.apiUrl}/teams/1` + id);
getTeamById(): Observable<any> | void {
const teamId = this.tokenService.getCurrentTeamId();
if (teamId){
return this.http.get(`${this.apiUrl}/teams/${teamId}`);
} else {
this.router.navigate(['accueil']);
}
}
addTeam(team: Team): Observable<any> {

View file

@ -20,11 +20,22 @@ tokenKey = environment.tokenKey;
}
}
public eraseToken(): string | null {
const token = localStorage.getItem(this.tokenKey);
if(token) {
this.tokenKey = '';
return token;
}else {
return null;
}
}
public getCurrentMembreId(): number | null {
const token = this.getToken();
if(token) {
const decodedToken = jwt_decode<any>(token);
const userId = decodedToken.sub;
const userId = decodedToken.userId;
return userId;
} else {
return null;