From 4f8f0fde9d8165ce8d13e54f05e566a5b31354c3 Mon Sep 17 00:00:00 2001 From: Wolfgang Ludger Hottgenroth Date: Tue, 31 Aug 2021 17:25:47 +0200 Subject: [PATCH] add post call apis to services --- ui/hv2-ui/src/app/data-object-service.ts | 120 ++++++++++++++---- ui/hv2-ui/src/app/data-object-service.ts.tmpl | 10 +- 2 files changed, 104 insertions(+), 26 deletions(-) diff --git a/ui/hv2-ui/src/app/data-object-service.ts b/ui/hv2-ui/src/app/data-object-service.ts index baa621e..e98a5df 100644 --- a/ui/hv2-ui/src/app/data-object-service.ts +++ b/ui/hv2-ui/src/app/data-object-service.ts @@ -39,15 +39,21 @@ export class AccountService { constructor(private messageService: MessageService, private http: HttpClient) { } async getAccounts(): Promise { - this.messageService.add(`AccountService: fetch data`); + this.messageService.add(`AccountService: get data`); return this.http.get(`${serviceBaseUrl}/v1/accounts`).toPromise() } async getAccount(id: number): Promise { - this.messageService.add(`AccountService: fetch data for ${id}`); + this.messageService.add(`AccountService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/accounts/${id}`).toPromise() } + async postAccount(item: Account): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`AccountService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/accounts`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -55,15 +61,21 @@ export class TenantService { constructor(private messageService: MessageService, private http: HttpClient) { } async getTenants(): Promise { - this.messageService.add(`TenantService: fetch data`); + this.messageService.add(`TenantService: get data`); return this.http.get(`${serviceBaseUrl}/v1/tenants`).toPromise() } async getTenant(id: number): Promise { - this.messageService.add(`TenantService: fetch data for ${id}`); + this.messageService.add(`TenantService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/tenants/${id}`).toPromise() } + async postTenant(item: Tenant): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`TenantService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/tenants`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -71,15 +83,21 @@ export class PremiseService { constructor(private messageService: MessageService, private http: HttpClient) { } async getPremises(): Promise { - this.messageService.add(`PremiseService: fetch data`); + this.messageService.add(`PremiseService: get data`); return this.http.get(`${serviceBaseUrl}/v1/premises`).toPromise() } async getPremise(id: number): Promise { - this.messageService.add(`PremiseService: fetch data for ${id}`); + this.messageService.add(`PremiseService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/premises/${id}`).toPromise() } + async postPremise(item: Premise): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`PremiseService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/premises`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -87,15 +105,21 @@ export class FlatService { constructor(private messageService: MessageService, private http: HttpClient) { } async getFlats(): Promise { - this.messageService.add(`FlatService: fetch data`); + this.messageService.add(`FlatService: get data`); return this.http.get(`${serviceBaseUrl}/v1/flats`).toPromise() } async getFlat(id: number): Promise { - this.messageService.add(`FlatService: fetch data for ${id}`); + this.messageService.add(`FlatService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/flats/${id}`).toPromise() } + async postFlat(item: Flat): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`FlatService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/flats`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -103,15 +127,21 @@ export class OverheadAdvanceService { constructor(private messageService: MessageService, private http: HttpClient) { } async getOverheadAdvances(): Promise { - this.messageService.add(`OverheadAdvanceService: fetch data`); + this.messageService.add(`OverheadAdvanceService: get data`); return this.http.get(`${serviceBaseUrl}/v1/overhead_advances`).toPromise() } async getOverheadAdvance(id: number): Promise { - this.messageService.add(`OverheadAdvanceService: fetch data for ${id}`); + this.messageService.add(`OverheadAdvanceService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/overhead_advances/${id}`).toPromise() } + async postOverheadAdvance(item: OverheadAdvance): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`OverheadAdvanceService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/overhead_advances`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -119,15 +149,21 @@ export class OverheadAdvanceFlatMappingService { constructor(private messageService: MessageService, private http: HttpClient) { } async getOverheadAdvanceFlatMappings(): Promise { - this.messageService.add(`OverheadAdvanceFlatMappingService: fetch data`); + this.messageService.add(`OverheadAdvanceFlatMappingService: get data`); return this.http.get(`${serviceBaseUrl}/v1/overhead_advance_flat_mappings`).toPromise() } async getOverheadAdvanceFlatMapping(id: number): Promise { - this.messageService.add(`OverheadAdvanceFlatMappingService: fetch data for ${id}`); + this.messageService.add(`OverheadAdvanceFlatMappingService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/overhead_advance_flat_mappings/${id}`).toPromise() } + async postOverheadAdvanceFlatMapping(item: OverheadAdvanceFlatMapping): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`OverheadAdvanceFlatMappingService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/overhead_advance_flat_mappings`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -135,15 +171,21 @@ export class ParkingService { constructor(private messageService: MessageService, private http: HttpClient) { } async getParkings(): Promise { - this.messageService.add(`ParkingService: fetch data`); + this.messageService.add(`ParkingService: get data`); return this.http.get(`${serviceBaseUrl}/v1/parkings`).toPromise() } async getParking(id: number): Promise { - this.messageService.add(`ParkingService: fetch data for ${id}`); + this.messageService.add(`ParkingService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/parkings/${id}`).toPromise() } + async postParking(item: Parking): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`ParkingService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/parkings`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -151,15 +193,21 @@ export class CommercialPremiseService { constructor(private messageService: MessageService, private http: HttpClient) { } async getCommercialPremises(): Promise { - this.messageService.add(`CommercialPremiseService: fetch data`); + this.messageService.add(`CommercialPremiseService: get data`); return this.http.get(`${serviceBaseUrl}/v1/commercial_premises`).toPromise() } async getCommercialPremise(id: number): Promise { - this.messageService.add(`CommercialPremiseService: fetch data for ${id}`); + this.messageService.add(`CommercialPremiseService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/commercial_premises/${id}`).toPromise() } + async postCommercialPremise(item: CommercialPremise): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`CommercialPremiseService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/commercial_premises`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -167,15 +215,21 @@ export class TenancyService { constructor(private messageService: MessageService, private http: HttpClient) { } async getTenancys(): Promise { - this.messageService.add(`TenancyService: fetch data`); + this.messageService.add(`TenancyService: get data`); return this.http.get(`${serviceBaseUrl}/v1/tenancys`).toPromise() } async getTenancy(id: number): Promise { - this.messageService.add(`TenancyService: fetch data for ${id}`); + this.messageService.add(`TenancyService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/tenancys/${id}`).toPromise() } + async postTenancy(item: Tenancy): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`TenancyService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/tenancys`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -183,15 +237,21 @@ export class FeeService { constructor(private messageService: MessageService, private http: HttpClient) { } async getFees(): Promise { - this.messageService.add(`FeeService: fetch data`); + this.messageService.add(`FeeService: get data`); return this.http.get(`${serviceBaseUrl}/v1/fees`).toPromise() } async getFee(id: number): Promise { - this.messageService.add(`FeeService: fetch data for ${id}`); + this.messageService.add(`FeeService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/fees/${id}`).toPromise() } + async postFee(item: Fee): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`FeeService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/fees`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -199,15 +259,21 @@ export class TenancyFeeMappingService { constructor(private messageService: MessageService, private http: HttpClient) { } async getTenancyFeeMappings(): Promise { - this.messageService.add(`TenancyFeeMappingService: fetch data`); + this.messageService.add(`TenancyFeeMappingService: get data`); return this.http.get(`${serviceBaseUrl}/v1/tenancy_fee_mappings`).toPromise() } async getTenancyFeeMapping(id: number): Promise { - this.messageService.add(`TenancyFeeMappingService: fetch data for ${id}`); + this.messageService.add(`TenancyFeeMappingService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/tenancy_fee_mappings/${id}`).toPromise() } + async postTenancyFeeMapping(item: TenancyFeeMapping): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`TenancyFeeMappingService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/tenancy_fee_mappings`, item).toPromise() + } + } @Injectable({ providedIn: 'root' }) @@ -215,15 +281,21 @@ export class AccountEntryService { constructor(private messageService: MessageService, private http: HttpClient) { } async getAccountEntrys(): Promise { - this.messageService.add(`AccountEntryService: fetch data`); + this.messageService.add(`AccountEntryService: get data`); return this.http.get(`${serviceBaseUrl}/v1/account_entrys`).toPromise() } async getAccountEntry(id: number): Promise { - this.messageService.add(`AccountEntryService: fetch data for ${id}`); + this.messageService.add(`AccountEntryService: get data for ${id}`); return this.http.get(`${serviceBaseUrl}/v1/account_entrys/${id}`).toPromise() } + async postAccountEntry(item: AccountEntry): Promise { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`AccountEntryService: post data for ${itemStr}`); + return this.http.post(`${serviceBaseUrl}/v1/account_entrys`, item).toPromise() + } + } diff --git a/ui/hv2-ui/src/app/data-object-service.ts.tmpl b/ui/hv2-ui/src/app/data-object-service.ts.tmpl index e8824cb..19591a5 100644 --- a/ui/hv2-ui/src/app/data-object-service.ts.tmpl +++ b/ui/hv2-ui/src/app/data-object-service.ts.tmpl @@ -27,15 +27,21 @@ export class ${JsNameConverter($table.name)}Service { constructor(private messageService: MessageService, private http: HttpClient) { } async get${JsNameConverter($table.name)}s(): Promise<${JsNameConverter($table.name)}[]> { - this.messageService.add(`${JsNameConverter($table.name)}Service: fetch data`); + this.messageService.add(`${JsNameConverter($table.name)}Service: get data`); return this.http.get<${JsNameConverter($table.name)}[]>(`\${serviceBaseUrl}/v1/${table.name}s`).toPromise() } async get${JsNameConverter($table.name)}(id: number): Promise<${JsNameConverter($table.name)}> { - this.messageService.add(`${JsNameConverter($table.name)}Service: fetch data for \${id}`); + this.messageService.add(`${JsNameConverter($table.name)}Service: get data for \${id}`); return this.http.get<${JsNameConverter($table.name)}>(`\${serviceBaseUrl}/v1/${table.name}s/\${id}`).toPromise() } + async post${JsNameConverter($table.name)}(item: ${JsNameConverter($table.name)}): Promise<${JsNameConverter($table.name)}> { + let itemStr: string = JSON.stringify(item, undefined, 4) + this.messageService.add(`${JsNameConverter($table.name)}Service: post data for \${itemStr}`); + return this.http.post<${JsNameConverter($table.name)}>(`\${serviceBaseUrl}/v1/${table.name}s`, item).toPromise() + } + } #end for