@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.
Files changed (213) hide show
  1. package/esm2020/index.mjs +2 -45
  2. package/esm2020/src/index.mjs +32 -0
  3. package/esm2020/src/lib/api.module.mjs +108 -0
  4. package/esm2020/src/lib/services/account-api.service.mjs +87 -0
  5. package/esm2020/src/lib/services/auth.service.mjs +22 -0
  6. package/esm2020/src/lib/services/catalog-admin-api.service.mjs +192 -0
  7. package/esm2020/src/lib/services/catalog-api.service.mjs +90 -0
  8. package/esm2020/src/lib/services/configuration-settings-api.service.mjs +96 -0
  9. package/esm2020/src/lib/services/contracted-price-api.service.mjs +45 -0
  10. package/esm2020/src/lib/services/delta-api.service.mjs +23 -0
  11. package/esm2020/src/lib/services/document-attachment-api.service.mjs +66 -0
  12. package/esm2020/src/lib/services/endpoints-api.service.mjs +80 -0
  13. package/esm2020/src/lib/services/flow-state-api.mjs +142 -0
  14. package/esm2020/src/lib/services/flows-api.service.mjs +29 -0
  15. package/esm2020/src/lib/services/guided-sellings-admin-api.service.mjs +65 -0
  16. package/esm2020/src/lib/services/guided-sellings-api.service.mjs +37 -0
  17. package/esm2020/src/lib/services/offers-api.service.mjs +76 -0
  18. package/esm2020/src/lib/services/org-info-api.service.mjs +54 -0
  19. package/esm2020/src/lib/services/picklists-api.service.mjs +41 -0
  20. package/esm2020/src/lib/services/portals-api.service.mjs +76 -0
  21. package/esm2020/src/lib/services/price-api.service.mjs +63 -0
  22. package/esm2020/src/lib/services/product-api.service.mjs +153 -0
  23. package/esm2020/src/lib/services/promotions-api.service.mjs +68 -0
  24. package/esm2020/src/lib/services/ramp-api.service.mjs +31 -0
  25. package/esm2020/src/lib/services/rebate-program-api.service.mjs +68 -0
  26. package/esm2020/src/lib/services/rebate-type-api.service.mjs +68 -0
  27. package/esm2020/src/lib/services/salesforce-api.service.mjs +79 -0
  28. package/esm2020/src/lib/services/sandbox-manager-api.service.mjs +94 -0
  29. package/esm2020/src/lib/services/shopping-cart-settings-api.service.mjs +28 -0
  30. package/esm2020/src/lib/services/stateful-configuration-api.mjs +51 -0
  31. package/esm2020/src/lib/services/veloce-objects-api.service.mjs +90 -0
  32. package/esm2020/src/lib/types/attachment.types.mjs +2 -0
  33. package/esm2020/src/lib/types/auth.types.mjs +2 -0
  34. package/esm2020/src/lib/types/clone-request.types.mjs +2 -0
  35. package/esm2020/src/lib/types/delta-request.types.mjs +2 -0
  36. package/esm2020/src/lib/types/dto/configuration-settings-dto.types.mjs +22 -0
  37. package/esm2020/src/lib/types/dto/offers-dto.types.mjs +2 -0
  38. package/esm2020/src/lib/types/index.mjs +8 -0
  39. package/esm2020/src/lib/types/org-info.types.mjs +2 -0
  40. package/esm2020/src/lib/types/price.types.mjs +2 -0
  41. package/esm2020/src/lib/types/quote.types.mjs +2 -0
  42. package/esm2020/src/lib/types/ramp-request.types.mjs +2 -0
  43. package/esm2020/src/lib/types/search-request.types.mjs +2 -0
  44. package/esm2020/src/lib/types/stateful-configuration.types.mjs +2 -0
  45. package/esm2020/src/lib/utils/canvas.utils.mjs +33 -0
  46. package/esm2020/src/lib/utils/index.mjs +2 -0
  47. package/esm2020/v2/api-v2.module.mjs +48 -0
  48. package/esm2020/v2/index.mjs +4 -0
  49. package/esm2020/v2/services/configuration-processors-api.service.mjs +38 -0
  50. package/esm2020/v2/services/context-definition-api.service.mjs +62 -0
  51. package/esm2020/v2/services/index.mjs +13 -0
  52. package/esm2020/v2/services/procedures-admin-api.service.mjs +82 -0
  53. package/esm2020/v2/services/procedures-api.service.mjs +44 -0
  54. package/esm2020/v2/services/rule-groups-admin-api.service.mjs +62 -0
  55. package/esm2020/v2/services/rules-admin-api.service.mjs +95 -0
  56. package/esm2020/v2/services/rules-api.service.mjs +36 -0
  57. package/esm2020/v2/services/sales-transactions-api.service.mjs +52 -0
  58. package/esm2020/v2/services/scripts-admin-api.service.mjs +75 -0
  59. package/esm2020/v2/services/scripts-api.service.mjs +23 -0
  60. package/esm2020/v2/services/ui-definitions-api.service.mjs +124 -0
  61. package/esm2020/{lib → v2}/services/ui-templates-api.service.mjs +2 -2
  62. package/esm2020/v2/types/clone-request.types.mjs +2 -0
  63. package/esm2020/v2/types/dto/ui-definition-dto.types.mjs +2 -0
  64. package/esm2020/v2/types/dto/ui-template-dto.types.mjs +2 -0
  65. package/esm2020/v2/types/index.mjs +4 -0
  66. package/esm2020/v2/types/procedure.types.mjs +2 -0
  67. package/esm2020/v2/types/sales-transaction.types.mjs +2 -0
  68. package/esm2020/v2/utils/ui-definition.utils.mjs +16 -0
  69. package/esm2020/v2/utils/ui-template.utils.mjs +13 -0
  70. package/esm2020/v2/veloceapps-api-v2.mjs +5 -0
  71. package/esm2020/veloceapps-api.mjs +1 -1
  72. package/fesm2015/veloceapps-api-v2.mjs +989 -0
  73. package/fesm2015/veloceapps-api-v2.mjs.map +1 -0
  74. package/fesm2015/veloceapps-api.mjs +14 -1217
  75. package/fesm2015/veloceapps-api.mjs.map +1 -1
  76. package/fesm2020/veloceapps-api-v2.mjs +1007 -0
  77. package/fesm2020/veloceapps-api-v2.mjs.map +1 -0
  78. package/fesm2020/veloceapps-api.mjs +11 -1246
  79. package/fesm2020/veloceapps-api.mjs.map +1 -1
  80. package/index.d.ts +1 -44
  81. package/package.json +9 -1
  82. package/src/index.d.ts +31 -0
  83. package/{lib → src/lib}/api.module.d.ts +2 -1
  84. package/src/lib/utils/index.d.ts +1 -0
  85. package/v2/api-v2.module.d.ts +7 -0
  86. package/v2/index.d.ts +3 -0
  87. package/{lib/services/rlm-api.service.d.ts → v2/services/context-definition-api.service.d.ts} +3 -3
  88. package/v2/services/index.d.ts +12 -0
  89. package/{lib/services/procedures-api.service.d.ts → v2/services/procedures-admin-api.service.d.ts} +6 -13
  90. package/v2/services/procedures-api.service.d.ts +15 -0
  91. package/{lib/services/rule-groups-api.service.d.ts → v2/services/rule-groups-admin-api.service.d.ts} +3 -3
  92. package/{lib/services/rules-api.service.d.ts → v2/services/rules-admin-api.service.d.ts} +4 -4
  93. package/v2/services/rules-api.service.d.ts +11 -0
  94. package/v2/services/sales-transactions-api.service.d.ts +20 -0
  95. package/{lib/services/scripts-api.service.d.ts → v2/services/scripts-admin-api.service.d.ts} +4 -5
  96. package/v2/services/scripts-api.service.d.ts +11 -0
  97. package/{lib → v2}/services/ui-definitions-api.service.d.ts +9 -0
  98. package/v2/types/clone-request.types.d.ts +5 -0
  99. package/v2/types/dto/ui-definition-dto.types.d.ts +7 -0
  100. package/v2/types/index.d.ts +3 -0
  101. package/v2/types/procedure.types.d.ts +10 -0
  102. package/v2/types/sales-transaction.types.d.ts +14 -0
  103. package/v2/utils/ui-definition.utils.d.ts +4 -0
  104. package/esm2020/lib/api.module.mjs +0 -146
  105. package/esm2020/lib/services/account-api.service.mjs +0 -87
  106. package/esm2020/lib/services/auth.service.mjs +0 -22
  107. package/esm2020/lib/services/catalog-admin-api.service.mjs +0 -192
  108. package/esm2020/lib/services/catalog-api.service.mjs +0 -90
  109. package/esm2020/lib/services/configuration-api.service.mjs +0 -109
  110. package/esm2020/lib/services/configuration-processors-api.service.mjs +0 -38
  111. package/esm2020/lib/services/configuration-settings-api.service.mjs +0 -96
  112. package/esm2020/lib/services/context-api.service.mjs +0 -26
  113. package/esm2020/lib/services/contracted-price-api.service.mjs +0 -45
  114. package/esm2020/lib/services/delta-api.service.mjs +0 -23
  115. package/esm2020/lib/services/document-attachment-api.service.mjs +0 -66
  116. package/esm2020/lib/services/endpoints-api.service.mjs +0 -80
  117. package/esm2020/lib/services/flow-state-api.mjs +0 -142
  118. package/esm2020/lib/services/flows-api.service.mjs +0 -29
  119. package/esm2020/lib/services/guided-sellings-admin-api.service.mjs +0 -65
  120. package/esm2020/lib/services/guided-sellings-api.service.mjs +0 -37
  121. package/esm2020/lib/services/offers-api.service.mjs +0 -76
  122. package/esm2020/lib/services/org-info-api.service.mjs +0 -54
  123. package/esm2020/lib/services/picklists-api.service.mjs +0 -41
  124. package/esm2020/lib/services/portals-api.service.mjs +0 -76
  125. package/esm2020/lib/services/price-api.service.mjs +0 -63
  126. package/esm2020/lib/services/procedures-api.service.mjs +0 -113
  127. package/esm2020/lib/services/product-api.service.mjs +0 -153
  128. package/esm2020/lib/services/product-model-api.service.mjs +0 -223
  129. package/esm2020/lib/services/promotions-api.service.mjs +0 -68
  130. package/esm2020/lib/services/quote-api.service.mjs +0 -56
  131. package/esm2020/lib/services/ramp-api.service.mjs +0 -31
  132. package/esm2020/lib/services/rebate-program-api.service.mjs +0 -68
  133. package/esm2020/lib/services/rebate-type-api.service.mjs +0 -68
  134. package/esm2020/lib/services/rlm-api.service.mjs +0 -65
  135. package/esm2020/lib/services/rlm-quote-api.service.mjs +0 -27
  136. package/esm2020/lib/services/rule-groups-api.service.mjs +0 -62
  137. package/esm2020/lib/services/rules-api.service.mjs +0 -98
  138. package/esm2020/lib/services/salesforce-api.service.mjs +0 -79
  139. package/esm2020/lib/services/sandbox-manager-api.service.mjs +0 -94
  140. package/esm2020/lib/services/scripts-api.service.mjs +0 -83
  141. package/esm2020/lib/services/shopping-cart-settings-api.service.mjs +0 -28
  142. package/esm2020/lib/services/stateful-configuration-api.mjs +0 -51
  143. package/esm2020/lib/services/ui-definitions-api.service.mjs +0 -76
  144. package/esm2020/lib/services/veloce-objects-api.service.mjs +0 -90
  145. package/esm2020/lib/types/attachment.types.mjs +0 -2
  146. package/esm2020/lib/types/auth.types.mjs +0 -2
  147. package/esm2020/lib/types/clone-request.types.mjs +0 -2
  148. package/esm2020/lib/types/delta-request.types.mjs +0 -2
  149. package/esm2020/lib/types/dto/configuration-settings-dto.types.mjs +0 -22
  150. package/esm2020/lib/types/dto/offers-dto.types.mjs +0 -2
  151. package/esm2020/lib/types/dto/ui-template-dto.types.mjs +0 -2
  152. package/esm2020/lib/types/index.mjs +0 -8
  153. package/esm2020/lib/types/org-info.types.mjs +0 -2
  154. package/esm2020/lib/types/price.types.mjs +0 -2
  155. package/esm2020/lib/types/quote.types.mjs +0 -2
  156. package/esm2020/lib/types/ramp-request.types.mjs +0 -2
  157. package/esm2020/lib/types/search-request.types.mjs +0 -2
  158. package/esm2020/lib/types/stateful-configuration.types.mjs +0 -2
  159. package/esm2020/lib/utils/canvas.utils.mjs +0 -33
  160. package/esm2020/lib/utils/index.mjs +0 -3
  161. package/esm2020/lib/utils/ui-template.utils.mjs +0 -13
  162. package/lib/services/configuration-api.service.d.ts +0 -23
  163. package/lib/services/context-api.service.d.ts +0 -11
  164. package/lib/services/product-model-api.service.d.ts +0 -29
  165. package/lib/services/quote-api.service.d.ts +0 -22
  166. package/lib/services/rlm-quote-api.service.d.ts +0 -11
  167. package/lib/utils/index.d.ts +0 -2
  168. /package/{lib → src/lib}/services/account-api.service.d.ts +0 -0
  169. /package/{lib → src/lib}/services/auth.service.d.ts +0 -0
  170. /package/{lib → src/lib}/services/catalog-admin-api.service.d.ts +0 -0
  171. /package/{lib → src/lib}/services/catalog-api.service.d.ts +0 -0
  172. /package/{lib → src/lib}/services/configuration-settings-api.service.d.ts +0 -0
  173. /package/{lib → src/lib}/services/contracted-price-api.service.d.ts +0 -0
  174. /package/{lib → src/lib}/services/delta-api.service.d.ts +0 -0
  175. /package/{lib → src/lib}/services/document-attachment-api.service.d.ts +0 -0
  176. /package/{lib → src/lib}/services/endpoints-api.service.d.ts +0 -0
  177. /package/{lib → src/lib}/services/flow-state-api.d.ts +0 -0
  178. /package/{lib → src/lib}/services/flows-api.service.d.ts +0 -0
  179. /package/{lib → src/lib}/services/guided-sellings-admin-api.service.d.ts +0 -0
  180. /package/{lib → src/lib}/services/guided-sellings-api.service.d.ts +0 -0
  181. /package/{lib → src/lib}/services/offers-api.service.d.ts +0 -0
  182. /package/{lib → src/lib}/services/org-info-api.service.d.ts +0 -0
  183. /package/{lib → src/lib}/services/picklists-api.service.d.ts +0 -0
  184. /package/{lib → src/lib}/services/portals-api.service.d.ts +0 -0
  185. /package/{lib → src/lib}/services/price-api.service.d.ts +0 -0
  186. /package/{lib → src/lib}/services/product-api.service.d.ts +0 -0
  187. /package/{lib → src/lib}/services/promotions-api.service.d.ts +0 -0
  188. /package/{lib → src/lib}/services/ramp-api.service.d.ts +0 -0
  189. /package/{lib → src/lib}/services/rebate-program-api.service.d.ts +0 -0
  190. /package/{lib → src/lib}/services/rebate-type-api.service.d.ts +0 -0
  191. /package/{lib → src/lib}/services/salesforce-api.service.d.ts +0 -0
  192. /package/{lib → src/lib}/services/sandbox-manager-api.service.d.ts +0 -0
  193. /package/{lib → src/lib}/services/shopping-cart-settings-api.service.d.ts +0 -0
  194. /package/{lib → src/lib}/services/stateful-configuration-api.d.ts +0 -0
  195. /package/{lib → src/lib}/services/veloce-objects-api.service.d.ts +0 -0
  196. /package/{lib → src/lib}/types/attachment.types.d.ts +0 -0
  197. /package/{lib → src/lib}/types/auth.types.d.ts +0 -0
  198. /package/{lib → src/lib}/types/clone-request.types.d.ts +0 -0
  199. /package/{lib → src/lib}/types/delta-request.types.d.ts +0 -0
  200. /package/{lib → src/lib}/types/dto/configuration-settings-dto.types.d.ts +0 -0
  201. /package/{lib → src/lib}/types/dto/offers-dto.types.d.ts +0 -0
  202. /package/{lib → src/lib}/types/index.d.ts +0 -0
  203. /package/{lib → src/lib}/types/org-info.types.d.ts +0 -0
  204. /package/{lib → src/lib}/types/price.types.d.ts +0 -0
  205. /package/{lib → src/lib}/types/quote.types.d.ts +0 -0
  206. /package/{lib → src/lib}/types/ramp-request.types.d.ts +0 -0
  207. /package/{lib → src/lib}/types/search-request.types.d.ts +0 -0
  208. /package/{lib → src/lib}/types/stateful-configuration.types.d.ts +0 -0
  209. /package/{lib → src/lib}/utils/canvas.utils.d.ts +0 -0
  210. /package/{lib → v2}/services/configuration-processors-api.service.d.ts +0 -0
  211. /package/{lib → v2}/services/ui-templates-api.service.d.ts +0 -0
  212. /package/{lib → v2}/types/dto/ui-template-dto.types.d.ts +0 -0
  213. /package/{lib → v2}/utils/ui-template.utils.d.ts +0 -0
@@ -1,153 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVkzQyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFHeEMsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLFdBQVcsQ0FBQztRQUkzQyxtQkFBYyxHQUFHLENBQUMsT0FBeUIsRUFBeUIsRUFBRTtZQUMzRSxJQUFJLE1BQU0sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUM7WUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBRUssb0JBQWUsR0FBRyxDQUFDLFVBQXNCLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBeUIsRUFBRTtZQUN0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LFNBQVMsUUFBUTtZQUM1QyxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsUUFBUTtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQWlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsWUFBWSxFQUFFLE1BQU07WUFDcEIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFpQjtRQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLFFBQVEsQ0FBQztJQUNqRCxDQUFDOzs4R0F0S1UsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVEZWZpbml0aW9uLFxuICBCYXNlSHR0cFNlcnZpY2UsXG4gIEV4cHJlc3Npb24sXG4gIExhenlDaHVua1JlcXVlc3QsXG4gIE5ld0F0dHJpYnV0ZURlZmluaXRpb24sXG4gIE5ld1Byb2R1Y3QsXG4gIE5ld1Byb2R1Y3RBdHRyaWJ1dGUsXG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RBdHRyaWJ1dGUsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbm9vcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VVcmw6IHN0cmluZyA9ICcvcHJvZHVjdHMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFzZUh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGZldGNoUHJvZHVjdHMkID0gKHBheWxvYWQ6IExhenlDaHVua1JlcXVlc3QpOiBPYnNlcnZhYmxlPFByb2R1Y3RbXT4gPT4ge1xuICAgIGxldCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NvdW50JywgcGF5bG9hZC5jb3VudCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2tpcCcsIHBheWxvYWQuc2tpcCk7XG4gICAgaWYgKHBheWxvYWQubmFtZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnbmFtZScsIHBheWxvYWQubmFtZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH1gLCBwYXJhbXMgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaFByb2R1Y3RzJCA9IChleHByZXNzaW9uOiBFeHByZXNzaW9uLCBza2lwOiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2R1Y3RbXT4gPT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NraXAnLCAnJyArIHNraXApO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NvdW50JywgJycgKyBjb3VudCk7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLFxuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBib2R5OiBleHByZXNzaW9uLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaFByb2R1Y3QkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3Q+ID0+XG4gICAgdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCB9KTtcblxuICBwdWJsaWMgZmV0Y2hBdHRyaWJ1dGVzJCA9ICgpOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb25bXT4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoeyB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uYCB9KTtcbiAgfTtcblxuICBwdWJsaWMgc2VhcmNoQXR0cmlidXRlcyQgPSAoXG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbixcbiAgICBza2lwOiBudW1iZXIsXG4gICAgY291bnQ6IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uW10+ID0+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdza2lwJywgJycgKyBza2lwKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3VudCcsICcnICsgY291bnQpO1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uL3NlYXJjaGAsXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIGJvZHk6IGV4cHJlc3Npb24sXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGZldGNoQXR0cmlidXRlc0J5TW9kZWwgPSAobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uW10+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXMvZGVmaW5pdGlvbi9mb3JNb2RlbC8ke21vZGVsSWR9YCB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlTmV3UHJvZHVjdCQgPSAocHJvZHVjdERhdGE6IE5ld1Byb2R1Y3QpOiBPYnNlcnZhYmxlPFByb2R1Y3Q+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfWAsXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGJvZHk6IHByb2R1Y3REYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVQcm9kdWN0JCA9IChib2R5OiBQcm9kdWN0KTogT2JzZXJ2YWJsZTxQcm9kdWN0PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtib2R5LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlUHJvZHVjdCQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVzdG9yZVByb2R1Y3QkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfS9yZXN0b3JlYCxcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlUHJvZHVjdEF0dHJpYnV0ZSQgPSAoYXR0cmlidXRlRGF0YTogTmV3UHJvZHVjdEF0dHJpYnV0ZSk6IE9ic2VydmFibGU8QXR0cmlidXRlRGVmaW5pdGlvbj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L2F0dHJpYnV0ZXNgLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVQcm9kdWN0QXR0cmlidXRlJCA9IChhdHRyaWJ1dGVEYXRhOiBQcm9kdWN0QXR0cmlidXRlKTogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVEZWZpbml0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy8ke2F0dHJpYnV0ZURhdGEuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZW1vdmVQcm9kdWN0QXR0cmlidXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBjcmVhdGVOZXdBdHRyaWJ1dGUkID0gKGF0dHJpYnV0ZURhdGE6IE5ld0F0dHJpYnV0ZURlZmluaXRpb24pOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb25gLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiBhdHRyaWJ1dGVEYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVBdHRyaWJ1dGUkID0gKGJvZHk6IEF0dHJpYnV0ZURlZmluaXRpb24pOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZURlZmluaXRpb24+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtib2R5LmlkfWAsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlQXR0cmlidXRlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vYXR0cmlidXRlcy9kZWZpbml0aW9uLyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2RlbGV0ZScsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHJlc3RvcmVBdHRyaWJ1dGUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9hdHRyaWJ1dGVzL2RlZmluaXRpb24vJHtpZH0vcmVzdG9yZWAsXG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGF0dGFjaEltYWdlJChwcm9kdWN0SWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBkYXRhLmFwcGVuZCgnaW1hZ2UnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYCxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSW1hZ2UkKHByb2R1Y3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7cHJvZHVjdElkfS9pbWFnZWAsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hJbWFnZSQocHJvZHVjdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogdGhpcy5nZXRJbWFnZVVybChwcm9kdWN0SWQpLFxuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgZXJyb3JIYW5kbGVyOiBub29wLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEltYWdlVXJsKHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VydmljZVVybH0vJHtwcm9kdWN0SWR9L2ltYWdlYDtcbiAgfVxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvZHVjdC1tb2RlbC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxVQUFVLEVBRVYsb0JBQW9CLEdBSXJCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsU0FBUyxDQUFDO0lBRVUsQ0FBQztJQUU3QyxRQUFRLENBQUMsS0FBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNyQixJQUFJLEVBQUUsS0FBSztZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQjtTQUNyRCxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDckIsT0FBTyxNQUFNLENBQUM7YUFDZjtpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQTBCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxFQUFFLEtBQUs7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LENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM3QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sYUFBYTtZQUNoRCxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQ1gsT0FBZSxFQUNmLEdBQVcsRUFDWCxRQUFnQixFQUNoQixpQkFBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxVQUFVO1lBQzdDLElBQUksRUFBRTtnQkFDSixHQUFHO2dCQUNILFFBQVE7Z0JBQ1IsaUJBQWlCO2FBQ2xCO1lBQ0QsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxvQ0FBb0M7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5UGEsa0NBQVcsR0FBRyxHQUFHLENBQUM7bUhBRHJCLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIEVudGl0eVV0aWwsXG4gIE1vZGVsUmVsZWFzZVJlcXVlc3QsXG4gIE1vZGVsVHJhbnNsYXRvclV0aWxzLFxuICBQbWxDb25maWd1cmF0aW9uTW9kZSxcbiAgUHJvZHVjdE1vZGVsLFxuICBQcm9kdWN0TW9kZWxWZXJzaW9uLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNb2RlbEFwaVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIE1BWF9SRVNVTFRTID0gMjAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgU0VSVklDRV9VUkwgPSAnL21vZGVscyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhZGRNb2RlbChtb2RlbDogUHJvZHVjdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IHRoaXMuU0VSVklDRV9VUkwsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVsZWFzZU1vZGVsKG1vZGVsOiBNb2RlbFJlbGVhc2VSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH0vcmVsZWFzZWAsXG4gICAgICAgIGJvZHk6IG1vZGVsLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVNb2RlbChtb2RlbElkOiBzdHJpbmcsIHN1Y2Nlc3NGbj86IGFueSwgZmFpbHVyZUZuPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH1gLFxuICAgICAgICBlcnJvckhhbmRsZXI6IHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIG9ic2VydmFibGUuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBzdWNjZXNzRm4gJiYgc3VjY2Vzc0ZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBmYWlsdXJlRm4gJiYgZmFpbHVyZUZuLmFwcGx5KCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWxWZXJzaW9ucyhtb2RlbElkOiBzdHJpbmcsIGNvdW50OiBudW1iZXIgPSAxMDAsIHNraXA6IG51bWJlciA9IDApOiBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbFZlcnNpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS92ZXJzaW9uc2AsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHNraXBDb3VudDogc2tpcCxcbiAgICAgICAgY291bnQ6IGNvdW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbChpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtpZH1gO1xuXG4gICAgaWYgKHZlcnNpb24pIHtcbiAgICAgIHVybCArPSBgL3ZlcnNpb25zLyR7dmVyc2lvbn1gO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbHMoc2tpcENvdW50OiBudW1iZXIsIHNlYXJjaFRleHQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L3NlYXJjaGAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIG5hbWVSZWdleDogc2VhcmNoVGV4dCxcbiAgICAgICAgc2tpcENvdW50OiBza2lwQ291bnQudG9TdHJpbmcoKSxcbiAgICAgICAgY291bnQ6IFByb2R1Y3RNb2RlbEFwaVNlcnZpY2UuTUFYX1JFU1VMVFMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZE1vZGVscyhpZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxbXT4ge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgdXJsICs9ICcvbGlua2VkJztcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7IHVybCB9KS5waXBlKFxuICAgICAgbWFwKChsaW5rZWRNb2RlbHM6IFByb2R1Y3RNb2RlbFtdKSA9PiB7XG4gICAgICAgIGlmIChsaW5rZWRNb2RlbHMpIHtcbiAgICAgICAgICBsaW5rZWRNb2RlbHMuZm9yRWFjaChtb2RlbCA9PiBNb2RlbFRyYW5zbGF0b3JVdGlscy50b0xvY2FsTW9kZWwobW9kZWwpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGlua2VkTW9kZWxzO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQTUwobW9kZWxJZDogc3RyaW5nLCB2ZXJzaW9uPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWwvJHt2ZXJzaW9ufWA7XG5cbiAgICBpZiAodmVyc2lvbikge1xuICAgICAgdXJsICs9IGAvdmVyc2lvbnMvJHt2ZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybCxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVQTUwobW9kZWxJZDogc3RyaW5nLCBwbWw6IHN0cmluZywgY29tbWVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbElkfS9wbWxgLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgaWQ6IG1vZGVsSWQsXG4gICAgICAgICAgcG1sOiBwbWwsXG4gICAgICAgICAgY29tbWVudDogY29tbWVudCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlUHJvZHVjdHMobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L2dlbmVyYXRlLXByb2R1Y3RzYCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwsIGNvbW1lbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgbW9kZWwgPSBFbnRpdHlVdGlsLmNsb25lKHByb2R1Y3RNb2RlbCk7XG4gICAgbW9kZWwuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgTW9kZWxUcmFuc2xhdG9yVXRpbHMudG9TZXJ2ZXJNb2RlbChtb2RlbCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaSh7XG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmh0dHBTZXJ2aWNlLmhhbmRsZVZhbGlkYXRpb25FcnJvciksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlTW9kZWwocHJvZHVjdE1vZGVsOiBQcm9kdWN0TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpKHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vdmFsaWRhdGVgLFxuICAgICAgICBib2R5OiBwcm9kdWN0TW9kZWwsXG4gICAgICAgIGVycm9ySGFuZGxlcjogdGhpcy5odHRwU2VydmljZS5oYW5kbGVWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbmFtZU1vZGVsKHByb2R1Y3RNb2RlbDogUHJvZHVjdE1vZGVsLCBuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG1vZGVsID0gRW50aXR5VXRpbC5jbG9uZShwcm9kdWN0TW9kZWwpO1xuICAgIG1vZGVsLm5hbWUgPSBuYW1lO1xuICAgIE1vZGVsVHJhbnNsYXRvclV0aWxzLnRvU2VydmVyTW9kZWwobW9kZWwpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHttb2RlbC5pZH1gLFxuICAgICAgICBib2R5OiBtb2RlbCxcbiAgICAgIH0pXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaHR0cFNlcnZpY2UuaGFuZGxlVmFsaWRhdGlvbkVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgdXBsb2FkUG1sRmlsZShmaWxlOiBGaWxlLCBtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS51cGxvYWQoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L3BtbC91cGxvYWRgLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcnVuUG1sKFxuICAgIG1vZGVsSWQ6IHN0cmluZyxcbiAgICBwbWw6IHN0cmluZyxcbiAgICByb290VHlwZTogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb25Nb2RlOiBQbWxDb25maWd1cmF0aW9uTW9kZSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vcG1sL3J1bmAsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHBtbCxcbiAgICAgICAgcm9vdFR5cGUsXG4gICAgICAgIGNvbmZpZ3VyYXRpb25Nb2RlLFxuICAgICAgfSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGV2aWN0QWxsQ2FjaGUoKTogT2JzZXJ2YWJsZTx7IHJlc3VsdDogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogJy9jYWNoZS9ldmljdC9lbnZpcm9ubWVudC12YXJpYWJsZXMnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,68 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9ucy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcHJvbW90aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFJbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFGbkMsZUFBVSxHQUFXLGtCQUFrQixDQUFDO1FBSWxELGNBQVMsR0FBRyxHQUEwQixFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDO1FBYUssY0FBUyxHQUFHLENBQUMsRUFBVSxFQUF5QixFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7UUFrQkssWUFBTyxHQUFHLENBQUMsRUFBVSxFQUFzQixFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQVM7Z0JBQ3RDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFO2dCQUMvQixNQUFNLEVBQUUsUUFBUTthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyxhQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQW9CLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLFVBQVU7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssZUFBVSxHQUFHLENBQUMsSUFBa0IsRUFBc0IsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxlQUFlO2lCQUN4QixHQUFHLENBQUM7Z0JBQ0gsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsRUFBRSxRQUFRO2dCQUMxQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJO2FBQ0wsQ0FBQztpQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDO0lBM0RxRCxDQUFDO0lBTWpELE9BQU8sQ0FBQyxVQUFzQixFQUFFLElBQWEsRUFBRSxLQUFjO1FBQ2xFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFNTSxPQUFPLENBQUMsSUFBa0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBWTtZQUN6QyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFZO1lBQ3pDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF0Q1Usb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgRXhwcmVzc2lvbiwgTmV3UHJvbW90aW9uLCBQcm9tb3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENsb25lUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb21vdGlvbnNBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL3Byb21vdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlSHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgZmV0Y2hBbGwkID0gKCk6IE9ic2VydmFibGU8UHJvbW90aW9uPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxQcm9tb3Rpb24+KHsgdXJsOiB0aGlzLnNlcnZpY2VVcmwgfSk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaCQoZXhwcmVzc2lvbjogRXhwcmVzc2lvbiwgc2tpcD86IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb21vdGlvbltdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHR5cGVvZiBza2lwID09PSAnbnVtYmVyJykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2tpcCcsICcnICsgc2tpcCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY291bnQgPT09ICdudW1iZXInKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdjb3VudCcsICcnICsgY291bnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgbWV0aG9kOiAncG9zdCcsIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLCBwYXJhbXMsIGJvZHk6IGV4cHJlc3Npb24gfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hPbmUkID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb21vdGlvbj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGk8UHJvbW90aW9uPih7IHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAgfSk7XG4gIH07XG5cbiAgcHVibGljIGNyZWF0ZSQoYm9keTogTmV3UHJvbW90aW9uKTogT2JzZXJ2YWJsZTxQcm9tb3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpPFByb21vdGlvbj4oe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKGJvZHk6IFByb21vdGlvbik6IE9ic2VydmFibGU8UHJvbW90aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxQcm9tb3Rpb24+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2JvZHkuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZSQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaTxzdHJpbmc+KHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZXN0b3JlJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwYXRjaCcsXG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH0vcmVzdG9yZWAsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIGR1cGxpY2F0ZSQgPSAoYm9keTogQ2xvbmVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtib2R5LmlkfS9jbG9uZWAsXG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICBib2R5LFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5jbG9uZWRSZWNvcmRJZCkpO1xuICB9O1xufVxuIl19
@@ -1,56 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@veloceapps/core";
4
- export class QuoteApiService {
5
- constructor(httpService) {
6
- this.httpService = httpService;
7
- this.SERVICE_URL = '/quotes';
8
- }
9
- /**
10
- * This endpoint doesn't include orders and assets
11
- * @param objectId quoteId | accountId | opportunityId | orderId
12
- * @param params Query params
13
- * @param options Request options
14
- */
15
- getQuoteState(objectId, params, options) {
16
- return this.httpService.api({
17
- method: 'get',
18
- url: `/v2${this.SERVICE_URL}/${objectId}`,
19
- params,
20
- ...options,
21
- });
22
- }
23
- upsertQuote(request, options) {
24
- return this.httpService.api({
25
- method: 'post',
26
- url: `${this.SERVICE_URL}`,
27
- body: request,
28
- ...options,
29
- });
30
- }
31
- submitQuote(request, options) {
32
- return this.httpService.api({
33
- method: 'post',
34
- url: `${this.SERVICE_URL}/submit`,
35
- body: request,
36
- ...options,
37
- });
38
- }
39
- attachDocument(id, documentName, data) {
40
- const formData = new FormData();
41
- const blob = new Blob([data]);
42
- formData.append('file', blob, documentName);
43
- return this.httpService.upload({
44
- url: `${this.SERVICE_URL}/${id}/attach-document`,
45
- responseType: 'arraybuffer',
46
- method: 'post',
47
- body: formData,
48
- });
49
- }
50
- }
51
- QuoteApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
52
- QuoteApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteApiService });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteApiService, decorators: [{
54
- type: Injectable
55
- }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3NlcnZpY2VzL3F1b3RlLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFvQixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFGL0IsZ0JBQVcsR0FBRyxTQUFTLENBQUM7SUFFVSxDQUFDO0lBRXBEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUNsQixRQUFnQixFQUNoQixNQUEyQixFQUMzQixPQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFhO1lBQ3RDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxRQUFRLEVBQUU7WUFDekMsTUFBTTtZQUNOLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBbUIsRUFBRSxPQUF3QztRQUM5RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMxQixJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBbUIsRUFBRSxPQUF3QztRQUM5RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsU0FBUztZQUNqQyxJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjLENBQUMsRUFBVSxFQUFFLFlBQW9CLEVBQUUsSUFBUztRQUMvRCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM3QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsa0JBQWtCO1lBQ2hELFlBQVksRUFBRSxhQUFhO1lBQzNCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FyRFUsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UsIEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucywgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTYXZlUXVvdGVSZXNwb25zZSwgU3VibWl0UXVvdGVSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1b3RlQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgU0VSVklDRV9VUkwgPSAnL3F1b3Rlcyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBUaGlzIGVuZHBvaW50IGRvZXNuJ3QgaW5jbHVkZSBvcmRlcnMgYW5kIGFzc2V0c1xuICAgKiBAcGFyYW0gb2JqZWN0SWQgcXVvdGVJZCB8IGFjY291bnRJZCB8IG9wcG9ydHVuaXR5SWQgfCBvcmRlcklkXG4gICAqIEBwYXJhbSBwYXJhbXMgUXVlcnkgcGFyYW1zXG4gICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3Qgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGdldFF1b3RlU3RhdGUoXG4gICAgb2JqZWN0SWQ6IHN0cmluZyxcbiAgICBwYXJhbXM/OiBEaWN0aW9uYXJ5PHN0cmluZz4sXG4gICAgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpPFF1b3RlRHJhZnQ+KHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IGAvdjIke3RoaXMuU0VSVklDRV9VUkx9LyR7b2JqZWN0SWR9YCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBzZXJ0UXVvdGUocmVxdWVzdDogUXVvdGVEcmFmdCwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8U2F2ZVF1b3RlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9YCxcbiAgICAgIGJvZHk6IHJlcXVlc3QsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdFF1b3RlKHJlcXVlc3Q6IFF1b3RlRHJhZnQsIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFN1Ym1pdFF1b3RlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9L3N1Ym1pdGAsXG4gICAgICBib2R5OiByZXF1ZXN0LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2hEb2N1bWVudChpZDogc3RyaW5nLCBkb2N1bWVudE5hbWU6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtkYXRhXSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgYmxvYiwgZG9jdW1lbnROYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnVwbG9hZCh7XG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7aWR9L2F0dGFjaC1kb2N1bWVudGAsXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,31 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFtcC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvcmFtcC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsT0FBTyxDQUFDO0lBRVksQ0FBQztJQUU3QyxJQUFJLENBQUMsT0FBd0IsRUFBRSxPQUF3QztRQUM1RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsT0FBTztZQUMvQixJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBeUIsRUFBRSxPQUF3QztRQUM5RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsUUFBUTtZQUNoQyxJQUFJLEVBQUUsT0FBTztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQXJCVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSwgSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zLCBQcmljZVN1bW1hcnkgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5leHRSYW1wUmVxdWVzdCwgUmVuZXdSYW1wUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJhbXBBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvcmFtcCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZXh0KHJlcXVlc3Q6IE5leHRSYW1wUmVxdWVzdCwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS9uZXh0YCxcbiAgICAgIGJvZHk6IHJlcXVlc3QsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbmV3KHJlcXVlc3Q6IFJlbmV3UmFtcFJlcXVlc3QsIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vcmVuZXdgLFxuICAgICAgYm9keTogcmVxdWVzdCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==