ffb-harvest.service.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { Injectable } from '@angular/core';
  2. import { HttpClient, HttpParams } from '@angular/common/http';
  3. import { Observable } from 'rxjs';
  4. import { webConfig } from '../config';
  5. import { FFBHarvest } from './ffb-harvest.interface';
  6. @Injectable({
  7. providedIn: 'root'
  8. })
  9. export class FFBHarvestService {
  10. private base = `${webConfig.exposedUrl}/api/ffb-harvest`;
  11. constructor(private http: HttpClient) {}
  12. create(item: FFBHarvest): Observable<FFBHarvest> {
  13. return this.http.post<FFBHarvest>(this.base, item);
  14. }
  15. findAll(query?: any): Observable<FFBHarvest[]> {
  16. let params = new HttpParams();
  17. if (query) {
  18. Object.keys(query).forEach(k => {
  19. if (query[k] !== null && query[k] !== undefined && query[k] !== '') {
  20. params = params.set(k, query[k]);
  21. }
  22. });
  23. }
  24. return this.http.get<FFBHarvest[]>(this.base, { params });
  25. }
  26. findById(id: string): Observable<FFBHarvest> {
  27. return this.http.get<FFBHarvest>(`${this.base}/${id}`);
  28. }
  29. delete(id: string): Observable<any> {
  30. return this.http.delete(`${this.base}/${id}`);
  31. }
  32. }