taxtank-core 0.28.118 → 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.
- package/bundles/taxtank-core.umd.js +8541 -8748
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/bank-account.collection.js +5 -1
- package/esm2015/lib/collections/chart-accounts.collection.js +12 -2
- package/esm2015/lib/collections/chat/chat.collection.js +26 -0
- package/esm2015/lib/collections/chat/index.js +4 -0
- package/esm2015/lib/collections/chat/message-document.collection.js +13 -0
- package/esm2015/lib/collections/chat/message.collection.js +33 -0
- package/esm2015/lib/collections/collection.js +5 -1
- package/esm2015/lib/collections/index.js +25 -3
- package/esm2015/lib/collections/loan/index.js +3 -0
- package/esm2015/lib/collections/loan/loan.collection.js +7 -1
- package/esm2015/lib/collections/property/index.js +2 -1
- package/esm2015/lib/collections/property/property-share.collection.js +13 -0
- package/esm2015/lib/collections/report/index.js +7 -0
- package/esm2015/lib/collections/sole/index.js +2 -1
- package/esm2015/lib/collections/subscription/index.js +2 -0
- package/esm2015/lib/collections/tax-summary/index.js +3 -0
- package/esm2015/lib/collections/user-event-type-collection.js +7 -0
- package/esm2015/lib/db/Models/bank/bank-account.js +3 -3
- package/esm2015/lib/db/Models/bank/bank-connection.js +3 -3
- package/esm2015/lib/db/Models/bank/bank-transaction-rule.js +4 -0
- package/esm2015/lib/db/Models/bank/bank-transaction.js +3 -3
- package/esm2015/lib/db/Models/document/document-base.js +4 -0
- package/esm2015/lib/db/Models/firm/firm-invite.js +4 -0
- package/esm2015/lib/db/Models/firm/message.js +3 -3
- package/esm2015/lib/db/Models/index.js +102 -0
- package/esm2015/lib/db/Models/loan/loan-payout.js +3 -3
- package/esm2015/lib/db/Models/loan/loan.js +3 -3
- package/esm2015/lib/db/Models/property/property-category-movement.js +3 -3
- package/esm2015/lib/db/Models/property/property-category.js +3 -3
- package/esm2015/lib/db/Models/property/property-sale/property-sale.js +3 -3
- package/esm2015/lib/db/Models/property/property-share.js +3 -3
- package/esm2015/lib/db/Models/spare/spare-document-category.js +4 -0
- package/esm2015/lib/db/Models/spare/spare-document.js +4 -0
- package/esm2015/lib/db/Models/tax-calculation.js +4 -0
- package/esm2015/lib/db/Models/transaction/transaction-base.js +3 -3
- package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
- package/esm2015/lib/interceptors/basiq-token.interceptor.js +5 -5
- package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
- package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
- package/esm2015/lib/interceptors/interceptors.module.js +4 -4
- package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
- package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
- package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
- package/esm2015/lib/interfaces/index.js +18 -0
- package/esm2015/lib/models/bank/basiq/basiq-token.js +4 -2
- package/esm2015/lib/models/borrowing-expense/index.js +3 -0
- package/esm2015/lib/models/chart-accounts/index.js +2 -2
- package/esm2015/lib/models/chat/index.js +5 -0
- package/esm2015/lib/models/depreciation/depreciation-lvp-rate.enum.js +9 -0
- package/esm2015/lib/models/depreciation/index.js +10 -0
- package/esm2015/lib/models/dictionary/index.js +2 -0
- package/esm2015/lib/models/event/app-event-type.enum.js +68 -70
- package/esm2015/lib/models/event/index.js +3 -0
- package/esm2015/lib/models/financial-year/index.js +5 -0
- package/esm2015/lib/models/index.js +12 -2
- package/esm2015/lib/models/loan/index.js +5 -0
- package/esm2015/lib/models/notification/index.js +2 -0
- package/esm2015/lib/models/property/index.js +18 -0
- package/esm2015/lib/models/property/property.js +1 -3
- package/esm2015/lib/models/user/index.js +10 -0
- package/esm2015/lib/services/account-setup/account-setup.service.js +6 -6
- package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
- package/esm2015/lib/services/asset/assets.service.js +3 -3
- package/esm2015/lib/services/auth/auth.service.js +3 -3
- package/esm2015/lib/services/auth/jwt.service.js +3 -3
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
- package/esm2015/lib/services/event/sse.service.js +3 -3
- package/esm2015/lib/services/export/export-formatter.service.js +3 -3
- package/esm2015/lib/services/header-title/header-title.service.js +3 -3
- package/esm2015/lib/services/http/address/address.service.js +3 -3
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +16 -71
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +39 -42
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +17 -33
- package/esm2015/lib/services/http/bank/bank.service.js +15 -10
- package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +17 -20
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +15 -27
- package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +10 -21
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +20 -64
- package/esm2015/lib/services/http/chat/chat.service.js +24 -30
- package/esm2015/lib/services/http/chat/index.js +3 -3
- package/esm2015/lib/services/http/chat/message-document.service.js +78 -0
- package/esm2015/lib/services/http/chat/message.service.js +68 -0
- package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +29 -57
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
- package/esm2015/lib/services/http/document/document.service.js +3 -3
- package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/firm.service.js +3 -3
- package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
- package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +7 -4
- package/esm2015/lib/services/http/loan/index.js +1 -1
- package/esm2015/lib/services/http/loan/loan.service.js +20 -69
- package/esm2015/lib/services/http/property/property-category/property-category.service.js +10 -7
- package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +10 -34
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +11 -21
- package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +10 -27
- package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +11 -8
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +15 -89
- package/esm2015/lib/services/http/property/property.service.js +16 -34
- package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
- package/esm2015/lib/services/http/rest/rest-old.service.js +3 -3
- package/esm2015/lib/services/http/rest/rest.service.js +13 -10
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
- package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +3 -3
- package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
- package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -7
- package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
- package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
- package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
- package/esm2015/lib/services/http/user/user.service.js +3 -3
- package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
- package/esm2015/lib/services/intercom/intercom.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
- package/esm2015/lib/services/preloader/preloader.service.js +3 -3
- package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
- package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +7 -9
- package/esm2015/lib/services/toast/toast.service.js +3 -3
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/user/user-switcher.service.js +3 -3
- package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
- package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
- package/esm2015/lib/tt-core.module.js +4 -4
- package/esm2015/public-api.js +1 -85
- package/fesm2015/taxtank-core.js +6986 -7251
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/bank-account.collection.d.ts +1 -0
- package/lib/collections/chart-accounts.collection.d.ts +1 -0
- package/lib/collections/{chat.collection.d.ts → chat/chat.collection.d.ts} +2 -3
- package/lib/collections/chat/index.d.ts +3 -0
- package/lib/collections/{message-document.collection.d.ts → chat/message-document.collection.d.ts} +2 -2
- package/lib/collections/{message.collection.d.ts → chat/message.collection.d.ts} +2 -3
- package/lib/collections/collection.d.ts +1 -0
- package/lib/collections/index.d.ts +23 -2
- package/lib/collections/loan/index.d.ts +2 -0
- package/lib/collections/loan/loan.collection.d.ts +4 -0
- package/lib/collections/property/index.d.ts +1 -0
- package/lib/collections/property/property-share.collection.d.ts +6 -0
- package/lib/collections/report/index.d.ts +6 -0
- package/lib/collections/sole/index.d.ts +1 -0
- package/lib/collections/subscription/index.d.ts +1 -0
- package/lib/collections/tax-summary/index.d.ts +2 -0
- package/lib/collections/user-event-type-collection.d.ts +7 -0
- package/lib/db/Models/bank/bank-account.d.ts +2 -2
- package/lib/db/Models/bank/bank-connection.d.ts +2 -2
- package/lib/db/Models/bank/bank-transaction-rule.d.ts +26 -0
- package/lib/db/Models/bank/bank-transaction.d.ts +2 -2
- package/lib/db/Models/document/document-base.d.ts +11 -0
- package/lib/db/Models/firm/firm-invite.d.ts +15 -0
- package/lib/db/Models/firm/message.d.ts +2 -2
- package/lib/db/Models/index.d.ts +101 -0
- package/lib/db/Models/loan/loan-payout.d.ts +2 -2
- package/lib/db/Models/loan/loan.d.ts +2 -2
- package/lib/db/Models/property/property-category-movement.d.ts +2 -2
- package/lib/db/Models/property/property-category.d.ts +2 -2
- package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -2
- package/lib/db/Models/property/property-share.d.ts +2 -2
- package/lib/db/Models/spare/spare-document-category.d.ts +7 -0
- package/lib/db/Models/spare/spare-document.d.ts +16 -0
- package/lib/db/Models/tax-calculation.d.ts +19 -0
- package/lib/db/Models/transaction/transaction-base.d.ts +2 -2
- package/lib/interfaces/index.d.ts +17 -0
- package/lib/models/bank/basiq/basiq-token.d.ts +2 -1
- package/lib/models/borrowing-expense/index.d.ts +2 -0
- package/lib/models/chart-accounts/index.d.ts +1 -1
- package/lib/models/chat/index.d.ts +4 -0
- package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts +7 -0
- package/lib/models/depreciation/index.d.ts +9 -0
- package/lib/models/dictionary/index.d.ts +1 -0
- package/lib/models/event/app-event-type.enum.d.ts +67 -69
- package/lib/models/event/index.d.ts +2 -0
- package/lib/models/financial-year/index.d.ts +4 -0
- package/lib/models/index.d.ts +11 -1
- package/lib/models/loan/index.d.ts +4 -0
- package/lib/models/notification/index.d.ts +1 -0
- package/lib/models/property/index.d.ts +17 -0
- package/lib/models/property/property.d.ts +0 -2
- package/lib/models/user/index.d.ts +9 -0
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +10 -25
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +18 -8
- package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +10 -13
- package/lib/services/http/bank/bank.service.d.ts +10 -7
- package/lib/services/http/bank/basiq/basiq-token.service.d.ts +10 -9
- package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -15
- package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +8 -10
- package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +11 -24
- package/lib/services/http/chat/chat.service.d.ts +12 -11
- package/lib/services/http/chat/index.d.ts +2 -2
- package/lib/services/http/chat/message-document.service.d.ts +35 -0
- package/lib/services/http/chat/message.service.d.ts +38 -0
- package/lib/services/http/depreciation/depreciation.service.d.ts +12 -23
- package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +3 -0
- package/lib/services/http/loan/loan.service.d.ts +16 -29
- package/lib/services/http/property/property-category/property-category.service.d.ts +8 -5
- package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +8 -10
- package/lib/services/http/property/property-document/property-document.service.d.ts +9 -11
- package/lib/services/http/property/property-sale/property-sale.service.d.ts +8 -14
- package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +9 -6
- package/lib/services/http/property/property-share/property-share.service.d.ts +10 -22
- package/lib/services/http/property/property.service.d.ts +9 -9
- package/lib/services/http/rest/rest.service.d.ts +6 -4
- package/lib/services/report/property/property-transaction-report.service.d.ts +2 -3
- package/package.json +1 -1
- package/public-api.d.ts +0 -84
- package/esm2015/lib/collections/chat.collection.js +0 -26
- package/esm2015/lib/collections/message-document.collection.js +0 -13
- package/esm2015/lib/collections/message.collection.js +0 -33
- package/esm2015/lib/services/http/chat/message/index.js +0 -2
- package/esm2015/lib/services/http/chat/message/message.service.js +0 -61
- package/esm2015/lib/services/http/chat/message-document/index.js +0 -2
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +0 -118
- package/lib/services/http/chat/message/index.d.ts +0 -1
- package/lib/services/http/chat/message/message.service.d.ts +0 -28
- package/lib/services/http/chat/message-document/index.d.ts +0 -1
- 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
|
-
}
|