@veloceapps/api 11.0.0-17 → 11.0.0-19
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/src/index.mjs +1 -2
- package/esm2020/src/lib/api.module.mjs +1 -4
- package/esm2020/v2/services/ui-definitions-api.service.mjs +2 -10
- package/fesm2015/veloceapps-api-v2.mjs +3 -9
- package/fesm2015/veloceapps-api-v2.mjs.map +1 -1
- package/fesm2015/veloceapps-api.mjs +2 -222
- package/fesm2015/veloceapps-api.mjs.map +1 -1
- package/fesm2020/veloceapps-api-v2.mjs +1 -9
- package/fesm2020/veloceapps-api-v2.mjs.map +1 -1
- package/fesm2020/veloceapps-api.mjs +2 -222
- package/fesm2020/veloceapps-api.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.d.ts +0 -1
- package/esm2020/src/lib/services/product-model-api.service.mjs +0 -223
- package/src/lib/services/product-model-api.service.d.ts +0 -29
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
@@ -18,7 +18,6 @@ export { PicklistsApiService } from './lib/services/picklists-api.service';
|
|
18
18
|
export { PortalsApiService } from './lib/services/portals-api.service';
|
19
19
|
export { PriceApiService } from './lib/services/price-api.service';
|
20
20
|
export { ProductApiService } from './lib/services/product-api.service';
|
21
|
-
export { ProductModelApiService } from './lib/services/product-model-api.service';
|
22
21
|
export { PromotionsApiService } from './lib/services/promotions-api.service';
|
23
22
|
export { RampApiService } from './lib/services/ramp-api.service';
|
24
23
|
export { RebateProgramApiService } from './lib/services/rebate-program-api.service';
|
@@ -1,223 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { EntityUtil, ModelTranslatorUtils, } from '@veloceapps/core';
|
3
|
-
import { catchError, map } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@veloceapps/core";
|
6
|
-
export class ProductModelApiService {
|
7
|
-
constructor(httpService) {
|
8
|
-
this.httpService = httpService;
|
9
|
-
this.SERVICE_URL = '/models';
|
10
|
-
}
|
11
|
-
addModel(model) {
|
12
|
-
return this.httpService
|
13
|
-
.api({
|
14
|
-
method: 'post',
|
15
|
-
url: this.SERVICE_URL,
|
16
|
-
body: model,
|
17
|
-
errorHandler: this.httpService.handleValidationError,
|
18
|
-
})
|
19
|
-
.pipe(map(result => {
|
20
|
-
if (result.successful) {
|
21
|
-
return result;
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
throw new Error(result.message);
|
25
|
-
}
|
26
|
-
}));
|
27
|
-
}
|
28
|
-
releaseModel(model) {
|
29
|
-
return this.httpService
|
30
|
-
.api({
|
31
|
-
method: 'put',
|
32
|
-
url: `${this.SERVICE_URL}/${model.id}/release`,
|
33
|
-
body: model,
|
34
|
-
errorHandler: this.httpService.handleValidationError,
|
35
|
-
})
|
36
|
-
.pipe(map(result => {
|
37
|
-
if (result.successful) {
|
38
|
-
return '';
|
39
|
-
}
|
40
|
-
else {
|
41
|
-
throw new Error(result.message);
|
42
|
-
}
|
43
|
-
}));
|
44
|
-
}
|
45
|
-
removeModel(modelId, successFn, failureFn) {
|
46
|
-
const observable = this.httpService
|
47
|
-
.api({
|
48
|
-
method: 'delete',
|
49
|
-
url: `${this.SERVICE_URL}/${modelId}`,
|
50
|
-
errorHandler: this.httpService.handleValidationError,
|
51
|
-
})
|
52
|
-
.pipe(map(result => {
|
53
|
-
if (result.successful) {
|
54
|
-
return '';
|
55
|
-
}
|
56
|
-
else {
|
57
|
-
throw new Error(result.message);
|
58
|
-
}
|
59
|
-
}));
|
60
|
-
observable.subscribe(() => {
|
61
|
-
successFn && successFn.apply();
|
62
|
-
}, () => {
|
63
|
-
failureFn && failureFn.apply();
|
64
|
-
});
|
65
|
-
}
|
66
|
-
getModelVersions(modelId, count = 100, skip = 0) {
|
67
|
-
return this.httpService.api({
|
68
|
-
method: 'post',
|
69
|
-
url: `${this.SERVICE_URL}/${modelId}/versions`,
|
70
|
-
body: {
|
71
|
-
skipCount: skip,
|
72
|
-
count: count,
|
73
|
-
},
|
74
|
-
});
|
75
|
-
}
|
76
|
-
getModel(id, version) {
|
77
|
-
let url = `${this.SERVICE_URL}/${id}`;
|
78
|
-
if (version) {
|
79
|
-
url += `/versions/${version}`;
|
80
|
-
}
|
81
|
-
return this.httpService.api({ url });
|
82
|
-
}
|
83
|
-
getModels(skipCount, searchText) {
|
84
|
-
return this.httpService.api({
|
85
|
-
method: 'post',
|
86
|
-
url: `${this.SERVICE_URL}/search`,
|
87
|
-
body: {
|
88
|
-
nameRegex: searchText,
|
89
|
-
skipCount: skipCount.toString(),
|
90
|
-
count: ProductModelApiService.MAX_RESULTS,
|
91
|
-
},
|
92
|
-
});
|
93
|
-
}
|
94
|
-
getLinkedModels(id, version) {
|
95
|
-
let url = `${this.SERVICE_URL}/${id}`;
|
96
|
-
if (version) {
|
97
|
-
url += `/versions/${version}`;
|
98
|
-
}
|
99
|
-
url += '/linked';
|
100
|
-
return this.httpService.api({ url }).pipe(map((linkedModels) => {
|
101
|
-
if (linkedModels) {
|
102
|
-
linkedModels.forEach(model => ModelTranslatorUtils.toLocalModel(model));
|
103
|
-
}
|
104
|
-
return linkedModels;
|
105
|
-
}));
|
106
|
-
}
|
107
|
-
getPML(modelId, version) {
|
108
|
-
let url = `${this.SERVICE_URL}/${modelId}/pml/${version}`;
|
109
|
-
if (version) {
|
110
|
-
url += `/versions/${version}`;
|
111
|
-
}
|
112
|
-
return this.httpService.api({
|
113
|
-
url,
|
114
|
-
responseType: 'text',
|
115
|
-
});
|
116
|
-
}
|
117
|
-
savePML(modelId, pml, comment) {
|
118
|
-
return this.httpService
|
119
|
-
.api({
|
120
|
-
method: 'put',
|
121
|
-
url: `${this.SERVICE_URL}/${modelId}/pml`,
|
122
|
-
body: {
|
123
|
-
id: modelId,
|
124
|
-
pml: pml,
|
125
|
-
comment: comment,
|
126
|
-
},
|
127
|
-
})
|
128
|
-
.pipe(map(result => {
|
129
|
-
if (result.successful) {
|
130
|
-
return '';
|
131
|
-
}
|
132
|
-
else {
|
133
|
-
throw new Error(result.message);
|
134
|
-
}
|
135
|
-
}), catchError(this.httpService.handleValidationError));
|
136
|
-
}
|
137
|
-
generateProducts(modelId) {
|
138
|
-
return this.httpService.api({
|
139
|
-
url: `${this.SERVICE_URL}/${modelId}/generate-products`,
|
140
|
-
});
|
141
|
-
}
|
142
|
-
saveModel(productModel, comment) {
|
143
|
-
const model = EntityUtil.clone(productModel);
|
144
|
-
model.comment = comment;
|
145
|
-
ModelTranslatorUtils.toServerModel(model);
|
146
|
-
return this.httpService
|
147
|
-
.api({
|
148
|
-
method: 'put',
|
149
|
-
url: `${this.SERVICE_URL}/${model.id}`,
|
150
|
-
body: model,
|
151
|
-
})
|
152
|
-
.pipe(map(result => {
|
153
|
-
if (result.successful) {
|
154
|
-
return '';
|
155
|
-
}
|
156
|
-
else {
|
157
|
-
throw new Error(result.message);
|
158
|
-
}
|
159
|
-
}), catchError(this.httpService.handleValidationError));
|
160
|
-
}
|
161
|
-
validateModel(productModel) {
|
162
|
-
return this.httpService
|
163
|
-
.api({
|
164
|
-
method: 'post',
|
165
|
-
url: `${this.SERVICE_URL}/validate`,
|
166
|
-
body: productModel,
|
167
|
-
errorHandler: this.httpService.handleValidationError,
|
168
|
-
})
|
169
|
-
.pipe(map(result => {
|
170
|
-
if (result.successful) {
|
171
|
-
return '';
|
172
|
-
}
|
173
|
-
else {
|
174
|
-
throw new Error(result.message);
|
175
|
-
}
|
176
|
-
}));
|
177
|
-
}
|
178
|
-
renameModel(productModel, name) {
|
179
|
-
const model = EntityUtil.clone(productModel);
|
180
|
-
model.name = name;
|
181
|
-
ModelTranslatorUtils.toServerModel(model);
|
182
|
-
return this.httpService
|
183
|
-
.api({
|
184
|
-
method: 'patch',
|
185
|
-
url: `${this.SERVICE_URL}/${model.id}`,
|
186
|
-
body: model,
|
187
|
-
})
|
188
|
-
.pipe(catchError(this.httpService.handleValidationError));
|
189
|
-
}
|
190
|
-
uploadPmlFile(file, modelId) {
|
191
|
-
const formData = new FormData();
|
192
|
-
formData.append('file', file, file.name);
|
193
|
-
return this.httpService.upload({
|
194
|
-
url: `${this.SERVICE_URL}/${modelId}/pml/upload`,
|
195
|
-
body: formData,
|
196
|
-
});
|
197
|
-
}
|
198
|
-
runPml(modelId, pml, rootType, configurationMode) {
|
199
|
-
return this.httpService.api({
|
200
|
-
method: 'post',
|
201
|
-
url: `${this.SERVICE_URL}/${modelId}/pml/run`,
|
202
|
-
body: {
|
203
|
-
pml,
|
204
|
-
rootType,
|
205
|
-
configurationMode,
|
206
|
-
},
|
207
|
-
responseType: 'text',
|
208
|
-
});
|
209
|
-
}
|
210
|
-
evictAllCache() {
|
211
|
-
return this.httpService.api({
|
212
|
-
method: 'get',
|
213
|
-
url: '/cache/evict/environment-variables',
|
214
|
-
});
|
215
|
-
}
|
216
|
-
}
|
217
|
-
ProductModelApiService.MAX_RESULTS = 200;
|
218
|
-
ProductModelApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModelApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
219
|
-
ProductModelApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModelApiService });
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModelApiService, decorators: [{
|
221
|
-
type: Injectable
|
222
|
-
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxVQUFVLEVBRVYsb0JBQW9CLEdBSXJCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsU0FBUyxDQUFDO0lBRVUsQ0FBQztJQUU3QyxRQUFRLENBQUMsS0FBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNyQixJQUFJLEVBQUUsS0FBSztZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQjtTQUNyRCxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDckIsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQTBCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLEtB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QUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM3QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sYUFBYTtZQUNoRCxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQ1gsT0FBZSxFQUNmLEdBQVcsRUFDWCxRQUFnQixFQUNoQixpQkFBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxVQUFVO1lBQzdDLElBQUksRUFBRTtnQkFDSixHQUFHO2dCQUNILFFBQVE7Z0JBQ1IsaUJBQWlCO2FBQ2xCO1lBQ0QsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxvQ0FBb0M7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5UGEsa0NBQVcsR0FBRyxHQUFHLENBQUM7bUhBRHJCLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIEVudGl0eVV0aWwsXG4gIE1vZGVsUmVsZWFzZVJlcXVlc3QsXG4gIE1vZGVsVHJhbnNsYXRvclV0aWxzLFxuICBQbWxDb25maWd1cmF0aW9uTW9kZSxcbiAgUHJvZHVjdE1vZGVsLFxuICBQcm9kdWN0TW9kZWxWZXJzaW9uLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNb2RlbEFwaVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIE1BWF9SRVNVTFRTID0gMjAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgU0VSVklDRV9VUkwgPSAnL21vZGVscyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhZGRNb2RlbChtb2RlbDogUHJvZHVjdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IHRoaXMuU0VSVklDRV9VUkwsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZU1vZGVsKG1vZGVsOiBNb2RlbFJlbGVhc2VSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH0vcmVsZWFzZWAsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVNb2RlbChtb2RlbElkOiBzdHJpbmcsIHN1Y2Nlc3NGbj86IGFueSwgZmFpbHVyZUZuPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH1gLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG9ic2VydmFibGUuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBzdWNjZXNzRm4gJiYgc3VjY2Vzc0ZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBmYWlsdXJlRm4gJiYgZmFpbHVyZUZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWxWZXJzaW9ucyhtb2RlbElkOiBzdHJpbmcsIGNvdW50OiBudW1iZXIgPSAxMDAsIHNraXA6IG51bWJlciA9IDApOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbFZlcnNpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS92ZXJzaW9uc2AsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHNraXBDb3VudDogc2tpcCxcbiAgICAgICAgY291bnQ6IGNvdW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbChpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtpZH1gO1xuXG4gICAgaWYgKHZlcnNpb24pIHtcbiAgICAgIHVybCArPSBgL3ZlcnNpb25zLyR7dmVyc2lvbn1gO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbHMoc2tpcENvdW50OiBudW1iZXIsIHNlYXJjaFRleHQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L3NlYXJjaGAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIG5hbWVSZWdleDogc2VhcmNoVGV4dCxcbiAgICAgICAgc2tpcENvdW50OiBza2lwQ291bnQudG9TdHJpbmcoKSxcbiAgICAgICAgY291bnQ6IFByb2R1Y3RNb2RlbEFwaVNlcnZpY2UuTUFYX1JFU1VMVFMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZE1vZGVscyhpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxbXT4ge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgdXJsICs9ICcvbGlua2VkJztcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KS5waXBlKFxuICAgICAgbWFwKChsaW5rZWRNb2RlbHM6IFByb2R1Y3RNb2RlbFtdKSA9PiB7XG4gICAgICAgIGlmIChsaW5rZWRNb2RlbHMpIHtcbiAgICAgICAgICBsaW5rZWRNb2RlbHMuZm9yRWFjaChtb2RlbCA9PiBNb2RlbFRyYW5zbGF0b3JVdGlscy50b0xvY2FsTW9kZWwobW9kZWwpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGlua2VkTW9kZWxzO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQTUwobW9kZWxJZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWwvJHt2ZXJzaW9ufWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybCxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVQTUwobW9kZWxJZDogc3RyaW5nLCBwbWw6IHN0cmluZywgY29tbWVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWxgLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgaWQ6IG1vZGVsSWQsXG4gICAgICAgICAgcG1sOiBwbWwsXG4gICAgICAgICAgY29tbWVudDogY29tbWVudCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlUHJvZHVjdHMobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L2dlbmVyYXRlLXByb2R1Y3RzYCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwsIGNvbW1lbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgbW9kZWwgPSBFbnRpdHlVdGlsLmNsb25lKHByb2R1Y3RNb2RlbCk7XG4gICAgbW9kZWwuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgTW9kZWxUcmFuc2xhdG9yVXRpbHMudG9TZXJ2ZXJNb2RlbChtb2RlbCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vdmFsaWRhdGVgLFxuICAgICAgICBib2R5OiBwcm9kdWN0TW9kZWwsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbmFtZU1vZGVsKHByb2R1Y3RNb2RlbDogUHJvZHVjdE1vZGVsLCBuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG1vZGVsID0gRW50aXR5VXRpbC5jbG9uZShwcm9kdWN0TW9kZWwpO1xuICAgIG1vZGVsLm5hbWUgPSBuYW1lO1xuICAgIE1vZGVsVHJhbnNsYXRvclV0aWxzLnRvU2VydmVyTW9kZWwobW9kZWwpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgdXBsb2FkUG1sRmlsZShmaWxlOiBGaWxlLCBtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3BtbC91cGxvYWRgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcnVuUG1sKFxuICAgIG1vZGVsSWQ6IHN0cmluZyxcbiAgICBwbWw6IHN0cmluZyxcbiAgICByb290VHlwZTogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb25Nb2RlOiBQbWxDb25maWd1cmF0aW9uTW9kZSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vcG1sL3J1bmAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHBtbCxcbiAgICAgICAgcm9vdFR5cGUsXG4gICAgICAgIGNvbmZpZ3VyYXRpb25Nb2RlLFxuICAgICAgfSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGV2aWN0QWxsQ2FjaGUoKTogT2JzZXJ2YWJsZTx7IHJlc3VsdDogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogJy9jYWNoZS9ldmljdC9lbnZpcm9ubWVudC12YXJpYWJsZXMnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import { BaseHttpService, ModelReleaseRequest, PmlConfigurationMode, ProductModel, ProductModelVersion } from '@veloceapps/core';
|
2
|
-
import { Observable } from 'rxjs';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class ProductModelApiService {
|
5
|
-
private httpService;
|
6
|
-
static MAX_RESULTS: number;
|
7
|
-
private readonly SERVICE_URL;
|
8
|
-
constructor(httpService: BaseHttpService);
|
9
|
-
addModel(model: ProductModel): Observable<any>;
|
10
|
-
releaseModel(model: ModelReleaseRequest): Observable<any>;
|
11
|
-
removeModel(modelId: string, successFn?: any, failureFn?: any): void;
|
12
|
-
getModelVersions(modelId: string, count?: number, skip?: number): Observable<ProductModelVersion[]>;
|
13
|
-
getModel(id: string, version?: string): Observable<ProductModel>;
|
14
|
-
getModels(skipCount: number, searchText: string): Observable<ProductModel[]>;
|
15
|
-
getLinkedModels(id: string, version?: string): Observable<ProductModel[]>;
|
16
|
-
getPML(modelId: string, version?: string): Observable<any>;
|
17
|
-
savePML(modelId: string, pml: string, comment: string): Observable<any>;
|
18
|
-
generateProducts(modelId: string): Observable<ProductModel>;
|
19
|
-
saveModel(productModel: ProductModel, comment: string): Observable<string>;
|
20
|
-
validateModel(productModel: ProductModel): Observable<string>;
|
21
|
-
renameModel(productModel: ProductModel, name: string): Observable<any>;
|
22
|
-
uploadPmlFile(file: File, modelId: string): Observable<any>;
|
23
|
-
runPml(modelId: string, pml: string, rootType: string, configurationMode: PmlConfigurationMode): Observable<any>;
|
24
|
-
evictAllCache(): Observable<{
|
25
|
-
result: string;
|
26
|
-
}>;
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ProductModelApiService, never>;
|
28
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ProductModelApiService>;
|
29
|
-
}
|