src/app/pages/services/project.service.ts
Project Service
Methods |
|
constructor(http: HttpClient, toastService: ToastService)
|
|||||||||
|
Defined in src/app/pages/services/project.service.ts:14
|
|||||||||
|
Parameters :
|
| Async getAllProjects |
getAllProjects()
|
|
Defined in src/app/pages/services/project.service.ts:22
|
|
Returns :
Promise< | void>
|
| Private getAllProjectsObservable |
getAllProjectsObservable()
|
|
Defined in src/app/pages/services/project.service.ts:18
|
|
Returns :
Observable<>
|
import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';
import {Observable} from 'rxjs';
import {Project} from '@app/pages/models/project';
import {ToastService} from '@app/shared/services/toast.service';
import {environment} from "@environments/environment";
/**
* Project Service
*/
@Injectable({
providedIn: 'root'
})
export class ProjectService {
constructor(private http: HttpClient, private toastService: ToastService) {}
private getAllProjectsObservable(): Observable<[Project]> {
return this.http.get<any>(`${environment.backendUrl}/projects`);
}
async getAllProjects(): Promise<[Project] | void> {
return await this.getAllProjectsObservable().toPromise()
.then((data: any) => {
const projects: [Project] = data.projects;
projects.forEach(p => p.name = p.projectName);
this.toastService.showSuccess('Projects loaded.');
return projects;
})
.catch(e => {
this.toastService.showError(e);
console.log(e);
})
.finally(() => {});
}
}