import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/internal/operators';
import { ConfigsService, ResponseBase, transformResponse } from 'pz-unit';
import { <%= classify(name) %>Model } from './model/<%= dasherize(name) %>.model';
import { serveUrl } from 'environments/environment';

@Injectable()
export class <%= classify(name) %>Api {
public constructor(private httpClient: HttpClient, protected config: ConfigsService) {
    }

    // 获取全部列表
public getAllList(): Observable<<%= classify(name) %>Model[]> {
        const url = `${this.config.exportServer(serveUrl)}sark/tSarkManager/selectSarkManagerList`;
    return this.httpClient.get<ResponseBase<<%= classify(name) %>Model[]>>(url)
        .pipe(map(transformResponse));
}
    // 通过ID查询信息
public getInfoById(id: string): Observable<<%= classify(name) %>Model> {
        const url = `${this.config.exportServer(serveUrl)}sark/tSarkManager/getSarkManagerInfoById/${id}`;
    return this.httpClient.get<ResponseBase<<%= classify(name) %>Model>>(url)
        .pipe(map(transformResponse));
}
    // 保存或更新信息
public saveInfo(input: <%= classify(name) %>Model): Observable<void> {
        const url = `${this.config.exportServer(serveUrl)}sak/tSarkManager/${input.id ? 'update' : 'save'}SarkManagerInfo`;
    return this.httpClient.post<ResponseBase<void>>(url, input)
        .pipe(map(transformResponse));
}
}
