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,26 +0,0 @@
1
- import { Collection } from './collection';
2
- import { MessageCollection } from './message.collection';
3
- import uniqBy from 'lodash/uniqBy';
4
- import differenceBy from 'lodash/differenceBy';
5
- import { Dictionary } from '../models/dictionary/dictionary';
6
- import { ChatStatusEnum } from '../db/Enums/chat-status.enum';
7
- export class ChatCollection extends Collection {
8
- /**
9
- * Sort chats by last messages (newest first) + empty chats in the end
10
- */
11
- getSortedByNewest(messages) {
12
- const chatsById = new Dictionary(this.toArray());
13
- // get chats array sorted from newest to oldest
14
- const chats = uniqBy(new MessageCollection(messages)
15
- .filterBy('chat.id', this.getIds())
16
- .sortBy('createdAt', true)
17
- .toArray()
18
- .map((message) => chatsById.get(message.chat.id)), 'id');
19
- const emptyChats = differenceBy(this.toArray(), chats, 'id');
20
- return this.create([...chats, ...emptyChats]);
21
- }
22
- getActive() {
23
- return this.filterBy('status', ChatStatusEnum.ACTIVE);
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBZ0I7SUFDbEQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxRQUFtQjtRQUNuQyxNQUFNLFNBQVMsR0FBcUIsSUFBSSxVQUFVLENBQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFekUsK0NBQStDO1FBQy9DLE1BQU0sS0FBSyxHQUFXLE1BQU0sQ0FDMUIsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7YUFDNUIsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbEMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7YUFDekIsT0FBTyxFQUFFO2FBQ1QsR0FBRyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQzVELElBQUksQ0FBQyxDQUFDO1FBRVIsTUFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFckUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vbW9kZWxzL2NoYXQvY2hhdCc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5pbXBvcnQgeyBNZXNzYWdlQ29sbGVjdGlvbiB9IGZyb20gJy4vbWVzc2FnZS5jb2xsZWN0aW9uJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgZGlmZmVyZW5jZUJ5IGZyb20gJ2xvZGFzaC9kaWZmZXJlbmNlQnknO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uL21vZGVscy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgQ2hhdFN0YXR1c0VudW0gfSBmcm9tICcuLi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0IGNsYXNzIENoYXRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxDaGF0PiB7XG4gIC8qKlxuICAgKiBTb3J0IGNoYXRzIGJ5IGxhc3QgbWVzc2FnZXMgKG5ld2VzdCBmaXJzdCkgKyBlbXB0eSBjaGF0cyBpbiB0aGUgZW5kXG4gICAqL1xuICBnZXRTb3J0ZWRCeU5ld2VzdChtZXNzYWdlczogTWVzc2FnZVtdKTogdGhpcyB7XG4gICAgY29uc3QgY2hhdHNCeUlkOiBEaWN0aW9uYXJ5PENoYXQ+ID0gbmV3IERpY3Rpb25hcnk8Q2hhdD4odGhpcy50b0FycmF5KCkpO1xuXG4gICAgLy8gZ2V0IGNoYXRzIGFycmF5IHNvcnRlZCBmcm9tIG5ld2VzdCB0byBvbGRlc3RcbiAgICBjb25zdCBjaGF0czogQ2hhdFtdID0gdW5pcUJ5KFxuICAgICAgbmV3IE1lc3NhZ2VDb2xsZWN0aW9uKG1lc3NhZ2VzKVxuICAgICAgICAuZmlsdGVyQnkoJ2NoYXQuaWQnLCB0aGlzLmdldElkcygpKVxuICAgICAgICAuc29ydEJ5KCdjcmVhdGVkQXQnLCB0cnVlKVxuICAgICAgICAudG9BcnJheSgpXG4gICAgICAgIC5tYXAoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IGNoYXRzQnlJZC5nZXQobWVzc2FnZS5jaGF0LmlkKSksXG4gICAgICAnaWQnKTtcblxuICAgIGNvbnN0IGVtcHR5Q2hhdHM6IENoYXRbXSA9IGRpZmZlcmVuY2VCeSh0aGlzLnRvQXJyYXkoKSwgY2hhdHMsICdpZCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFsuLi5jaGF0cywgLi4uZW1wdHlDaGF0c10pO1xuICB9XG5cbiAgZ2V0QWN0aXZlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCdzdGF0dXMnLCBDaGF0U3RhdHVzRW51bS5BQ1RJVkUpO1xuICB9XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Collection } from './collection';
2
- /**
3
- * Collection of MessageDocument instances
4
- */
5
- export class MessageDocumentCollection extends Collection {
6
- /**
7
- * get list of documents which are not attached to any message
8
- */
9
- getUnattached() {
10
- return new MessageDocumentCollection(this.items.filter((doc) => !doc.message));
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UtZG9jdW1lbnQuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFVBQTJCO0lBQ3hFOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFvQixFQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vbW9kZWxzL2NoYXQvbWVzc2FnZS1kb2N1bWVudCc7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBNZXNzYWdlRG9jdW1lbnQgaW5zdGFuY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBNZXNzYWdlRG9jdW1lbnRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxNZXNzYWdlRG9jdW1lbnQ+IHtcbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGRvY3VtZW50cyB3aGljaCBhcmUgbm90IGF0dGFjaGVkIHRvIGFueSBtZXNzYWdlXG4gICAqL1xuICBnZXRVbmF0dGFjaGVkKCk6IE1lc3NhZ2VEb2N1bWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgTWVzc2FnZURvY3VtZW50Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkb2M6IE1lc3NhZ2VEb2N1bWVudCk6IGJvb2xlYW4gPT4gIWRvYy5tZXNzYWdlKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { Collection } from './collection';
2
- import uniqBy from 'lodash/uniqBy';
3
- export class MessageCollection extends Collection {
4
- getFirstUnreadMessage(user) {
5
- return this.items.find((message) => {
6
- return !message.isRead() && message.isFromEmployee() !== user.isEmployee();
7
- });
8
- }
9
- /**
10
- * Get List of unread chats
11
- */
12
- getUnread() {
13
- return this.items.filter((message) => !message.readAt);
14
- }
15
- getFromActiveChats() {
16
- return this.filter((message) => message.chat.isActive());
17
- }
18
- /**
19
- * Get amount of chats that contains unread messages
20
- */
21
- getUnreadChatsAmount(isFromEmployee = false) {
22
- // filtered messages for client/employee
23
- const filteredMessages = this.filter((message) => isFromEmployee ? message.isFromEmployee() : !message.isFromEmployee());
24
- return uniqBy(filteredMessages.getFromActiveChats().getUnread(), 'chat.id').length;
25
- }
26
- /**
27
- * Check if chat has unread chats
28
- */
29
- hasUnread() {
30
- return !!this.getUnread().length;
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUluQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBbUI7SUFDeEQscUJBQXFCLENBQUMsSUFBVTtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBZ0IsRUFBVyxFQUFFO1lBQ2pELE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3RSxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsaUJBQTBCLEtBQUs7UUFDbEQsd0NBQXdDO1FBQ3hDLE1BQU0sZ0JBQWdCLEdBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRXhJLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4uL21vZGVscy9jaGF0L21lc3NhZ2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL21vZGVscy91c2VyL3VzZXInO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gvdW5pcUJ5JztcbmltcG9ydCB7IENoYXQgfSBmcm9tICcuLi9tb2RlbHMvY2hhdC9jaGF0JztcblxuXG5leHBvcnQgY2xhc3MgTWVzc2FnZUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPE1lc3NhZ2U+IHtcbiAgZ2V0Rmlyc3RVbnJlYWRNZXNzYWdlKHVzZXI6IFVzZXIpOiBNZXNzYWdlIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiAhbWVzc2FnZS5pc1JlYWQoKSAmJiBtZXNzYWdlLmlzRnJvbUVtcGxveWVlKCkgIT09IHVzZXIuaXNFbXBsb3llZSgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IExpc3Qgb2YgdW5yZWFkIGNoYXRzXG4gICAqL1xuICBnZXRVbnJlYWQoKTogTWVzc2FnZVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuID0+ICFtZXNzYWdlLnJlYWRBdCk7XG4gIH1cblxuICBnZXRGcm9tQWN0aXZlQ2hhdHMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKSA9PiBtZXNzYWdlLmNoYXQuaXNBY3RpdmUoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFtb3VudCBvZiBjaGF0cyB0aGF0IGNvbnRhaW5zIHVucmVhZCBtZXNzYWdlc1xuICAgKi9cbiAgZ2V0VW5yZWFkQ2hhdHNBbW91bnQoaXNGcm9tRW1wbG95ZWU6IGJvb2xlYW4gPSBmYWxzZSk6IG51bWJlciB7XG4gICAgLy8gZmlsdGVyZWQgbWVzc2FnZXMgZm9yIGNsaWVudC9lbXBsb3llZVxuICAgIGNvbnN0IGZpbHRlcmVkTWVzc2FnZXM6IHRoaXMgPSB0aGlzLmZpbHRlcigobWVzc2FnZTogTWVzc2FnZSkgPT4gaXNGcm9tRW1wbG95ZWUgPyBtZXNzYWdlLmlzRnJvbUVtcGxveWVlKCkgOiAhbWVzc2FnZS5pc0Zyb21FbXBsb3llZSgpKTtcblxuICAgIHJldHVybiB1bmlxQnkoZmlsdGVyZWRNZXNzYWdlcy5nZXRGcm9tQWN0aXZlQ2hhdHMoKS5nZXRVbnJlYWQoKSwgJ2NoYXQuaWQnKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY2hhdCBoYXMgdW5yZWFkIGNoYXRzXG4gICAqL1xuICBoYXNVbnJlYWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRVbnJlYWQoKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './message.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9jaGF0L21lc3NhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import _ from 'lodash';
3
- import { replace } from '../../../../functions/array';
4
- import { plainToClass } from 'class-transformer';
5
- import { Message } from '../../../../models/chat/message';
6
- import { RestService } from '../../rest/rest-old.service';
7
- import { AppEvent } from '../../../../models/event/app-event';
8
- import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- import * as i2 from "../../../event/event-dispatcher.service";
12
- import * as i3 from "../../../toast/toast.service";
13
- import * as i4 from "../../../event/sse.service";
14
- /**
15
- * Service for work with messages
16
- */
17
- export class MessageService extends RestService {
18
- constructor(http, eventDispatcherService, environment, toastService, sseService) {
19
- super(http, eventDispatcherService, environment, toastService);
20
- this.http = http;
21
- this.eventDispatcherService = eventDispatcherService;
22
- this.environment = environment;
23
- this.toastService = toastService;
24
- this.sseService = sseService;
25
- this.modelClass = Message;
26
- this.url = 'messages';
27
- this.isHydra = true;
28
- this.listenMessages();
29
- }
30
- /**
31
- * subscribe to new chat messages
32
- */
33
- listenMessages() {
34
- this.sseService.on(`messages`).subscribe((messageBase) => {
35
- const message = plainToClass(Message, messageBase);
36
- const cache = _.clone(this.cache);
37
- // update existing message if read and add new message if not read
38
- if (message.isRead()) {
39
- replace(cache, message);
40
- }
41
- else {
42
- cache.push(message);
43
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.MESSAGE_CREATED, message));
44
- }
45
- this.cache = cache;
46
- this.cacheSubject.next(this.cache);
47
- });
48
- }
49
- }
50
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
51
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, providedIn: 'root' });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, decorators: [{
53
- type: Injectable,
54
- args: [{
55
- providedIn: 'root'
56
- }]
57
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
58
- type: Inject,
59
- args: ['environment']
60
- }] }, { type: i3.ToastService }, { type: i4.SseService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7O0FBR2hGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFpQztJQUtuRSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN2QyxZQUEwQixFQUM1QixVQUFzQjtRQUU5QixLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQU5yRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDdkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVRoQyxlQUFVLEdBQW1CLE9BQU8sQ0FBQztRQUNyQyxRQUFHLEdBQVcsVUFBVSxDQUFDO1FBQ3pCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFVdEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBd0IsRUFBUSxFQUFFO1lBQzFFLE1BQU0sT0FBTyxHQUFZLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDNUQsTUFBTSxLQUFLLEdBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0Msa0VBQWtFO1lBQ2xFLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNwQixPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDL0Y7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FqQ1UsY0FBYyxrRkFRZixhQUFhO2dIQVJaLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2UgYXMgTWVzc2FnZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9tZXNzYWdlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHdvcmsgd2l0aCBtZXNzYWdlc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPE1lc3NhZ2VCYXNlLCBNZXNzYWdlPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBNZXNzYWdlID0gTWVzc2FnZTtcbiAgdXJsOiBzdHJpbmcgPSAnbWVzc2FnZXMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQsIHRvYXN0U2VydmljZSk7XG4gICAgdGhpcy5saXN0ZW5NZXNzYWdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIHN1YnNjcmliZSB0byBuZXcgY2hhdCBtZXNzYWdlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5NZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYG1lc3NhZ2VzYCkuc3Vic2NyaWJlKChtZXNzYWdlQmFzZTogTWVzc2FnZUJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBwbGFpblRvQ2xhc3MoTWVzc2FnZSwgbWVzc2FnZUJhc2UpO1xuICAgICAgY29uc3QgY2FjaGU6IE1lc3NhZ2VbXSA9IF8uY2xvbmUodGhpcy5jYWNoZSk7XG4gICAgICAvLyB1cGRhdGUgZXhpc3RpbmcgbWVzc2FnZSBpZiByZWFkIGFuZCBhZGQgbmV3IG1lc3NhZ2UgaWYgbm90IHJlYWRcbiAgICAgIGlmIChtZXNzYWdlLmlzUmVhZCgpKSB7XG4gICAgICAgIHJlcGxhY2UoY2FjaGUsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGUucHVzaChtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLk1FU1NBR0VfQ1JFQVRFRCwgbWVzc2FnZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy5jYWNoZSA9IGNhY2hlO1xuICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './message-document.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9jaGF0L21lc3NhZ2UtZG9jdW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1kb2N1bWVudC5zZXJ2aWNlJztcbiJdfQ==
@@ -1,118 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { combineLatest, ReplaySubject } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import _ from 'lodash';
5
- import { plainToClass } from 'class-transformer';
6
- import { MessageDocument } from '../../../../models/chat/message-document';
7
- import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- import * as i2 from "../../../event/event-dispatcher.service";
11
- // @TODO improve base rest service and extend it
12
- /**
13
- * Service for work with Message Documents
14
- */
15
- export class MessageDocumentService {
16
- constructor(http, eventDispatcherService, environment) {
17
- this.http = http;
18
- this.eventDispatcherService = eventDispatcherService;
19
- this.environment = environment;
20
- this.url = 'message-documents';
21
- this.cacheSubject = new ReplaySubject();
22
- this.listenEvents();
23
- }
24
- /**
25
- * SSE and Event Dispatcher Services listeners
26
- */
27
- listenEvents() {
28
- this.listenMessages();
29
- }
30
- /**
31
- * listen new messages event to update documents cache
32
- */
33
- listenMessages() {
34
- this.eventDispatcherService.on(AppEventTypeEnum.MESSAGE_CREATED).subscribe((message) => {
35
- if (message.documents.length) {
36
- const cache = _.clone(this.cache);
37
- const documentsIds = this.cache.map((d) => d.id);
38
- message.documents.forEach((d) => {
39
- d.chat = message.chat;
40
- if (!documentsIds.includes(d.id)) {
41
- cache.push(...message.documents);
42
- }
43
- });
44
- this.cache = cache;
45
- this.cacheSubject.next(this.cache);
46
- }
47
- });
48
- }
49
- /**
50
- * get list of message documents
51
- */
52
- get() {
53
- if (!this.cache) {
54
- this.http.get(`${this.environment.apiV2}/${this.url}`)
55
- .pipe(map((response) => {
56
- return response['hydra:member'].map((docBase) => plainToClass(MessageDocument, docBase));
57
- }))
58
- .subscribe((documents) => {
59
- this.cache = documents;
60
- this.cacheSubject.next(this.cache);
61
- });
62
- }
63
- return this.cacheSubject.asObservable();
64
- }
65
- /**
66
- * Upload file to chat
67
- * @param chatId
68
- * @param file
69
- */
70
- add(chatId, file) {
71
- const formData = new FormData();
72
- formData.append('file', file);
73
- formData.append('chat', chatId.toString());
74
- return this.http.post(`${this.environment.apiV2}/${this.url}`, formData)
75
- .pipe(map((documentBase) => {
76
- const document = plainToClass(MessageDocument, documentBase);
77
- const cache = _.clone(this.cache);
78
- cache.push(document);
79
- this.cache = cache;
80
- this.cacheSubject.next(this.cache);
81
- return document;
82
- }));
83
- }
84
- /**
85
- * Upload multiple files to chat
86
- * @param chatId
87
- * @param files
88
- */
89
- addBatch(chatId, files) {
90
- return combineLatest(files.map((file) => this.add(chatId, file))).pipe(map((docsBase) => {
91
- return docsBase.map((docBase) => plainToClass(MessageDocument, docBase));
92
- }));
93
- }
94
- /**
95
- * Delete uploaded chat document
96
- * @param chatId
97
- * @param documentId
98
- */
99
- delete(chatId, documentId) {
100
- return this.http.delete(`${this.environment.apiV2}/${this.url}/${documentId}`)
101
- .pipe(map(() => {
102
- this.cache = this.cache.filter((document) => document.id !== documentId);
103
- this.cacheSubject.next(this.cache);
104
- }));
105
- }
106
- }
107
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
108
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, decorators: [{
110
- type: Injectable,
111
- args: [{
112
- providedIn: 'root'
113
- }]
114
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
115
- type: Inject,
116
- args: ['environment']
117
- }] }]; } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kb2N1bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLWRvY3VtZW50L21lc3NhZ2UtZG9jdW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFHaEYsZ0RBQWdEO0FBQ2hEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxZQUNVLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQakQsUUFBRyxHQUFXLG1CQUFtQixDQUFDO1FBRWxDLGlCQUFZLEdBQThELElBQUksYUFBYSxFQUE4QyxDQUFDO1FBT3hJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJ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c0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VEb2N1bWVudCBhcyBNZXNzYWdlRG9jdW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vbWVzc2FnZS1kb2N1bWVudCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgTWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NoYXQvbWVzc2FnZS1kb2N1bWVudCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5cbi8vIEBUT0RPIGltcHJvdmUgYmFzZSByZXN0IHNlcnZpY2UgYW5kIGV4dGVuZCBpdFxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggTWVzc2FnZSBEb2N1bWVudHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZURvY3VtZW50U2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgdXJsOiBzdHJpbmcgPSAnbWVzc2FnZS1kb2N1bWVudHMnO1xuICBjYWNoZTogUmVhZG9ubHk8QXJyYXk8UmVhZG9ubHk8TWVzc2FnZURvY3VtZW50Pj4+O1xuICBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8UmVhZG9ubHk8QXJyYXk8UmVhZG9ubHk8TWVzc2FnZURvY3VtZW50Pj4+PiA9IG5ldyBSZXBsYXlTdWJqZWN0PFJlYWRvbmx5PEFycmF5PFJlYWRvbmx5PE1lc3NhZ2VEb2N1bWVudD4+Pj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogU1NFIGFuZCBFdmVudCBEaXNwYXRjaGVyIFNlcnZpY2VzIGxpc3RlbmVyc1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuTWVzc2FnZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0ZW4gbmV3IG1lc3NhZ2VzIGV2ZW50IHRvIHVwZGF0ZSBkb2N1bWVudHMgY2FjaGVcbiAgICovXG4gIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk1FU1NBR0VfQ1JFQVRFRCkuc3Vic2NyaWJlKChtZXNzYWdlOiBNZXNzYWdlKTogdm9pZCA9PiB7XG4gICAgICBpZiAobWVzc2FnZS5kb2N1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNhY2hlOiBNZXNzYWdlRG9jdW1lbnRbXSA9IF8uY2xvbmUodGhpcy5jYWNoZSk7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50c0lkczogbnVtYmVyW10gPSB0aGlzLmNhY2hlLm1hcCgoZDogTWVzc2FnZURvY3VtZW50KTogbnVtYmVyID0+IGQuaWQpO1xuICAgICAgICBtZXNzYWdlLmRvY3VtZW50cy5mb3JFYWNoKChkOiBNZXNzYWdlRG9jdW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICBkLmNoYXQgPSBtZXNzYWdlLmNoYXQ7XG4gICAgICAgICAgaWYgKCFkb2N1bWVudHNJZHMuaW5jbHVkZXMoZC5pZCkpIHtcbiAgICAgICAgICAgIGNhY2hlLnB1c2goLi4ubWVzc2FnZS5kb2N1bWVudHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBtZXNzYWdlIGRvY3VtZW50c1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8UmVhZG9ubHk8TWVzc2FnZURvY3VtZW50W10+PiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KTogTWVzc2FnZURvY3VtZW50W10gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlWydoeWRyYTptZW1iZXInXS5tYXAoKGRvY0Jhc2U6IE1lc3NhZ2VEb2N1bWVudEJhc2UpOiBNZXNzYWdlRG9jdW1lbnQgPT4gcGxhaW5Ub0NsYXNzKE1lc3NhZ2VEb2N1bWVudCwgZG9jQmFzZSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZG9jdW1lbnRzOiBNZXNzYWdlRG9jdW1lbnRbXSk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBkb2N1bWVudHM7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBmaWxlIHRvIGNoYXRcbiAgICogQHBhcmFtIGNoYXRJZFxuICAgKiBAcGFyYW0gZmlsZVxuICAgKi9cbiAgYWRkKGNoYXRJZDogbnVtYmVyLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxNZXNzYWdlRG9jdW1lbnQ+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NoYXQnLCBjaGF0SWQudG9TdHJpbmcoKSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRvY3VtZW50QmFzZTogTWVzc2FnZURvY3VtZW50QmFzZSk6IE1lc3NhZ2VEb2N1bWVudCA9PiB7XG4gICAgICAgICAgY29uc3QgZG9jdW1lbnQ6IE1lc3NhZ2VEb2N1bWVudCA9IHBsYWluVG9DbGFzcyhNZXNzYWdlRG9jdW1lbnQsIGRvY3VtZW50QmFzZSk7XG4gICAgICAgICAgY29uc3QgY2FjaGU6IE1lc3NhZ2VEb2N1bWVudFtdID0gXy5jbG9uZSh0aGlzLmNhY2hlKTtcbiAgICAgICAgICBjYWNoZS5wdXNoKGRvY3VtZW50KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gY2FjaGU7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICByZXR1cm4gZG9jdW1lbnQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBtdWx0aXBsZSBmaWxlcyB0byBjaGF0XG4gICAqIEBwYXJhbSBjaGF0SWRcbiAgICogQHBhcmFtIGZpbGVzXG4gICAqL1xuICBhZGRCYXRjaChjaGF0SWQ6IG51bWJlciwgZmlsZXM6IEZpbGVbXSk6IE9ic2VydmFibGU8TWVzc2FnZURvY3VtZW50W10+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgIGZpbGVzLm1hcCgoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8TWVzc2FnZURvY3VtZW50PiA9PiB0aGlzLmFkZChjaGF0SWQsIGZpbGUpKVxuICAgICkucGlwZShcbiAgICAgIG1hcCgoZG9jc0Jhc2U6IE1lc3NhZ2VEb2N1bWVudEJhc2VbXSk6IE1lc3NhZ2VEb2N1bWVudFtdID0+IHtcbiAgICAgICAgcmV0dXJuIGRvY3NCYXNlLm1hcCgoZG9jQmFzZTogTWVzc2FnZURvY3VtZW50QmFzZSk6IE1lc3NhZ2VEb2N1bWVudCA9PiBwbGFpblRvQ2xhc3MoTWVzc2FnZURvY3VtZW50LCBkb2NCYXNlKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHVwbG9hZGVkIGNoYXQgZG9jdW1lbnRcbiAgICogQHBhcmFtIGNoYXRJZFxuICAgKiBAcGFyYW0gZG9jdW1lbnRJZFxuICAgKi9cbiAgZGVsZXRlKGNoYXRJZDogbnVtYmVyLCBkb2N1bWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RvY3VtZW50SWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoZG9jdW1lbnQ6IE1lc3NhZ2VEb2N1bWVudCk6IGJvb2xlYW4gPT4gZG9jdW1lbnQuaWQgIT09IGRvY3VtZW50SWQpO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- export * from './message.service';
@@ -1,28 +0,0 @@
1
- import { Message as MessageBase } from '../../../../db/Models/firm/message';
2
- import { HttpClient } from '@angular/common/http';
3
- import { Message } from '../../../../models/chat/message';
4
- import { RestService } from '../../rest/rest-old.service';
5
- import { EventDispatcherService } from '../../../event/event-dispatcher.service';
6
- import { SseService } from '../../../event/sse.service';
7
- import { ToastService } from '../../../toast/toast.service';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * Service for work with messages
11
- */
12
- export declare class MessageService extends RestService<MessageBase, Message> {
13
- protected http: HttpClient;
14
- protected eventDispatcherService: EventDispatcherService;
15
- protected environment: any;
16
- protected toastService: ToastService;
17
- private sseService;
18
- modelClass: typeof Message;
19
- url: string;
20
- isHydra: boolean;
21
- constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any, toastService: ToastService, sseService: SseService);
22
- /**
23
- * subscribe to new chat messages
24
- */
25
- private listenMessages;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
27
- static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
28
- }
@@ -1 +0,0 @@
1
- export * from './message-document.service';
@@ -1,50 +0,0 @@
1
- import { Observable, ReplaySubject } from 'rxjs';
2
- import { HttpClient } from '@angular/common/http';
3
- import { IEventListener } from '../../../../interfaces/event-listener.interface';
4
- import { MessageDocument } from '../../../../models/chat/message-document';
5
- import { EventDispatcherService } from '../../../event/event-dispatcher.service';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Service for work with Message Documents
9
- */
10
- export declare class MessageDocumentService implements IEventListener {
11
- private http;
12
- private eventDispatcherService;
13
- private environment;
14
- url: string;
15
- cache: Readonly<Array<Readonly<MessageDocument>>>;
16
- cacheSubject: ReplaySubject<Readonly<Array<Readonly<MessageDocument>>>>;
17
- constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any);
18
- /**
19
- * SSE and Event Dispatcher Services listeners
20
- */
21
- listenEvents(): void;
22
- /**
23
- * listen new messages event to update documents cache
24
- */
25
- listenMessages(): void;
26
- /**
27
- * get list of message documents
28
- */
29
- get(): Observable<Readonly<MessageDocument[]>>;
30
- /**
31
- * Upload file to chat
32
- * @param chatId
33
- * @param file
34
- */
35
- add(chatId: number, file: File): Observable<MessageDocument>;
36
- /**
37
- * Upload multiple files to chat
38
- * @param chatId
39
- * @param files
40
- */
41
- addBatch(chatId: number, files: File[]): Observable<MessageDocument[]>;
42
- /**
43
- * Delete uploaded chat document
44
- * @param chatId
45
- * @param documentId
46
- */
47
- delete(chatId: number, documentId: number): Observable<void>;
48
- static ɵfac: i0.ɵɵFactoryDeclaration<MessageDocumentService, never>;
49
- static ɵprov: i0.ɵɵInjectableDeclaration<MessageDocumentService>;
50
- }