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 '../types/token'; import { ModuleConfig } from '../types/module-config'; import { FileProfileSaveRequest, FileProfileSaveResponse } from '../models/file-profile-save'; import { FileTalkDownloadRequest } from '../models/file-talk-download'; import { FileTalkSaveRequest, FileTalkSaveResponse } from '../models/file-talk-save'; import { FileTalkShareRequest, FileTalkShareResponse } from '../models/file-talk-share'; import { MassTalkDownloadRequest, MassTalkDownloadResponse } from '../models/mass-talk-download'; import { MassTalkSaveRequest, MassTalkSaveResponse } from '../models/mass-talk-save'; import { TransMassTalkDownloadRequest, TransMassTalkDownloadResponse } from '../models/trans-mass-talk-download'; import { TransMassTalkSaveRequest, TransMassTalkSaveResponse } from '../models/trans-mass-talk-save'; import { TranslationReqRequest, TranslationReqResponse } from '../models/translation-req'; import { TranslationSaveRequest, TranslationSaveResponse } from '../models/translation-save'; @Injectable({ providedIn: 'root' }) export class CommonApiService { constructor( @Inject(_MODULE_CONFIG) private moduleConfig: ModuleConfig, private httpClient: HttpClient ) {} public fileProfileSave( req: FileProfileSaveRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.fileProfileSave, {}, { params: {} } ) .pipe( map(res => { return {} as FileProfileSaveResponse; }) ); } public fileTalkDownload(req: FileTalkDownloadRequest): Observable { return this.httpClient.post( this.moduleConfig.urls.fileTalkDownload, { responseType: 'blob' }, { params: {} } ); } public fileTalkSave( req: FileTalkSaveRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.fileTalkSave, {}, { params: {} } ) .pipe( map(res => { return {} as FileTalkSaveResponse; }) ); } public fileTalkShare( req: FileTalkShareRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.fileTalkShare, {}, { params: {} } ) .pipe( map(res => { return {} as FileTalkShareResponse; }) ); } public massTalkDownload( req: MassTalkDownloadRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.massTalkDownload, {}, { params: {} } ) .pipe( map(res => { return {} as MassTalkDownloadResponse; }) ); } public massTalkSave( req: MassTalkSaveRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.massTalkSave, {}, { params: {} } ) .pipe( map(res => { return {} as MassTalkSaveResponse; }) ); } public transMassTalkDownload( req: TransMassTalkDownloadRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.transMassTalkDownload, {}, { params: {} } ) .pipe( map(res => { return {} as TransMassTalkDownloadResponse; }) ); } public transMassTalkSave( req: TransMassTalkSaveRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.transMassTalkSave, {}, { params: {} } ) .pipe( map(res => { return {} as TransMassTalkSaveResponse; }) ); } public translationReq( req: TranslationReqRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.translationReq, {}, { params: {} } ) .pipe( map(res => { return {} as TranslationReqResponse; }) ); } public translationSave( req: TranslationSaveRequest ): Observable { return this.httpClient .post( this.moduleConfig.urls.translationSave, {}, { params: {} } ) .pipe( map(res => { return {} as TranslationSaveResponse; }) ); } }