{ "version": 3, "sources": ["src/app/end-customer-invoices/end-customer-invoice/details/basicinfo/end-customer-invoice-basicinfo.service.ts"], "sourcesContent": ["import { Injectable, Output, EventEmitter, Directive } from '@angular/core';\r\nimport { Observable, of, throwError } from 'rxjs';\r\n\r\nimport { AppConfig } from '../../../../app.config';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { EndCustomerInvoiceBasicInformation, NavigationLink } from '../../models/end-customer-invoice.model';\r\n\r\n\r\n@Directive()\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EndCustomerInvoiceBasicInformationService {\r\n\r\n private urlIwmBackendTask: string = this.config.backendIwmUri + 'Api/';\r\n private urlIwmBackend: string = this.config.backendIwmUri + 'EndCustomerInvoiceApi/';\r\n private urlBasicinfo: string = 'EndCustomerInvoices({0})';\r\n private urlTaskBasicinfo: string = 'Tasks({0})';\r\n\r\n\r\n constructor(private http: HttpClient, private config: AppConfig) { }\r\n\r\n public makeCreditNote(Id: string): Observable {\r\n\r\n var urlMakeCreditNote = this.urlIwmBackend + 'EndCustomerInvoices/Default.CopyEndCustomerInvoiceAsCreditNote'\r\n return this.http.post(urlMakeCreditNote, { 'SourceEndCustomerInvoiceId': Id });\r\n }\r\n\r\n /**\r\n * Get end customer invoice by GUID\r\n * @param {string} id \r\n * @returns {Observable}\r\n */\r\n public getEndCustomerInvoice(id: string): Observable {\r\n const url = this.urlIwmBackend + this.urlBasicinfo.replace('{0}', id);\r\n const ip = this.fetchData(url);\r\n return ip;\r\n }\r\n\r\n /**\r\n * Get End customer invoice\r\n * @param iwmId Iwm id\r\n */\r\n public getEndCustomerInvoiceById(iwmId: number): Observable {\r\n const url = this.urlIwmBackend + `EndCustomerInvoices?$filter=IwmId eq ${iwmId}`;\r\n return this.fetchData(url);\r\n }\r\n\r\n /**\r\n * Get task details by GUID\r\n * @param {string} id GUID task identifier\r\n * @returns {Observable}\r\n */\r\n public getTaskBasicinfo(id: string): Observable {\r\n const url = this.urlIwmBackendTask + this.urlTaskBasicinfo.replace('{0}', id);\r\n const task = this.fetchData(url);\r\n return task;\r\n }\r\n\r\n /**\r\n * Get payer customer\r\n * @param taskId id of the task\r\n */\r\n public getPayerCustomer(taskId: string): Observable {\r\n const url = `${this.urlIwmBackendTask}TaskExternalPersons?$filter=TaskId eq ${taskId} and Role eq 'PayerCustomer'`;\r\n return this.fetchData(url);\r\n }\r\n\r\n public getTaskOwnerListItemsByType(taskId: string, type: string) {\r\n const url = `${this.config.backendIwmUri}CustomerAdminApi/ListItems/Default.GetListItemsByTypeAndTask(type=HeadPower.Iwm.Objects.Enum.ListType'${type}',taskId=${taskId})`;\r\n return this.fetchData(url);\r\n }\r\n\r\n /**\r\n * Get navigation link name for Task\r\n * @param id\r\n * @returns\r\n */\r\n public GetNavigationTaskLink(id: string): Observable {\r\n const url = `${this.urlIwmBackendTask}Tasks(${id})?$select=TaskId,Identifier,Name`;\r\n return this.http.get(url)\r\n .pipe(catchError(this.handleError(null))); // user may not have access to Task\r\n }\r\n\r\n /**\r\n * Update end customer invoice\r\n * @param {string} Id Id of the End customer invoice\r\n * @param {EndCustomerInvoiceBasicInformation} basicInfo EndCustomerInvoice object\r\n * @returns {Observable}\r\n */\r\n public update(Id: string, basicInfo: Partial): Observable {\r\n const url = this.urlIwmBackend + this.urlBasicinfo.replace('{0}', Id);\r\n return this.http.patch(url, basicInfo);\r\n }\r\n\r\n\r\n /**\r\n * Fetch data from oData endpoints\r\n * @param {string} url Resource url\r\n * @returns {Observable}\r\n */\r\n private fetchData(url: string): Observable {\r\n return this.http.get(url);\r\n }\r\n\r\n /**\r\n * Handling error statuscodes \r\n */\r\n private handleError(errorResponse: any) {\r\n return (err: any) => {\r\n if (err instanceof HttpErrorResponse && (err.status === 403)) {\r\n return of(errorResponse);\r\n }\r\n else {\r\n return throwError(() => err);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class TaskBasicInfo {\r\n Id: string;\r\n TaxType: number;\r\n}\r\n\r\n"], "mappings": "8HACAA,IAIAC,QAQA,IAAaC,GAAyC,IAAA,CAAhD,MAAOA,CAAyC,CAQlDC,YAAoBC,EAA0BC,EAAiB,CAA3C,KAAAD,KAAAA,EAA0B,KAAAC,OAAAA,EANtC,KAAAC,kBAA4B,KAAKD,OAAOE,cAAgB,OACxD,KAAAC,cAAwB,KAAKH,OAAOE,cAAgB,yBACpD,KAAAE,aAAuB,2BACvB,KAAAC,iBAA2B,YAGgC,CAE5DC,eAAeC,EAAU,CAE5B,IAAIC,EAAoB,KAAKL,cAAgB,iEAC7C,OAAO,KAAKJ,KAAKU,KAAKD,EAAmB,CAAE,2BAA8BD,CAAE,CAAE,CACjF,CAOOG,sBAAsBC,EAAU,CACnC,IAAMC,EAAM,KAAKT,cAAgB,KAAKC,aAAaS,QAAQ,MAAOF,CAAE,EAEpE,OADW,KAAKG,UAAUF,CAAG,CAEjC,CAMOG,0BAA0BC,EAAa,CAC1C,IAAMJ,EAAM,KAAKT,cAAgB,wCAAwCa,CAAK,GAC9E,OAAO,KAAKF,UAAUF,CAAG,CAC7B,CAOOK,iBAAiBN,EAAU,CAC9B,IAAMC,EAAM,KAAKX,kBAAoB,KAAKI,iBAAiBQ,QAAQ,MAAOF,CAAE,EAE5E,OADa,KAAKG,UAAUF,CAAG,CAEnC,CAMOM,iBAAiBC,EAAc,CAClC,IAAMP,EAAM,GAAG,KAAKX,iBAAiB,yCAAyCkB,CAAM,+BACpF,OAAO,KAAKL,UAAUF,CAAG,CAC7B,CAEOQ,4BAA4BD,EAAgBE,EAAY,CAC3D,IAAMT,EAAM,GAAG,KAAKZ,OAAOE,aAAa,yGAAyGmB,CAAI,YAAYF,CAAM,IACvK,OAAO,KAAKL,UAAUF,CAAG,CAC7B,CAOOU,sBAAsBX,EAAU,CACnC,IAAMC,EAAM,GAAG,KAAKX,iBAAiB,SAASU,CAAE,mCAChD,OAAO,KAAKZ,KAAKwB,IAAoBX,CAAG,EACnCY,KAAKC,EAAW,KAAKC,YAAY,IAAI,CAAC,CAAC,CAChD,CAQOC,OAAOpB,EAAYqB,EAAsD,CAC5E,IAAMhB,EAAM,KAAKT,cAAgB,KAAKC,aAAaS,QAAQ,MAAON,CAAE,EACpE,OAAO,KAAKR,KAAK8B,MAAMjB,EAAKgB,CAAS,CACzC,CAQQd,UAAUF,EAAW,CACzB,OAAO,KAAKb,KAAKwB,IAAIX,CAAG,CAC5B,CAKQc,YAAYI,EAAkB,CAClC,OAAQC,GACAA,aAAeC,GAAsBD,EAAIE,SAAW,IAC7CC,EAAGJ,CAAa,EAGhBK,EAAW,IAAMJ,CAAG,CAGvC,iDAzGSlC,GAAyCuC,EAAAC,CAAA,EAAAD,EAAAE,CAAA,CAAA,CAAA,CAAA,+BAAzCzC,CAAyC,CAAA,CAAA,iCAAzCA,EAAyC0C,QAAzC1C,EAAyC2C,UAAAC,WAFtC,MAAM,CAAA,CAAA,SAET5C,CAAyC,GAAA", "names": ["init_esm", "init_operators", "EndCustomerInvoiceBasicInformationService", "constructor", "http", "config", "urlIwmBackendTask", "backendIwmUri", "urlIwmBackend", "urlBasicinfo", "urlTaskBasicinfo", "makeCreditNote", "Id", "urlMakeCreditNote", "post", "getEndCustomerInvoice", "id", "url", "replace", "fetchData", "getEndCustomerInvoiceById", "iwmId", "getTaskBasicinfo", "getPayerCustomer", "taskId", "getTaskOwnerListItemsByType", "type", "GetNavigationTaskLink", "get", "pipe", "catchError", "handleError", "update", "basicInfo", "patch", "errorResponse", "err", "HttpErrorResponse", "status", "of", "throwError", "\u0275\u0275directiveInject", "HttpClient", "AppConfig", "factory", "\u0275fac", "providedIn"] }