// vim: set tw=80 ts=2 sw=2 sts=2 : import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs/Rx'; import { Account } from './account'; @Injectable() export class AccountService { constructor( private http: HttpClient ) {} private url(id?: Number): string { if(id) { return `/api/account/${id}`; } return `/api/account`; } query(): Observable { return this.http.get(this.url()); } get(id: number): Observable { return this.http.get(this.url(id)); } create(account: Account): Observable { return this.http.post(this.url(), account); } update(account: Account): Observable { return this.http.post(this.url(account.id), account); } delete(account: Account): Observable { return this.http.delete(this.url(account.id)); } }