File

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

Description

User Service

Index

Methods

Constructor

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

Methods

Async getUsersByProjectId
getUsersByProjectId(projectId)
Parameters :
Name Optional
projectId No
Returns : Promise< | void>
Private getUsersByProjectIdObservable
getUsersByProjectIdObservable(projectId)
Parameters :
Name Optional
projectId No
Returns : Observable<>
import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http';
import {User} from '@app/pages/models/user';
import {ToastService} from '@app/shared/services/toast.service';
import {Observable} from 'rxjs';
import {environment} from "@environments/environment";

/**
 * User Service
 */
@Injectable({
  providedIn: 'root'
})
export class UserService {

  constructor(private http: HttpClient, private toastService: ToastService) {}

  private getUsersByProjectIdObservable(projectId): Observable<[User]> {
    return this.http.get<any>(`${environment.backendUrl}/projects/${projectId}/users/`);
  }

  async getUsersByProjectId(projectId): Promise<[User] | void> {
    return await this.getUsersByProjectIdObservable(projectId).toPromise()
      .then((data: any) => {
        const results: [User] = data.users;
        results.forEach(d => d.name = d.id);
        this.toastService.showSuccess(`Users of Project: ${projectId} loaded.`);
        return results;
      })
      .catch(e => {
        this.toastService.showError(e);
        console.log(e);
      })
      .finally(() => {});
  }
}

result-matching ""

    No results matching ""