File

src/app/pages/services/project.service.ts

Description

Project Service

Index

Methods

Constructor

constructor(http: HttpClient, toastService: ToastService)
Parameters :
Name Type Optional
http HttpClient No
toastService ToastService No

Methods

Async getAllProjects
getAllProjects()
Returns : Promise< | void>
Private getAllProjectsObservable
getAllProjectsObservable()
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(() => {});
  }
}

result-matching ""

    No results matching ""