@veloceapps/api 3.1.1 → 3.1.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.
@@ -0,0 +1,144 @@
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 "@veloce/core";
5
+ export class ProductApiService {
6
+ constructor(baseHttpService) {
7
+ this.baseHttpService = baseHttpService;
8
+ this.serviceUrl = '/products';
9
+ this.fetchProducts$ = (payload) => {
10
+ let params = new HttpParams();
11
+ params = params.append('count', payload.count);
12
+ params = params.append('skip', payload.skip);
13
+ if (payload.name) {
14
+ params = params.append('name', payload.name);
15
+ }
16
+ return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
17
+ };
18
+ this.searchProducts$ = (expression, skip, count) => {
19
+ let params = new HttpParams();
20
+ params = params.set('skip', '' + skip);
21
+ params = params.set('count', '' + count);
22
+ return this.baseHttpService.api({
23
+ method: 'post',
24
+ url: `${this.serviceUrl}/search`,
25
+ params: params,
26
+ body: expression,
27
+ });
28
+ };
29
+ this.fetchProduct$ = (id) => this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
30
+ this.fetchAttributes$ = () => {
31
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });
32
+ };
33
+ this.searchAttributes$ = (expression, skip, count) => {
34
+ let params = new HttpParams();
35
+ params = params.set('skip', '' + skip);
36
+ params = params.set('count', '' + count);
37
+ return this.baseHttpService.api({
38
+ method: 'post',
39
+ url: `${this.serviceUrl}/attributes/definition/search`,
40
+ params: params,
41
+ body: expression,
42
+ });
43
+ };
44
+ this.fetchAttributesByModel = (modelId) => {
45
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });
46
+ };
47
+ this.createNewProduct$ = (productData) => {
48
+ return this.baseHttpService.api({
49
+ url: `${this.serviceUrl}`,
50
+ method: 'post',
51
+ body: productData,
52
+ });
53
+ };
54
+ this.updateProduct$ = (body) => {
55
+ return this.baseHttpService.api({
56
+ url: `${this.serviceUrl}/${body.id}`,
57
+ method: 'put',
58
+ body,
59
+ });
60
+ };
61
+ this.removeProduct$ = (id) => {
62
+ return this.baseHttpService.api({
63
+ url: `${this.serviceUrl}/${id}`,
64
+ method: 'delete',
65
+ });
66
+ };
67
+ this.restoreProduct$ = (id) => {
68
+ return this.baseHttpService.api({
69
+ url: `${this.serviceUrl}/${id}/restore`,
70
+ method: 'patch',
71
+ });
72
+ };
73
+ this.createProductAttribute$ = (attributeData) => {
74
+ return this.baseHttpService.api({
75
+ url: `${this.serviceUrl}/attributes`,
76
+ method: 'post',
77
+ body: attributeData,
78
+ });
79
+ };
80
+ this.updateProductAttribute$ = (attributeData) => {
81
+ return this.baseHttpService.api({
82
+ url: `${this.serviceUrl}/attributes/${attributeData.id}`,
83
+ method: 'put',
84
+ body: attributeData,
85
+ });
86
+ };
87
+ this.removeProductAttribute$ = (id) => {
88
+ return this.baseHttpService.api({
89
+ url: `${this.serviceUrl}/attributes/${id}`,
90
+ method: 'delete',
91
+ });
92
+ };
93
+ this.createNewAttribute$ = (attributeData) => {
94
+ return this.baseHttpService.api({
95
+ url: `${this.serviceUrl}/attributes/definition`,
96
+ method: 'post',
97
+ body: attributeData,
98
+ });
99
+ };
100
+ this.updateAttribute$ = (body) => {
101
+ return this.baseHttpService.api({
102
+ url: `${this.serviceUrl}/attributes/definition/${body.id}`,
103
+ method: 'put',
104
+ body,
105
+ });
106
+ };
107
+ this.removeAttribute$ = (id) => {
108
+ return this.baseHttpService.api({
109
+ url: `${this.serviceUrl}/attributes/definition/${id}`,
110
+ method: 'delete',
111
+ });
112
+ };
113
+ this.restoreAttribute$ = (id) => {
114
+ return this.baseHttpService.api({
115
+ url: `${this.serviceUrl}/attributes/definition/${id}/restore`,
116
+ method: 'patch',
117
+ });
118
+ };
119
+ }
120
+ attachImage$(productId, file) {
121
+ const data = new FormData();
122
+ data.append('image', file);
123
+ return this.baseHttpService.upload({
124
+ method: 'post',
125
+ url: `${this.serviceUrl}/${productId}/image`,
126
+ body: data,
127
+ });
128
+ }
129
+ removeImage$(productId) {
130
+ return this.baseHttpService.api({
131
+ method: 'delete',
132
+ url: `${this.serviceUrl}/${productId}/image`,
133
+ });
134
+ }
135
+ getImageUrl(productId) {
136
+ return `${this.serviceUrl}/${productId}/image`;
137
+ }
138
+ }
139
+ ProductApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
140
+ ProductApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService, decorators: [{
142
+ type: Injectable
143
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBZTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRm5DLGVBQVUsR0FBVyxXQUFXLENBQUM7UUFJbEQsbUJBQWMsR0FBRyxDQUFDLE9BQXlCLEVBQXlCLEVBQUU7WUFDcEUsSUFBSSxNQUFNLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUMxQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsQ0FBQyxVQUFzQixFQUFFLElBQVksRUFBRSxLQUFhLEVBQXlCLEVBQUU7WUFDL0YsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5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QUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLFFBQVE7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLFFBQVEsQ0FBQztJQUNqRCxDQUFDOzsrR0F4SlUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVEZWZpbml0aW9uLFxuICBCYXNlSHR0cFNlcnZpY2UsXG4gIEV4cHJlc3Npb24sXG4gIExhenlDaHVua1JlcXVlc3QsXG4gIE5ld0F0dHJpYnV0ZURlZmluaXRpb24sXG4gIE5ld1Byb2R1Y3QsXG4gIE5ld1Byb2R1Y3RBdHRyaWJ1dGUsXG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RBdHRyaWJ1dGUsXG59IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcm9kdWN0QXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZVVybDogc3RyaW5nID0gJy9wcm9kdWN0cyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlSHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBmZXRjaFByb2R1Y3RzJCA9IChwYXlsb2FkOiBMYXp5Q2h1bmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxQcm9kdWN0W10+ID0+IHtcbiAgICBsZXQgcGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdjb3VudCcsIHBheWxvYWQuY291bnQpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NraXAnLCBwYXlsb2FkLnNraXApO1xuICAgIGlmIChwYXlsb2FkLm5hbWUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBwYXlsb2FkLm5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCwgcGFyYW1zIH0pO1xuICB9O1xuXG4gIHNlYXJjaFByb2R1Y3RzJCA9IChleHByZXNzaW9uOiBFeHByZXNzaW9uLCBza2lwOiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2R1Y3RbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NvdW50JywgJycgKyBjb3VudCk7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLFxuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBib2R5OiBleHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIGZldGNoUHJvZHVjdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdD4gPT4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCB9KTtcblxuICBmZXRjaEF0dHJpYnV0ZXMkID0gKCk6IE9ic2VydmFibGU8QXR0cmlidXRlRGVmaW5pdGlvbltdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb25gIH0pO1xuICB9O1xuXG4gIHNlYXJjaEF0dHJpYnV0ZXMkID0gKGV4cHJlc3Npb246IEV4cHJlc3Npb24sIHNraXA6IG51bWJlciwgY291bnQ6IG51bWJlcik6IE9ic2VydmFibGU8QXR0cmlidXRlRGVmaW5pdGlvbltdPiA9PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2tpcCcsICcnICsgc2tpcCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnY291bnQnLCAnJyArIGNvdW50KTtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXMvZGVmaW5pdGlvbi9zZWFyY2hgLFxuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBib2R5OiBleHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIGZldGNoQXR0cmlidXRlc0J5TW9kZWwgPSAobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXMvZGVmaW5pdGlvbi9mb3JNb2RlbC8ke21vZGVsSWR9YCB9KTtcbiAgfTtcblxuICBjcmVhdGVOZXdQcm9kdWN0JCA9IChwcm9kdWN0RGF0YTogTmV3UHJvZHVjdCk6IE9ic2VydmFibGU8UHJvZHVjdD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogcHJvZHVjdERhdGEsXG4gICAgfSk7XG4gIH07XG5cbiAgdXBkYXRlUHJvZHVjdCQgPSAoYm9keTogUHJvZHVjdCk6IE9ic2VydmFibGU8UHJvZHVjdD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7Ym9keS5pZH1gLFxuICAgICAgbWV0aG9kOiAncHV0JyxcbiAgICAgIGJvZHksXG4gICAgfSk7XG4gIH07XG5cbiAgcmVtb3ZlUHJvZHVjdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICB9KTtcbiAgfTtcblxuICByZXN0b3JlUHJvZHVjdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9L3Jlc3RvcmVgLFxuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgIH0pO1xuICB9O1xuXG4gIGNyZWF0ZVByb2R1Y3RBdHRyaWJ1dGUkID0gKGF0dHJpYnV0ZURhdGE6IE5ld1Byb2R1Y3RBdHRyaWJ1dGUpOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzYCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogYXR0cmlidXRlRGF0YSxcbiAgICB9KTtcbiAgfTtcblxuICB1cGRhdGVQcm9kdWN0QXR0cmlidXRlJCA9IChhdHRyaWJ1dGVEYXRhOiBQcm9kdWN0QXR0cmlidXRlKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy8ke2F0dHJpYnV0ZURhdGEuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHJlbW92ZVByb2R1Y3RBdHRyaWJ1dGUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzLyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgY3JlYXRlTmV3QXR0cmlidXRlJCA9IChhdHRyaWJ1dGVEYXRhOiBOZXdBdHRyaWJ1dGVEZWZpbml0aW9uKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uYCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogYXR0cmlidXRlRGF0YSxcbiAgICB9KTtcbiAgfTtcblxuICB1cGRhdGVBdHRyaWJ1dGUkID0gKGJvZHk6IEF0dHJpYnV0ZURlZmluaXRpb24pOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtib2R5LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfTtcblxuICByZW1vdmVBdHRyaWJ1dGUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICB9KTtcbiAgfTtcblxuICByZXN0b3JlQXR0cmlidXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uLyR7aWR9L3Jlc3RvcmVgLFxuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgIH0pO1xuICB9O1xuXG4gIGF0dGFjaEltYWdlJChwcm9kdWN0SWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBkYXRhLmFwcGVuZCgnaW1hZ2UnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYCxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVJbWFnZSQocHJvZHVjdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEltYWdlVXJsKHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYDtcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './clone-request.types';
2
2
  export * from './ramp-request.types';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xvbmUtcmVxdWVzdC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3JhbXAtcmVxdWVzdC50eXBlcyc7XG4iXX0=
3
+ export * from './search-request.types';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbG9uZS1yZXF1ZXN0LnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmFtcC1yZXF1ZXN0LnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlcXVlc3QudHlwZXMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlcXVlc3QudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3R5cGVzL3NlYXJjaC1yZXF1ZXN0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmFtcyA9IHtcbiAgc2tpcD86IG51bWJlcjtcbiAgY291bnQ/OiBudW1iZXI7XG4gIHNvcnQ/OiBzdHJpbmc7XG4gIGFzYz86IGJvb2xlYW47XG59ICYge1xuICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xufTtcbiJdfQ==
@@ -12,6 +12,247 @@ import { CurrencyPipe } from '@angular/common';
12
12
  import * as moment_ from 'moment';
13
13
  import { __rest } from 'tslib';
14
14
 
15
+ class CatalogAdminApiService {
16
+ constructor(baseHttpService) {
17
+ this.baseHttpService = baseHttpService;
18
+ this.serviceUrl = '/catalogs';
19
+ this.fetchCatalogs$ = (searchParams) => {
20
+ const params = new HttpParams({ fromObject: Object.assign({}, searchParams) });
21
+ return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
22
+ };
23
+ this.searchCatalogs$ = (searchParams, expression) => {
24
+ const params = new HttpParams({ fromObject: Object.assign({}, searchParams) });
25
+ return this.baseHttpService.api({
26
+ method: 'post',
27
+ url: `${this.serviceUrl}/search`,
28
+ params,
29
+ body: expression || {},
30
+ });
31
+ };
32
+ this.fetchCategories$ = (catalogId) => {
33
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories` });
34
+ };
35
+ this.searchProducts$ = (catalogId, categoryId) => {
36
+ return this.baseHttpService.api({
37
+ method: 'post',
38
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,
39
+ body: {},
40
+ });
41
+ };
42
+ this.fetchAttributes$ = (catalogId, categoryId) => {
43
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes` });
44
+ };
45
+ this.createNewCatalog$ = (catalogData) => {
46
+ return this.baseHttpService.api({
47
+ url: `${this.serviceUrl}`,
48
+ method: 'post',
49
+ body: catalogData,
50
+ });
51
+ };
52
+ this.duplicateCatalog$ = (cloneRequest) => {
53
+ return this.baseHttpService.api({
54
+ url: `${this.serviceUrl}/${cloneRequest.id}/clone`,
55
+ method: 'post',
56
+ body: cloneRequest,
57
+ });
58
+ };
59
+ this.updateCatalog$ = (data) => {
60
+ return this.baseHttpService.api({
61
+ url: `${this.serviceUrl}/${data.id}`,
62
+ method: 'put',
63
+ body: data,
64
+ });
65
+ };
66
+ this.removeCatalog$ = (id) => {
67
+ return this.baseHttpService.api({
68
+ url: `${this.serviceUrl}/${id}`,
69
+ method: 'delete',
70
+ });
71
+ };
72
+ this.restoreCatalog$ = (id) => {
73
+ return this.baseHttpService.api({
74
+ url: `${this.serviceUrl}/${id}/restore`,
75
+ method: 'patch',
76
+ });
77
+ };
78
+ this.createNewCategory$ = (categoryData) => {
79
+ return this.baseHttpService.api({
80
+ url: `${this.serviceUrl}/${categoryData.catalogId}/categories`,
81
+ method: 'post',
82
+ body: categoryData,
83
+ });
84
+ };
85
+ this.updateCategory$ = (category) => {
86
+ return this.baseHttpService.api({
87
+ url: `${this.serviceUrl}/${category.catalogId}/categories/${category.id}`,
88
+ method: 'put',
89
+ body: category,
90
+ });
91
+ };
92
+ this.duplicateCategory$ = (catalogId, cloneRequest) => {
93
+ return this.baseHttpService.api({
94
+ url: `${this.serviceUrl}/${catalogId}/categories/${cloneRequest.id}/clone`,
95
+ method: 'post',
96
+ body: cloneRequest,
97
+ });
98
+ };
99
+ this.removeCategory$ = (id, catalogId) => {
100
+ return this.baseHttpService.api({
101
+ url: `${this.serviceUrl}/${catalogId}/categories/${id}`,
102
+ method: 'delete',
103
+ });
104
+ };
105
+ this.restoreCategory$ = (id, catalogId) => {
106
+ return this.baseHttpService.api({
107
+ url: `${this.serviceUrl}/${catalogId}/categories/${id}/restore`,
108
+ method: 'patch',
109
+ });
110
+ };
111
+ this.removeAttribute$ = ({ catalogId, categoryId, data, }) => {
112
+ return this.baseHttpService.api({
113
+ method: 'delete',
114
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,
115
+ body: data,
116
+ });
117
+ };
118
+ this.restoreAttribute$ = ({ catalogId, categoryId, data, }) => {
119
+ return this.baseHttpService.api({
120
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}/restore`,
121
+ method: 'patch',
122
+ });
123
+ };
124
+ this.createNewAttribute$ = ({ catalogId, categoryId, data, }) => {
125
+ return this.baseHttpService.api({
126
+ method: 'post',
127
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes`,
128
+ body: data,
129
+ });
130
+ };
131
+ this.updateAttribute$ = ({ catalogId, categoryId, data, }) => {
132
+ return this.baseHttpService.api({
133
+ method: 'put',
134
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/attributes/${data.id}`,
135
+ body: data,
136
+ });
137
+ };
138
+ this.searchProductCandidates$ = (catalogId, categoryId, expression, searchParams) => {
139
+ const params = new HttpParams({ fromObject: Object.assign({}, searchParams) });
140
+ return this.baseHttpService.api({
141
+ method: 'post',
142
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/candidates/search`,
143
+ params,
144
+ body: expression,
145
+ });
146
+ };
147
+ this.addProduct$ = (product, catalogId, categoryId) => {
148
+ return this.baseHttpService.api({
149
+ method: 'post',
150
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,
151
+ body: product,
152
+ });
153
+ };
154
+ this.removeProduct$ = ({ catalogId, categoryId, data }) => {
155
+ return this.baseHttpService.api({
156
+ method: 'delete',
157
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/${data.id}`,
158
+ body: data,
159
+ });
160
+ };
161
+ }
162
+ }
163
+ CatalogAdminApiService.MAX_RESULTS = 60;
164
+ CatalogAdminApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogAdminApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
165
+ CatalogAdminApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogAdminApiService });
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogAdminApiService, decorators: [{
167
+ type: Injectable
168
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
169
+
170
+ class CatalogApiService {
171
+ constructor(service) {
172
+ this.service = service;
173
+ this.serviceUrl = '/product-catalogs';
174
+ }
175
+ fetchCatalogs$() {
176
+ return this.service.api({
177
+ method: 'get',
178
+ url: `${this.serviceUrl}`,
179
+ });
180
+ }
181
+ searchCatalogs$(searchParams, expression) {
182
+ const params = new HttpParams({ fromObject: searchParams });
183
+ return this.service.api({
184
+ method: 'post',
185
+ url: `${this.serviceUrl}/search`,
186
+ params,
187
+ body: expression,
188
+ });
189
+ }
190
+ getCatalog$(id) {
191
+ return this.service.api({
192
+ method: 'get',
193
+ url: `${this.serviceUrl}/${id}`,
194
+ });
195
+ }
196
+ fetchCategories$(catalogId) {
197
+ return this.service.api({
198
+ method: 'get',
199
+ url: `${this.serviceUrl}/${catalogId}/categories`,
200
+ });
201
+ }
202
+ fetchCatalogProducts$(catalogId, searchParams, context) {
203
+ const params = new HttpParams({ fromObject: searchParams });
204
+ return this.service.api({
205
+ method: 'post',
206
+ url: `${this.serviceUrl}/${catalogId}/products`,
207
+ params,
208
+ body: context,
209
+ });
210
+ }
211
+ fetchCategoryProducts$(catalogId, categoryId, searchParams, context) {
212
+ const params = new HttpParams({ fromObject: searchParams });
213
+ return this.service.api({
214
+ method: 'post',
215
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products`,
216
+ params,
217
+ body: context,
218
+ });
219
+ }
220
+ searchCategoryProducts$(catalogId, categoryId, searchParams, searchCriteria, context) {
221
+ const params = new HttpParams({ fromObject: searchParams });
222
+ return this.service.api({
223
+ method: 'post',
224
+ url: `${this.serviceUrl}/${catalogId}/categories/${categoryId}/products/search`,
225
+ params,
226
+ body: {
227
+ configurationContext: context,
228
+ request: { searchCriteria },
229
+ },
230
+ });
231
+ }
232
+ fetchEligibleProducts$(searchParams, context) {
233
+ const params = new HttpParams({ fromObject: searchParams });
234
+ return this.service.api({
235
+ method: 'post',
236
+ url: `${this.serviceUrl}/products`,
237
+ params: params,
238
+ body: context,
239
+ });
240
+ }
241
+ fetchProducts$(searchParams) {
242
+ const params = new HttpParams({ fromObject: searchParams });
243
+ return this.service.api({
244
+ method: 'get',
245
+ url: `${this.serviceUrl}/products`,
246
+ params: params,
247
+ });
248
+ }
249
+ }
250
+ CatalogApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
251
+ CatalogApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogApiService });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CatalogApiService, decorators: [{
253
+ type: Injectable
254
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
255
+
15
256
  class AttributeDTO {
16
257
  constructor(name, type, value, cfgStatus, id, scale) {
17
258
  this.name = name;
@@ -1123,6 +1364,146 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
1123
1364
  type: Injectable
1124
1365
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
1125
1366
 
1367
+ class ProductApiService {
1368
+ constructor(baseHttpService) {
1369
+ this.baseHttpService = baseHttpService;
1370
+ this.serviceUrl = '/products';
1371
+ this.fetchProducts$ = (payload) => {
1372
+ let params = new HttpParams();
1373
+ params = params.append('count', payload.count);
1374
+ params = params.append('skip', payload.skip);
1375
+ if (payload.name) {
1376
+ params = params.append('name', payload.name);
1377
+ }
1378
+ return this.baseHttpService.api({ url: `${this.serviceUrl}`, params });
1379
+ };
1380
+ this.searchProducts$ = (expression, skip, count) => {
1381
+ let params = new HttpParams();
1382
+ params = params.set('skip', '' + skip);
1383
+ params = params.set('count', '' + count);
1384
+ return this.baseHttpService.api({
1385
+ method: 'post',
1386
+ url: `${this.serviceUrl}/search`,
1387
+ params: params,
1388
+ body: expression,
1389
+ });
1390
+ };
1391
+ this.fetchProduct$ = (id) => this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
1392
+ this.fetchAttributes$ = () => {
1393
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition` });
1394
+ };
1395
+ this.searchAttributes$ = (expression, skip, count) => {
1396
+ let params = new HttpParams();
1397
+ params = params.set('skip', '' + skip);
1398
+ params = params.set('count', '' + count);
1399
+ return this.baseHttpService.api({
1400
+ method: 'post',
1401
+ url: `${this.serviceUrl}/attributes/definition/search`,
1402
+ params: params,
1403
+ body: expression,
1404
+ });
1405
+ };
1406
+ this.fetchAttributesByModel = (modelId) => {
1407
+ return this.baseHttpService.api({ url: `${this.serviceUrl}/attributes/definition/forModel/${modelId}` });
1408
+ };
1409
+ this.createNewProduct$ = (productData) => {
1410
+ return this.baseHttpService.api({
1411
+ url: `${this.serviceUrl}`,
1412
+ method: 'post',
1413
+ body: productData,
1414
+ });
1415
+ };
1416
+ this.updateProduct$ = (body) => {
1417
+ return this.baseHttpService.api({
1418
+ url: `${this.serviceUrl}/${body.id}`,
1419
+ method: 'put',
1420
+ body,
1421
+ });
1422
+ };
1423
+ this.removeProduct$ = (id) => {
1424
+ return this.baseHttpService.api({
1425
+ url: `${this.serviceUrl}/${id}`,
1426
+ method: 'delete',
1427
+ });
1428
+ };
1429
+ this.restoreProduct$ = (id) => {
1430
+ return this.baseHttpService.api({
1431
+ url: `${this.serviceUrl}/${id}/restore`,
1432
+ method: 'patch',
1433
+ });
1434
+ };
1435
+ this.createProductAttribute$ = (attributeData) => {
1436
+ return this.baseHttpService.api({
1437
+ url: `${this.serviceUrl}/attributes`,
1438
+ method: 'post',
1439
+ body: attributeData,
1440
+ });
1441
+ };
1442
+ this.updateProductAttribute$ = (attributeData) => {
1443
+ return this.baseHttpService.api({
1444
+ url: `${this.serviceUrl}/attributes/${attributeData.id}`,
1445
+ method: 'put',
1446
+ body: attributeData,
1447
+ });
1448
+ };
1449
+ this.removeProductAttribute$ = (id) => {
1450
+ return this.baseHttpService.api({
1451
+ url: `${this.serviceUrl}/attributes/${id}`,
1452
+ method: 'delete',
1453
+ });
1454
+ };
1455
+ this.createNewAttribute$ = (attributeData) => {
1456
+ return this.baseHttpService.api({
1457
+ url: `${this.serviceUrl}/attributes/definition`,
1458
+ method: 'post',
1459
+ body: attributeData,
1460
+ });
1461
+ };
1462
+ this.updateAttribute$ = (body) => {
1463
+ return this.baseHttpService.api({
1464
+ url: `${this.serviceUrl}/attributes/definition/${body.id}`,
1465
+ method: 'put',
1466
+ body,
1467
+ });
1468
+ };
1469
+ this.removeAttribute$ = (id) => {
1470
+ return this.baseHttpService.api({
1471
+ url: `${this.serviceUrl}/attributes/definition/${id}`,
1472
+ method: 'delete',
1473
+ });
1474
+ };
1475
+ this.restoreAttribute$ = (id) => {
1476
+ return this.baseHttpService.api({
1477
+ url: `${this.serviceUrl}/attributes/definition/${id}/restore`,
1478
+ method: 'patch',
1479
+ });
1480
+ };
1481
+ }
1482
+ attachImage$(productId, file) {
1483
+ const data = new FormData();
1484
+ data.append('image', file);
1485
+ return this.baseHttpService.upload({
1486
+ method: 'post',
1487
+ url: `${this.serviceUrl}/${productId}/image`,
1488
+ body: data,
1489
+ });
1490
+ }
1491
+ removeImage$(productId) {
1492
+ return this.baseHttpService.api({
1493
+ method: 'delete',
1494
+ url: `${this.serviceUrl}/${productId}/image`,
1495
+ });
1496
+ }
1497
+ getImageUrl(productId) {
1498
+ return `${this.serviceUrl}/${productId}/image`;
1499
+ }
1500
+ }
1501
+ ProductApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
1502
+ ProductApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService });
1503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductApiService, decorators: [{
1504
+ type: Injectable
1505
+ }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
1506
+
1126
1507
  class ProductModelApiService {
1127
1508
  constructor(httpService) {
1128
1509
  this.httpService = httpService;
@@ -1902,6 +2283,9 @@ ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.
1902
2283
  RulesApiService,
1903
2284
  RuleGroupsApiService,
1904
2285
  FlowsApiService,
2286
+ ProductApiService,
2287
+ CatalogAdminApiService,
2288
+ CatalogApiService,
1905
2289
  ], imports: [[HttpClientModule]] });
1906
2290
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ApiModule, decorators: [{
1907
2291
  type: NgModule,
@@ -1926,6 +2310,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
1926
2310
  RulesApiService,
1927
2311
  RuleGroupsApiService,
1928
2312
  FlowsApiService,
2313
+ ProductApiService,
2314
+ CatalogAdminApiService,
2315
+ CatalogApiService,
1929
2316
  ],
1930
2317
  }]
1931
2318
  }] });
@@ -1934,5 +2321,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
1934
2321
  * Generated bundle index. Do not edit.
1935
2322
  */
1936
2323
 
1937
- export { ApiModule, ConfigurationApiService, ConfigurationSettingsApiService, ContextApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, FlowsApiService, PriceApiService, ProceduresApiService, ProductModelApiService, QuoteApiService, RampApiService, RuleGroupsApiService, RulesApiService, SalesforceApiService, ScriptsApiService, UITemplatesApiService };
2324
+ export { ApiModule, CatalogAdminApiService, CatalogApiService, ConfigurationApiService, ConfigurationSettingsApiService, ContextApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, FlowsApiService, PriceApiService, ProceduresApiService, ProductApiService, ProductModelApiService, QuoteApiService, RampApiService, RuleGroupsApiService, RulesApiService, SalesforceApiService, ScriptsApiService, UITemplatesApiService };
1938
2325
  //# sourceMappingURL=veloce-api.js.map