diff --git a/npm/packs/client-generator/src/templates/angular/service-templates.ts b/npm/packs/client-generator/src/templates/angular/service-templates.ts index d46f3e123f..c9abfc7700 100644 --- a/npm/packs/client-generator/src/templates/angular/service-templates.ts +++ b/npm/packs/client-generator/src/templates/angular/service-templates.ts @@ -1,18 +1,28 @@ import changeCase from 'change-case'; +import { replacer } from '../../utils/replacer'; export namespace ServiceTemplates { - export function classTemplate(name: string, contents: string[]) { + export function classTemplate(name: string, content: string) { return `import { RestService } from '@abp/ng.core'; import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs' @Injectable({ providedIn: 'root', }) export class ${changeCase.pascalCase(name)}Service { - - constructor(private restService: RestService) { } - - ${contents[0]} + constructor(private restService: RestService) {} + ${content} }`; } + + export function getMethodTemplate(name: string, url: string, params: string[] = [], queryParams?: object) { + return ` + ${changeCase.camelCase(replacer(name))}(${params.join(', ')}): Observable { + return this.restService.request({ + method: 'GET', + url: '/${url}${params.length ? '/' + params.join('/') : ''}', + }); + }`; + } }