@revxui/intellibid-client-ts 1.0.1 → 1.0.2

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 (85) hide show
  1. package/README.md +2 -2
  2. package/api/api.d.ts +15 -13
  3. package/api/businessGeoController.service.d.ts +28 -28
  4. package/api/campaignController.service.d.ts +67 -56
  5. package/api/countryController.service.d.ts +28 -28
  6. package/api/dpaCampaignController.service.d.ts +52 -52
  7. package/api/dpaEngagementController.service.d.ts +126 -115
  8. package/api/facebookEngagementController.service.d.ts +77 -0
  9. package/api/packageDetailController.service.d.ts +45 -45
  10. package/api.module.d.ts +11 -11
  11. package/configuration.d.ts +48 -48
  12. package/encoder.d.ts +10 -10
  13. package/esm2020/api/api.mjs +16 -14
  14. package/esm2020/api/businessGeoController.service.mjs +77 -77
  15. package/esm2020/api/campaignController.service.mjs +179 -152
  16. package/esm2020/api/countryController.service.mjs +77 -77
  17. package/esm2020/api/dpaCampaignController.service.mjs +145 -145
  18. package/esm2020/api/dpaEngagementController.service.mjs +327 -300
  19. package/esm2020/api/facebookEngagementController.service.mjs +214 -0
  20. package/esm2020/api/packageDetailController.service.mjs +122 -122
  21. package/esm2020/api.module.mjs +63 -60
  22. package/esm2020/configuration.mjs +58 -58
  23. package/esm2020/encoder.mjs +16 -16
  24. package/esm2020/index.mjs +5 -5
  25. package/esm2020/model/adSetDetails.mjs +19 -19
  26. package/esm2020/model/audienceDetails.mjs +12 -12
  27. package/esm2020/model/businessGeoResponse.mjs +12 -12
  28. package/esm2020/model/campaignResponse.mjs +31 -31
  29. package/esm2020/model/countryResponse.mjs +12 -12
  30. package/esm2020/model/createCampaignRequest.mjs +12 -12
  31. package/esm2020/model/creativeDetails.mjs +1 -1
  32. package/esm2020/model/dpaCampaignRequest.mjs +1 -1
  33. package/esm2020/model/dpaCampaignResponse.mjs +10 -10
  34. package/esm2020/model/dpaEngagementRequest.mjs +1 -1
  35. package/esm2020/model/dpaEngagementResponse.mjs +31 -31
  36. package/esm2020/model/entitySearchResponse.mjs +13 -0
  37. package/esm2020/model/exclusionRule.mjs +12 -12
  38. package/esm2020/model/facebookDetails.mjs +2 -2
  39. package/esm2020/model/facebookEngagementRequest.mjs +13 -0
  40. package/esm2020/model/facebookEngagementResponse.mjs +21 -0
  41. package/esm2020/model/imageOverlaySpecDetails.mjs +12 -12
  42. package/esm2020/model/models.mjs +26 -22
  43. package/esm2020/model/packageDetailResponse.mjs +12 -12
  44. package/esm2020/model/pageCampaignResponse.mjs +1 -1
  45. package/esm2020/model/pageDpaEngagementResponse.mjs +1 -1
  46. package/esm2020/model/pageFacebookEngagementResponse.mjs +2 -0
  47. package/esm2020/model/pagePackageDetailResponse.mjs +1 -1
  48. package/esm2020/model/pageableObject.mjs +2 -2
  49. package/esm2020/model/sortObject.mjs +12 -12
  50. package/esm2020/model/updateDailyBudgetRequest.mjs +12 -12
  51. package/esm2020/revxui-intellibid-client-ts.mjs +4 -4
  52. package/esm2020/variables.mjs +8 -8
  53. package/fesm2015/revxui-intellibid-client-ts.mjs +1334 -1049
  54. package/fesm2015/revxui-intellibid-client-ts.mjs.map +1 -1
  55. package/fesm2020/revxui-intellibid-client-ts.mjs +1432 -1125
  56. package/fesm2020/revxui-intellibid-client-ts.mjs.map +1 -1
  57. package/index.d.ts +5 -5
  58. package/model/adSetDetails.d.ts +28 -28
  59. package/model/audienceDetails.d.ts +22 -22
  60. package/model/businessGeoResponse.d.ts +15 -15
  61. package/model/campaignResponse.d.ts +117 -117
  62. package/model/countryResponse.d.ts +16 -16
  63. package/model/createCampaignRequest.d.ts +16 -16
  64. package/model/creativeDetails.d.ts +21 -21
  65. package/model/dpaCampaignRequest.d.ts +17 -17
  66. package/model/dpaCampaignResponse.d.ts +35 -35
  67. package/model/dpaEngagementRequest.d.ts +29 -29
  68. package/model/dpaEngagementResponse.d.ts +90 -90
  69. package/model/entitySearchResponse.d.ts +15 -0
  70. package/model/exclusionRule.d.ts +15 -15
  71. package/model/facebookDetails.d.ts +27 -27
  72. package/model/facebookEngagementRequest.d.ts +24 -0
  73. package/model/facebookEngagementResponse.d.ts +39 -0
  74. package/model/imageOverlaySpecDetails.d.ts +20 -20
  75. package/model/models.d.ts +25 -21
  76. package/model/packageDetailResponse.d.ts +16 -16
  77. package/model/pageCampaignResponse.d.ts +27 -27
  78. package/model/pageDpaEngagementResponse.d.ts +27 -27
  79. package/model/pageFacebookEngagementResponse.d.ts +27 -0
  80. package/model/pagePackageDetailResponse.d.ts +27 -27
  81. package/model/pageableObject.d.ts +20 -20
  82. package/model/sortObject.d.ts +18 -18
  83. package/model/updateDailyBudgetRequest.d.ts +14 -14
  84. package/package.json +1 -1
  85. package/variables.d.ts +8 -8
@@ -1,78 +1,78 @@
1
- /**
2
- *
3
- *
4
- *
5
- *
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */ /* tslint:disable:no-unused-variable member-ordering */
12
- import { Inject, Injectable, Optional } from '@angular/core';
13
- import { HttpHeaders } from '@angular/common/http';
14
- import { BASE_PATH } from '../variables';
15
- import { Configuration } from '../configuration';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/common/http";
18
- import * as i2 from "../configuration";
19
- export class BusinessGeoControllerService {
20
- constructor(httpClient, basePath, configuration) {
21
- this.httpClient = httpClient;
22
- this.basePath = 'http://intellibid-api.atomex.net:8081/api';
23
- this.defaultHeaders = new HttpHeaders();
24
- this.configuration = new Configuration();
25
- if (basePath) {
26
- this.basePath = basePath;
27
- }
28
- if (configuration) {
29
- this.configuration = configuration;
30
- this.basePath = basePath || configuration.basePath || this.basePath;
31
- }
32
- }
33
- /**
34
- * @param consumes string[] mime-types
35
- * @return true: consumes contains 'multipart/form-data', false: otherwise
36
- */
37
- canConsumeForm(consumes) {
38
- const form = 'multipart/form-data';
39
- for (const consume of consumes) {
40
- if (form === consume) {
41
- return true;
42
- }
43
- }
44
- return false;
45
- }
46
- getAllBusinessGeos(observe = 'body', reportProgress = false) {
47
- let headers = this.defaultHeaders;
48
- // to determine the Accept header
49
- let httpHeaderAccepts = [
50
- '*/*'
51
- ];
52
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
53
- if (httpHeaderAcceptSelected != undefined) {
54
- headers = headers.set('Accept', httpHeaderAcceptSelected);
55
- }
56
- // to determine the Content-Type header
57
- const consumes = [];
58
- return this.httpClient.request('get', `${this.basePath}/business-geo`, {
59
- withCredentials: this.configuration.withCredentials,
60
- headers: headers,
61
- observe: observe,
62
- reportProgress: reportProgress
63
- });
64
- }
65
- }
66
- BusinessGeoControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
67
- BusinessGeoControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService, decorators: [{
69
- type: Injectable
70
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
71
- type: Optional
72
- }, {
73
- type: Inject,
74
- args: [BASE_PATH]
75
- }] }, { type: i2.Configuration, decorators: [{
76
- type: Optional
77
- }] }]; } });
1
+ /**
2
+ *
3
+ *
4
+ *
5
+ *
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */ /* tslint:disable:no-unused-variable member-ordering */
12
+ import { Inject, Injectable, Optional } from '@angular/core';
13
+ import { HttpHeaders } from '@angular/common/http';
14
+ import { BASE_PATH } from '../variables';
15
+ import { Configuration } from '../configuration';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@angular/common/http";
18
+ import * as i2 from "../configuration";
19
+ export class BusinessGeoControllerService {
20
+ constructor(httpClient, basePath, configuration) {
21
+ this.httpClient = httpClient;
22
+ this.basePath = 'http://intellibid-api.atomex.net:8081/api';
23
+ this.defaultHeaders = new HttpHeaders();
24
+ this.configuration = new Configuration();
25
+ if (basePath) {
26
+ this.basePath = basePath;
27
+ }
28
+ if (configuration) {
29
+ this.configuration = configuration;
30
+ this.basePath = basePath || configuration.basePath || this.basePath;
31
+ }
32
+ }
33
+ /**
34
+ * @param consumes string[] mime-types
35
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
36
+ */
37
+ canConsumeForm(consumes) {
38
+ const form = 'multipart/form-data';
39
+ for (const consume of consumes) {
40
+ if (form === consume) {
41
+ return true;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ getAllBusinessGeos(observe = 'body', reportProgress = false) {
47
+ let headers = this.defaultHeaders;
48
+ // to determine the Accept header
49
+ let httpHeaderAccepts = [
50
+ '*/*'
51
+ ];
52
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
53
+ if (httpHeaderAcceptSelected != undefined) {
54
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
55
+ }
56
+ // to determine the Content-Type header
57
+ const consumes = [];
58
+ return this.httpClient.request('get', `${this.basePath}/business-geo`, {
59
+ withCredentials: this.configuration.withCredentials,
60
+ headers: headers,
61
+ observe: observe,
62
+ reportProgress: reportProgress
63
+ });
64
+ }
65
+ }
66
+ BusinessGeoControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ BusinessGeoControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusinessGeoControllerService, decorators: [{
69
+ type: Injectable
70
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
71
+ type: Optional
72
+ }, {
73
+ type: Inject,
74
+ args: [BASE_PATH]
75
+ }] }, { type: i2.Configuration, decorators: [{
76
+ type: Optional
77
+ }] }]; } });
78
78
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3NHZW9Db250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYnVzaW5lc3NHZW9Db250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQ0UsTUFBZ0Msc0JBQXNCLENBQUM7QUFPekYsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLDRCQUE0QjtJQU1yQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLDJDQUEyQyxDQUFDO1FBQzFELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNuQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUM1QixJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFZTSxrQkFBa0IsQ0FBQyxVQUFlLE1BQU0sRUFBRSxpQkFBMEIsS0FBSztRQUU1RSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRWxDLGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLEtBQUs7U0FDUixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhLEVBQzFCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUE2QixLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxlQUFlLEVBQzVGO1lBQ0ksZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzswSEFqRVEsNEJBQTRCLDRDQU00QixTQUFTOzhIQU5qRSw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVTs7MEJBT3dDLFFBQVE7OzBCQUFHLE1BQU07MkJBQUMsU0FBUzs7MEJBQXFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFxuICogXG4gKlxuICogXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50IH0gICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vZW5jb2Rlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQnVzaW5lc3NHZW9SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2J1c2luZXNzR2VvUmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnVzaW5lc3NHZW9Db250cm9sbGVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cDovL2ludGVsbGliaWQtYXBpLmF0b21leC5uZXQ6ODA4MS9hcGknO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjb25zdW1lcyBzdHJpbmdbXSBtaW1lLXR5cGVzXG4gICAgICogQHJldHVybiB0cnVlOiBjb25zdW1lcyBjb250YWlucyAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlOiBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbkNvbnN1bWVGb3JtKGNvbnN1bWVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtID0gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN1bWUgb2YgY29uc3VtZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFsbEJ1c2luZXNzR2VvcyhvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEJ1c2luZXNzR2VvUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQnVzaW5lc3NHZW9zKG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxCdXNpbmVzc0dlb1Jlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRBbGxCdXNpbmVzc0dlb3Mob2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxCdXNpbmVzc0dlb1Jlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRBbGxCdXNpbmVzc0dlb3Mob2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEJ1c2luZXNzR2VvUmVzcG9uc2U+PignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9idXNpbmVzcy1nZW9gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,152 +1,179 @@
1
- /**
2
- *
3
- *
4
- *
5
- *
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */ /* tslint:disable:no-unused-variable member-ordering */
12
- import { Inject, Injectable, Optional } from '@angular/core';
13
- import { HttpHeaders, HttpParams } from '@angular/common/http';
14
- import { CustomHttpUrlEncodingCodec } from '../encoder';
15
- import { BASE_PATH } from '../variables';
16
- import { Configuration } from '../configuration';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "@angular/common/http";
19
- import * as i2 from "../configuration";
20
- export class CampaignControllerService {
21
- constructor(httpClient, basePath, configuration) {
22
- this.httpClient = httpClient;
23
- this.basePath = 'http://intellibid-api.atomex.net:8081/api';
24
- this.defaultHeaders = new HttpHeaders();
25
- this.configuration = new Configuration();
26
- if (basePath) {
27
- this.basePath = basePath;
28
- }
29
- if (configuration) {
30
- this.configuration = configuration;
31
- this.basePath = basePath || configuration.basePath || this.basePath;
32
- }
33
- }
34
- /**
35
- * @param consumes string[] mime-types
36
- * @return true: consumes contains 'multipart/form-data', false: otherwise
37
- */
38
- canConsumeForm(consumes) {
39
- const form = 'multipart/form-data';
40
- for (const consume of consumes) {
41
- if (form === consume) {
42
- return true;
43
- }
44
- }
45
- return false;
46
- }
47
- createCampaign(body, observe = 'body', reportProgress = false) {
48
- if (body === null || body === undefined) {
49
- throw new Error('Required parameter body was null or undefined when calling createCampaign.');
50
- }
51
- let headers = this.defaultHeaders;
52
- // to determine the Accept header
53
- let httpHeaderAccepts = [
54
- '*/*'
55
- ];
56
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
57
- if (httpHeaderAcceptSelected != undefined) {
58
- headers = headers.set('Accept', httpHeaderAcceptSelected);
59
- }
60
- // to determine the Content-Type header
61
- const consumes = [
62
- 'application/json'
63
- ];
64
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
65
- if (httpContentTypeSelected != undefined) {
66
- headers = headers.set('Content-Type', httpContentTypeSelected);
67
- }
68
- return this.httpClient.request('post', `${this.basePath}/campaign`, {
69
- body: body,
70
- withCredentials: this.configuration.withCredentials,
71
- headers: headers,
72
- observe: observe,
73
- reportProgress: reportProgress
74
- });
75
- }
76
- getAllCampaigns(name, vizardPackageId, status, page, size, sort, observe = 'body', reportProgress = false) {
77
- let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
78
- if (name !== undefined && name !== null) {
79
- queryParameters = queryParameters.set('name', name);
80
- }
81
- if (vizardPackageId !== undefined && vizardPackageId !== null) {
82
- queryParameters = queryParameters.set('vizardPackageId', vizardPackageId);
83
- }
84
- if (status !== undefined && status !== null) {
85
- queryParameters = queryParameters.set('status', status);
86
- }
87
- if (page !== undefined && page !== null) {
88
- queryParameters = queryParameters.set('page', page);
89
- }
90
- if (size !== undefined && size !== null) {
91
- queryParameters = queryParameters.set('size', size);
92
- }
93
- if (sort) {
94
- sort.forEach((element) => {
95
- queryParameters = queryParameters.append('sort', element);
96
- });
97
- }
98
- let headers = this.defaultHeaders;
99
- // to determine the Accept header
100
- let httpHeaderAccepts = [
101
- '*/*'
102
- ];
103
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
104
- if (httpHeaderAcceptSelected != undefined) {
105
- headers = headers.set('Accept', httpHeaderAcceptSelected);
106
- }
107
- // to determine the Content-Type header
108
- const consumes = [];
109
- return this.httpClient.request('get', `${this.basePath}/campaign`, {
110
- params: queryParameters,
111
- withCredentials: this.configuration.withCredentials,
112
- headers: headers,
113
- observe: observe,
114
- reportProgress: reportProgress
115
- });
116
- }
117
- getCampaign(id, observe = 'body', reportProgress = false) {
118
- if (id === null || id === undefined) {
119
- throw new Error('Required parameter id was null or undefined when calling getCampaign.');
120
- }
121
- let headers = this.defaultHeaders;
122
- // to determine the Accept header
123
- let httpHeaderAccepts = [
124
- '*/*'
125
- ];
126
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
127
- if (httpHeaderAcceptSelected != undefined) {
128
- headers = headers.set('Accept', httpHeaderAcceptSelected);
129
- }
130
- // to determine the Content-Type header
131
- const consumes = [];
132
- return this.httpClient.request('get', `${this.basePath}/campaign/${encodeURIComponent(String(id))}`, {
133
- withCredentials: this.configuration.withCredentials,
134
- headers: headers,
135
- observe: observe,
136
- reportProgress: reportProgress
137
- });
138
- }
139
- }
140
- CampaignControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
141
- CampaignControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService, decorators: [{
143
- type: Injectable
144
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
145
- type: Optional
146
- }, {
147
- type: Inject,
148
- args: [BASE_PATH]
149
- }] }, { type: i2.Configuration, decorators: [{
150
- type: Optional
151
- }] }]; } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUNWLE1BQWdDLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUE2QixZQUFZLENBQUM7QUFRL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLDJDQUEyQyxDQUFDO1FBQzFELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNu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SSxpQkFBaUIsR0FBYTtZQUM5QixLQUFLO1NBQ1IsQ0FBQztRQUNGLE1BQU0sd0JBQXdCLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxJQUFJLHdCQUF3QixJQUFJLFNBQVMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztTQUM3RDtRQUVELHVDQUF1QztRQUN2QyxNQUFNLFFBQVEsR0FBYSxFQUMxQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBbUIsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsYUFBYSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUNoSDtZQUNJLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7dUhBNUxRLHlCQUF5Qiw0Q0FNK0IsU0FBUzsySEFOakUseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQU93QyxRQUFROzswQkFBRyxNQUFNOzJCQUFDLFNBQVM7OzBCQUFxQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBcbiAqIFxuICpcbiAqIFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqLy8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENhbXBhaWduUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9jYW1wYWlnblJlc3BvbnNlJztcbmltcG9ydCB7IENyZWF0ZUNhbXBhaWduUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2NyZWF0ZUNhbXBhaWduUmVxdWVzdCc7XG5pbXBvcnQgeyBQYWdlQ2FtcGFpZ25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL3BhZ2VDYW1wYWlnblJlc3BvbnNlJztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbXBhaWduQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHA6Ly9pbnRlbGxpYmlkLWFwaS5hdG9tZXgubmV0OjgwODEvYXBpJztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDYW1wYWlnbihib2R5OiBDcmVhdGVDYW1wYWlnblJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8Q2FtcGFpZ25SZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUNhbXBhaWduKGJvZHk6IENyZWF0ZUNhbXBhaWduUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVDYW1wYWlnbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxDYW1wYWlnblJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ25gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gbmFtZSBcbiAgICAgKiBAcGFyYW0gdml6YXJkUGFja2FnZUlkIFxuICAgICAqIEBwYXJhbSBzdGF0dXMgXG4gICAgICogQHBhcmFtIHBhZ2UgWmVyby1iYXNlZCBwYWdlIGluZGV4ICgwLi5OKVxuICAgICAqIEBwYXJhbSBzaXplIFRoZSBzaXplIG9mIHRoZSBwYWdlIHRvIGJlIHJldHVybmVkXG4gICAgICogQHBhcmFtIHNvcnQgU29ydGluZyBjcml0ZXJpYSBpbiB0aGUgZm9ybWF0OiBwcm9wZXJ0eSwoYXNjfGRlc2MpLiBEZWZhdWx0IHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLiBNdWx0aXBsZSBzb3J0IGNyaXRlcmlhIGFyZSBzdXBwb3J0ZWQuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFsbENhbXBhaWducyhuYW1lPzogc3RyaW5nLCB2aXphcmRQYWNrYWdlSWQ/OiBudW1iZXIsIHN0YXR1cz86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlciwgc29ydD86IEFycmF5PHN0cmluZz4sIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8UGFnZUNhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnZUNhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQ2FtcGFpZ25zKG5hbWU/OiBzdHJpbmcsIHZpemFyZFBhY2thZ2VJZD86IG51bWJlciwgc3RhdHVzPzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuXG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChuYW1lICE9PSB1bmRlZmluZWQgJiYgbmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnbmFtZScsIDxhbnk+bmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZpemFyZFBhY2thZ2VJZCAhPT0gdW5kZWZpbmVkICYmIHZpemFyZFBhY2thZ2VJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgndml6YXJkUGFja2FnZUlkJywgPGFueT52aXphcmRQYWNrYWdlSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBzdGF0dXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3N0YXR1cycsIDxhbnk+c3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2UnLCA8YW55PnBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplICE9PSB1bmRlZmluZWQgJiYgc2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc2l6ZScsIDxhbnk+c2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5hcHBlbmQoJ3NvcnQnLCA8YW55PmVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ25gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPENhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Q2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0Q2FtcGFpZ24oaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0Q2FtcGFpZ24uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8Q2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ24vJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
1
+ /**
2
+ *
3
+ *
4
+ *
5
+ *
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */ /* tslint:disable:no-unused-variable member-ordering */
12
+ import { Inject, Injectable, Optional } from '@angular/core';
13
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
14
+ import { CustomHttpUrlEncodingCodec } from '../encoder';
15
+ import { BASE_PATH } from '../variables';
16
+ import { Configuration } from '../configuration';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/common/http";
19
+ import * as i2 from "../configuration";
20
+ export class CampaignControllerService {
21
+ constructor(httpClient, basePath, configuration) {
22
+ this.httpClient = httpClient;
23
+ this.basePath = 'http://intellibid-api.atomex.net:8081/api';
24
+ this.defaultHeaders = new HttpHeaders();
25
+ this.configuration = new Configuration();
26
+ if (basePath) {
27
+ this.basePath = basePath;
28
+ }
29
+ if (configuration) {
30
+ this.configuration = configuration;
31
+ this.basePath = basePath || configuration.basePath || this.basePath;
32
+ }
33
+ }
34
+ /**
35
+ * @param consumes string[] mime-types
36
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
37
+ */
38
+ canConsumeForm(consumes) {
39
+ const form = 'multipart/form-data';
40
+ for (const consume of consumes) {
41
+ if (form === consume) {
42
+ return true;
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+ createCampaign(body, observe = 'body', reportProgress = false) {
48
+ if (body === null || body === undefined) {
49
+ throw new Error('Required parameter body was null or undefined when calling createCampaign.');
50
+ }
51
+ let headers = this.defaultHeaders;
52
+ // to determine the Accept header
53
+ let httpHeaderAccepts = [
54
+ '*/*'
55
+ ];
56
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
57
+ if (httpHeaderAcceptSelected != undefined) {
58
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
59
+ }
60
+ // to determine the Content-Type header
61
+ const consumes = [
62
+ 'application/json'
63
+ ];
64
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
65
+ if (httpContentTypeSelected != undefined) {
66
+ headers = headers.set('Content-Type', httpContentTypeSelected);
67
+ }
68
+ return this.httpClient.request('post', `${this.basePath}/campaign`, {
69
+ body: body,
70
+ withCredentials: this.configuration.withCredentials,
71
+ headers: headers,
72
+ observe: observe,
73
+ reportProgress: reportProgress
74
+ });
75
+ }
76
+ getAllCampaigns(name, vizardPackageId, status, page, size, sort, observe = 'body', reportProgress = false) {
77
+ let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
78
+ if (name !== undefined && name !== null) {
79
+ queryParameters = queryParameters.set('name', name);
80
+ }
81
+ if (vizardPackageId !== undefined && vizardPackageId !== null) {
82
+ queryParameters = queryParameters.set('vizardPackageId', vizardPackageId);
83
+ }
84
+ if (status !== undefined && status !== null) {
85
+ queryParameters = queryParameters.set('status', status);
86
+ }
87
+ if (page !== undefined && page !== null) {
88
+ queryParameters = queryParameters.set('page', page);
89
+ }
90
+ if (size !== undefined && size !== null) {
91
+ queryParameters = queryParameters.set('size', size);
92
+ }
93
+ if (sort) {
94
+ sort.forEach((element) => {
95
+ queryParameters = queryParameters.append('sort', element);
96
+ });
97
+ }
98
+ let headers = this.defaultHeaders;
99
+ // to determine the Accept header
100
+ let httpHeaderAccepts = [
101
+ '*/*'
102
+ ];
103
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
104
+ if (httpHeaderAcceptSelected != undefined) {
105
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
106
+ }
107
+ // to determine the Content-Type header
108
+ const consumes = [];
109
+ return this.httpClient.request('get', `${this.basePath}/campaign`, {
110
+ params: queryParameters,
111
+ withCredentials: this.configuration.withCredentials,
112
+ headers: headers,
113
+ observe: observe,
114
+ reportProgress: reportProgress
115
+ });
116
+ }
117
+ getCampaign(id, observe = 'body', reportProgress = false) {
118
+ if (id === null || id === undefined) {
119
+ throw new Error('Required parameter id was null or undefined when calling getCampaign.');
120
+ }
121
+ let headers = this.defaultHeaders;
122
+ // to determine the Accept header
123
+ let httpHeaderAccepts = [
124
+ '*/*'
125
+ ];
126
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
127
+ if (httpHeaderAcceptSelected != undefined) {
128
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
129
+ }
130
+ // to determine the Content-Type header
131
+ const consumes = [];
132
+ return this.httpClient.request('get', `${this.basePath}/campaign/${encodeURIComponent(String(id))}`, {
133
+ withCredentials: this.configuration.withCredentials,
134
+ headers: headers,
135
+ observe: observe,
136
+ reportProgress: reportProgress
137
+ });
138
+ }
139
+ searchCampaigns(q, observe = 'body', reportProgress = false) {
140
+ if (q === null || q === undefined) {
141
+ throw new Error('Required parameter q was null or undefined when calling searchCampaigns.');
142
+ }
143
+ let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
144
+ if (q !== undefined && q !== null) {
145
+ queryParameters = queryParameters.set('q', q);
146
+ }
147
+ let headers = this.defaultHeaders;
148
+ // to determine the Accept header
149
+ let httpHeaderAccepts = [
150
+ '*/*'
151
+ ];
152
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
153
+ if (httpHeaderAcceptSelected != undefined) {
154
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
155
+ }
156
+ // to determine the Content-Type header
157
+ const consumes = [];
158
+ return this.httpClient.request('get', `${this.basePath}/campaign/search`, {
159
+ params: queryParameters,
160
+ withCredentials: this.configuration.withCredentials,
161
+ headers: headers,
162
+ observe: observe,
163
+ reportProgress: reportProgress
164
+ });
165
+ }
166
+ }
167
+ CampaignControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
168
+ CampaignControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CampaignControllerService, decorators: [{
170
+ type: Injectable
171
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
172
+ type: Optional
173
+ }, {
174
+ type: Inject,
175
+ args: [BASE_PATH]
176
+ }] }, { type: i2.Configuration, decorators: [{
177
+ type: Optional
178
+ }] }]; } });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUNWLE1BQWdDLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUE2QixZQUFZLENBQUM7QUFTL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLDJDQUEyQyxDQUFDO1FBQzFELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNu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RWxDLGlDQUFpQztRQUNqQyxJQUFJLGlCQUFpQixHQUFhO1lBQzlCLEtBQUs7U0FDUixDQUFDO1FBQ0YsTUFBTSx3QkFBd0IsR0FBdUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksd0JBQXdCLElBQUksU0FBUyxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFhLEVBQzFCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUE4QixLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxrQkFBa0IsRUFDaEc7WUFDSSxNQUFNLEVBQUUsZUFBZTtZQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1NBQ2pDLENBQ0osQ0FBQztJQUNOLENBQUM7O3VIQTNPUSx5QkFBeUIsNENBTStCLFNBQVM7MkhBTmpFLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVOzswQkFPd0MsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBcUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogXG4gKiBcbiAqXG4gKiBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi8vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDYW1wYWlnblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvY2FtcGFpZ25SZXNwb25zZSc7XG5pbXBvcnQgeyBDcmVhdGVDYW1wYWlnblJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9jcmVhdGVDYW1wYWlnblJlcXVlc3QnO1xuaW1wb3J0IHsgRW50aXR5U2VhcmNoUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9lbnRpdHlTZWFyY2hSZXNwb25zZSc7XG5pbXBvcnQgeyBQYWdlQ2FtcGFpZ25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL3BhZ2VDYW1wYWlnblJlc3BvbnNlJztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbXBhaWduQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHA6Ly9pbnRlbGxpYmlkLWFwaS5hdG9tZXgubmV0OjgwODEvYXBpJztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDYW1wYWlnbihib2R5OiBDcmVhdGVDYW1wYWlnblJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8Q2FtcGFpZ25SZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUNhbXBhaWduKGJvZHk6IENyZWF0ZUNhbXBhaWduUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQ2FtcGFpZ24oYm9keTogQ3JlYXRlQ2FtcGFpZ25SZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVDYW1wYWlnbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxDYW1wYWlnblJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ25gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gbmFtZSBcbiAgICAgKiBAcGFyYW0gdml6YXJkUGFja2FnZUlkIFxuICAgICAqIEBwYXJhbSBzdGF0dXMgXG4gICAgICogQHBhcmFtIHBhZ2UgWmVyby1iYXNlZCBwYWdlIGluZGV4ICgwLi5OKVxuICAgICAqIEBwYXJhbSBzaXplIFRoZSBzaXplIG9mIHRoZSBwYWdlIHRvIGJlIHJldHVybmVkXG4gICAgICogQHBhcmFtIHNvcnQgU29ydGluZyBjcml0ZXJpYSBpbiB0aGUgZm9ybWF0OiBwcm9wZXJ0eSwoYXNjfGRlc2MpLiBEZWZhdWx0IHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLiBNdWx0aXBsZSBzb3J0IGNyaXRlcmlhIGFyZSBzdXBwb3J0ZWQuXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFsbENhbXBhaWducyhuYW1lPzogc3RyaW5nLCB2aXphcmRQYWNrYWdlSWQ/OiBudW1iZXIsIHN0YXR1cz86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlciwgc29ydD86IEFycmF5PHN0cmluZz4sIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8UGFnZUNhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnZUNhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQ2FtcGFpZ25zKG5hbWU/OiBzdHJpbmcsIHZpemFyZFBhY2thZ2VJZD86IG51bWJlciwgc3RhdHVzPzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBbGxDYW1wYWlnbnMobmFtZT86IHN0cmluZywgdml6YXJkUGFja2FnZUlkPzogbnVtYmVyLCBzdGF0dXM/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuXG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChuYW1lICE9PSB1bmRlZmluZWQgJiYgbmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnbmFtZScsIDxhbnk+bmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZpemFyZFBhY2thZ2VJZCAhPT0gdW5kZWZpbmVkICYmIHZpemFyZFBhY2thZ2VJZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgndml6YXJkUGFja2FnZUlkJywgPGFueT52aXphcmRQYWNrYWdlSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBzdGF0dXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3N0YXR1cycsIDxhbnk+c3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2UnLCA8YW55PnBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplICE9PSB1bmRlZmluZWQgJiYgc2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc2l6ZScsIDxhbnk+c2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5hcHBlbmQoJ3NvcnQnLCA8YW55PmVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdlQ2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ25gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPENhbXBhaWduUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Q2FtcGFpZ25SZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRDYW1wYWlnbihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PENhbXBhaWduUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0Q2FtcGFpZ24oaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0Q2FtcGFpZ24uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8Q2FtcGFpZ25SZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ24vJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBxIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2hDYW1wYWlnbnMocTogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEVudGl0eVNlYXJjaFJlc3BvbnNlPj47XG4gICAgcHVibGljIHNlYXJjaENhbXBhaWducyhxOiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxFbnRpdHlTZWFyY2hSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgc2VhcmNoQ2FtcGFpZ25zKHE6IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxFbnRpdHlTZWFyY2hSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgc2VhcmNoQ2FtcGFpZ25zKHE6IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKHEgPT09IG51bGwgfHwgcSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBxIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgc2VhcmNoQ2FtcGFpZ25zLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHtlbmNvZGVyOiBuZXcgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMoKX0pO1xuICAgICAgICBpZiAocSAhPT0gdW5kZWZpbmVkICYmIHEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3EnLCA8YW55PnEpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEVudGl0eVNlYXJjaFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vY2FtcGFpZ24vc2VhcmNoYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19