36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import { Injectable } from '@angular/core'
|
|
import { Observable, of } from 'rxjs'
|
|
import { HttpClient, HttpHeaders } from '@angular/common/http'
|
|
|
|
import { ZahlungForderung, Forderung, Zahlung, Saldo } from './zahlung-forderung'
|
|
import { MessageService } from './message.service'
|
|
import { serviceBaseUrl } from './config'
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ZahlungForderungService {
|
|
constructor(private messageService: MessageService, private http: HttpClient) { }
|
|
|
|
getZahlungenForderungenByMieterAndYear(mieterId: number, year: number): Promise<ZahlungForderung[]> {
|
|
this.messageService.add(`ZahlungForderungService: fetched zahlungen and forderungen by mieter ${mieterId} and year ${year}`)
|
|
return this.http.get<ZahlungForderung[]>(`${serviceBaseUrl}/hv/mieter/${mieterId}/zahlungforderung/${year}`).toPromise()
|
|
}
|
|
|
|
getForderung(id: number): Promise<Forderung> {
|
|
this.messageService.add(`ZahlungForderungService: fetch forderung id=${id}`)
|
|
return this.http.get<Forderung>(`${serviceBaseUrl}/hv/forderung/${id}`).toPromise()
|
|
}
|
|
|
|
postZahlung(zahlung: Zahlung): Promise<string> {
|
|
this.messageService.add(`ZahlungForderungService: insert zahlung ${JSON.stringify(zahlung, undefined, 4)}`)
|
|
return this.http.post<string>(`${serviceBaseUrl}/hv/zahlung`, zahlung).toPromise()
|
|
}
|
|
|
|
getSaldoByMieterAndYear(mieterId: number, year: number): Promise<Saldo> {
|
|
this.messageService.add(`ZahlungForderungService: fetched saldo by mieter ${mieterId} and year ${year}`)
|
|
return this.http.get<Saldo>(`${serviceBaseUrl}/hv/mieter/${mieterId}/saldo/${year}`).toPromise()
|
|
}
|
|
|
|
}
|