taxtank-core 0.28.117 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/bundles/taxtank-core.umd.js +8542 -8749
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-account.collection.js +5 -1
  4. package/esm2015/lib/collections/chart-accounts.collection.js +12 -2
  5. package/esm2015/lib/collections/chat/chat.collection.js +26 -0
  6. package/esm2015/lib/collections/chat/index.js +4 -0
  7. package/esm2015/lib/collections/chat/message-document.collection.js +13 -0
  8. package/esm2015/lib/collections/chat/message.collection.js +33 -0
  9. package/esm2015/lib/collections/collection.js +5 -1
  10. package/esm2015/lib/collections/index.js +25 -3
  11. package/esm2015/lib/collections/loan/index.js +3 -0
  12. package/esm2015/lib/collections/loan/loan.collection.js +7 -1
  13. package/esm2015/lib/collections/property/index.js +2 -1
  14. package/esm2015/lib/collections/property/property-share.collection.js +13 -0
  15. package/esm2015/lib/collections/report/index.js +7 -0
  16. package/esm2015/lib/collections/sole/index.js +2 -1
  17. package/esm2015/lib/collections/subscription/index.js +2 -0
  18. package/esm2015/lib/collections/tax-summary/index.js +3 -0
  19. package/esm2015/lib/collections/user-event-type-collection.js +7 -0
  20. package/esm2015/lib/db/Models/bank/bank-account.js +3 -3
  21. package/esm2015/lib/db/Models/bank/bank-connection.js +3 -3
  22. package/esm2015/lib/db/Models/bank/bank-transaction-rule.js +4 -0
  23. package/esm2015/lib/db/Models/bank/bank-transaction.js +3 -3
  24. package/esm2015/lib/db/Models/document/document-base.js +4 -0
  25. package/esm2015/lib/db/Models/firm/firm-invite.js +4 -0
  26. package/esm2015/lib/db/Models/firm/message.js +3 -3
  27. package/esm2015/lib/db/Models/index.js +102 -0
  28. package/esm2015/lib/db/Models/loan/loan-payout.js +3 -3
  29. package/esm2015/lib/db/Models/loan/loan.js +3 -3
  30. package/esm2015/lib/db/Models/property/property-category-movement.js +3 -3
  31. package/esm2015/lib/db/Models/property/property-category.js +3 -3
  32. package/esm2015/lib/db/Models/property/property-sale/property-sale.js +3 -3
  33. package/esm2015/lib/db/Models/property/property-share.js +3 -3
  34. package/esm2015/lib/db/Models/spare/spare-document-category.js +4 -0
  35. package/esm2015/lib/db/Models/spare/spare-document.js +4 -0
  36. package/esm2015/lib/db/Models/tax-calculation.js +4 -0
  37. package/esm2015/lib/db/Models/transaction/transaction-base.js +3 -3
  38. package/esm2015/lib/forms/transaction/transaction.form.js +2 -2
  39. package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
  40. package/esm2015/lib/interceptors/basiq-token.interceptor.js +5 -5
  41. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  42. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  43. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  44. package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
  45. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  46. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  47. package/esm2015/lib/interfaces/index.js +18 -0
  48. package/esm2015/lib/models/bank/basiq/basiq-token.js +4 -2
  49. package/esm2015/lib/models/borrowing-expense/index.js +3 -0
  50. package/esm2015/lib/models/chart-accounts/index.js +2 -2
  51. package/esm2015/lib/models/chat/index.js +5 -0
  52. package/esm2015/lib/models/depreciation/depreciation-lvp-rate.enum.js +9 -0
  53. package/esm2015/lib/models/depreciation/index.js +10 -0
  54. package/esm2015/lib/models/dictionary/index.js +2 -0
  55. package/esm2015/lib/models/event/app-event-type.enum.js +68 -70
  56. package/esm2015/lib/models/event/index.js +3 -0
  57. package/esm2015/lib/models/financial-year/index.js +5 -0
  58. package/esm2015/lib/models/index.js +12 -2
  59. package/esm2015/lib/models/loan/index.js +5 -0
  60. package/esm2015/lib/models/notification/index.js +2 -0
  61. package/esm2015/lib/models/property/index.js +18 -0
  62. package/esm2015/lib/models/property/property.js +1 -3
  63. package/esm2015/lib/models/user/index.js +10 -0
  64. package/esm2015/lib/services/account-setup/account-setup.service.js +6 -6
  65. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
  66. package/esm2015/lib/services/asset/assets.service.js +3 -3
  67. package/esm2015/lib/services/auth/auth.service.js +3 -3
  68. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  69. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  70. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  71. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  72. package/esm2015/lib/services/event/sse.service.js +3 -3
  73. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  74. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  75. package/esm2015/lib/services/http/address/address.service.js +3 -3
  76. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +16 -71
  77. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +39 -42
  78. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +17 -33
  79. package/esm2015/lib/services/http/bank/bank.service.js +15 -10
  80. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +17 -20
  81. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +15 -27
  82. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +10 -21
  83. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +20 -64
  84. package/esm2015/lib/services/http/chat/chat.service.js +24 -30
  85. package/esm2015/lib/services/http/chat/index.js +3 -3
  86. package/esm2015/lib/services/http/chat/message-document.service.js +78 -0
  87. package/esm2015/lib/services/http/chat/message.service.js +68 -0
  88. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  89. package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
  90. package/esm2015/lib/services/http/depreciation/depreciation.service.js +29 -57
  91. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  92. package/esm2015/lib/services/http/document/document.service.js +3 -3
  93. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  94. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  95. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  96. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  97. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  98. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  99. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  100. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  101. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  102. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  103. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  104. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  105. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +7 -4
  106. package/esm2015/lib/services/http/loan/index.js +1 -1
  107. package/esm2015/lib/services/http/loan/loan.service.js +20 -69
  108. package/esm2015/lib/services/http/property/property-category/property-category.service.js +10 -7
  109. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +10 -34
  110. package/esm2015/lib/services/http/property/property-document/property-document.service.js +11 -21
  111. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +10 -27
  112. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +11 -8
  113. package/esm2015/lib/services/http/property/property-share/property-share.service.js +15 -89
  114. package/esm2015/lib/services/http/property/property.service.js +16 -34
  115. package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
  116. package/esm2015/lib/services/http/rest/rest-old.service.js +3 -3
  117. package/esm2015/lib/services/http/rest/rest.service.js +13 -10
  118. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  119. package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +3 -3
  120. package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +3 -3
  121. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +3 -3
  122. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +3 -3
  123. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +3 -3
  124. package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +3 -3
  125. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
  126. package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
  127. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +3 -3
  128. package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +3 -3
  129. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  130. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  131. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  132. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  133. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  134. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -7
  135. package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
  136. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  137. package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
  138. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  139. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  140. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  141. package/esm2015/lib/services/http/user/user.service.js +3 -3
  142. package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +3 -3
  143. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
  144. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  145. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  146. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  147. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  148. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  149. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  150. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  151. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  152. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  153. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  154. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  155. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
  156. package/esm2015/lib/services/report/property/property-transaction-report.service.js +7 -9
  157. package/esm2015/lib/services/toast/toast.service.js +3 -3
  158. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  159. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  160. package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
  161. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  162. package/esm2015/lib/tt-core.module.js +4 -4
  163. package/esm2015/public-api.js +1 -85
  164. package/fesm2015/taxtank-core.js +6987 -7252
  165. package/fesm2015/taxtank-core.js.map +1 -1
  166. package/lib/collections/bank-account.collection.d.ts +1 -0
  167. package/lib/collections/chart-accounts.collection.d.ts +1 -0
  168. package/lib/collections/{chat.collection.d.ts → chat/chat.collection.d.ts} +2 -3
  169. package/lib/collections/chat/index.d.ts +3 -0
  170. package/lib/collections/{message-document.collection.d.ts → chat/message-document.collection.d.ts} +2 -2
  171. package/lib/collections/{message.collection.d.ts → chat/message.collection.d.ts} +2 -3
  172. package/lib/collections/collection.d.ts +1 -0
  173. package/lib/collections/index.d.ts +23 -2
  174. package/lib/collections/loan/index.d.ts +2 -0
  175. package/lib/collections/loan/loan.collection.d.ts +4 -0
  176. package/lib/collections/property/index.d.ts +1 -0
  177. package/lib/collections/property/property-share.collection.d.ts +6 -0
  178. package/lib/collections/report/index.d.ts +6 -0
  179. package/lib/collections/sole/index.d.ts +1 -0
  180. package/lib/collections/subscription/index.d.ts +1 -0
  181. package/lib/collections/tax-summary/index.d.ts +2 -0
  182. package/lib/collections/user-event-type-collection.d.ts +7 -0
  183. package/lib/db/Models/bank/bank-account.d.ts +2 -2
  184. package/lib/db/Models/bank/bank-connection.d.ts +2 -2
  185. package/lib/db/Models/bank/bank-transaction-rule.d.ts +26 -0
  186. package/lib/db/Models/bank/bank-transaction.d.ts +2 -2
  187. package/lib/db/Models/document/document-base.d.ts +11 -0
  188. package/lib/db/Models/firm/firm-invite.d.ts +15 -0
  189. package/lib/db/Models/firm/message.d.ts +2 -2
  190. package/lib/db/Models/index.d.ts +101 -0
  191. package/lib/db/Models/loan/loan-payout.d.ts +2 -2
  192. package/lib/db/Models/loan/loan.d.ts +2 -2
  193. package/lib/db/Models/property/property-category-movement.d.ts +2 -2
  194. package/lib/db/Models/property/property-category.d.ts +2 -2
  195. package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -2
  196. package/lib/db/Models/property/property-share.d.ts +2 -2
  197. package/lib/db/Models/spare/spare-document-category.d.ts +7 -0
  198. package/lib/db/Models/spare/spare-document.d.ts +16 -0
  199. package/lib/db/Models/tax-calculation.d.ts +19 -0
  200. package/lib/db/Models/transaction/transaction-base.d.ts +2 -2
  201. package/lib/interfaces/index.d.ts +17 -0
  202. package/lib/models/bank/basiq/basiq-token.d.ts +2 -1
  203. package/lib/models/borrowing-expense/index.d.ts +2 -0
  204. package/lib/models/chart-accounts/index.d.ts +1 -1
  205. package/lib/models/chat/index.d.ts +4 -0
  206. package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts +7 -0
  207. package/lib/models/depreciation/index.d.ts +9 -0
  208. package/lib/models/dictionary/index.d.ts +1 -0
  209. package/lib/models/event/app-event-type.enum.d.ts +67 -69
  210. package/lib/models/event/index.d.ts +2 -0
  211. package/lib/models/financial-year/index.d.ts +4 -0
  212. package/lib/models/index.d.ts +11 -1
  213. package/lib/models/loan/index.d.ts +4 -0
  214. package/lib/models/notification/index.d.ts +1 -0
  215. package/lib/models/property/index.d.ts +17 -0
  216. package/lib/models/property/property.d.ts +0 -2
  217. package/lib/models/user/index.d.ts +9 -0
  218. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +10 -25
  219. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +18 -8
  220. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +10 -13
  221. package/lib/services/http/bank/bank.service.d.ts +10 -7
  222. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +10 -9
  223. package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -15
  224. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +8 -10
  225. package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +11 -24
  226. package/lib/services/http/chat/chat.service.d.ts +12 -11
  227. package/lib/services/http/chat/index.d.ts +2 -2
  228. package/lib/services/http/chat/message-document.service.d.ts +35 -0
  229. package/lib/services/http/chat/message.service.d.ts +38 -0
  230. package/lib/services/http/depreciation/depreciation.service.d.ts +12 -23
  231. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +3 -0
  232. package/lib/services/http/loan/loan.service.d.ts +16 -29
  233. package/lib/services/http/property/property-category/property-category.service.d.ts +8 -5
  234. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +8 -10
  235. package/lib/services/http/property/property-document/property-document.service.d.ts +9 -11
  236. package/lib/services/http/property/property-sale/property-sale.service.d.ts +8 -14
  237. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +9 -6
  238. package/lib/services/http/property/property-share/property-share.service.d.ts +10 -22
  239. package/lib/services/http/property/property.service.d.ts +9 -9
  240. package/lib/services/http/rest/rest.service.d.ts +6 -4
  241. package/lib/services/report/property/property-transaction-report.service.d.ts +2 -3
  242. package/package.json +1 -1
  243. package/public-api.d.ts +0 -84
  244. package/esm2015/lib/collections/chat.collection.js +0 -26
  245. package/esm2015/lib/collections/message-document.collection.js +0 -13
  246. package/esm2015/lib/collections/message.collection.js +0 -33
  247. package/esm2015/lib/services/http/chat/message/index.js +0 -2
  248. package/esm2015/lib/services/http/chat/message/message.service.js +0 -61
  249. package/esm2015/lib/services/http/chat/message-document/index.js +0 -2
  250. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +0 -118
  251. package/lib/services/http/chat/message/index.d.ts +0 -1
  252. package/lib/services/http/chat/message/message.service.d.ts +0 -28
  253. package/lib/services/http/chat/message-document/index.d.ts +0 -1
  254. package/lib/services/http/chat/message-document/message-document.service.d.ts +0 -50
@@ -1,7 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { Bank } from '../../../models/bank/bank';
3
- import { RestService } from '../rest/rest-old.service';
2
+ import { Bank } from '../../../models';
3
+ import { RestService } from '../rest';
4
4
  import { map } from 'rxjs/operators';
5
+ import { Collection } from '../../../collections';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Service that handling banks logic
@@ -10,22 +11,26 @@ export class BankService extends RestService {
10
11
  constructor() {
11
12
  super(...arguments);
12
13
  this.modelClass = Bank;
13
- this.url = 'banks';
14
- this.isHydra = true;
14
+ this.collectionClass = Collection;
15
+ this.endpointUri = 'banks';
16
+ this.isApiPlatform = true;
17
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
15
18
  }
16
19
  get() {
17
- return super.get().pipe(map((banks) => {
20
+ return super.get()
21
+ .pipe(map((banks) => {
18
22
  // exclude basiq banks without login fields (basiq may return broken banks without loginFields)
19
- return banks.filter((bank) => bank.isManual || (bank.externalId && bank.loginFields));
23
+ // @TODO Vik/Nikita: do it on backend
24
+ return banks.filter((bank) => bank.isManual || (!!bank.externalId && !!bank.loginFields));
20
25
  }));
21
26
  }
22
27
  }
23
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, decorators: [{
28
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
29
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, decorators: [{
26
31
  type: Injectable,
27
32
  args: [{
28
33
  providedIn: 'root'
29
34
  }]
30
35
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJCO0lBSDVEOztRQUlFLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztLQVV6QjtJQVJDLEdBQUc7UUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3JCLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3BCLCtGQUErRjtZQUMvRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzt5R0FaVSxXQUFXOzZHQUFYLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFuayBhcyBCYW5rQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmsnO1xuaW1wb3J0IHsgQmFuayB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmsnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBoYW5kbGluZyBiYW5rcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtCYXNlLCBCYW5rPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBCYW5rID0gQmFuaztcbiAgdXJsOiBzdHJpbmcgPSAnYmFua3MnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQoKTogT2JzZXJ2YWJsZTxCYW5rW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoYmFua3M6IEJhbmtbXSkgPT4ge1xuICAgICAgICAvLyBleGNsdWRlIGJhc2lxIGJhbmtzIHdpdGhvdXQgbG9naW4gZmllbGRzIChiYXNpcSBtYXkgcmV0dXJuIGJyb2tlbiBiYW5rcyB3aXRob3V0IGxvZ2luRmllbGRzKVxuICAgICAgICByZXR1cm4gYmFua3MuZmlsdGVyKChiYW5rOiBCYW5rKSA9PiBiYW5rLmlzTWFudWFsIHx8IChiYW5rLmV4dGVybmFsSWQgJiYgYmFuay5sb2dpbkZpZWxkcykpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLFNBQVMsQ0FBQztBQUVsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVsRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBNkM7SUFIOUU7O1FBSUUsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFDL0Isb0JBQWUsR0FBc0IsVUFBVSxDQUFDO1FBQ2hELGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBQzlCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLG9CQUFlLEdBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztLQVluRztJQVZDLEdBQUc7UUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUU7YUFDZixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFO1lBQzlCLCtGQUErRjtZQUMvRixxQ0FBcUM7WUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOzt5R0FoQlUsV0FBVzs2R0FBWCxXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhbmsgYXMgQmFua0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgQmFuayB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdE1ldGhvZCB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxpbmcgYmFua3MgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua1NlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQmFzZSwgQmFuaywgQ29sbGVjdGlvbjxCYW5rPj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFuayA9IEJhbms7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENvbGxlY3Rpb24gPSBDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaTogc3RyaW5nID0gJ2JhbmtzJztcbiAgaXNBcGlQbGF0Zm9ybTogYm9vbGVhbiA9IHRydWU7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3Bvc3RCYXRjaCcsICdwdXQnLCAncHV0QmF0Y2gnLCAnZGVsZXRlJywgJ2RlbGV0ZUJhdGNoJ107XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbjxCYW5rPj4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua3M6IENvbGxlY3Rpb248QmFuaz4pID0+IHtcbiAgICAgICAgICAvLyBleGNsdWRlIGJhc2lxIGJhbmtzIHdpdGhvdXQgbG9naW4gZmllbGRzIChiYXNpcSBtYXkgcmV0dXJuIGJyb2tlbiBiYW5rcyB3aXRob3V0IGxvZ2luRmllbGRzKVxuICAgICAgICAgIC8vIEBUT0RPIFZpay9OaWtpdGE6IGRvIGl0IG9uIGJhY2tlbmRcbiAgICAgICAgICByZXR1cm4gYmFua3MuZmlsdGVyKChiYW5rOiBCYW5rKSA9PiBiYW5rLmlzTWFudWFsIHx8ICghIWJhbmsuZXh0ZXJuYWxJZCAmJiAhIWJhbmsubG9naW5GaWVsZHMpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,42 +1,39 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
1
+ import { Injectable } from '@angular/core';
3
2
  import { map } from 'rxjs/operators';
4
3
  import { BasiqToken } from '../../../../models';
4
+ import { RestService } from '../../rest';
5
+ import { Collection } from '../../../../collections';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- export class BasiqTokenService {
8
- constructor(http, environment) {
9
- this.http = http;
10
- this.environment = environment;
11
- this.cacheSubject = new ReplaySubject(1);
7
+ export class BasiqTokenService extends RestService {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.endpointUri = 'basiq/tokens';
11
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
12
12
  }
13
13
  /**
14
14
  * Access token to use basiq flow
15
15
  */
16
16
  get() {
17
- if (!this.cache || this.cache.isExpired()) {
18
- this.http.get(`${this.environment.apiV2}/basiq/tokens`)
17
+ if (!this.cache || this.cache.first.isExpired()) {
18
+ this.http.get(this.apiUrl)
19
19
  .pipe(map((response) => {
20
20
  const now = new Date().getTime();
21
21
  return new BasiqToken(response.access_token, new Date(now + response.expires_in * 1000));
22
22
  }))
23
23
  .subscribe((token) => {
24
- this.cache = token;
25
- this.cacheSubject.next(token);
24
+ this.cache = new Collection([token]);
25
+ this.cacheSubject.next(this.cache);
26
26
  });
27
27
  }
28
28
  return this.cacheSubject.asObservable();
29
29
  }
30
30
  }
31
- BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
32
- BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, decorators: [{
31
+ BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
+ BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
37
37
  }]
38
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
39
- type: Inject,
40
- args: ['environment']
41
- }] }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEtdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLG9CQUFvQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNZLElBQWdCLEVBQ08sV0FBZ0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNPLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBSm5ELGlCQUFZLEdBQThCLElBQUksYUFBYSxDQUFhLENBQUMsQ0FBQyxDQUFDO0lBS3ZFLENBQUM7SUFFTDs7T0FFRztJQUNILEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGVBQWUsQ0FBQztpQkFDcEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQTRCLEVBQWMsRUFBRTtnQkFFL0MsTUFBTSxHQUFHLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0YsQ0FBQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzsrR0E3QlUsaUJBQWlCLDRDQU1sQixhQUFhO21IQU5aLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJhc2lxVG9rZW4sIEJhc2lxVG9rZW5SZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhc2lxVG9rZW5TZXJ2aWNlIHtcbiAgY2FjaGU6IEJhc2lxVG9rZW47XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxCYXNpcVRva2VuPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7IH1cblxuICAvKipcbiAgICogQWNjZXNzIHRva2VuIHRvIHVzZSBiYXNpcSBmbG93XG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxCYXNpcVRva2VuPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlIHx8IHRoaXMuY2FjaGUuaXNFeHBpcmVkKCkpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdG9rZW5zYClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogQmFzaXFUb2tlblJlc3BvbnNlKTogQmFzaXFUb2tlbiA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IG5vdzogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEJhc2lxVG9rZW4ocmVzcG9uc2UuYWNjZXNzX3Rva2VuLCBuZXcgRGF0ZShub3cgKyByZXNwb25zZS5leHBpcmVzX2luICogMTAwMCkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodG9rZW46IEJhc2lxVG9rZW4pID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdG9rZW47XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0b2tlbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEtdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLG9CQUFvQixDQUFDO0FBQ3BFLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUtyRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBOEQ7SUFIckc7O1FBSVksZ0JBQVcsR0FBVyxjQUFjLENBQUM7UUFHL0Msb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBdUJuRztJQXJCQzs7T0FFRztJQUNILEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2lCQUN2QixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBNEIsRUFBYyxFQUFFO2dCQUUvQyxNQUFNLEdBQUcsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6QyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRixDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzsrR0ExQlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNpcVRva2VuLCBCYXNpcVRva2VuUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhc2lxVG9rZW5TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QWJzdHJhY3RNb2RlbCwgQmFzaXFUb2tlbiwgQ29sbGVjdGlvbjxCYXNpcVRva2VuPj4ge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmk6IHN0cmluZyA9ICdiYXNpcS90b2tlbnMnO1xuICBtb2RlbENsYXNzOiBhbnk7XG4gIGNvbGxlY3Rpb25DbGFzczogYW55O1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuICBcbiAgLyoqXG4gICAqIEFjY2VzcyB0b2tlbiB0byB1c2UgYmFzaXEgZmxvd1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8Q29sbGVjdGlvbjxCYXNpcVRva2VuPj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSB8fCB0aGlzLmNhY2hlLmZpcnN0LmlzRXhwaXJlZCgpKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpVXJsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNpcVRva2VuUmVzcG9uc2UpOiBCYXNpcVRva2VuID0+IHtcblxuICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQmFzaXFUb2tlbihyZXNwb25zZS5hY2Nlc3NfdG9rZW4sIG5ldyBEYXRlKG5vdyArIHJlc3BvbnNlLmV4cGlyZXNfaW4gKiAxMDAwKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogQmFzaXFUb2tlbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQ29sbGVjdGlvbihbdG9rZW5dKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,33 +1,31 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { filter, map } from 'rxjs/operators';
3
- import { RestService } from '../../rest/rest-old.service';
4
- import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
5
- import { BankAccountCollection } from '../../../../collections/bank-account.collection';
3
+ import { RestService } from '../../rest';
4
+ import { BankAccountCollection } from '../../../../collections';
6
5
  import { plainToClass } from 'class-transformer';
7
6
  import { UserEventTypeTypeEnum } from '../../../../db/Enums/user-event-type-type.enum';
8
- import { AppEvent } from '../../../../models/event/app-event';
9
- import { BankAccount, BasiqJobResponse } from '../../../../models';
7
+ import { AppEvent, AppEventTypeEnum, BankAccount, BasiqJobResponse } from '../../../../models';
10
8
  import * as i0 from "@angular/core";
11
9
  import * as i1 from "@angular/common/http";
12
- import * as i2 from "../../../event/event-dispatcher.service";
13
- import * as i3 from "../../../toast/toast.service";
14
- import * as i4 from "../bank-connection/bank-connection.service";
10
+ import * as i2 from "../../../event";
11
+ import * as i3 from "../bank-connection";
15
12
  /**
16
13
  * basiq is a middleman between bank and user
17
14
  * service is responsible for fetching bank related information
18
15
  */
19
16
  export class BasiqService extends RestService {
20
- constructor(http, eventDispatcherService, environment, toastService,
17
+ constructor(http, eventDispatcherService, environment,
21
18
  // this inject required to init bank connection service and listen basiq login event
22
19
  bankConnectionService) {
23
- super(http, eventDispatcherService, environment, toastService);
20
+ super(http, eventDispatcherService, environment);
24
21
  this.http = http;
25
22
  this.eventDispatcherService = eventDispatcherService;
26
23
  this.environment = environment;
27
- this.toastService = toastService;
28
24
  this.bankConnectionService = bankConnectionService;
29
- this.url = 'basiq/accounts';
25
+ this.endpointUri = 'basiq/accounts';
26
+ this.collectionClass = BankAccountCollection;
30
27
  this.modelClass = BankAccount;
28
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
31
29
  }
32
30
  /**
33
31
  * Listen events from Event Dispatcher service
@@ -53,16 +51,6 @@ export class BasiqService extends RestService {
53
51
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BASIQ_JOB_CREATED, data));
54
52
  });
55
53
  }
56
- getByConnection(connection) {
57
- return this.get().pipe(map((bankAccounts) => {
58
- return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
59
- }));
60
- }
61
- getNotImportedByConnection(savedAccounts, connection) {
62
- return this.getByConnection(connection).pipe(map((bankAccounts) => {
63
- return bankAccounts.removeBy('accountId', savedAccounts.mapBy('accountId'));
64
- }));
65
- }
66
54
  /**
67
55
  * Get status of credentials verifying. Expected statuses: 'in-progress', 'failed' or 'success'
68
56
  * We send this request by interval until basiq return success or failed.
@@ -121,9 +109,9 @@ BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
121
109
  * Basiq does not provide a hook, so we have to check job status manually every x seconds
122
110
  */
123
111
  BasiqService.bankCredintialsCheckInterval = 3000;
124
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
125
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
112
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
113
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, providedIn: 'root' });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, decorators: [{
127
115
  type: Injectable,
128
116
  args: [{
129
117
  providedIn: 'root'
@@ -131,5 +119,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
131
119
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
132
120
  type: Inject,
133
121
  args: ['environment']
134
- }] }, { type: i3.ToastService }, { type: i4.BankConnectionService }]; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQU9oRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFDTCxXQUFXLEVBQ29DLGdCQUFnQixFQUNoRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFFNUI7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF5QztJQVd6RSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN2QyxZQUEwQjtJQUNwQyxvRkFBb0Y7SUFDNUUscUJBQTRDO1FBRXBELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBUHJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFa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O2dCQUNMLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUMvRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFRLEVBQUU7WUFDakgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDL0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXlCLEVBQUUsRUFBRTtZQUN6RyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOztBQXZITSx3QkFBVyxHQUFXLHlCQUF5QixDQUFDO0FBRXZEOztHQUVHO0FBQ0kseUNBQTRCLEdBQVcsSUFBSSxDQUFDOzBHQU54QyxZQUFZLGtGQWNiLGFBQWE7OEdBZFosWUFBWSxjQUZYLE1BQU07NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Qtb2xkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFuay1jb25uZWN0aW9uL2JhbmstY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHtcbiAgQmFua0FjY291bnQsIEJhbmtDb25uZWN0aW9uLCBCYW5rTG9naW5EYXRhLFxuICBCYXNpcUNvbm5lY3Rpb25EYXRhLCBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UsIEJhc2lxSm9iUmVzcG9uc2Vcbn0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBiYXNpcSBpcyBhIG1pZGRsZW1hbiBiZXR3ZWVuIGJhbmsgYW5kIHVzZXJcbiAqIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGJhbmsgcmVsYXRlZCBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpcVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIGJhc2lxQXBpVXJsOiBzdHJpbmcgPSAnaHR0cHM6Ly9hdS1hcGkuYmFzaXEuaW8nO1xuXG4gIC8qKlxuICAgKiBCYXNpcSBkb2VzIG5vdCBwcm92aWRlIGEgaG9vaywgc28gd2UgaGF2ZSB0byBjaGVjayBqb2Igc3RhdHVzIG1hbnVhbGx5IGV2ZXJ5IHggc2Vjb25kc1xuICAgKi9cbiAgc3RhdGljIGJhbmtDcmVkaW50aWFsc0NoZWNrSW50ZXJ2YWw6IG51bWJlciA9IDMwMDA7XG5cbiAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgLy8gdGhpcyBpbmplY3QgcmVxdWlyZWQgdG8gaW5pdCBiYW5rIGNvbm5lY3Rpb24gc2VydmljZSBhbmQgbGlzdGVuIGJhc2lxIGxvZ2luIGV2ZW50XG4gICAgcHJpdmF0ZSBiYW5rQ29ubmVjdGlvblNlcnZpY2U6IEJhbmtDb25uZWN0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gICAgdGhpcy5saXN0ZW5Kb2JDcmVhdGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgYmFzaXEgbG9naW4gcHJvY2Vzcy5cbiAgICogQ3JlYXRlIGEgYmFzaXEgam9iLCB3aGljaCBjb250YWluIGNyZWRlbnRpYWxzIHZlcmlmeWluZyBzdGF0dXMuXG4gICAqIFdlIGNhbiBub3Qgc2VlIGxvZ2luIHJlc3VsdCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBtYXkgdGFrZSBzb21lIHRpbWUgKGF2ZXJhZ2UgMTAtMjAgc2VjKVxuICAgKi9cbiAgbG9naW4obG9naW5EYXRhOiBCYW5rTG9naW5EYXRhLCB1c2VySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5wb3N0KGAke0Jhc2lxU2VydmljZS5iYXNpcUFwaVVybH0vdXNlcnMvJHt1c2VySWR9L2Nvbm5lY3Rpb25zYCwgbG9naW5EYXRhKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2lxQ29ubmVjdGlvbnNSZXNwb25zZSkgPT4ge1xuICAgICAgICAvLyB3ZSBuZWVkIGpvYklkIHRvIGNoZWNrIGNyZWRlbnRpYWxzIHZlcmlmeWluZyBzdGF0aXMgZnJvbSBCYXNpcSBBUElcbiAgICAgICAgLy8gd2UgbmVlZCBjb25uZWN0aW9uSWQgdG8ga25vdyBpZiB3ZSBhcmUgY3JlYXRpbmcgYSBuZXcgY29ubmVjdGlvbiBvciByZWNvbm5lY3RpbmcgZXhpc3RpbmcgaW52YWxpZCBjb25uZWN0aW9uXG4gICAgICAgIGNvbnN0IGRhdGE6IEJhc2lxQ29ubmVjdGlvbkRhdGEgPSB7XG4gICAgICAgICAgam9iSWQ6IHJlc3BvbnNlLmlkLFxuICAgICAgICAgIGNvbm5lY3Rpb25JZDogbG9naW5EYXRhLmlkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0pPQl9DUkVBVEVELCBkYXRhKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldEJ5Q29ubmVjdGlvbihjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbik6IE9ic2VydmFibGU8QmFua0FjY291bnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQmFua0FjY291bnRDb2xsZWN0aW9uKGJhbmtBY2NvdW50cykuZmlsdGVyQnkoJ2JhbmtDb25uZWN0aW9uLmlkJywgY29ubmVjdGlvbi5pZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXROb3RJbXBvcnRlZEJ5Q29ubmVjdGlvbihzYXZlZEFjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sIGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudENvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNvbm5lY3Rpb24oY29ubmVjdGlvbikucGlwZShcbiAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50cy5yZW1vdmVCeSgnYWNjb3VudElkJywgc2F2ZWRBY2NvdW50cy5tYXBCeSgnYWNjb3VudElkJykpO1xuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgKiBHZXQgc3RhdHVzIG9mIGNyZWRlbnRpYWxzIHZlcmlmeWluZy4gRXhwZWN0ZWQgc3RhdHVzZXM6ICdpbi1wcm9ncmVzcycsICdmYWlsZWQnIG9yICdzdWNjZXNzJ1xuICAqIFdlIHNlbmQgdGhpcyByZXF1ZXN0IGJ5IGludGVydmFsIHVudGlsIGJhc2lxIHJldHVybiBzdWNjZXNzIG9yIGZhaWxlZC5cbiAgKlxuICAqIEJlY2F1c2Ugb2YgQmFzaXEgbG9naW4gbWF5IHRha2UgYSBsb25nIHRpbWUgKDEwLTIwc2VjKSB3ZSBoYXZlIHRvIGNoZWNrIGpvYiBzdGF0dXMgdW50aWwgaXQgc2VjY2VzcyBvciBmYWlsZWQuXG4gICpcbiAgKiBAVE9ETyBBbGV4IChUVC0yNDMxKTogY2hlY2sgbG9naWMgYW5kIHRyeSB0byByZW1vdmUgc3Vic2NyaWJlLCB1c2UgcGlwZXMgaW5zdGVhZFxuICAqIEBUT0RPIEFsZXggKFRULTI0MzEpOiBpbXBsZW1lbnQgc29tZSBsaW1pdCBhbmQgaGFuZGxlIChtZXNzYWdlIG9yIHNvbWV0aGluZykgaWYgYmFzaXEgc3R1Y2tcbiAgKiBAVE9ETyBBbGV4IChUVC0yNDMxKTogY2hlY2sgbG9naWMgYW5kIGhhbmRsZSBjYXNlIHdoZW4gdXNlciBjYW5jZWxsZWQgbG9hZGluZ1xuICAqL1xuICBwcml2YXRlIGNoZWNrTG9naW5TdGF0dXMoZGF0YTogQmFzaXFDb25uZWN0aW9uRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5nZXQoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS9qb2JzLyR7ZGF0YS5qb2JJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGdldCB2ZXJpZnktY3JlZGVudGlhbHMgc3RlcCBmcm9tIGJhc2lxIGpvYlxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhCYXNpcUpvYlJlc3BvbnNlLCByZXNwb25zZSkpLFxuICAgICAgICAvLyBjaGVjayBjcmVkZW50aWFscyBzdGF0dXMgYWdhaW4gaWYgbm90IGZpbmlzaGVkXG4gICAgICAgIGZpbHRlcigocmVzcG9uc2U6IEJhc2lxSm9iUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlLmdldFZlcmlmeUNyZWRlbnRpYWxzU3RlcCgpLmlzSW5Qcm9ncmVzcygpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tMb2dpblN0YXR1cyhkYXRhKTtcbiAgICAgICAgICB9LCBCYXNpcVNlcnZpY2UuYmFua0NyZWRpbnRpYWxzQ2hlY2tJbnRlcnZhbCk7XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzaXFKb2JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZ2V0VmVyaWZ5Q3JlZGVudGlhbHNTdGVwKCkuaXNTdWNjZXNzKCkpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfTE9HSU5fU1VDQ0VTUywgZGF0YSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9MT0dJTl9GQUlMRUQsIG51bGwpKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgY2hlY2sgam9iIGNyZWRlbnRpYWwgc3RhdHVzIHdoZW4gaXQgY3JlYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Kb2JDcmVhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0pPQl9DUkVBVEVEKS5zdWJzY3JpYmUoKGRhdGE6IEJhc2lxQ29ubmVjdGlvbkRhdGEpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tMb2dpblN0YXR1cyhkYXRhKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
122
+ }] }, { type: i3.BankConnectionService }]; } });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFLckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLFdBQVcsRUFDb0MsZ0JBQWdCLEVBRWhFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRTVCOzs7R0FHRztBQUlILE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBZ0U7SUFhaEcsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7SUFDakQsb0ZBQW9GO0lBQzVFLHFCQUE0QztRQUVwRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUV6QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBVjVDLGdCQUFXLEdBQVcsZ0JBQWdCLENBQUM7UUFDakQsb0JBQWUsR0FBaUMscUJBQXFCLENBQUM7UUFDdEUsZUFBVSxHQUF1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QUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF5QixFQUFFLEVBQUU7WUFDekcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7QUF4R00sd0JBQVcsR0FBVyx5QkFBeUIsQ0FBQztBQUV2RDs7R0FFRztBQUNJLHlDQUE0QixHQUFXLElBQUksQ0FBQzswR0FOeEMsWUFBWSxrRkFnQmIsYUFBYTs4R0FoQlosWUFBWSxjQUZYLE1BQU07NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWlCSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgYXMgQmFua0FjY291bnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9iYW5rLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQge1xuICBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSxcbiAgQmFua0FjY291bnQsIEJhbmtMb2dpbkRhdGEsXG4gIEJhc2lxQ29ubmVjdGlvbkRhdGEsIEJhc2lxQ29ubmVjdGlvbnNSZXNwb25zZSwgQmFzaXFKb2JSZXNwb25zZSxcbiAgTm90aWZpY2F0aW9uXG59IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudCwgQmFua0FjY291bnRDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIGJhc2lxQXBpVXJsOiBzdHJpbmcgPSAnaHR0cHM6Ly9hdS1hcGkuYmFzaXEuaW8nO1xuXG4gIC8qKlxuICAgKiBCYXNpcSBkb2VzIG5vdCBwcm92aWRlIGEgaG9vaywgc28gd2UgaGF2ZSB0byBjaGVjayBqb2Igc3RhdHVzIG1hbnVhbGx5IGV2ZXJ5IHggc2Vjb25kc1xuICAgKi9cbiAgc3RhdGljIGJhbmtDcmVkaW50aWFsc0NoZWNrSW50ZXJ2YWw6IG51bWJlciA9IDMwMDA7XG5cbiAgcHJvdGVjdGVkIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBCYW5rQWNjb3VudENvbGxlY3Rpb24gPSBCYW5rQWNjb3VudENvbGxlY3Rpb247XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBCYW5rQWNjb3VudCA9IEJhbmtBY2NvdW50O1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgLy8gdGhpcyBpbmplY3QgcmVxdWlyZWQgdG8gaW5pdCBiYW5rIGNvbm5lY3Rpb24gc2VydmljZSBhbmQgbGlzdGVuIGJhc2lxIGxvZ2luIGV2ZW50XG4gICAgcHJpdmF0ZSBiYW5rQ29ubmVjdGlvblNlcnZpY2U6IEJhbmtDb25uZWN0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZVxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICAgIHRoaXMubGlzdGVuSm9iQ3JlYXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGJhc2lxIGxvZ2luIHByb2Nlc3MuXG4gICAqIENyZWF0ZSBhIGJhc2lxIGpvYiwgd2hpY2ggY29udGFpbiBjcmVkZW50aWFscyB2ZXJpZnlpbmcgc3RhdHVzLlxuICAgKiBXZSBjYW4gbm90IHNlZSBsb2dpbiByZXN1bHQgaW1tZWRpYXRlbHksIGJlY2F1c2UgaXQgbWF5IHRha2Ugc29tZSB0aW1lIChhdmVyYWdlIDEwLTIwIHNlYylcbiAgICovXG4gIGxvZ2luKGxvZ2luRGF0YTogQmFua0xvZ2luRGF0YSwgdXNlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHAucG9zdChgJHtCYXNpcVNlcnZpY2UuYmFzaXFBcGlVcmx9L3VzZXJzLyR7dXNlcklkfS9jb25uZWN0aW9uc2AsIGxvZ2luRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgLy8gd2UgbmVlZCBqb2JJZCB0byBjaGVjayBjcmVkZW50aWFscyB2ZXJpZnlpbmcgc3RhdGlzIGZyb20gQmFzaXEgQVBJXG4gICAgICAgIC8vIHdlIG5lZWQgY29ubmVjdGlvbklkIHRvIGtub3cgaWYgd2UgYXJlIGNyZWF0aW5nIGEgbmV3IGNvbm5lY3Rpb24gb3IgcmVjb25uZWN0aW5nIGV4aXN0aW5nIGludmFsaWQgY29ubmVjdGlvblxuICAgICAgICBjb25zdCBkYXRhOiBCYXNpcUNvbm5lY3Rpb25EYXRhID0ge1xuICAgICAgICAgIGpvYklkOiByZXNwb25zZS5pZCxcbiAgICAgICAgICBjb25uZWN0aW9uSWQ6IGxvZ2luRGF0YS5pZFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9KT0JfQ1JFQVRFRCwgZGF0YSkpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgKiBHZXQgc3RhdHVzIG9mIGNyZWRlbnRpYWxzIHZlcmlmeWluZy4gRXhwZWN0ZWQgc3RhdHVzZXM6ICdpbi1wcm9ncmVzcycsICdmYWlsZWQnIG9yICdzdWNjZXNzJ1xuICAqIFdlIHNlbmQgdGhpcyByZXF1ZXN0IGJ5IGludGVydmFsIHVudGlsIGJhc2lxIHJldHVybiBzdWNjZXNzIG9yIGZhaWxlZC5cbiAgKlxuICAqIEJlY2F1c2Ugb2YgQmFzaXEgbG9naW4gbWF5IHRha2UgYSBsb25nIHRpbWUgKDEwLTIwc2VjKSB3ZSBoYXZlIHRvIGNoZWNrIGpvYiBzdGF0dXMgdW50aWwgaXQgc2VjY2VzcyBvciBmYWlsZWQuXG4gICpcbiAgKiBAVE9ETyBBbGV4IChUVC0yNDMxKTogY2hlY2sgbG9naWMgYW5kIHRyeSB0byByZW1vdmUgc3Vic2NyaWJlLCB1c2UgcGlwZXMgaW5zdGVhZFxuICAqIEBUT0RPIEFsZXggKFRULTI0MzEpOiBpbXBsZW1lbnQgc29tZSBsaW1pdCBhbmQgaGFuZGxlIChtZXNzYWdlIG9yIHNvbWV0aGluZykgaWYgYmFzaXEgc3R1Y2tcbiAgKiBAVE9ETyBBbGV4IChUVC0yNDMxKTogY2hlY2sgbG9naWMgYW5kIGhhbmRsZSBjYXNlIHdoZW4gdXNlciBjYW5jZWxsZWQgbG9hZGluZ1xuICAqL1xuICBwcml2YXRlIGNoZWNrTG9naW5TdGF0dXMoZGF0YTogQmFzaXFDb25uZWN0aW9uRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5nZXQoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS9qb2JzLyR7ZGF0YS5qb2JJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGdldCB2ZXJpZnktY3JlZGVudGlhbHMgc3RlcCBmcm9tIGJhc2lxIGpvYlxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhCYXNpcUpvYlJlc3BvbnNlLCByZXNwb25zZSkpLFxuICAgICAgICAvLyBjaGVjayBjcmVkZW50aWFscyBzdGF0dXMgYWdhaW4gaWYgbm90IGZpbmlzaGVkXG4gICAgICAgIGZpbHRlcigocmVzcG9uc2U6IEJhc2lxSm9iUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlLmdldFZlcmlmeUNyZWRlbnRpYWxzU3RlcCgpLmlzSW5Qcm9ncmVzcygpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tMb2dpblN0YXR1cyhkYXRhKTtcbiAgICAgICAgICB9LCBCYXNpcVNlcnZpY2UuYmFua0NyZWRpbnRpYWxzQ2hlY2tJbnRlcnZhbCk7XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzaXFKb2JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZ2V0VmVyaWZ5Q3JlZGVudGlhbHNTdGVwKCkuaXNTdWNjZXNzKCkpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfTE9HSU5fU1VDQ0VTUywgZGF0YSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9MT0dJTl9GQUlMRUQsIG51bGwpKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgY2hlY2sgam9iIGNyZWRlbnRpYWwgc3RhdHVzIHdoZW4gaXQgY3JlYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Kb2JDcmVhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0pPQl9DUkVBVEVEKS5zdWJzY3JpYmUoKGRhdGE6IEJhc2lxQ29ubmVjdGlvbkRhdGEpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tMb2dpblN0YXR1cyhkYXRhKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,8 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { RestService } from '../../rest/rest-old.service';
3
- import { map } from 'rxjs/operators';
2
+ import { RestService } from '../../rest';
4
3
  import { ChartAccountsDepreciation } from '../../../../models';
5
- import { FinancialYear } from '../../../../models/financial-year/financial-year';
4
+ import { Collection } from '../../../../collections';
6
5
  import * as i0 from "@angular/core";
7
6
  /**
8
7
  * Service to work with depreciation chart accounts
@@ -10,29 +9,19 @@ import * as i0 from "@angular/core";
10
9
  export class ChartAccountsDepreciationService extends RestService {
11
10
  constructor() {
12
11
  super(...arguments);
13
- this.url = 'chart-accounts-depreciations';
12
+ this.endpointUri = 'chart-accounts-depreciations';
14
13
  this.modelClass = ChartAccountsDepreciation;
15
- this.isHydra = true;
16
- }
17
- /**
18
- * Get depreciation chart accounts for current financial year
19
- */
20
- getCurrent() {
21
- return this.get()
22
- .pipe(map((chartAccountsDepreciations) => {
23
- return chartAccountsDepreciations
24
- .find((chartAccountsDepreciation) => {
25
- return chartAccountsDepreciation.effectiveYear === new FinancialYear().year;
26
- });
27
- }));
14
+ this.collectionClass = Collection;
15
+ this.isApiPlatform = true;
16
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
28
17
  }
29
18
  }
30
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
19
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
20
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
33
22
  type: Injectable,
34
23
  args: [{
35
24
  providedIn: 'root'
36
25
  }]
37
26
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFFakY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsV0FBcUU7SUFIM0g7O1FBSUUsUUFBRyxHQUFXLDhCQUE4QixDQUFDO1FBQzdDLGVBQVUsR0FBcUMseUJBQXlCLENBQUM7UUFDekUsWUFBTyxHQUFZLElBQUksQ0FBQztLQWdCekI7SUFkQzs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsMEJBQXVELEVBQUUsRUFBRTtZQUM5RCxPQUFPLDBCQUEwQjtpQkFDOUIsSUFBSSxDQUFDLENBQUMseUJBQW9ELEVBQVcsRUFBRTtnQkFDdEUsT0FBTyx5QkFBeUIsQ0FBQyxhQUFhLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDOUUsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7OEhBbEJVLGdDQUFnQztrSUFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07NEZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gYXMgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbkJhc2UsIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24+IHtcbiAgdXJsOiBzdHJpbmcgPSAnY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uID0gQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbjtcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEdldCBkZXByZWNpYXRpb24gY2hhcnQgYWNjb3VudHMgZm9yIGN1cnJlbnQgZmluYW5jaWFsIHllYXJcbiAgICovXG4gIGdldEN1cnJlbnQoKTogT2JzZXJ2YWJsZTxDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25zOiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gY2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbnNcbiAgICAgICAgICAgIC5maW5kKChjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uOiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uLmVmZmVjdGl2ZVllYXIgPT09IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFckQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsV0FBNEc7SUFIbEs7O1FBSUUsZ0JBQVcsR0FBVyw4QkFBOEIsQ0FBQztRQUNyRCxlQUFVLEdBQXFDLHlCQUF5QixDQUFDO1FBQ3pFLG9CQUFlLEdBQXNCLFVBQVUsQ0FBQztRQUNoRCxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDbkc7OzhIQU5ZLGdDQUFnQztrSUFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07NEZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uIGFzIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBkZXByZWNpYXRpb24gY2hhcnQgYWNjb3VudHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uQmFzZSwgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiwgQ29sbGVjdGlvbjxDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uPj4ge1xuICBlbmRwb2ludFVyaTogc3RyaW5nID0gJ2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiA9IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb247XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENvbGxlY3Rpb24gPSBDb2xsZWN0aW9uO1xuICBpc0FwaVBsYXRmb3JtOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcbn1cbiJdfQ==
@@ -1,50 +1,29 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
1
+ import { Injectable } from '@angular/core';
3
2
  import { map } from 'rxjs/operators';
4
3
  import { plainToClass } from 'class-transformer';
5
4
  import { ChartAccounts, ChartAccountsHeading, CHART_ACCOUNTS_CATEGORIES } from '../../../models';
5
+ import { RestService } from '../rest';
6
+ import { ChartAccountsCollection } from '../../../collections';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
8
  /**
9
9
  * Chart accounts service
10
10
  */
11
- export class ChartAccountsService {
12
- constructor(http, environment) {
13
- this.http = http;
14
- this.environment = environment;
15
- this.chartAccountsSubject = new ReplaySubject(1);
11
+ export class ChartAccountsService extends RestService {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.endpointUri = 'chart-accounts';
15
+ this.modelClass = ChartAccounts;
16
+ this.collectionClass = ChartAccountsCollection;
17
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
16
18
  }
17
19
  /**
18
- * get all parent and child chart accounts and group it
20
+ * Get list of chart accounts headings by catogory with chart accounts inside
19
21
  */
20
- getChartAccounts() {
21
- if (!this._chartAccounts) {
22
- this._chartAccounts = [];
23
- this.http.get(`${this.environment.apiV2}/chart-accounts`)
24
- .pipe(map((response) => {
25
- return response.map((item) => plainToClass(ChartAccounts, item));
26
- }))
27
- .subscribe((chartAccounts) => {
28
- // Sort personal chart accounts by name (TT-1950)
29
- chartAccounts.sort((a, b) => {
30
- if (a.isPersonal() && b.isPersonal()) {
31
- return a.name > b.name ? 1 : -1;
32
- }
33
- return 0;
34
- });
35
- this._chartAccounts = chartAccounts;
36
- this.chartAccountsSubject.next(this._chartAccounts);
37
- });
38
- }
39
- return this.chartAccountsSubject.asObservable();
40
- }
41
- /**
42
- * Get list of chart accounts heading
43
- */
44
- getChartAccountsHeadings(categories = CHART_ACCOUNTS_CATEGORIES.all, chartAccountsIds) {
45
- return this.getChartAccounts()
22
+ getChartAccountsHeadings(categories = CHART_ACCOUNTS_CATEGORIES.all) {
23
+ return this.get()
46
24
  .pipe(map((chartAccounts) => {
47
- const filteredChartAccounts = chartAccounts.filter((ca) => categories.includes(ca.category) && (!chartAccountsIds || chartAccountsIds.includes(ca.id)));
25
+ const filteredChartAccounts = chartAccounts.toArray()
26
+ .filter((ca) => categories.includes(ca.category));
48
27
  const headings = [];
49
28
  filteredChartAccounts.forEach((ca) => {
50
29
  let heading = headings.find((h) => { var _a; return h.id === ((_a = ca.heading) === null || _a === void 0 ? void 0 : _a.id); });
@@ -58,36 +37,13 @@ export class ChartAccountsService {
58
37
  return headings;
59
38
  }));
60
39
  }
61
- /**
62
- * Get heading of chart accounts by it Id
63
- * @param id
64
- */
65
- getHeadingByChartAccountsId(id) {
66
- return this.getChartAccountsById(id)
67
- .pipe(map((chartAccounts) => {
68
- return chartAccounts.heading;
69
- }));
70
- }
71
- /**
72
- * Get chart accounts by Id
73
- * @param id
74
- */
75
- getChartAccountsById(id) {
76
- return this.getChartAccounts()
77
- .pipe(map((chartAccountsList) => {
78
- return chartAccountsList.find((chartAccounts) => chartAccounts.id === id);
79
- }));
80
- }
81
40
  }
82
- ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
83
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, decorators: [{
41
+ ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
42
+ ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, decorators: [{
85
44
  type: Injectable,
86
45
  args: [{
87
46
  providedIn: 'root'
88
47
  }]
89
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
90
- type: Inject,
91
- args: ['environment']
92
- }] }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWpHOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUNVLElBQWdCLEVBQ08sV0FBZ0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNPLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBSmpELHlCQUFvQixHQUFtQyxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7SUFNN0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssaUJBQWlCLENBQUM7aUJBQ3RELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUE0QixFQUFFLEVBQUU7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQXNCLEVBQUUsRUFBRSxDQUFD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QyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztrSEEzRlUsb0JBQW9CLDRDQU1yQixhQUFhO3NIQU5aLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIGFzIENoYXJ0QWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cywgQ2hhcnRBY2NvdW50c0hlYWRpbmcsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG4vKipcbiAqIENoYXJ0IGFjY291bnRzIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRBY2NvdW50c1NlcnZpY2Uge1xuICBfY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdO1xuICBjaGFydEFjY291bnRzU3ViamVjdDogUmVwbGF5U3ViamVjdDxDaGFydEFjY291bnRzW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8Q2hhcnRBY2NvdW50c1tdPigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGFsbCBwYXJlbnQgYW5kIGNoaWxkIGNoYXJ0IGFjY291bnRzIGFuZCBncm91cCBpdFxuICAgKi9cbiAgZ2V0Q2hhcnRBY2NvdW50cygpOiBPYnNlcnZhYmxlPENoYXJ0QWNjb3VudHNbXT4ge1xuICAgIGlmICghdGhpcy5fY2hhcnRBY2NvdW50cykge1xuICAgICAgdGhpcy5fY2hhcnRBY2NvdW50cyA9IFtdO1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9jaGFydC1hY2NvdW50c2ApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IENoYXJ0QWNjb3VudEJhc2VbXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLm1hcCgoaXRlbTogQ2hhcnRBY2NvdW50QmFzZSkgPT4gcGxhaW5Ub0NsYXNzKENoYXJ0QWNjb3VudHMsIGl0ZW0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNbXSkgPT4ge1xuICAgICAgICAgIC8vIFNvcnQgcGVyc29uYWwgY2hhcnQgYWNjb3VudHMgYnkgbmFtZSAoVFQtMTk1MClcbiAgICAgICAgICBjaGFydEFjY291bnRzLnNvcnQoKGE6IENoYXJ0QWNjb3VudHMsIGI6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgICAgICAgIGlmIChhLmlzUGVyc29uYWwoKSAmJiBiLmlzUGVyc29uYWwoKSkge1xuICAgICAgICAgICAgICByZXR1cm4gYS5uYW1lID4gYi5uYW1lID8gMSA6IC0xO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMuX2NoYXJ0QWNjb3VudHMgPSBjaGFydEFjY291bnRzO1xuICAgICAgICAgIHRoaXMuY2hhcnRBY2NvdW50c1N1YmplY3QubmV4dCh0aGlzLl9jaGFydEFjY291bnRzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgY2hhcnQgYWNjb3VudHMgaGVhZGluZ1xuICAgKi9cbiAgZ2V0Q2hhcnRBY2NvdW50c0hlYWRpbmdzKGNhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSA9IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuYWxsLCBjaGFydEFjY291bnRzSWRzPzogbnVtYmVyW10pOiBPYnNlcnZhYmxlPENoYXJ0QWNjb3VudHNIZWFkaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGFydEFjY291bnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdID0gY2hhcnRBY2NvdW50cy5maWx0ZXIoXG4gICAgICAgICAgICAoY2E6IENoYXJ0QWNjb3VudHMpID0+IGNhdGVnb3JpZXMuaW5jbHVkZXMoY2EuY2F0ZWdvcnkpICYmICghY2hhcnRBY2NvdW50c0lkcyB8fCBjaGFydEFjY291bnRzSWRzLmluY2x1ZGVzKGNhLmlkKSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGhlYWRpbmdzOiBDaGFydEFjY291bnRzSGVhZGluZ1tdID0gW107XG5cbiAgICAgICAgICBmaWx0ZXJlZENoYXJ0QWNjb3VudHMuZm9yRWFjaCgoY2E6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgICAgICAgIGxldCBoZWFkaW5nOiBDaGFydEFjY291bnRzSGVhZGluZyA9IGhlYWRpbmdzLmZpbmQoKGg6IENoYXJ0QWNjb3VudHNIZWFkaW5nKSA9PiBoLmlkID09PSBjYS5oZWFkaW5nPy5pZCk7XG5cbiAgICAgICAgICAgIGlmICghaGVhZGluZykge1xuICAgICAgICAgICAgICBoZWFkaW5nID0gcGxhaW5Ub0NsYXNzKENoYXJ0QWNjb3VudHNIZWFkaW5nLCBjYS5oZWFkaW5nKTtcbiAgICAgICAgICAgICAgaGVhZGluZy5jaGFydEFjY291bnRzID0gW107XG4gICAgICAgICAgICAgIGhlYWRpbmdzLnB1c2goaGVhZGluZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGhlYWRpbmcuY2hhcnRBY2NvdW50cy5wdXNoKGNhKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBoZWFkaW5nIG9mIGNoYXJ0IGFjY291bnRzIGJ5IGl0IElkXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgZ2V0SGVhZGluZ0J5Q2hhcnRBY2NvdW50c0lkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENoYXJ0QWNjb3VudHNIZWFkaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hhcnRBY2NvdW50c0J5SWQoaWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNoYXJ0QWNjb3VudHMuaGVhZGluZztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIGJ5IElkXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgZ2V0Q2hhcnRBY2NvdW50c0J5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q2hhcnRBY2NvdW50cz4ge1xuICAgIHJldHVybiB0aGlzLmdldENoYXJ0QWNjb3VudHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoY2hhcnRBY2NvdW50c0xpc3Q6IENoYXJ0QWNjb3VudHNbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBjaGFydEFjY291bnRzTGlzdC5maW5kKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiBjaGFydEFjY291bnRzLmlkID09PSBpZCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFzRTtJQUhoSDs7UUFJWSxnQkFBVyxHQUFXLGdCQUFnQixDQUFDO1FBQ2pELGVBQVUsR0FBeUIsYUFBYSxDQUFDO1FBQ2pELG9CQUFlLEdBQW1DLHVCQUF1QixDQUFDO1FBQzFFLG9CQUFlLEdBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztLQThCbkc7SUE1QkM7O09BRUc7SUFDSCx3QkFBd0IsQ0FBQyxhQUEwQyx5QkFBeUIsQ0FBQyxHQUFHO1FBQzlGLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxhQUFzQyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxxQkFBcUIsR0FBb0IsYUFBYSxDQUFDLE9BQU8sRUFBRTtpQkFDbkUsTUFBTSxDQUFDLENBQUMsRUFBaUIsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUVuRSxNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFDO1lBRTVDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQWlCLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxPQUFPLEdBQXlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUUsV0FBQyxPQUFBLENBQUMsQ0FBQyxFQUFFLE1BQUssTUFBQSxFQUFFLENBQUMsT0FBTywwQ0FBRSxFQUFFLENBQUEsQ0FBQSxFQUFBLENBQUMsQ0FBQztnQkFFeEcsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDWixPQUFPLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDekQsT0FBTyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3hCO2dCQUVELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7O2tIQWpDVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyBhcyBDaGFydEFjY291bnRzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzLCBDaGFydEFjY291bnRzSGVhZGluZywgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogQ2hhcnQgYWNjb3VudHMgc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENoYXJ0QWNjb3VudHNCYXNlLCBDaGFydEFjY291bnRzLCBDaGFydEFjY291bnRzQ29sbGVjdGlvbj4ge1xuICBwcm90ZWN0ZWQgZW5kcG9pbnRVcmk6IHN0cmluZyA9ICdjaGFydC1hY2NvdW50cyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGFydEFjY291bnRzID0gQ2hhcnRBY2NvdW50cztcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ2hhcnRBY2NvdW50c0NvbGxlY3Rpb24gPSBDaGFydEFjY291bnRzQ29sbGVjdGlvbjtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3MgYnkgY2F0b2dvcnkgd2l0aCBjaGFydCBhY2NvdW50cyBpbnNpZGVcbiAgICovXG4gIGdldENoYXJ0QWNjb3VudHNIZWFkaW5ncyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10gPSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmFsbCk6IE9ic2VydmFibGU8Q2hhcnRBY2NvdW50c0hlYWRpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdID0gY2hhcnRBY2NvdW50cy50b0FycmF5KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGNhOiBDaGFydEFjY291bnRzKSA9PiBjYXRlZ29yaWVzLmluY2x1ZGVzKGNhLmNhdGVnb3J5KSk7XG5cbiAgICAgICAgICBjb25zdCBoZWFkaW5nczogQ2hhcnRBY2NvdW50c0hlYWRpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgZmlsdGVyZWRDaGFydEFjY291bnRzLmZvckVhY2goKGNhOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICAgICAgICBsZXQgaGVhZGluZzogQ2hhcnRBY2NvdW50c0hlYWRpbmcgPSBoZWFkaW5ncy5maW5kKChoOiBDaGFydEFjY291bnRzSGVhZGluZykgPT4gaC5pZCA9PT0gY2EuaGVhZGluZz8uaWQpO1xuXG4gICAgICAgICAgICBpZiAoIWhlYWRpbmcpIHtcbiAgICAgICAgICAgICAgaGVhZGluZyA9IHBsYWluVG9DbGFzcyhDaGFydEFjY291bnRzSGVhZGluZywgY2EuaGVhZGluZyk7XG4gICAgICAgICAgICAgIGhlYWRpbmcuY2hhcnRBY2NvdW50cyA9IFtdO1xuICAgICAgICAgICAgICBoZWFkaW5ncy5wdXNoKGhlYWRpbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoZWFkaW5nLmNoYXJ0QWNjb3VudHMucHVzaChjYSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gaGVhZGluZ3M7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,29 +1,26 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { RestService } from '../rest/rest-old.service';
3
- import cloneDeep from 'lodash/cloneDeep';
4
- import { replace } from '../../../functions/array';
2
+ import { RestService } from '../rest';
5
3
  import { plainToClass } from 'class-transformer';
6
- import { Chat } from '../../../models/chat/chat';
7
- import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
4
+ import { Chat, Message } from '../../../models';
5
+ import { ChatCollection } from '../../../collections';
8
6
  import * as i0 from "@angular/core";
9
7
  import * as i1 from "@angular/common/http";
10
- import * as i2 from "../../event/event-dispatcher.service";
11
- import * as i3 from "../../toast/toast.service";
12
- import * as i4 from "../../event/sse.service";
8
+ import * as i2 from "../../event";
13
9
  /**
14
10
  * Service for work with chats
15
11
  */
16
12
  export class ChatService extends RestService {
17
- constructor(http, eventDispatcherService, environment, toastService, sseService) {
18
- super(http, eventDispatcherService, environment, toastService);
13
+ constructor(http, eventDispatcherService, environment, sseService) {
14
+ super(http, eventDispatcherService, environment);
19
15
  this.http = http;
20
16
  this.eventDispatcherService = eventDispatcherService;
21
17
  this.environment = environment;
22
- this.toastService = toastService;
23
18
  this.sseService = sseService;
24
19
  this.modelClass = Chat;
25
- this.url = 'chats';
26
- this.isHydra = true;
20
+ this.collectionClass = ChatCollection;
21
+ this.endpointUri = 'chats';
22
+ this.isApiPlatform = true;
23
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
27
24
  this.listenChats();
28
25
  this.listenMessages();
29
26
  }
@@ -32,23 +29,23 @@ export class ChatService extends RestService {
32
29
  */
33
30
  listenChats() {
34
31
  this.sseService.on(`chats`).subscribe((chatBase) => {
35
- let cache = cloneDeep(this.cache);
32
+ let array = this.cache.toArray();
36
33
  // chat instance from event
37
34
  const eventChat = plainToClass(Chat, chatBase);
38
35
  // chat instance from cache
39
- const cachedChat = cache.find((chat) => chat.id === eventChat.id);
36
+ const cachedChat = array.find((chat) => chat.id === eventChat.id);
40
37
  switch (true) {
41
38
  // add new chat
42
39
  case (!cachedChat):
43
- cache.push(eventChat);
40
+ this.handleResponse([eventChat], 'post');
44
41
  break;
45
42
  // remove deactivated chat
46
43
  case !eventChat.isActive():
47
- cache = cache.filter((chat) => chat.id !== eventChat.id);
44
+ this.handleResponse([eventChat], 'delete');
48
45
  break;
49
46
  // update chat with new firm (reassign)
50
47
  case eventChat.employee.id !== cachedChat.employee.id:
51
- replace(cache, eventChat);
48
+ this.handleResponse([eventChat], 'put');
52
49
  break;
53
50
  // @TODO typing works bad with mat-tabs on user-area. Need to refactor typing functionality
54
51
  // update cache with typing user
@@ -56,27 +53,24 @@ export class ChatService extends RestService {
56
53
  // cachedChat.typingUsers.push(new User(eventChat.typingUser));
57
54
  // replace(cache, _.clone(cachedChat));
58
55
  }
59
- this.cache = cache;
60
- this.updateCache();
61
56
  });
62
57
  }
63
58
  /**
64
59
  * Update chat's 'updatedAt' field with the last chat's message date for chat list sorting
65
60
  */
66
61
  listenMessages() {
67
- this.eventDispatcherService.on(AppEventTypeEnum.MESSAGE_CREATED).subscribe((message) => {
68
- const cache = cloneDeep(this.cache);
62
+ this.listenCSE(Message, ['post'], (messages) => {
63
+ const message = messages[0];
64
+ const cache = this.cache.toArray();
69
65
  const updatedChat = cache.find((chat) => chat.id === message.chat.id);
70
66
  updatedChat.updatedAt = message.createdAt;
71
- replace(cache, updatedChat);
72
- this.cache = cache;
73
- this.updateCache();
67
+ this.handleResponse([updatedChat], 'put');
74
68
  });
75
69
  }
76
70
  }
77
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
78
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, decorators: [{
71
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
72
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, providedIn: 'root' });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, decorators: [{
80
74
  type: Injectable,
81
75
  args: [{
82
76
  providedIn: 'root'
@@ -84,5 +78,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
84
78
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
85
79
  type: Inject,
86
80
  args: ['environment']
87
- }] }, { type: i3.ToastService }, { type: i4.SseService }]; } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFFN0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJCO0lBSzFELFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCLEVBQzVCLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGhDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQVV0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFRLEVBQUU7WUFDakUsSUFBSSxLQUFLLEdBQVcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQywyQkFBMkI7WUFDM0IsTUFBTSxTQUFTLEdBQVMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRCwyQkFBMkI7WUFDM0IsTUFBTSxVQUFVLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFdkYsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osZUFBZTtnQkFDZixLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsMEJBQTBCO2dCQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtvQkFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2dCQUVSLHVDQUF1QztnQkFDdkMsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25ELE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQzFCLE1BQU07Z0JBRVIsMkZBQTJGO2dCQUMzRixnQ0FBZ0M7Z0JBQ2hDLFdBQVc7Z0JBQ1gsK0RBQStEO2dCQUMvRCx1Q0FBdUM7YUFDeEM7WUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQzlGLE1BQU0sS0FBSyxHQUFXLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxXQUFXLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLFdBQVcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUUxQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQXJFVSxXQUFXLGtGQVFaLGFBQWE7NkdBUlosV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhdCBhcyBDaGF0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2NoYXQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXQvY2hhdCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGF0L21lc3NhZ2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggY2hhdHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDaGF0QmFzZSwgQ2hhdD4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhdCA9IENoYXQ7XG4gIHVybDogc3RyaW5nID0gJ2NoYXRzJztcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICAgIHRoaXMubGlzdGVuQ2hhdHMoKTtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGNoYXRzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBjaGF0c2ApLnN1YnNjcmliZSgoY2hhdEJhc2U6IENoYXRCYXNlKTogdm9pZCA9PiB7XG4gICAgICBsZXQgY2FjaGU6IENoYXRbXSA9IGNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGNhY2hlLmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIGNhY2hlLnB1c2goZXZlbnRDaGF0KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyByZW1vdmUgZGVhY3RpdmF0ZWQgY2hhdFxuICAgICAgICBjYXNlICFldmVudENoYXQuaXNBY3RpdmUoKTpcbiAgICAgICAgICBjYWNoZSA9IGNhY2hlLmZpbHRlcigoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdC5pZCAhPT0gZXZlbnRDaGF0LmlkKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyB1cGRhdGUgY2hhdCB3aXRoIG5ldyBmaXJtIChyZWFzc2lnbilcbiAgICAgICAgY2FzZSBldmVudENoYXQuZW1wbG95ZWUuaWQgIT09IGNhY2hlZENoYXQuZW1wbG95ZWUuaWQ6XG4gICAgICAgICAgcmVwbGFjZShjYWNoZSwgZXZlbnRDaGF0KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBAVE9ETyB0eXBpbmcgd29ya3MgYmFkIHdpdGggbWF0LXRhYnMgb24gdXNlci1hcmVhLiBOZWVkIHRvIHJlZmFjdG9yIHR5cGluZyBmdW5jdGlvbmFsaXR5XG4gICAgICAgIC8vIHVwZGF0ZSBjYWNoZSB3aXRoIHR5cGluZyB1c2VyXG4gICAgICAgIC8vIGRlZmF1bHQ6XG4gICAgICAgIC8vIGNhY2hlZENoYXQudHlwaW5nVXNlcnMucHVzaChuZXcgVXNlcihldmVudENoYXQudHlwaW5nVXNlcikpO1xuICAgICAgICAvLyByZXBsYWNlKGNhY2hlLCBfLmNsb25lKGNhY2hlZENoYXQpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYWNoZSA9IGNhY2hlO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjaGF0J3MgJ3VwZGF0ZWRBdCcgZmllbGQgd2l0aCB0aGUgbGFzdCBjaGF0J3MgbWVzc2FnZSBkYXRlIGZvciBjaGF0IGxpc3Qgc29ydGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5NRVNTQUdFX0NSRUFURUQpLnN1YnNjcmliZSgobWVzc2FnZTogTWVzc2FnZSkgPT4ge1xuICAgICAgY29uc3QgY2FjaGU6IENoYXRbXSA9IGNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRDaGF0OiBDaGF0ID0gY2FjaGUuZmluZCgoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdC5pZCA9PT0gbWVzc2FnZS5jaGF0LmlkKTtcbiAgICAgIHVwZGF0ZWRDaGF0LnVwZGF0ZWRBdCA9IG1lc3NhZ2UuY3JlYXRlZEF0O1xuXG4gICAgICByZXBsYWNlKGNhY2hlLCB1cGRhdGVkQ2hhdCk7XG4gICAgICB0aGlzLmNhY2hlID0gY2FjaGU7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
81
+ }] }, { type: i2.SseService }]; } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFHdEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJDO0lBTzFFLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3pDLFVBQXNCO1FBRTlCLEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFMdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3pDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFWaEMsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFDL0Isb0JBQWUsR0FBMEIsY0FBYyxDQUFDO1FBQ3hELGdCQUFXLEdBQVcsT0FBTyxDQUFDO1FBQzlCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLG9CQUFlLEdBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVNoRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFRLEVBQUU7WUFDakUsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QywyQkFBMkI7WUFDM0IsTUFBTSxTQUFTLEdBQVMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRCwyQkFBMkI7WUFDM0IsTUFBTSxVQUFVLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFdkYsUUFBUSxJQUFJLEVBQUU7Z0JBQ1osZUFBZTtnQkFDZixLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDekMsTUFBTTtnQkFFUiwwQkFBMEI7Z0JBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO29CQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzNDLE1BQU07Z0JBRVIsdUNBQXVDO2dCQUN2QyxLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxNQUFNO2dCQUVSLDJGQUEyRjtnQkFDM0YsZ0NBQWdDO2dCQUNoQyxXQUFXO2dCQUNYLCtEQUErRDtnQkFDL0QsdUNBQXVDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFtQixFQUFFLEVBQUU7WUFDeEQsTUFBTSxPQUFPLEdBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsTUFBTSxXQUFXLEdBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVUsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTNGLFdBQVcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUUxQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5R0FuRVUsV0FBVyxrRkFVWixhQUFhOzZHQVZaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXQgYXMgQ2hhdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNzZVNlcnZpY2UsIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2hhdCwgTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDaGF0Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29yayB3aXRoIGNoYXRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2hhdEJhc2UsIENoYXQsIENoYXRDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIENoYXQgPSBDaGF0O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBDaGF0Q29sbGVjdGlvbiA9IENoYXRDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaTogc3RyaW5nID0gJ2NoYXRzJztcbiAgaXNBcGlQbGF0Zm9ybTogYm9vbGVhbiA9IHRydWU7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3Bvc3RCYXRjaCcsICdwdXQnLCAncHV0QmF0Y2gnLCAnZGVsZXRlJywgJ2RlbGV0ZUJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuQ2hhdHMoKTtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGNoYXRzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuQ2hhdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBjaGF0c2ApLnN1YnNjcmliZSgoY2hhdEJhc2U6IENoYXRCYXNlKTogdm9pZCA9PiB7XG4gICAgICBsZXQgYXJyYXk6IENoYXRbXSA9IHRoaXMuY2FjaGUudG9BcnJheSgpO1xuICAgICAgLy8gY2hhdCBpbnN0YW5jZSBmcm9tIGV2ZW50XG4gICAgICBjb25zdCBldmVudENoYXQ6IENoYXQgPSBwbGFpblRvQ2xhc3MoQ2hhdCwgY2hhdEJhc2UpO1xuICAgICAgLy8gY2hhdCBpbnN0YW5jZSBmcm9tIGNhY2hlXG4gICAgICBjb25zdCBjYWNoZWRDaGF0OiBDaGF0ID0gYXJyYXkuZmluZCgoY2hhdDogQ2hhdCk6IGJvb2xlYW4gPT4gY2hhdC5pZCA9PT0gZXZlbnRDaGF0LmlkKTtcblxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIC8vIGFkZCBuZXcgY2hhdFxuICAgICAgICBjYXNlICghY2FjaGVkQ2hhdCk6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ3Bvc3QnKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyByZW1vdmUgZGVhY3RpdmF0ZWQgY2hhdFxuICAgICAgICBjYXNlICFldmVudENoYXQuaXNBY3RpdmUoKTpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAnZGVsZXRlJyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gdXBkYXRlIGNoYXQgd2l0aCBuZXcgZmlybSAocmVhc3NpZ24pXG4gICAgICAgIGNhc2UgZXZlbnRDaGF0LmVtcGxveWVlLmlkICE9PSBjYWNoZWRDaGF0LmVtcGxveWVlLmlkOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdwdXQnKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBAVE9ETyB0eXBpbmcgd29ya3MgYmFkIHdpdGggbWF0LXRhYnMgb24gdXNlci1hcmVhLiBOZWVkIHRvIHJlZmFjdG9yIHR5cGluZyBmdW5jdGlvbmFsaXR5XG4gICAgICAgIC8vIHVwZGF0ZSBjYWNoZSB3aXRoIHR5cGluZyB1c2VyXG4gICAgICAgIC8vIGRlZmF1bHQ6XG4gICAgICAgIC8vIGNhY2hlZENoYXQudHlwaW5nVXNlcnMucHVzaChuZXcgVXNlcihldmVudENoYXQudHlwaW5nVXNlcikpO1xuICAgICAgICAvLyByZXBsYWNlKGNhY2hlLCBfLmNsb25lKGNhY2hlZENoYXQpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2hhdCdzICd1cGRhdGVkQXQnIGZpZWxkIHdpdGggdGhlIGxhc3QgY2hhdCdzIG1lc3NhZ2UgZGF0ZSBmb3IgY2hhdCBsaXN0IHNvcnRpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTWVzc2FnZXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DU0UoTWVzc2FnZSwgWydwb3N0J10sIChtZXNzYWdlczogTWVzc2FnZVtdKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gbWVzc2FnZXNbMF07XG4gICAgICBjb25zdCBjYWNoZTogQ2hhdFtdID0gdGhpcy5jYWNoZS50b0FycmF5KCk7XG4gICAgICBjb25zdCB1cGRhdGVkQ2hhdDogQ2hhdCA9IGNhY2hlLmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IG1lc3NhZ2UuY2hhdC5pZCk7XG5cbiAgICAgIHVwZGF0ZWRDaGF0LnVwZGF0ZWRBdCA9IG1lc3NhZ2UuY3JlYXRlZEF0O1xuXG4gICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFt1cGRhdGVkQ2hhdF0sICdwdXQnKTtcbiAgICB9KTtcbiAgfVxufVxuIl19