@veeroute/lss-account-angular 4.0.173861-RC → 4.7.1605

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +3 -3
  2. package/api/api.d.ts +7 -4
  3. package/api/auditService.d.ts +13 -10
  4. package/api/auditServiceInterface.d.ts +9 -8
  5. package/api/authService.d.ts +24 -15
  6. package/api/authServiceInterface.d.ts +10 -10
  7. package/api/dataService.d.ts +82 -0
  8. package/api/dataServiceInterface.d.ts +45 -0
  9. package/api/infoService.d.ts +20 -14
  10. package/api/infoServiceInterface.d.ts +8 -8
  11. package/api/{quotaService.d.ts → quotasService.d.ts} +14 -11
  12. package/api/{quotaServiceInterface.d.ts → quotasServiceInterface.d.ts} +5 -5
  13. package/api/statisticsService.d.ts +29 -23
  14. package/api/statisticsServiceInterface.d.ts +11 -11
  15. package/api/systemService.d.ts +14 -8
  16. package/api/systemServiceInterface.d.ts +5 -5
  17. package/bundles/veeroute-lss-account-angular.umd.js +630 -248
  18. package/bundles/veeroute-lss-account-angular.umd.js.map +1 -1
  19. package/cfg/audit_operations.json +137 -0
  20. package/cfg/method_groups.json +88 -0
  21. package/esm2015/api/api.js +8 -5
  22. package/esm2015/api/auditService.js +48 -30
  23. package/esm2015/api/auditServiceInterface.js +1 -1
  24. package/esm2015/api/authService.js +86 -46
  25. package/esm2015/api/authServiceInterface.js +1 -1
  26. package/esm2015/api/dataService.js +236 -0
  27. package/esm2015/api/dataServiceInterface.js +2 -0
  28. package/esm2015/api/infoService.js +63 -36
  29. package/esm2015/api/infoServiceInterface.js +1 -1
  30. package/esm2015/api/quotasService.js +133 -0
  31. package/esm2015/api/quotasServiceInterface.js +2 -0
  32. package/esm2015/api/statisticsService.js +74 -47
  33. package/esm2015/api/statisticsServiceInterface.js +1 -1
  34. package/esm2015/api/systemService.js +53 -26
  35. package/esm2015/api/systemServiceInterface.js +1 -1
  36. package/esm2015/api.module.js +1 -1
  37. package/esm2015/model/accountAuditResult.js +1 -1
  38. package/esm2015/model/accountInfo.js +4 -4
  39. package/esm2015/model/auditAction.js +2 -0
  40. package/esm2015/model/auditActionStatistics.js +13 -0
  41. package/esm2015/model/auditStats.js +1 -1
  42. package/esm2015/model/auditStatsDetail.js +4 -4
  43. package/esm2015/model/checkResult.js +4 -4
  44. package/esm2015/model/dateStatistics.js +1 -1
  45. package/esm2015/model/inlineResponse400.js +1 -1
  46. package/esm2015/model/inlineResponse401.js +1 -1
  47. package/esm2015/model/inlineResponse402.js +1 -1
  48. package/esm2015/model/inlineResponse403.js +1 -1
  49. package/esm2015/model/inlineResponse404.js +1 -1
  50. package/esm2015/model/inlineResponse404Detail.js +2 -0
  51. package/esm2015/model/inlineResponse429.js +1 -1
  52. package/esm2015/model/inlineResponse500.js +1 -1
  53. package/esm2015/model/methodGroup.js +31 -0
  54. package/esm2015/model/methodQuota.js +1 -1
  55. package/esm2015/model/methodStatistics.js +1 -1
  56. package/esm2015/model/models.js +7 -10
  57. package/esm2015/model/passwordRequest.js +4 -4
  58. package/esm2015/model/quotaBase.js +1 -1
  59. package/esm2015/model/quotasResult.js +1 -1
  60. package/esm2015/model/serviceName.js +10 -13
  61. package/esm2015/model/serviceQuota.js +1 -1
  62. package/esm2015/model/serviceStatistics.js +1 -1
  63. package/esm2015/model/tokenRequest.js +4 -4
  64. package/esm2015/model/tokenValidationResult.js +2 -18
  65. package/esm2015/model/tracedata.js +2 -0
  66. package/esm2015/model/userRole.js +23 -0
  67. package/esm2015/model/userStatistics.js +1 -1
  68. package/esm2015/model/versionResult.js +4 -4
  69. package/fesm2015/veeroute-lss-account-angular.js +633 -258
  70. package/fesm2015/veeroute-lss-account-angular.js.map +1 -1
  71. package/model/accountAuditResult.d.ts +5 -5
  72. package/model/accountInfo.d.ts +8 -8
  73. package/model/auditAction.d.ts +30 -0
  74. package/model/auditActionStatistics.d.ts +24 -0
  75. package/model/auditStats.d.ts +3 -3
  76. package/model/auditStatsDetail.d.ts +3 -3
  77. package/model/checkResult.d.ts +3 -3
  78. package/model/dateStatistics.d.ts +3 -3
  79. package/model/inlineResponse400.d.ts +6 -6
  80. package/model/inlineResponse401.d.ts +6 -6
  81. package/model/inlineResponse402.d.ts +6 -6
  82. package/model/inlineResponse403.d.ts +7 -7
  83. package/model/inlineResponse404.d.ts +7 -7
  84. package/model/inlineResponse404Detail.d.ts +18 -0
  85. package/model/inlineResponse429.d.ts +6 -6
  86. package/model/inlineResponse500.d.ts +6 -6
  87. package/model/{methodName.d.ts → methodGroup.d.ts} +9 -7
  88. package/model/methodQuota.d.ts +7 -7
  89. package/model/methodStatistics.d.ts +5 -5
  90. package/model/models.d.ts +6 -9
  91. package/model/passwordRequest.d.ts +3 -3
  92. package/model/quotaBase.d.ts +3 -3
  93. package/model/quotasResult.d.ts +4 -6
  94. package/model/serviceName.d.ts +10 -13
  95. package/model/serviceQuota.d.ts +4 -4
  96. package/model/serviceStatistics.d.ts +3 -3
  97. package/model/tokenRequest.d.ts +4 -4
  98. package/model/tokenValidationResult.d.ts +5 -8
  99. package/model/tracedata.d.ts +38 -0
  100. package/model/userRole.d.ts +20 -0
  101. package/model/userStatistics.d.ts +4 -4
  102. package/model/versionResult.d.ts +3 -3
  103. package/package.json +8 -9
  104. package/veeroute-lss-account-angular.metadata.json +1 -1
  105. package/bundles/veeroute-lss-account-angular.umd.min.js +0 -2
  106. package/bundles/veeroute-lss-account-angular.umd.min.js.map +0 -1
  107. package/esm2015/api/quotaService.js +0 -120
  108. package/esm2015/api/quotaServiceInterface.js +0 -2
  109. package/esm2015/model/accountAction.js +0 -2
  110. package/esm2015/model/accountActionDetail.js +0 -2
  111. package/esm2015/model/dateWindow.js +0 -13
  112. package/esm2015/model/inlineResponse405.js +0 -2
  113. package/esm2015/model/inlineResponse406.js +0 -2
  114. package/esm2015/model/inlineResponse415.js +0 -2
  115. package/esm2015/model/methodName.js +0 -29
  116. package/esm2015/model/quotaAdditional.js +0 -2
  117. package/esm2015/model/traceData.js +0 -2
  118. package/model/accountAction.d.ts +0 -26
  119. package/model/accountActionDetail.d.ts +0 -22
  120. package/model/dateWindow.d.ts +0 -24
  121. package/model/inlineResponse405.d.ts +0 -22
  122. package/model/inlineResponse406.d.ts +0 -22
  123. package/model/inlineResponse415.d.ts +0 -22
  124. package/model/quotaAdditional.d.ts +0 -20
  125. package/model/traceData.d.ts +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"veeroute-lss-account-angular.umd.js","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/auditService.ts","../../api/authService.ts","../../api/infoService.ts","../../api/quotaService.ts","../../api/statisticsService.ts","../../api/systemService.ts","../../api/api.ts","../../model/methodName.ts","../../model/serviceName.ts","../../model/tokenValidationResult.ts","../../api.module.ts","../../veeroute-lss-account-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default ApiKeyAuth credential\n if (!this.credentials['ApiKeyAuth']) {\n this.credentials['ApiKeyAuth'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { AccountAuditResultAccount } from '../model/models';\nimport { InlineResponse400Account } from '../model/models';\nimport { InlineResponse401Account } from '../model/models';\nimport { InlineResponse402Account } from '../model/models';\nimport { InlineResponse403Account } from '../model/models';\nimport { InlineResponse405Account } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\nimport { MethodNameAccount } from '../model/models';\nimport { ServiceNameAccount } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n AuditServiceInterface,\n ReadAccountAuditDataRequestParams\n} from './auditServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuditService implements AuditServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * User actions for the period.\n * User actions for the period. If the period is not specified, records for the current day are returned from the beginning of the day to the current time. If no \\&#39;from\\&#39; datetime is specified, audit data are returned from the beginning of the day. If no \\&#39;to\\&#39; datetime is specified, audit data are returned be the end of the current day. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readAccountAuditData(requestParameters: ReadAccountAuditDataRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<AccountAuditResultAccount>;\n public readAccountAuditData(requestParameters: ReadAccountAuditDataRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<AccountAuditResultAccount>>;\n public readAccountAuditData(requestParameters: ReadAccountAuditDataRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<AccountAuditResultAccount>>;\n public readAccountAuditData(requestParameters: ReadAccountAuditDataRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const offset = requestParameters.offset;\n const limit = requestParameters.limit;\n const from = requestParameters.from;\n const to = requestParameters.to;\n const serviceName = requestParameters.serviceName;\n const methodName = requestParameters.methodName;\n\n let queryParameters = new HttpParams({encoder: this.encoder});\n if (offset !== undefined && offset !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>offset, 'offset');\n }\n if (limit !== undefined && limit !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>limit, 'limit');\n }\n if (from !== undefined && from !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>to, 'to');\n }\n if (serviceName !== undefined && serviceName !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>serviceName, 'service_name');\n }\n if (methodName !== undefined && methodName !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>methodName, 'method_name');\n }\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<AccountAuditResultAccount>(`${this.configuration.basePath}/account/audit`,\n {\n params: queryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { InlineResponse400Account } from '../model/models';\nimport { InlineResponse401Account } from '../model/models';\nimport { InlineResponse402Account } from '../model/models';\nimport { InlineResponse403Account } from '../model/models';\nimport { InlineResponse404Account } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\nimport { PasswordRequestAccount } from '../model/models';\nimport { TokenRequestAccount } from '../model/models';\nimport { TokenValidationResultAccount } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n AuthServiceInterface,\n ChangePasswordRequestParams,\n GenerateTokenRequestParams,\n ValidateTokenRequestParams\n} from './authServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService implements AuthServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Change password.\n * Change password and get new token.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<string>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<string>>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<string>>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const passwordRequestAccount = requestParameters.passwordRequestAccount;\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.post<string>(`${this.configuration.basePath}/account/password`,\n passwordRequestAccount,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Obtaining a token.\n * Obtaining a token using the login and password.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public generateToken(requestParameters: GenerateTokenRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<string>;\n public generateToken(requestParameters: GenerateTokenRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<string>>;\n public generateToken(requestParameters: GenerateTokenRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<string>>;\n public generateToken(requestParameters: GenerateTokenRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const tokenRequestAccount = requestParameters.tokenRequestAccount;\n if (tokenRequestAccount === null || tokenRequestAccount === undefined) {\n throw new Error('Required parameter tokenRequestAccount was null or undefined when calling generateToken.');\n }\n\n let headers = this.defaultHeaders;\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.post<string>(`${this.configuration.basePath}/account/token`,\n tokenRequestAccount,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Validating a token.\n * Validating a token.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public validateToken(requestParameters: ValidateTokenRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<TokenValidationResultAccount>;\n public validateToken(requestParameters: ValidateTokenRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<TokenValidationResultAccount>>;\n public validateToken(requestParameters: ValidateTokenRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<TokenValidationResultAccount>>;\n public validateToken(requestParameters: ValidateTokenRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const body = requestParameters.body;\n if (body === null || body === undefined) {\n throw new Error('Required parameter body was null or undefined when calling validateToken.');\n }\n\n let headers = this.defaultHeaders;\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.post<TokenValidationResultAccount>(`${this.configuration.basePath}/account/token/validate`,\n body,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { AccountInfoAccount } from '../model/models';\nimport { InlineResponse400Account } from '../model/models';\nimport { InlineResponse401Account } from '../model/models';\nimport { InlineResponse402Account } from '../model/models';\nimport { InlineResponse403Account } from '../model/models';\nimport { InlineResponse404Account } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n InfoServiceInterface,\n UpdateAccountInfoRequestParams\n} from './infoServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoService implements InfoServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Getting a account information.\n * Getting a account information.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readAccountInfo(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<AccountInfoAccount>;\n public readAccountInfo(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<AccountInfoAccount>>;\n public readAccountInfo(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<AccountInfoAccount>>;\n public readAccountInfo(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<AccountInfoAccount>(`${this.configuration.basePath}/account/info`,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Account update.\n * Updating the account information.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public updateAccountInfo(requestParameters: UpdateAccountInfoRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<AccountInfoAccount>;\n public updateAccountInfo(requestParameters: UpdateAccountInfoRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<AccountInfoAccount>>;\n public updateAccountInfo(requestParameters: UpdateAccountInfoRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<AccountInfoAccount>>;\n public updateAccountInfo(requestParameters: UpdateAccountInfoRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const accountInfoAccount = requestParameters.accountInfoAccount;\n if (accountInfoAccount === null || accountInfoAccount === undefined) {\n throw new Error('Required parameter accountInfoAccount was null or undefined when calling updateAccountInfo.');\n }\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n headers = headers.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.put<AccountInfoAccount>(`${this.configuration.basePath}/account/info`,\n accountInfoAccount,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { InlineResponse400Account } from '../model/models';\nimport { InlineResponse401Account } from '../model/models';\nimport { InlineResponse402Account } from '../model/models';\nimport { InlineResponse403Account } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\nimport { QuotasResultAccount } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n QuotaServiceInterface\n} from './quotaServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class QuotaService implements QuotaServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Obtaining the quotas.\n * Obtaining the quotas for the user.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readQuota(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<QuotasResultAccount>;\n public readQuota(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<HttpResponse<QuotasResultAccount>>;\n public readQuota(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<HttpEvent<QuotasResultAccount>>;\n public readQuota(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<any> {\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/octet-stream',\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<QuotasResultAccount>(`${this.configuration.basePath}/account/quota`,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { InlineResponse400Account } from '../model/models';\nimport { InlineResponse401Account } from '../model/models';\nimport { InlineResponse402Account } from '../model/models';\nimport { InlineResponse403Account } from '../model/models';\nimport { InlineResponse406Account } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\nimport { UserStatisticsAccount } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n StatisticsServiceInterface,\n GenerateReportRequestParams,\n GenerateStatisticsRequestParams\n} from './statisticsServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StatisticsService implements StatisticsServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Reporting.\n * Creating report with usage statistics. If the period is not specified, records are returned from the beginning of the month to the present day (excluding). If no \\&#39;from\\&#39; datetime is specified, data are returned from the beginning of the month. If no \\&#39;to\\&#39; datetime is specified, data are returned be the the present day (excluding). \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public generateReport(requestParameters: GenerateReportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<string>;\n public generateReport(requestParameters: GenerateReportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<HttpResponse<string>>;\n public generateReport(requestParameters: GenerateReportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<HttpEvent<string>>;\n public generateReport(requestParameters: GenerateReportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json'}): Observable<any> {\n const from = requestParameters.from;\n const to = requestParameters.to;\n\n let queryParameters = new HttpParams({encoder: this.encoder});\n if (from !== undefined && from !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>to, 'to');\n }\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/octet-stream',\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'blob';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<string>(`${this.configuration.basePath}/account/report`,\n {\n params: queryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * User statistics for the period.\n * User statistics for the period. If the period is not specified, the statistics for the current month returns (from the beginning of the month to the present day). If no \\&#39;from\\&#39; datetime is specified, data are returned from the beginning of the month. If no \\&#39;to\\&#39; datetime is specified, data are returned be to the present day (excluding). \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<UserStatisticsAccount>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<UserStatisticsAccount>>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<UserStatisticsAccount>>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n const from = requestParameters.from;\n const to = requestParameters.to;\n\n let queryParameters = new HttpParams({encoder: this.encoder});\n if (from !== undefined && from !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n queryParameters = this.addToHttpParams(queryParameters,\n <any>to, 'to');\n }\n\n let headers = this.defaultHeaders;\n\n let credential: string | undefined;\n // authentication (ApiKeyAuth) required\n credential = this.configuration.lookupCredential('ApiKeyAuth');\n if (credential) {\n headers = headers.set('Authorization', 'Bearer ' + credential);\n }\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'blob';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<UserStatisticsAccount>(`${this.configuration.basePath}/account/statistics`,\n {\n params: queryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { CheckResultAccount } from '../model/models';\nimport { InlineResponse415Account } from '../model/models';\nimport { InlineResponse429Account } from '../model/models';\nimport { InlineResponse500Account } from '../model/models';\nimport { VersionResultAccount } from '../model/models';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n SystemServiceInterface\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n protected basePath = 'https://api.veeroute.tech/v4';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Checking the service availability.\n * Checking the service availability.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<CheckResultAccount>;\n public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<CheckResultAccount>>;\n public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<CheckResultAccount>>;\n public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n\n let headers = this.defaultHeaders;\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<CheckResultAccount>(`${this.configuration.basePath}/account/check`,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the service version.\n * Getting the service version.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<VersionResultAccount>;\n public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpResponse<VersionResultAccount>>;\n public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json'}): Observable<HttpEvent<VersionResultAccount>>;\n public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json'}): Observable<any> {\n\n let headers = this.defaultHeaders;\n\n let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (httpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (httpHeaderAcceptSelected !== undefined) {\n headers = headers.set('Accept', httpHeaderAcceptSelected);\n }\n\n\n let responseType_: 'text' | 'json' = 'json';\n if(httpHeaderAcceptSelected && httpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n }\n\n return this.httpClient.get<VersionResultAccount>(`${this.configuration.basePath}/account/version`,\n {\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: headers,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './auditService';\nimport { AuditService } from './auditService';\nexport * from './auditServiceInterface'\nexport * from './authService';\nimport { AuthService } from './authService';\nexport * from './authServiceInterface'\nexport * from './infoService';\nimport { InfoService } from './infoService';\nexport * from './infoServiceInterface'\nexport * from './quotaService';\nimport { QuotaService } from './quotaService';\nexport * from './quotaServiceInterface'\nexport * from './statisticsService';\nimport { StatisticsService } from './statisticsService';\nexport * from './statisticsServiceInterface'\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface'\nexport const APIS = [AuditService, AuthService, InfoService, QuotaService, StatisticsService, SystemService];\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Method name.\n */\nexport enum MethodNameAccount {\n PLAN = 'PLAN',\n REPLAN = 'REPLAN',\n ACTUALIZE = 'ACTUALIZE',\n CONVERT = 'CONVERT',\n ANALYTICS = 'ANALYTICS',\n PREDICT = 'PREDICT',\n VALIDATE = 'VALIDATE',\n ROUTE = 'ROUTE',\n MATRIX = 'MATRIX',\n CLUSTER = 'CLUSTER'\n};\n\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceNameAccount {\n UNIVERSAL = 'UNIVERSAL',\n DELIVERY = 'DELIVERY',\n FIELDSERVICE = 'FIELDSERVICE',\n MERCHANDISER = 'MERCHANDISER',\n LONGHAUL = 'LONGHAUL',\n ROUTING = 'ROUTING',\n CLUSTERING = 'CLUSTERING',\n PACKER = 'PACKER',\n CARGOTIMETABLE = 'CARGOTIMETABLE',\n STOCK = 'STOCK',\n STUDIO = 'STUDIO',\n ACCOUNT = 'ACCOUNT',\n ADMIN = 'ADMIN'\n};\n\n","/**\n * VRt.Account [AC]\n * # Introduction Veeroute Account Panel.\n *\n * The version of the OpenAPI document: 4.0.173861RC\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Token validation result.\n */\nexport interface TokenValidationResultAccount { \n /**\n * Token status.\n */\n valid: boolean;\n /**\n * List of user roles.\n */\n roles?: Array<TokenValidationResultAccountRolesEnum>;\n}\nexport enum TokenValidationResultAccountRolesEnum {\n USER = 'USER',\n ADMIN = 'ADMIN'\n};\n\n\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AuditService } from './api/auditService';\nimport { AuthService } from './api/authService';\nimport { InfoService } from './api/infoService';\nimport { QuotaService } from './api/quotaService';\nimport { StatisticsService } from './api/statisticsService';\nimport { SystemService } from './api/systemService';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class LssAccountApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssAccountApiModule> {\n return {\n ngModule: LssAccountApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: LssAccountApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('LssAccountApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","HttpHeaders","HttpParams","Injectable","HttpClient","Optional","Inject","MethodNameAccount","ServiceNameAccount","TokenValidationResultAccountRolesEnum","NgModule","SkipSelf"],"mappings":"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"}
1
+ {"version":3,"file":"veeroute-lss-account-angular.umd.js","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/auditService.ts","../../api/authService.ts","../../api/dataService.ts","../../api/infoService.ts","../../api/quotasService.ts","../../api/statisticsService.ts","../../api/systemService.ts","../../api/api.ts","../../model/methodGroup.ts","../../model/serviceName.ts","../../model/userRole.ts","../../api.module.ts","../../veeroute-lss-account-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default ApiKeyAuth credential\n if (!this.credentials['ApiKeyAuth']) {\n this.credentials['ApiKeyAuth'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AccountAuditResultAccount } from '../model/accountAuditResult';\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n// @ts-ignore\nimport { MethodGroupAccount } from '../model/methodGroup';\n// @ts-ignore\nimport { ServiceNameAccount } from '../model/serviceName';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n AuditServiceInterface,\n ReadAuditRequestParams\n} from './auditServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuditService implements AuditServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Actions for the period\n * User actions for the period. If the period is not specified, records for the current day are returned from the beginning of the day to the current time. If no \\&#39;from\\&#39; datetime is specified, audit data are returned from the beginning of the day. If no \\&#39;to\\&#39; datetime is specified, audit data are returned be the end of the current day. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readAudit(requestParameters: ReadAuditRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<AccountAuditResultAccount>;\n public readAudit(requestParameters: ReadAuditRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<AccountAuditResultAccount>>;\n public readAudit(requestParameters: ReadAuditRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<AccountAuditResultAccount>>;\n public readAudit(requestParameters: ReadAuditRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const offset = requestParameters.offset;\n const limit = requestParameters.limit;\n const from = requestParameters.from;\n const to = requestParameters.to;\n const serviceName = requestParameters.serviceName;\n const operationId = requestParameters.operationId;\n const methodGroup = requestParameters.methodGroup;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (offset !== undefined && offset !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>offset, 'offset');\n }\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (from !== undefined && from !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>to, 'to');\n }\n if (serviceName !== undefined && serviceName !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>serviceName, 'service_name');\n }\n if (operationId !== undefined && operationId !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>operationId, 'operation_id');\n }\n if (methodGroup !== undefined && methodGroup !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>methodGroup, 'method_group');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<AccountAuditResultAccount>(`${this.configuration.basePath}/account/audit`,\n \n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n// @ts-ignore\nimport { PasswordRequestAccount } from '../model/passwordRequest';\n// @ts-ignore\nimport { TokenRequestAccount } from '../model/tokenRequest';\n// @ts-ignore\nimport { TokenValidationResultAccount } from '../model/tokenValidationResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n AuthServiceInterface,\n ChangePasswordRequestParams,\n RunTokenGenerationRequestParams,\n RunTokenValidationRequestParams\n} from './authServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService implements AuthServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Change password\n * Change password and get new token.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<string>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public changePassword(requestParameters: ChangePasswordRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const passwordRequestAccount = requestParameters.passwordRequestAccount;\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<string>(`${this.configuration.basePath}/account/password`,\n passwordRequestAccount,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Obtaining a token\n * Obtaining a token using the login and password.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runTokenGeneration(requestParameters: RunTokenGenerationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<string>;\n public runTokenGeneration(requestParameters: RunTokenGenerationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public runTokenGeneration(requestParameters: RunTokenGenerationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public runTokenGeneration(requestParameters: RunTokenGenerationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const tokenRequestAccount = requestParameters.tokenRequestAccount;\n if (tokenRequestAccount === null || tokenRequestAccount === undefined) {\n throw new Error('Required parameter tokenRequestAccount was null or undefined when calling runTokenGeneration.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<string>(`${this.configuration.basePath}/account/token/generation`,\n tokenRequestAccount,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Validating a token\n * Validating a token.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runTokenValidation(requestParameters: RunTokenValidationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<TokenValidationResultAccount>;\n public runTokenValidation(requestParameters: RunTokenValidationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<TokenValidationResultAccount>>;\n public runTokenValidation(requestParameters: RunTokenValidationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<TokenValidationResultAccount>>;\n public runTokenValidation(requestParameters: RunTokenValidationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const body = requestParameters.body;\n if (body === null || body === undefined) {\n throw new Error('Required parameter body was null or undefined when calling runTokenValidation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<TokenValidationResultAccount>(`${this.configuration.basePath}/account/token/validation`,\n body,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n DataServiceInterface,\n ReadAllDataXlsxRequestParams,\n ReadDataInputRequestParams,\n ReadDataOutputRequestParams\n} from './dataServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService implements DataServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Data in XLSX\n * Getting the data by &#x60;tracecode&#x60;.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readAllDataXlsx(requestParameters: ReadAllDataXlsxRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<string>;\n public readAllDataXlsx(requestParameters: ReadAllDataXlsxRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public readAllDataXlsx(requestParameters: ReadAllDataXlsxRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public readAllDataXlsx(requestParameters: ReadAllDataXlsxRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<any> {\n const tracecode = requestParameters.tracecode;\n if (tracecode === null || tracecode === undefined) {\n throw new Error('Required parameter tracecode was null or undefined when calling readAllDataXlsx.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/octet-stream',\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<string>(`${this.configuration.basePath}/account/data/xlsx/${encodeURIComponent(String(tracecode))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Reading input data\n * Receiving an incoming request by &#x60;tracecode&#x60;.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readDataInput(requestParameters: ReadDataInputRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<string>;\n public readDataInput(requestParameters: ReadDataInputRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public readDataInput(requestParameters: ReadDataInputRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public readDataInput(requestParameters: ReadDataInputRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<any> {\n const tracecode = requestParameters.tracecode;\n if (tracecode === null || tracecode === undefined) {\n throw new Error('Required parameter tracecode was null or undefined when calling readDataInput.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<string>(`${this.configuration.basePath}/account/data/input/${encodeURIComponent(String(tracecode))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Reading output data\n * Getting the output data result by &#x60;tracecode&#x60;.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readDataOutput(requestParameters: ReadDataOutputRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<string>;\n public readDataOutput(requestParameters: ReadDataOutputRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public readDataOutput(requestParameters: ReadDataOutputRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public readDataOutput(requestParameters: ReadDataOutputRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json', context?: HttpContext}): Observable<any> {\n const tracecode = requestParameters.tracecode;\n if (tracecode === null || tracecode === undefined) {\n throw new Error('Required parameter tracecode was null or undefined when calling readDataOutput.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<string>(`${this.configuration.basePath}/account/data/output/${encodeURIComponent(String(tracecode))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AccountInfoAccount } from '../model/accountInfo';\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n InfoServiceInterface,\n UpdateInfoRequestParams\n} from './infoServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoService implements InfoServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Account information\n * Getting a account information.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readInfo(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<AccountInfoAccount>;\n public readInfo(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<AccountInfoAccount>>;\n public readInfo(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<AccountInfoAccount>>;\n public readInfo(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<AccountInfoAccount>(`${this.configuration.basePath}/account/info`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Account update\n * Updating the account information.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public updateInfo(requestParameters: UpdateInfoRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<AccountInfoAccount>;\n public updateInfo(requestParameters: UpdateInfoRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<AccountInfoAccount>>;\n public updateInfo(requestParameters: UpdateInfoRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<AccountInfoAccount>>;\n public updateInfo(requestParameters: UpdateInfoRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const accountInfoAccount = requestParameters.accountInfoAccount;\n if (accountInfoAccount === null || accountInfoAccount === undefined) {\n throw new Error('Required parameter accountInfoAccount was null or undefined when calling updateInfo.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.put<AccountInfoAccount>(`${this.configuration.basePath}/account/info`,\n accountInfoAccount,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n// @ts-ignore\nimport { QuotasResultAccount } from '../model/quotasResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n QuotasServiceInterface\n} from './quotasServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class QuotasService implements QuotasServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Obtaining the quotas\n * Obtaining the quotas for the user.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readQuota(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<QuotasResultAccount>;\n public readQuota(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<QuotasResultAccount>>;\n public readQuota(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<QuotasResultAccount>>;\n public readQuota(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<QuotasResultAccount>(`${this.configuration.basePath}/account/quota`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Account } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Account } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Account } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Account } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n// @ts-ignore\nimport { UserStatisticsAccount } from '../model/userStatistics';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n StatisticsServiceInterface,\n GenerateStatisticsRequestParams,\n ReadReportRequestParams\n} from './statisticsServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StatisticsService implements StatisticsServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Statistics for the period\n * User statistics for the period. If the period is not specified, the statistics for the current month returns (from the beginning of the month to the present day). If no \\&#39;from\\&#39; datetime is specified, data are returned from the beginning of the month. If no \\&#39;to\\&#39; datetime is specified, data are returned be to the present day (excluding). \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<UserStatisticsAccount>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<UserStatisticsAccount>>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<UserStatisticsAccount>>;\n public generateStatistics(requestParameters: GenerateStatisticsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const from = requestParameters.from;\n const to = requestParameters.to;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (from !== undefined && from !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>to, 'to');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<UserStatisticsAccount>(`${this.configuration.basePath}/account/statistics`,\n \n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Report creating\n * Creating report with usage statistics. If the period is not specified, records are returned from the beginning of the month to the present day (excluding). If no \\&#39;from\\&#39; datetime is specified, data are returned from the beginning of the month. If no \\&#39;to\\&#39; datetime is specified, data are returned be the the present day (excluding). \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readReport(requestParameters: ReadReportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<string>;\n public readReport(requestParameters: ReadReportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public readReport(requestParameters: ReadReportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public readReport(requestParameters: ReadReportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<any> {\n const from = requestParameters.from;\n const to = requestParameters.to;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (from !== undefined && from !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>from, 'from');\n }\n if (to !== undefined && to !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>to, 'to');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/octet-stream',\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<string>(`${this.configuration.basePath}/account/report`,\n \n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultAccount } from '../model/checkResult';\n// @ts-ignore\nimport { InlineResponse404Account } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Account } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Account } from '../model/inlineResponse500';\n// @ts-ignore\nimport { VersionResultAccount } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n SystemServiceInterface\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Checking the availability\n * Checking the service availability.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CheckResultAccount>;\n public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CheckResultAccount>>;\n public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CheckResultAccount>>;\n public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<CheckResultAccount>(`${this.configuration.basePath}/account/system/check`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the service version\n * Getting the service version.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<VersionResultAccount>;\n public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<VersionResultAccount>>;\n public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<VersionResultAccount>>;\n public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<VersionResultAccount>(`${this.configuration.basePath}/account/system/version`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './auditService';\nimport { AuditService } from './auditService';\nexport * from './auditServiceInterface';\nexport * from './authService';\nimport { AuthService } from './authService';\nexport * from './authServiceInterface';\nexport * from './dataService';\nimport { DataService } from './dataService';\nexport * from './dataServiceInterface';\nexport * from './infoService';\nimport { InfoService } from './infoService';\nexport * from './infoServiceInterface';\nexport * from './quotasService';\nimport { QuotasService } from './quotasService';\nexport * from './quotasServiceInterface';\nexport * from './statisticsService';\nimport { StatisticsService } from './statisticsService';\nexport * from './statisticsServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [AuditService, AuthService, DataService, InfoService, QuotasService, StatisticsService, SystemService];\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Method group name. Uniqueness of points is considered within one group. \n */\nexport enum MethodGroupAccount {\n NOTRACE = 'NOTRACE',\n TRACE = 'TRACE',\n PLAN = 'PLAN',\n ACTUALIZE = 'ACTUALIZE',\n REFINE = 'REFINE',\n CONVERT = 'CONVERT',\n ANALYTICS = 'ANALYTICS',\n PREDICT = 'PREDICT',\n VALIDATE = 'VALIDATE',\n ROUTE = 'ROUTE',\n MATRIX = 'MATRIX',\n PACK = 'PACK'\n};\n\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceNameAccount {\n UNIVERSAL = 'UNIVERSAL',\n ROUTING = 'ROUTING',\n ACCOUNT = 'ACCOUNT',\n ADMIN = 'ADMIN',\n STUDIO = 'STUDIO',\n STOCK = 'STOCK',\n PACKER = 'PACKER',\n LONGHAUL = 'LONGHAUL',\n CLUSTER = 'CLUSTER',\n CARGOTIMETABLE = 'CARGOTIMETABLE'\n};\n\n","/**\n * VRt.Account [AC]\n * # Description Veeroute Account Panel. ## Entity relationship diagram ![erd](../uml/account.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Role.\n */\nexport enum UserRoleAccount {\n ADMIN = 'ADMIN',\n PARTNER = 'PARTNER',\n USER = 'USER',\n BOT = 'BOT'\n};\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AuditService } from './api/auditService';\nimport { AuthService } from './api/authService';\nimport { DataService } from './api/dataService';\nimport { InfoService } from './api/infoService';\nimport { QuotasService } from './api/quotasService';\nimport { StatisticsService } from './api/statisticsService';\nimport { SystemService } from './api/systemService';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class LssAccountApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssAccountApiModule> {\n return {\n ngModule: LssAccountApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: LssAccountApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('LssAccountApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","HttpHeaders","HttpParams","HttpContext","Injectable","HttpClient","Optional","Inject","MethodGroupAccount","ServiceNameAccount","UserRoleAccount","NgModule","SkipSelf"],"mappings":"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"}