@veloceapps/api 11.0.0-2 → 11.0.0-20
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/index.mjs +2 -45
- package/esm2020/src/index.mjs +32 -0
- package/esm2020/src/lib/api.module.mjs +108 -0
- package/esm2020/src/lib/services/account-api.service.mjs +87 -0
- package/esm2020/src/lib/services/auth.service.mjs +22 -0
- package/esm2020/src/lib/services/catalog-admin-api.service.mjs +192 -0
- package/esm2020/src/lib/services/catalog-api.service.mjs +90 -0
- package/esm2020/src/lib/services/configuration-settings-api.service.mjs +96 -0
- package/esm2020/src/lib/services/contracted-price-api.service.mjs +45 -0
- package/esm2020/src/lib/services/delta-api.service.mjs +23 -0
- package/esm2020/src/lib/services/document-attachment-api.service.mjs +66 -0
- package/esm2020/src/lib/services/endpoints-api.service.mjs +80 -0
- package/esm2020/src/lib/services/flow-state-api.mjs +142 -0
- package/esm2020/src/lib/services/flows-api.service.mjs +29 -0
- package/esm2020/src/lib/services/guided-sellings-admin-api.service.mjs +65 -0
- package/esm2020/src/lib/services/guided-sellings-api.service.mjs +37 -0
- package/esm2020/src/lib/services/offers-api.service.mjs +76 -0
- package/esm2020/src/lib/services/org-info-api.service.mjs +54 -0
- package/esm2020/src/lib/services/picklists-api.service.mjs +41 -0
- package/esm2020/src/lib/services/portals-api.service.mjs +76 -0
- package/esm2020/src/lib/services/price-api.service.mjs +63 -0
- package/esm2020/src/lib/services/product-api.service.mjs +153 -0
- package/esm2020/src/lib/services/promotions-api.service.mjs +68 -0
- package/esm2020/src/lib/services/ramp-api.service.mjs +31 -0
- package/esm2020/src/lib/services/rebate-program-api.service.mjs +68 -0
- package/esm2020/src/lib/services/rebate-type-api.service.mjs +68 -0
- package/esm2020/src/lib/services/salesforce-api.service.mjs +79 -0
- package/esm2020/src/lib/services/sandbox-manager-api.service.mjs +94 -0
- package/esm2020/src/lib/services/shopping-cart-settings-api.service.mjs +28 -0
- package/esm2020/src/lib/services/stateful-configuration-api.mjs +51 -0
- package/esm2020/src/lib/services/veloce-objects-api.service.mjs +90 -0
- package/esm2020/src/lib/types/attachment.types.mjs +2 -0
- package/esm2020/src/lib/types/auth.types.mjs +2 -0
- package/esm2020/src/lib/types/clone-request.types.mjs +2 -0
- package/esm2020/src/lib/types/delta-request.types.mjs +2 -0
- package/esm2020/src/lib/types/dto/configuration-settings-dto.types.mjs +22 -0
- package/esm2020/src/lib/types/dto/offers-dto.types.mjs +2 -0
- package/esm2020/src/lib/types/index.mjs +8 -0
- package/esm2020/src/lib/types/org-info.types.mjs +2 -0
- package/esm2020/src/lib/types/price.types.mjs +2 -0
- package/esm2020/src/lib/types/quote.types.mjs +2 -0
- package/esm2020/src/lib/types/ramp-request.types.mjs +2 -0
- package/esm2020/src/lib/types/search-request.types.mjs +2 -0
- package/esm2020/src/lib/types/stateful-configuration.types.mjs +2 -0
- package/esm2020/src/lib/utils/canvas.utils.mjs +33 -0
- package/esm2020/src/lib/utils/index.mjs +2 -0
- package/esm2020/v2/api-v2.module.mjs +48 -0
- package/esm2020/v2/index.mjs +4 -0
- package/esm2020/v2/services/configuration-processors-api.service.mjs +38 -0
- package/esm2020/v2/services/context-definition-api.service.mjs +62 -0
- package/esm2020/v2/services/index.mjs +13 -0
- package/esm2020/v2/services/procedures-admin-api.service.mjs +82 -0
- package/esm2020/v2/services/procedures-api.service.mjs +44 -0
- package/esm2020/v2/services/rule-groups-admin-api.service.mjs +62 -0
- package/esm2020/v2/services/rules-admin-api.service.mjs +95 -0
- package/esm2020/v2/services/rules-api.service.mjs +36 -0
- package/esm2020/v2/services/sales-transactions-api.service.mjs +52 -0
- package/esm2020/v2/services/scripts-admin-api.service.mjs +75 -0
- package/esm2020/v2/services/scripts-api.service.mjs +23 -0
- package/esm2020/v2/services/ui-definitions-api.service.mjs +124 -0
- package/esm2020/{lib → v2}/services/ui-templates-api.service.mjs +2 -2
- package/esm2020/v2/types/clone-request.types.mjs +2 -0
- package/esm2020/v2/types/dto/ui-definition-dto.types.mjs +2 -0
- package/esm2020/v2/types/dto/ui-template-dto.types.mjs +2 -0
- package/esm2020/v2/types/index.mjs +4 -0
- package/esm2020/v2/types/procedure.types.mjs +2 -0
- package/esm2020/v2/types/sales-transaction.types.mjs +2 -0
- package/esm2020/v2/utils/ui-definition.utils.mjs +16 -0
- package/esm2020/v2/utils/ui-template.utils.mjs +13 -0
- package/esm2020/v2/veloceapps-api-v2.mjs +5 -0
- package/esm2020/veloceapps-api.mjs +1 -1
- package/fesm2015/veloceapps-api-v2.mjs +989 -0
- package/fesm2015/veloceapps-api-v2.mjs.map +1 -0
- package/fesm2015/veloceapps-api.mjs +14 -1217
- package/fesm2015/veloceapps-api.mjs.map +1 -1
- package/fesm2020/veloceapps-api-v2.mjs +1007 -0
- package/fesm2020/veloceapps-api-v2.mjs.map +1 -0
- package/fesm2020/veloceapps-api.mjs +11 -1246
- package/fesm2020/veloceapps-api.mjs.map +1 -1
- package/index.d.ts +1 -44
- package/package.json +9 -1
- package/src/index.d.ts +31 -0
- package/{lib → src/lib}/api.module.d.ts +2 -1
- package/src/lib/utils/index.d.ts +1 -0
- package/v2/api-v2.module.d.ts +7 -0
- package/v2/index.d.ts +3 -0
- package/{lib/services/rlm-api.service.d.ts → v2/services/context-definition-api.service.d.ts} +3 -3
- package/v2/services/index.d.ts +12 -0
- package/{lib/services/procedures-api.service.d.ts → v2/services/procedures-admin-api.service.d.ts} +6 -13
- package/v2/services/procedures-api.service.d.ts +15 -0
- package/{lib/services/rule-groups-api.service.d.ts → v2/services/rule-groups-admin-api.service.d.ts} +3 -3
- package/{lib/services/rules-api.service.d.ts → v2/services/rules-admin-api.service.d.ts} +4 -4
- package/v2/services/rules-api.service.d.ts +11 -0
- package/v2/services/sales-transactions-api.service.d.ts +20 -0
- package/{lib/services/scripts-api.service.d.ts → v2/services/scripts-admin-api.service.d.ts} +4 -5
- package/v2/services/scripts-api.service.d.ts +11 -0
- package/{lib → v2}/services/ui-definitions-api.service.d.ts +9 -0
- package/v2/types/clone-request.types.d.ts +5 -0
- package/v2/types/dto/ui-definition-dto.types.d.ts +7 -0
- package/v2/types/index.d.ts +3 -0
- package/v2/types/procedure.types.d.ts +10 -0
- package/v2/types/sales-transaction.types.d.ts +14 -0
- package/v2/utils/ui-definition.utils.d.ts +4 -0
- package/esm2020/lib/api.module.mjs +0 -146
- package/esm2020/lib/services/account-api.service.mjs +0 -87
- package/esm2020/lib/services/auth.service.mjs +0 -22
- package/esm2020/lib/services/catalog-admin-api.service.mjs +0 -192
- package/esm2020/lib/services/catalog-api.service.mjs +0 -90
- package/esm2020/lib/services/configuration-api.service.mjs +0 -109
- package/esm2020/lib/services/configuration-processors-api.service.mjs +0 -38
- package/esm2020/lib/services/configuration-settings-api.service.mjs +0 -96
- package/esm2020/lib/services/context-api.service.mjs +0 -26
- package/esm2020/lib/services/contracted-price-api.service.mjs +0 -45
- package/esm2020/lib/services/delta-api.service.mjs +0 -23
- package/esm2020/lib/services/document-attachment-api.service.mjs +0 -66
- package/esm2020/lib/services/endpoints-api.service.mjs +0 -80
- package/esm2020/lib/services/flow-state-api.mjs +0 -142
- package/esm2020/lib/services/flows-api.service.mjs +0 -29
- package/esm2020/lib/services/guided-sellings-admin-api.service.mjs +0 -65
- package/esm2020/lib/services/guided-sellings-api.service.mjs +0 -37
- package/esm2020/lib/services/offers-api.service.mjs +0 -76
- package/esm2020/lib/services/org-info-api.service.mjs +0 -54
- package/esm2020/lib/services/picklists-api.service.mjs +0 -41
- package/esm2020/lib/services/portals-api.service.mjs +0 -76
- package/esm2020/lib/services/price-api.service.mjs +0 -63
- package/esm2020/lib/services/procedures-api.service.mjs +0 -113
- package/esm2020/lib/services/product-api.service.mjs +0 -153
- package/esm2020/lib/services/product-model-api.service.mjs +0 -223
- package/esm2020/lib/services/promotions-api.service.mjs +0 -68
- package/esm2020/lib/services/quote-api.service.mjs +0 -56
- package/esm2020/lib/services/ramp-api.service.mjs +0 -31
- package/esm2020/lib/services/rebate-program-api.service.mjs +0 -68
- package/esm2020/lib/services/rebate-type-api.service.mjs +0 -68
- package/esm2020/lib/services/rlm-api.service.mjs +0 -65
- package/esm2020/lib/services/rlm-quote-api.service.mjs +0 -27
- package/esm2020/lib/services/rule-groups-api.service.mjs +0 -62
- package/esm2020/lib/services/rules-api.service.mjs +0 -98
- package/esm2020/lib/services/salesforce-api.service.mjs +0 -79
- package/esm2020/lib/services/sandbox-manager-api.service.mjs +0 -94
- package/esm2020/lib/services/scripts-api.service.mjs +0 -83
- package/esm2020/lib/services/shopping-cart-settings-api.service.mjs +0 -28
- package/esm2020/lib/services/stateful-configuration-api.mjs +0 -51
- package/esm2020/lib/services/ui-definitions-api.service.mjs +0 -76
- package/esm2020/lib/services/veloce-objects-api.service.mjs +0 -90
- package/esm2020/lib/types/attachment.types.mjs +0 -2
- package/esm2020/lib/types/auth.types.mjs +0 -2
- package/esm2020/lib/types/clone-request.types.mjs +0 -2
- package/esm2020/lib/types/delta-request.types.mjs +0 -2
- package/esm2020/lib/types/dto/configuration-settings-dto.types.mjs +0 -22
- package/esm2020/lib/types/dto/offers-dto.types.mjs +0 -2
- package/esm2020/lib/types/dto/ui-template-dto.types.mjs +0 -2
- package/esm2020/lib/types/index.mjs +0 -8
- package/esm2020/lib/types/org-info.types.mjs +0 -2
- package/esm2020/lib/types/price.types.mjs +0 -2
- package/esm2020/lib/types/quote.types.mjs +0 -2
- package/esm2020/lib/types/ramp-request.types.mjs +0 -2
- package/esm2020/lib/types/search-request.types.mjs +0 -2
- package/esm2020/lib/types/stateful-configuration.types.mjs +0 -2
- package/esm2020/lib/utils/canvas.utils.mjs +0 -33
- package/esm2020/lib/utils/index.mjs +0 -3
- package/esm2020/lib/utils/ui-template.utils.mjs +0 -13
- package/lib/services/configuration-api.service.d.ts +0 -23
- package/lib/services/context-api.service.d.ts +0 -11
- package/lib/services/product-model-api.service.d.ts +0 -29
- package/lib/services/quote-api.service.d.ts +0 -22
- package/lib/services/rlm-quote-api.service.d.ts +0 -11
- package/lib/utils/index.d.ts +0 -2
- /package/{lib → src/lib}/services/account-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/auth.service.d.ts +0 -0
- /package/{lib → src/lib}/services/catalog-admin-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/catalog-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/configuration-settings-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/contracted-price-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/delta-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/document-attachment-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/endpoints-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/flow-state-api.d.ts +0 -0
- /package/{lib → src/lib}/services/flows-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/guided-sellings-admin-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/guided-sellings-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/offers-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/org-info-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/picklists-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/portals-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/price-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/product-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/promotions-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/ramp-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/rebate-program-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/rebate-type-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/salesforce-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/sandbox-manager-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/shopping-cart-settings-api.service.d.ts +0 -0
- /package/{lib → src/lib}/services/stateful-configuration-api.d.ts +0 -0
- /package/{lib → src/lib}/services/veloce-objects-api.service.d.ts +0 -0
- /package/{lib → src/lib}/types/attachment.types.d.ts +0 -0
- /package/{lib → src/lib}/types/auth.types.d.ts +0 -0
- /package/{lib → src/lib}/types/clone-request.types.d.ts +0 -0
- /package/{lib → src/lib}/types/delta-request.types.d.ts +0 -0
- /package/{lib → src/lib}/types/dto/configuration-settings-dto.types.d.ts +0 -0
- /package/{lib → src/lib}/types/dto/offers-dto.types.d.ts +0 -0
- /package/{lib → src/lib}/types/index.d.ts +0 -0
- /package/{lib → src/lib}/types/org-info.types.d.ts +0 -0
- /package/{lib → src/lib}/types/price.types.d.ts +0 -0
- /package/{lib → src/lib}/types/quote.types.d.ts +0 -0
- /package/{lib → src/lib}/types/ramp-request.types.d.ts +0 -0
- /package/{lib → src/lib}/types/search-request.types.d.ts +0 -0
- /package/{lib → src/lib}/types/stateful-configuration.types.d.ts +0 -0
- /package/{lib → src/lib}/utils/canvas.utils.d.ts +0 -0
- /package/{lib → v2}/services/configuration-processors-api.service.d.ts +0 -0
- /package/{lib → v2}/services/ui-templates-api.service.d.ts +0 -0
- /package/{lib → v2}/types/dto/ui-template-dto.types.d.ts +0 -0
- /package/{lib → v2}/utils/ui-template.utils.d.ts +0 -0
@@ -0,0 +1,153 @@
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
2
|
+
import { Injectable } from '@angular/core';
|
3
|
+
import { noop } from 'rxjs';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@veloceapps/core";
|
6
|
+
export class ProductApiService {
|
7
|
+
constructor(baseHttpService) {
|
8
|
+
this.baseHttpService = baseHttpService;
|
9
|
+
this.serviceUrl = '/products';
|
10
|
+
this.fetchProducts$ = (payload) => {
|
11
|
+
let params = new HttpParams();
|
12
|
+
params = params.append('count', payload.count);
|
13
|
+
params = params.append('skip', payload.skip);
|
14
|
+
if (payload.name) {
|
15
|
+
params = params.append('name', payload.name);
|
16
|
+
}
|
17
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
|
18
|
+
};
|
19
|
+
this.searchProducts$ = (expression, skip, count) => {
|
20
|
+
let params = new HttpParams();
|
21
|
+
params = params.set('skip', '' + skip);
|
22
|
+
params = params.set('count', '' + count);
|
23
|
+
return this.baseHttpService.api({
|
24
|
+
method: 'post',
|
25
|
+
url: `${this.serviceUrl}/search`,
|
26
|
+
params: params,
|
27
|
+
body: expression,
|
28
|
+
});
|
29
|
+
};
|
30
|
+
this.fetchProduct$ = (id) => this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
|
31
|
+
this.fetchAttributes$ = () => {
|
32
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });
|
33
|
+
};
|
34
|
+
this.searchAttributes$ = (expression, skip, count) => {
|
35
|
+
let params = new HttpParams();
|
36
|
+
params = params.set('skip', '' + skip);
|
37
|
+
params = params.set('count', '' + count);
|
38
|
+
return this.baseHttpService.api({
|
39
|
+
method: 'post',
|
40
|
+
url: `${this.serviceUrl}/attributes/definition/search`,
|
41
|
+
params: params,
|
42
|
+
body: expression,
|
43
|
+
});
|
44
|
+
};
|
45
|
+
this.fetchAttributesByModel = (modelId) => {
|
46
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });
|
47
|
+
};
|
48
|
+
this.createNewProduct$ = (productData) => {
|
49
|
+
return this.baseHttpService.api({
|
50
|
+
url: `${this.serviceUrl}`,
|
51
|
+
method: 'post',
|
52
|
+
body: productData,
|
53
|
+
});
|
54
|
+
};
|
55
|
+
this.updateProduct$ = (body) => {
|
56
|
+
return this.baseHttpService.api({
|
57
|
+
url: `${this.serviceUrl}/${body.id}`,
|
58
|
+
method: 'put',
|
59
|
+
body,
|
60
|
+
});
|
61
|
+
};
|
62
|
+
this.removeProduct$ = (id) => {
|
63
|
+
return this.baseHttpService.api({
|
64
|
+
url: `${this.serviceUrl}/${id}`,
|
65
|
+
method: 'delete',
|
66
|
+
});
|
67
|
+
};
|
68
|
+
this.restoreProduct$ = (id) => {
|
69
|
+
return this.baseHttpService.api({
|
70
|
+
url: `${this.serviceUrl}/${id}/restore`,
|
71
|
+
method: 'patch',
|
72
|
+
});
|
73
|
+
};
|
74
|
+
this.createProductAttribute$ = (attributeData) => {
|
75
|
+
return this.baseHttpService.api({
|
76
|
+
url: `${this.serviceUrl}/attributes`,
|
77
|
+
method: 'post',
|
78
|
+
body: attributeData,
|
79
|
+
});
|
80
|
+
};
|
81
|
+
this.updateProductAttribute$ = (attributeData) => {
|
82
|
+
return this.baseHttpService.api({
|
83
|
+
url: `${this.serviceUrl}/attributes/${attributeData.id}`,
|
84
|
+
method: 'put',
|
85
|
+
body: attributeData,
|
86
|
+
});
|
87
|
+
};
|
88
|
+
this.removeProductAttribute$ = (id) => {
|
89
|
+
return this.baseHttpService.api({
|
90
|
+
url: `${this.serviceUrl}/attributes/${id}`,
|
91
|
+
method: 'delete',
|
92
|
+
});
|
93
|
+
};
|
94
|
+
this.createNewAttribute$ = (attributeData) => {
|
95
|
+
return this.baseHttpService.api({
|
96
|
+
url: `${this.serviceUrl}/attributes/definition`,
|
97
|
+
method: 'post',
|
98
|
+
body: attributeData,
|
99
|
+
});
|
100
|
+
};
|
101
|
+
this.updateAttribute$ = (body) => {
|
102
|
+
return this.baseHttpService.api({
|
103
|
+
url: `${this.serviceUrl}/attributes/definition/${body.id}`,
|
104
|
+
method: 'put',
|
105
|
+
body,
|
106
|
+
});
|
107
|
+
};
|
108
|
+
this.removeAttribute$ = (id) => {
|
109
|
+
return this.baseHttpService.api({
|
110
|
+
url: `${this.serviceUrl}/attributes/definition/${id}`,
|
111
|
+
method: 'delete',
|
112
|
+
});
|
113
|
+
};
|
114
|
+
this.restoreAttribute$ = (id) => {
|
115
|
+
return this.baseHttpService.api({
|
116
|
+
url: `${this.serviceUrl}/attributes/definition/${id}/restore`,
|
117
|
+
method: 'patch',
|
118
|
+
});
|
119
|
+
};
|
120
|
+
}
|
121
|
+
attachImage$(productId, file) {
|
122
|
+
const data = new FormData();
|
123
|
+
data.append('image', file);
|
124
|
+
return this.baseHttpService.upload({
|
125
|
+
method: 'post',
|
126
|
+
url: `${this.serviceUrl}/${productId}/image`,
|
127
|
+
body: data,
|
128
|
+
});
|
129
|
+
}
|
130
|
+
removeImage$(productId) {
|
131
|
+
return this.baseHttpService.api({
|
132
|
+
method: 'delete',
|
133
|
+
url: `${this.serviceUrl}/${productId}/image`,
|
134
|
+
});
|
135
|
+
}
|
136
|
+
fetchImage$(productId) {
|
137
|
+
return this.baseHttpService.api({
|
138
|
+
url: this.getImageUrl(productId),
|
139
|
+
method: 'get',
|
140
|
+
responseType: 'blob',
|
141
|
+
errorHandler: noop,
|
142
|
+
});
|
143
|
+
}
|
144
|
+
getImageUrl(productId) {
|
145
|
+
return `${this.serviceUrl}/${productId}/image`;
|
146
|
+
}
|
147
|
+
}
|
148
|
+
ProductApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
149
|
+
ProductApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductApiService });
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductApiService, decorators: [{
|
151
|
+
type: Injectable
|
152
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVkzQyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFHeEMsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLFdBQVcsQ0FBQztRQUkzQyxtQkFBYyxHQUFHLENBQUMsT0FBeUIsRUFBeUIsRUFBRTtZQUMzRSxJQUFJLE1BQU0sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUM7WUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBRUssb0JBQWUsR0FBRyxDQUFDLFVBQXNCLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBeUIsRUFBRTtZ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QUFJLFNBQVMsUUFBUTtZQUM1QyxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsUUFBUTtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQWlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsWUFBWSxFQUFFLE1BQU07WUFDcEIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFpQjtRQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLFFBQVEsQ0FBQztJQUNqRCxDQUFDOzs4R0F0S1UsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVEZWZpbml0aW9uLFxuICBCYXNlSHR0cFNlcnZpY2UsXG4gIEV4cHJlc3Npb24sXG4gIExhenlDaHVua1JlcXVlc3QsXG4gIE5ld0F0dHJpYnV0ZURlZmluaXRpb24sXG4gIE5ld1Byb2R1Y3QsXG4gIE5ld1Byb2R1Y3RBdHRyaWJ1dGUsXG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RBdHRyaWJ1dGUsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbm9vcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VVcmw6IHN0cmluZyA9ICcvcHJvZHVjdHMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoUHJvZHVjdHMkID0gKHBheWxvYWQ6IExhenlDaHVua1JlcXVlc3QpOiBPYnNlcnZhYmxlPFByb2R1Y3RbXT4gPT4ge1xuICAgIGxldCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NvdW50JywgcGF5bG9hZC5jb3VudCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2tpcCcsIHBheWxvYWQuc2tpcCk7XG4gICAgaWYgKHBheWxvYWQubmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIHBheWxvYWQubmFtZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH1gLCBwYXJhbXMgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaFByb2R1Y3RzJCA9IChleHByZXNzaW9uOiBFeHByZXNzaW9uLCBza2lwOiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2R1Y3RbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NvdW50JywgJycgKyBjb3VudCk7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLFxuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBib2R5OiBleHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaFByb2R1Y3QkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3Q+ID0+XG4gICAgdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCB9KTtcblxuICBwdWJsaWMgZmV0Y2hBdHRyaWJ1dGVzJCA9ICgpOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb25bXT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uYCB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoQXR0cmlidXRlcyQgPSAoXG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbixcbiAgICBza2lwOiBudW1iZXIsXG4gICAgY291bnQ6IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uW10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdza2lwJywgJycgKyBza2lwKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3VudCcsICcnICsgY291bnQpO1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uL3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIGJvZHk6IGV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoQXR0cmlidXRlc0J5TW9kZWwgPSAobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXMvZGVmaW5pdGlvbi9mb3JNb2RlbC8ke21vZGVsSWR9YCB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlTmV3UHJvZHVjdCQgPSAocHJvZHVjdERhdGE6IE5ld1Byb2R1Y3QpOiBPYnNlcnZhYmxlPFByb2R1Y3Q+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGJvZHk6IHByb2R1Y3REYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVQcm9kdWN0JCA9IChib2R5OiBQcm9kdWN0KTogT2JzZXJ2YWJsZTxQcm9kdWN0PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtib2R5LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlUHJvZHVjdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVzdG9yZVByb2R1Y3QkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfS9yZXN0b3JlYCxcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlUHJvZHVjdEF0dHJpYnV0ZSQgPSAoYXR0cmlidXRlRGF0YTogTmV3UHJvZHVjdEF0dHJpYnV0ZSk6IE9ic2VydmFibGU8QXR0cmlidXRlRGVmaW5pdGlvbj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXNgLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVQcm9kdWN0QXR0cmlidXRlJCA9IChhdHRyaWJ1dGVEYXRhOiBQcm9kdWN0QXR0cmlidXRlKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy8ke2F0dHJpYnV0ZURhdGEuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZW1vdmVQcm9kdWN0QXR0cmlidXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVOZXdBdHRyaWJ1dGUkID0gKGF0dHJpYnV0ZURhdGE6IE5ld0F0dHJpYnV0ZURlZmluaXRpb24pOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb25gLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVBdHRyaWJ1dGUkID0gKGJvZHk6IEF0dHJpYnV0ZURlZmluaXRpb24pOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtib2R5LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlQXR0cmlidXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uLyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVBdHRyaWJ1dGUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtpZH0vcmVzdG9yZWAsXG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGF0dGFjaEltYWdlJChwcm9kdWN0SWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBkYXRhLmFwcGVuZCgnaW1hZ2UnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYCxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSW1hZ2UkKHByb2R1Y3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7cHJvZHVjdElkfS9pbWFnZWAsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hJbWFnZSQocHJvZHVjdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogdGhpcy5nZXRJbWFnZVVybChwcm9kdWN0SWQpLFxuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgZXJyb3JIYW5kbGVyOiBub29wLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEltYWdlVXJsKHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYDtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { map } from 'rxjs';
|
3
|
+
import { HttpParams } from '@angular/common/http';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@veloceapps/core";
|
6
|
+
export class PromotionsApiService {
|
7
|
+
constructor(baseHttpService) {
|
8
|
+
this.baseHttpService = baseHttpService;
|
9
|
+
this.serviceUrl = '/admin/promotion';
|
10
|
+
this.fetchAll$ = () => {
|
11
|
+
return this.baseHttpService.api({ url: this.serviceUrl });
|
12
|
+
};
|
13
|
+
this.fetchOne$ = (id) => {
|
14
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
|
15
|
+
};
|
16
|
+
this.remove$ = (id) => {
|
17
|
+
return this.baseHttpService.api({
|
18
|
+
url: `${this.serviceUrl}/${id}`,
|
19
|
+
method: 'delete',
|
20
|
+
});
|
21
|
+
};
|
22
|
+
this.restore$ = (id) => {
|
23
|
+
return this.baseHttpService.api({
|
24
|
+
method: 'patch',
|
25
|
+
url: `${this.serviceUrl}/${id}/restore`,
|
26
|
+
});
|
27
|
+
};
|
28
|
+
this.duplicate$ = (body) => {
|
29
|
+
return this.baseHttpService
|
30
|
+
.api({
|
31
|
+
url: `${this.serviceUrl}/${body.id}/clone`,
|
32
|
+
method: 'post',
|
33
|
+
body,
|
34
|
+
})
|
35
|
+
.pipe(map(response => response.clonedRecordId));
|
36
|
+
};
|
37
|
+
}
|
38
|
+
search$(expression, skip, count) {
|
39
|
+
let params = new HttpParams();
|
40
|
+
if (typeof skip === 'number') {
|
41
|
+
params = params.set('skip', '' + skip);
|
42
|
+
}
|
43
|
+
if (typeof count === 'number') {
|
44
|
+
params = params.set('count', '' + count);
|
45
|
+
}
|
46
|
+
return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });
|
47
|
+
}
|
48
|
+
create$(body) {
|
49
|
+
return this.baseHttpService.api({
|
50
|
+
url: `${this.serviceUrl}`,
|
51
|
+
method: 'post',
|
52
|
+
body,
|
53
|
+
});
|
54
|
+
}
|
55
|
+
update$(body) {
|
56
|
+
return this.baseHttpService.api({
|
57
|
+
url: `${this.serviceUrl}/${body.id}`,
|
58
|
+
method: 'put',
|
59
|
+
body,
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
PromotionsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PromotionsApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
64
|
+
PromotionsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PromotionsApiService });
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PromotionsApiService, decorators: [{
|
66
|
+
type: Injectable
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9ucy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvbW90aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFJbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLGtCQUFrQixDQUFDO1FBSWxELGNBQVMsR0FBRyxHQUEwQixFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDO1FBYUssY0FBUyxHQUFHLENBQUMsRUFBVSxFQUF5QixFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7UUFrQkssWUFBTyxHQUFHLENBQUMsRUFBVSxFQUFzQixFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVM7Z0JBQ3RDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFO2dCQUMvQixNQUFNLEVBQUUsUUFBUTthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyxhQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQW9CLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLFVBQVU7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssZUFBVSxHQUFHLENBQUMsSUFBa0IsRUFBc0IsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQUM7Z0JBQ0gsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsRUFBRSxRQUFRO2dCQUMxQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJO2FBQ0wsQ0FBQztpQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDO0lBM0RxRCxDQUFDO0lBTWpELE9BQU8sQ0FBQyxVQUFzQixFQUFFLElBQWEsRUFBRSxLQUFjO1FBQ2xFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFNTSxPQUFPLENBQUMsSUFBa0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBWTtZQUN6QyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFZO1lBQ3pDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF0Q1Usb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgRXhwcmVzc2lvbiwgTmV3UHJvbW90aW9uLCBQcm9tb3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb21vdGlvbnNBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL3Byb21vdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlSHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgZmV0Y2hBbGwkID0gKCk6IE9ic2VydmFibGU8UHJvbW90aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxQcm9tb3Rpb24+KHsgdXJsOiB0aGlzLnNlcnZpY2VVcmwgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaCQoZXhwcmVzc2lvbjogRXhwcmVzc2lvbiwgc2tpcD86IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb21vdGlvbltdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHR5cGVvZiBza2lwID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2tpcCcsICcnICsgc2tpcCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY291bnQgPT09ICdudW1iZXInKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3VudCcsICcnICsgY291bnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgbWV0aG9kOiAncG9zdCcsIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLCBwYXJhbXMsIGJvZHk6IGV4cHJlc3Npb24gfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hPbmUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb21vdGlvbj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8UHJvbW90aW9uPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAgfSk7XG4gIH07XG5cbiAgcHVibGljIGNyZWF0ZSQoYm9keTogTmV3UHJvbW90aW9uKTogT2JzZXJ2YWJsZTxQcm9tb3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFByb21vdGlvbj4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKGJvZHk6IFByb21vdGlvbik6IE9ic2VydmFibGU8UHJvbW90aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxQcm9tb3Rpb24+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2JvZHkuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxzdHJpbmc+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZXN0b3JlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH0vcmVzdG9yZWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZSQgPSAoYm9keTogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtib2R5LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xufVxuIl19
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@veloceapps/core";
|
4
|
+
export class RampApiService {
|
5
|
+
constructor(httpService) {
|
6
|
+
this.httpService = httpService;
|
7
|
+
this.SERVICE_URL = '/ramp';
|
8
|
+
}
|
9
|
+
next(request, options) {
|
10
|
+
return this.httpService.api({
|
11
|
+
method: 'post',
|
12
|
+
url: `${this.SERVICE_URL}/next`,
|
13
|
+
body: request,
|
14
|
+
...options,
|
15
|
+
});
|
16
|
+
}
|
17
|
+
renew(request, options) {
|
18
|
+
return this.httpService.api({
|
19
|
+
method: 'post',
|
20
|
+
url: `${this.SERVICE_URL}/renew`,
|
21
|
+
body: request,
|
22
|
+
...options,
|
23
|
+
});
|
24
|
+
}
|
25
|
+
}
|
26
|
+
RampApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RampApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
27
|
+
RampApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RampApiService });
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RampApiService, decorators: [{
|
29
|
+
type: Injectable
|
30
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFtcC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcmFtcC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsT0FBTyxDQUFDO0lBRVksQ0FBQztJQUU3QyxJQUFJLENBQUMsT0FBd0IsRUFBRSxPQUF3QztRQUM1RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsT0FBTztZQUMvQixJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBeUIsRUFBRSxPQUF3QztRQUM5RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsUUFBUTtZQUNoQyxJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQXJCVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zLCBQcmljZVN1bW1hcnkgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5leHRSYW1wUmVxdWVzdCwgUmVuZXdSYW1wUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJhbXBBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvcmFtcCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZXh0KHJlcXVlc3Q6IE5leHRSYW1wUmVxdWVzdCwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9uZXh0YCxcbiAgICAgIGJvZHk6IHJlcXVlc3QsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbmV3KHJlcXVlc3Q6IFJlbmV3UmFtcFJlcXVlc3QsIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vcmVuZXdgLFxuICAgICAgYm9keTogcmVxdWVzdCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { map } from 'rxjs';
|
3
|
+
import { HttpParams } from '@angular/common/http';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@veloceapps/core";
|
6
|
+
export class RebateProgramApiService {
|
7
|
+
constructor(baseHttpService) {
|
8
|
+
this.baseHttpService = baseHttpService;
|
9
|
+
this.serviceUrl = '/admin/rebate-program';
|
10
|
+
this.fetchAll$ = () => {
|
11
|
+
return this.baseHttpService.api({ url: this.serviceUrl });
|
12
|
+
};
|
13
|
+
this.fetchOne$ = (id) => {
|
14
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
|
15
|
+
};
|
16
|
+
this.remove$ = (id) => {
|
17
|
+
return this.baseHttpService.api({
|
18
|
+
url: `${this.serviceUrl}/${id}`,
|
19
|
+
method: 'delete',
|
20
|
+
});
|
21
|
+
};
|
22
|
+
this.restore$ = (id) => {
|
23
|
+
return this.baseHttpService.api({
|
24
|
+
method: 'patch',
|
25
|
+
url: `${this.serviceUrl}/${id}/restore`,
|
26
|
+
});
|
27
|
+
};
|
28
|
+
this.duplicate$ = (body) => {
|
29
|
+
return this.baseHttpService
|
30
|
+
.api({
|
31
|
+
url: `${this.serviceUrl}/${body.id}/clone`,
|
32
|
+
method: 'post',
|
33
|
+
body,
|
34
|
+
})
|
35
|
+
.pipe(map(response => response.clonedRecordId));
|
36
|
+
};
|
37
|
+
}
|
38
|
+
search$(expression, skip, count) {
|
39
|
+
let params = new HttpParams();
|
40
|
+
if (typeof skip === 'number') {
|
41
|
+
params = params.set('skip', '' + skip);
|
42
|
+
}
|
43
|
+
if (typeof count === 'number') {
|
44
|
+
params = params.set('count', '' + count);
|
45
|
+
}
|
46
|
+
return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });
|
47
|
+
}
|
48
|
+
create$(body) {
|
49
|
+
return this.baseHttpService.api({
|
50
|
+
url: `${this.serviceUrl}`,
|
51
|
+
method: 'post',
|
52
|
+
body,
|
53
|
+
});
|
54
|
+
}
|
55
|
+
update$(body) {
|
56
|
+
return this.baseHttpService.api({
|
57
|
+
url: `${this.serviceUrl}/${body.id}`,
|
58
|
+
method: 'put',
|
59
|
+
body,
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
RebateProgramApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateProgramApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
64
|
+
RebateProgramApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateProgramApiService });
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateProgramApiService, decorators: [{
|
66
|
+
type: Injectable
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmViYXRlLXByb2dyYW0tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3NlcnZpY2VzL3JlYmF0ZS1wcm9ncmFtLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUlsRCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUZuQyxlQUFVLEdBQVcsdUJBQXVCLENBQUM7UUFJdkQsY0FBUyxHQUFHLEdBQWdDLEVBQUU7WUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBa0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDO1FBYUssY0FBUyxHQUFHLENBQUMsRUFBVSxFQUE2QixFQUFFO1lBQzNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWdCLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDO1FBa0JLLFlBQU8sR0FBRyxDQUFDLEVBQVUsRUFBc0IsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFTO2dCQUN0QyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxFQUFFLFFBQVE7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssYUFBUSxHQUFHLENBQUMsRUFBVSxFQUFvQixFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVO2FBQ3hDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVLLGVBQVUsR0FBRyxDQUFDLElBQWtCLEVBQXNCLEVBQUU7WUFDN0QsT0FBTyxJQUFJLENBQUMsZUFBZTtpQkFDeEIsR0FBRyxDQUFDO2dCQUNILEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsUUFBUTtnQkFDMUMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSTthQUNMLENBQUM7aUJBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQztJQTNEcUQsQ0FBQztJQU1qRCxPQUFPLENBQUMsVUFBc0IsRUFBRSxJQUFhLEVBQUUsS0FBYztRQUNsRSxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBTU0sT0FBTyxDQUFDLElBQXNCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQWdCO1lBQzdDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFtQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFnQjtZQUM3QyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBdENVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UsIEV4cHJlc3Npb24sIE5ld1JlYmF0ZVByb2dyYW0sIFJlYmF0ZVByb2dyYW0gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlYmF0ZVByb2dyYW1BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL3JlYmF0ZS1wcm9ncmFtJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VIdHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmZXRjaEFsbCQgPSAoKTogT2JzZXJ2YWJsZTxSZWJhdGVQcm9ncmFtW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFJlYmF0ZVByb2dyYW1bXT4oeyB1cmw6IHRoaXMuc2VydmljZVVybCB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoJChleHByZXNzaW9uOiBFeHByZXNzaW9uLCBza2lwPzogbnVtYmVyLCBjb3VudD86IG51bWJlcik6IE9ic2VydmFibGU8UmViYXRlUHJvZ3JhbVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHR5cGVvZiBza2lwID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2tpcCcsICcnICsgc2tpcCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY291bnQgPT09ICdudW1iZXInKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3VudCcsICcnICsgY291bnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgbWV0aG9kOiAncG9zdCcsIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLCBwYXJhbXMsIGJvZHk6IGV4cHJlc3Npb24gfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hPbmUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlYmF0ZVByb2dyYW0+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFJlYmF0ZVByb2dyYW0+KHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlJChib2R5OiBOZXdSZWJhdGVQcm9ncmFtKTogT2JzZXJ2YWJsZTxSZWJhdGVQcm9ncmFtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxSZWJhdGVQcm9ncmFtPih7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH1gLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSQoYm9keTogUmViYXRlUHJvZ3JhbSk6IE9ic2VydmFibGU8UmViYXRlUHJvZ3JhbT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8UmViYXRlUHJvZ3JhbT4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Ym9keS5pZH1gLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgIGJvZHksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPHN0cmluZz4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfS9yZXN0b3JlYCxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZHVwbGljYXRlJCA9IChib2R5OiBDbG9uZVJlcXVlc3QpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2JvZHkuaWR9L2Nsb25lYCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGJvZHksXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNsb25lZFJlY29yZElkKSk7XG4gIH07XG59XG4iXX0=
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { map } from 'rxjs';
|
3
|
+
import { HttpParams } from '@angular/common/http';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@veloceapps/core";
|
6
|
+
export class RebateTypeApiService {
|
7
|
+
constructor(baseHttpService) {
|
8
|
+
this.baseHttpService = baseHttpService;
|
9
|
+
this.serviceUrl = '/admin/rebate-type';
|
10
|
+
this.fetchAll$ = () => {
|
11
|
+
return this.baseHttpService.api({ url: this.serviceUrl });
|
12
|
+
};
|
13
|
+
this.fetchOne$ = (id) => {
|
14
|
+
return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
|
15
|
+
};
|
16
|
+
this.remove$ = (id) => {
|
17
|
+
return this.baseHttpService.api({
|
18
|
+
url: `${this.serviceUrl}/${id}`,
|
19
|
+
method: 'delete',
|
20
|
+
});
|
21
|
+
};
|
22
|
+
this.restore$ = (id) => {
|
23
|
+
return this.baseHttpService.api({
|
24
|
+
method: 'patch',
|
25
|
+
url: `${this.serviceUrl}/${id}/restore`,
|
26
|
+
});
|
27
|
+
};
|
28
|
+
this.duplicate$ = (body) => {
|
29
|
+
return this.baseHttpService
|
30
|
+
.api({
|
31
|
+
url: `${this.serviceUrl}/${body.id}/clone`,
|
32
|
+
method: 'post',
|
33
|
+
body,
|
34
|
+
})
|
35
|
+
.pipe(map(response => response.clonedRecordId));
|
36
|
+
};
|
37
|
+
}
|
38
|
+
search$(expression, skip, count) {
|
39
|
+
let params = new HttpParams();
|
40
|
+
if (typeof skip === 'number') {
|
41
|
+
params = params.set('skip', '' + skip);
|
42
|
+
}
|
43
|
+
if (typeof count === 'number') {
|
44
|
+
params = params.set('count', '' + count);
|
45
|
+
}
|
46
|
+
return this.baseHttpService.api({ method: 'post', url: `${this.serviceUrl}/search`, params, body: expression });
|
47
|
+
}
|
48
|
+
create$(body) {
|
49
|
+
return this.baseHttpService.api({
|
50
|
+
url: `${this.serviceUrl}`,
|
51
|
+
method: 'post',
|
52
|
+
body,
|
53
|
+
});
|
54
|
+
}
|
55
|
+
update$(body) {
|
56
|
+
return this.baseHttpService.api({
|
57
|
+
url: `${this.serviceUrl}/${body.id}`,
|
58
|
+
method: 'put',
|
59
|
+
body,
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
RebateTypeApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateTypeApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
64
|
+
RebateTypeApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateTypeApiService });
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RebateTypeApiService, decorators: [{
|
66
|
+
type: Injectable
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmViYXRlLXR5cGUtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3NlcnZpY2VzL3JlYmF0ZS10eXBlLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUlsRCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUZuQyxlQUFVLEdBQVcsb0JBQW9CLENBQUM7UUFJcEQsY0FBUyxHQUFHLEdBQTJCLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBYSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUM7UUFhSyxjQUFTLEdBQUcsQ0FBQyxFQUFVLEVBQTBCLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBYSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQztRQWtCSyxZQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQXNCLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBUztnQkFDdEMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sRUFBRSxRQUFRO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVLLGFBQVEsR0FBRyxDQUFDLEVBQVUsRUFBb0IsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QixNQUFNLEVBQUUsT0FBTztnQkFDZixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsVUFBVTthQUN4QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyxlQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFzQixFQUFFO1lBQzdELE9BQU8sSUFBSSxDQUFDLGVBQWU7aUJBQ3hCLEdBQUcsQ0FBQztnQkFDSCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxFQUFFLFFBQVE7Z0JBQzFDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUk7YUFDTCxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7SUEzRHFELENBQUM7SUFNakQsT0FBTyxDQUFDLFVBQXNCLEVBQUUsSUFBYSxFQUFFLEtBQWM7UUFDbEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQU1NLE9BQU8sQ0FBQyxJQUFtQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFhO1lBQzFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFnQjtRQUM3QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFhO1lBQzFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF0Q1Usb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgRXhwcmVzc2lvbiwgTmV3UmViYXRlVHlwZSwgUmViYXRlVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2xvbmVSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmViYXRlVHlwZUFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VVcmw6IHN0cmluZyA9ICcvYWRtaW4vcmViYXRlLXR5cGUnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoQWxsJCA9ICgpOiBPYnNlcnZhYmxlPFJlYmF0ZVR5cGU+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFJlYmF0ZVR5cGU+KHsgdXJsOiB0aGlzLnNlcnZpY2VVcmwgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaCQoZXhwcmVzc2lvbjogRXhwcmVzc2lvbiwgc2tpcD86IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlYmF0ZVR5cGVbXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0eXBlb2Ygc2tpcCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNvdW50ID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291bnQnLCAnJyArIGNvdW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vc2VhcmNoYCwgcGFyYW1zLCBib2R5OiBleHByZXNzaW9uIH0pO1xuICB9XG5cbiAgcHVibGljIGZldGNoT25lJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWJhdGVUeXBlPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxSZWJhdGVUeXBlPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAgfSk7XG4gIH07XG5cbiAgcHVibGljIGNyZWF0ZSQoYm9keTogTmV3UmViYXRlVHlwZSk6IE9ic2VydmFibGU8UmViYXRlVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8UmViYXRlVHlwZT4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKGJvZHk6IFJlYmF0ZVR5cGUpOiBPYnNlcnZhYmxlPFJlYmF0ZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFJlYmF0ZVR5cGU+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2JvZHkuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxzdHJpbmc+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZXN0b3JlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH0vcmVzdG9yZWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZSQgPSAoYm9keTogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtib2R5LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xufVxuIl19
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
2
|
+
import { Injectable } from '@angular/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@veloceapps/core";
|
5
|
+
export class SalesforceApiService {
|
6
|
+
constructor(httpService) {
|
7
|
+
this.httpService = httpService;
|
8
|
+
this.SERVICE_URL = '/proxy';
|
9
|
+
}
|
10
|
+
query(searchRequest, objectName, options) {
|
11
|
+
return this.httpService.api({
|
12
|
+
method: 'post',
|
13
|
+
body: { ...searchRequest, count: searchRequest.count || 100 },
|
14
|
+
url: `${this.SERVICE_URL}/query/${objectName}`,
|
15
|
+
...options,
|
16
|
+
});
|
17
|
+
}
|
18
|
+
queryObjects(search, options) {
|
19
|
+
let params = new HttpParams();
|
20
|
+
if (search) {
|
21
|
+
params = params.append('search', search);
|
22
|
+
}
|
23
|
+
return this.httpService.api({
|
24
|
+
url: `${this.SERVICE_URL}/query`,
|
25
|
+
params,
|
26
|
+
...options,
|
27
|
+
});
|
28
|
+
}
|
29
|
+
search(req, options) {
|
30
|
+
return this.httpService.api({
|
31
|
+
url: `${this.SERVICE_URL}/rest/search`,
|
32
|
+
params: { q: req.searchString },
|
33
|
+
...options,
|
34
|
+
});
|
35
|
+
}
|
36
|
+
describeObject(objectName, options) {
|
37
|
+
const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;
|
38
|
+
return this.httpService.api({ url: methodUrl, ...options });
|
39
|
+
}
|
40
|
+
describeField(objectName, fieldName, options) {
|
41
|
+
const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields/${fieldName}`;
|
42
|
+
return this.httpService.api({ url: methodUrl, ...options });
|
43
|
+
}
|
44
|
+
describe2(objectName, fields, options) {
|
45
|
+
const methodUrl = `${this.SERVICE_URL}/describe/${objectName}/fields`;
|
46
|
+
return this.httpService.api({ method: 'post', url: methodUrl, body: fields, ...options });
|
47
|
+
}
|
48
|
+
apexGetRequest(path, params, options) {
|
49
|
+
// this line is needed because HttpParams instance from Integration behaves wrong in studio instance of Angular
|
50
|
+
const httpParams = new HttpParams({ fromString: params.toString() });
|
51
|
+
return this.httpService.api({ url: `${this.SERVICE_URL}/apex${path}`, params: httpParams, ...options });
|
52
|
+
}
|
53
|
+
apexPostRequest(path, body, options) {
|
54
|
+
return this.httpService.api({
|
55
|
+
method: 'post',
|
56
|
+
body,
|
57
|
+
url: `${this.SERVICE_URL}/apex${path}`,
|
58
|
+
...options,
|
59
|
+
});
|
60
|
+
}
|
61
|
+
getGlobalPicklists() {
|
62
|
+
return this.httpService.api({
|
63
|
+
method: 'get',
|
64
|
+
url: `${this.SERVICE_URL}/globalvalueset`,
|
65
|
+
});
|
66
|
+
}
|
67
|
+
getGlobalPicklistValues(id) {
|
68
|
+
return this.httpService.api({
|
69
|
+
method: 'get',
|
70
|
+
url: `${this.SERVICE_URL}/globalvalueset/${id}/values`,
|
71
|
+
});
|
72
|
+
}
|
73
|
+
}
|
74
|
+
SalesforceApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
75
|
+
SalesforceApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService });
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesforceApiService, decorators: [{
|
77
|
+
type: Injectable
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNmb3JjZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvc2FsZXNmb3JjZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBYTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsUUFBUSxDQUFDO0lBRVcsQ0FBQztJQUU3QyxLQUFLLENBQ1YsYUFBNEIsRUFDNUIsVUFBa0IsRUFDbEIsT0FBd0M7UUFFeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxFQUFFLEdBQUcsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRTtZQUM3RCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxVQUFVLFVBQVUsRUFBRTtZQUM5QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWUsRUFBRSxPQUF3QztRQUMzRSxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxRQUFRO1lBQ2hDLE1BQU07WUFDTixHQUFH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b20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgR2xvYmFsUGlja2xpc3QsXG4gIEdsb2JhbFBpY2tsaXN0VmFsdWUsXG4gIEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgU2FsZXNmb3JjZUZpZWxkLFxuICBTYWxlc2ZvcmNlT2JqZWN0LFxuICBTZWFyY2hSZXF1ZXN0LFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNhbGVzZm9yY2VBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvcHJveHknO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgcXVlcnk8VD4oXG4gICAgc2VhcmNoUmVxdWVzdDogU2VhcmNoUmVxdWVzdCxcbiAgICBvYmplY3ROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiB7IC4uLnNlYXJjaFJlcXVlc3QsIGNvdW50OiBzZWFyY2hSZXF1ZXN0LmNvdW50IHx8IDEwMCB9LFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9xdWVyeS8ke29iamVjdE5hbWV9YCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcXVlcnlPYmplY3RzKHNlYXJjaD86IHN0cmluZywgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8U2FsZXNmb3JjZU9iamVjdFtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHNlYXJjaCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgc2VhcmNoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9xdWVyeWAsXG4gICAgICBwYXJhbXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaDxUID0gYW55PihcbiAgICByZXE6IHsgc2VhcmNoU3RyaW5nOiBzdHJpbmcgfSxcbiAgICBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zLFxuICApOiBPYnNlcnZhYmxlPHsgc2VhcmNoUmVjb3JkczogVFtdIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9yZXN0L3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IHsgcTogcmVxLnNlYXJjaFN0cmluZyB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmliZU9iamVjdChvYmplY3ROYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFNhbGVzZm9yY2VGaWVsZFtdPiB7XG4gICAgY29uc3QgbWV0aG9kVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vZGVzY3JpYmUvJHtvYmplY3ROYW1lfS9maWVsZHNgO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBtZXRob2RVcmwsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzY3JpYmVGaWVsZChcbiAgICBvYmplY3ROYW1lOiBzdHJpbmcsXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxTYWxlc2ZvcmNlRmllbGQ+IHtcbiAgICBjb25zdCBtZXRob2RVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9kZXNjcmliZS8ke29iamVjdE5hbWV9L2ZpZWxkcy8ke2ZpZWxkTmFtZX1gO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBtZXRob2RVcmwsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzY3JpYmUyPFQ+KG9iamVjdE5hbWU6IHN0cmluZywgZmllbGRzOiBzdHJpbmdbXSwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IG1ldGhvZFVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9L2Rlc2NyaWJlLyR7b2JqZWN0TmFtZX0vZmllbGRzYDtcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IG1ldGhvZDogJ3Bvc3QnLCB1cmw6IG1ldGhvZFVybCwgYm9keTogZmllbGRzLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHVibGljIGFwZXhHZXRSZXF1ZXN0PFQ+KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXJhbXM6IEh0dHBQYXJhbXMgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIC8vIHRoaXMgbGluZSBpcyBuZWVkZWQgYmVjYXVzZSBIdHRwUGFyYW1zIGluc3RhbmNlIGZyb20gSW50ZWdyYXRpb24gYmVoYXZlcyB3cm9uZyBpbiBzdHVkaW8gaW5zdGFuY2Ugb2YgQW5ndWxhclxuICAgIGNvbnN0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21TdHJpbmc6IHBhcmFtcy50b1N0cmluZygpIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9hcGV4JHtwYXRofWAsIHBhcmFtczogaHR0cFBhcmFtcywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhcGV4UG9zdFJlcXVlc3Q8VCwgUz4ocGF0aDogc3RyaW5nLCBib2R5OiBTLCBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vYXBleCR7cGF0aH1gLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRHbG9iYWxQaWNrbGlzdHMoKTogT2JzZXJ2YWJsZTxHbG9iYWxQaWNrbGlzdFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L2dsb2JhbHZhbHVlc2V0YCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRHbG9iYWxQaWNrbGlzdFZhbHVlcyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHbG9iYWxQaWNrbGlzdFZhbHVlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vZ2xvYmFsdmFsdWVzZXQvJHtpZH0vdmFsdWVzYCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|