diff --git a/hv2-ui/src/app/data-object-service.ts.tmpl b/hv2-ui/src/app/data-object-service.ts.tmpl new file mode 100644 index 0000000..19b7a92 --- /dev/null +++ b/hv2-ui/src/app/data-object-service.ts.tmpl @@ -0,0 +1,35 @@ +import { Injectable } from '@angular/core'; +import { Observable, of } from 'rxjs'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; + +import { MessageService } from './message.service'; +import { serviceBaseUrl } from './config'; + + +#for $table in $tables +import { ${JsNameConverter($table.name)} } from './data-objects'; +#end for + + +@Injectable({ + providedIn: 'root' +}) + + + + + +#from generateHelper import JsNameConverter + +#for $table in $tables +export class ${JsNameConverter($table.name)}Service { + constructor(private messageService: MessageService, private http: HttpClient) { } + + async get${JsNameConverter($table.name)}(): Promise<${JsNameConverter($table.name)}> { + this.messageService.add(`${JsNameConverter($table.name)}Service: fetch data`); + return this.http.get<${JsNameConverter($table.name)}>(`\${serviceBaseUrl}/v1/${table.name}`).toPromise() + } +} + +#end for + diff --git a/hv2-ui/src/app/data-objects.ts.tmpl b/hv2-ui/src/app/data-objects.ts.tmpl new file mode 100644 index 0000000..f7437f5 --- /dev/null +++ b/hv2-ui/src/app/data-objects.ts.tmpl @@ -0,0 +1,11 @@ +#from generateHelper import JsNameConverter + +#for $table in $tables +export interface $JsNameConverter($table.name) { +#for $column in $table.columns + ${column.name}: ${column.jstype} +#end for +} + +#end for +