{"version":3,"file":"adjai-ngx-library-src-lib-api.mjs","sources":["../../../projects/ngx-library/src/lib/api/api-configuration.ts","../../../projects/ngx-library/src/lib/api/api.service.ts","../../../projects/ngx-library/src/lib/api/api.module.ts","../../../projects/ngx-library/src/lib/api/adjai-ngx-library-src-lib-api.ts"],"sourcesContent":["export class ApiConfiguration {\r\n  apiBaseUrl = ''\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {ApiConfiguration} from \"./api-configuration\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {Observable, of, throwError} from \"rxjs\";\r\nimport {catchError, filter, map} from \"rxjs/operators\";\r\n// import {SystemLoaderService} from \"@adjai/ngx-library/src/lib/elements\";\r\nimport {MessageService} from \"@adjai/ngx-library/src/lib/message\";\r\nimport {LanguageService} from \"@adjai/ngx-library/src/lib/language\";\r\n\r\nexport interface Response<T> {\r\n  success: boolean,\r\n  message: string,\r\n  data: T,\r\n}\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n\r\n  constructor(\r\n    private httpClient: HttpClient,\r\n    private configuration: ApiConfiguration,\r\n    // private systemLoaderService: SystemLoaderService,\r\n    private messageService: MessageService,\r\n  ) {\r\n  }\r\n\r\n  executeBeacon(\r\n    section: string,\r\n    method: string,\r\n    params: any = {},\r\n    requestMethod = 'post',\r\n    apiBaseUrl: string | null = null,\r\n  ): Observable<void> {\r\n    if (apiBaseUrl === null) {\r\n      apiBaseUrl = this.configuration.apiBaseUrl\r\n    }\r\n    // @ts-ignore\r\n    if (navigator.sendBeacon) {\r\n      const data = new FormData()\r\n      Object.keys(params).forEach(key => {\r\n        data.append(key, params[key].toString())\r\n      })\r\n      const url = `${apiBaseUrl}${section}/${method}/`\r\n      navigator.sendBeacon(url, data)\r\n      return of(void 0)\r\n    } else {\r\n      return this.execute<void>(section, method, params, requestMethod)\r\n    }\r\n  }\r\n\r\n  execute<T>(\r\n    section: string,\r\n    method: string,\r\n    params: any = {},\r\n    requestMethod = 'post',\r\n    errorCallback: null | ((response: Response<T>) => void) = null,\r\n    apiBaseUrl: string | null = null,\r\n  ): Observable<T> {\r\n    if (apiBaseUrl === null) {\r\n      apiBaseUrl = this.configuration.apiBaseUrl\r\n    }\r\n    const url = `${apiBaseUrl}${section}/${method}/`\r\n    return this.httpClient.request<Response<T>>(requestMethod, url, {\r\n      body: params,\r\n    }).pipe(\r\n      catchError(error => {\r\n        // this.systemLoaderService.updateLoaderState(false)\r\n        this.messageService.error(LanguageService.text('Возникла проблема с интернет-соединением, либо ошибка API.', 'api'), '', {}, 3000)\r\n        return throwError(error)\r\n      }),\r\n      filter(response => {\r\n        if (!response.success) {\r\n          if (errorCallback !== null) {\r\n            errorCallback(response)\r\n          } else {\r\n            throw(response)\r\n          }\r\n        }\r\n        return response.success\r\n      }),\r\n      map(response => response.data),\r\n    )\r\n  }\r\n\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {HttpClientModule} from \"@angular/common/http\";\nimport {ApiConfiguration} from \"./api-configuration\";\nimport {LanguageService} from \"@adjai/ngx-library/src/lib/language\";\n\nLanguageService.addTranslations('api', [\n  {\n    en: 'Something went wrong.',\n    ru: 'Возникла проблема с интернет-соединением, либо ошибка API.',\n  }\n], 'en')\n\n@NgModule({\n  declarations: [],\n  imports: [\n    CommonModule,\n    HttpClientModule,\n  ],\n})\nexport class ApiModule {\n\n  static forRoot(configuration: ApiConfiguration): ModuleWithProviders<ApiModule> {\n    return {\n      ngModule: ApiModule,\n      providers: [\n        {\n          provide: ApiConfiguration,\n          useValue: configuration,\n        }\n      ]\n    }\n  }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ApiConfiguration"],"mappings":"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"}