import { Injectable, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { _MODULE_CONFIG } from '../config/token'; import { ModuleConfig } from '../config/module-config'; import { UrlConfig } from '@ucap-webmessenger/core'; import { Urls } from '../config/urls'; import { RetrieveRequest, RetrieveSendResponse, encodeRetrieve, decodeRetrieveSend } from '../apis/retrieve-send'; @Injectable({ providedIn: 'root' }) export class MessageApiService { readonly urls: Urls; constructor( @Inject(_MODULE_CONFIG) private moduleConfig: ModuleConfig, private httpClient: HttpClient ) { this.urls = UrlConfig.getUrls( this.moduleConfig.hostConfig, this.moduleConfig.urls ); } public retrieveSendMessage( req: RetrieveRequest ): Observable { return this.httpClient .post( this.urls.retrieveSendMessageList, {}, { params: encodeRetrieve(req) } ) .pipe(map(res => decodeRetrieveSend(res))); } }