projects.service.ts
angular/examples/advanced/services/projects.service.ts
// @ts-nocheck
import { Injectable, inject, PLATFORM_ID } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { isPlatformServer } from '@angular/common';
import { Project } from '../state/projects.models';
import { map, Observable } from 'rxjs';
@Injectable({ providedIn: 'root' })
export class ProjectsService {
private http = inject(HttpClient);
private platformId = inject(PLATFORM_ID);
getProjects(tenantId: string): Observable<Project[]> {
const baseUrl = isPlatformServer(this.platformId) ? 'http://internal-api' : '/api';
return this.http
.get<Project[]>(`${baseUrl}/tenants/${tenantId}/projects`)
.pipe(map((projects) => projects.map((project) => ({ ...project, budget: project.budget ?? 0 }))));
}
}
Bài viết liên quan
server.js
server.js — javascript source code from the angular learning materials (angular/comprehensive-demo/server/server.js).
Đọc bài viết →app.component.ts
app.component.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.component.ts).
Đọc bài viết →app.config.ts
app.config.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.config.ts).
Đọc bài viết →app.routes.ts
app.routes.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.routes.ts).
Đọc bài viết →auth.guard.ts
auth.guard.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/core/guards/auth.guard.ts).
Đọc bài viết →role.guard.ts
role.guard.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/core/guards/role.guard.ts).
Đọc bài viết →