taxtank-core 0.33.6 → 0.33.8
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/lib/collections/bank-account.collection.mjs +5 -41
- package/esm2022/src/lib/collections/depreciation.collection.mjs +15 -21
- package/esm2022/src/lib/collections/exportable.collection.mjs +2 -6
- package/esm2022/src/lib/collections/property/property.collection.mjs +8 -4
- package/esm2022/src/lib/collections/transaction/index.mjs +2 -1
- package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +5 -17
- package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +2 -2
- package/esm2022/src/lib/db/Models/bank/bank-account.mjs +1 -1
- package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +6 -40
- package/esm2022/src/lib/forms/property/property-share.form.mjs +2 -2
- package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +7 -2
- package/esm2022/src/lib/models/bank/bank-account.mjs +6 -3
- package/esm2022/src/lib/models/bank/type-loan.const.mjs +2 -5
- package/esm2022/src/lib/models/depreciation/depreciation.mjs +8 -22
- package/esm2022/src/lib/models/property/property.mjs +1 -4
- package/esm2022/src/lib/models/report/report.interface.mjs +1 -1
- package/esm2022/src/lib/models/report/reports.const.mjs +107 -72
- package/esm2022/src/lib/models/transaction/transaction.mjs +1 -19
- package/esm2022/src/lib/models/user/user.mjs +18 -28
- package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +3 -1
- package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +3 -1
- package/esm2022/src/lib/services/http/property/property.service.mjs +3 -2
- package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +1 -18
- package/fesm2022/taxtank-core.mjs +182 -287
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/collections/bank-account.collection.d.ts +1 -21
- package/src/lib/collections/depreciation.collection.d.ts +6 -3
- package/src/lib/collections/exportable.collection.d.ts +2 -2
- package/src/lib/collections/property/property.collection.d.ts +1 -1
- package/src/lib/collections/transaction/index.d.ts +1 -0
- package/src/lib/collections/transaction/transaction-base.collection.d.ts +4 -0
- package/src/lib/collections/transaction/transaction.collection.d.ts +2 -2
- package/src/lib/db/Enums/bank/bank-account-type.enum.d.ts +1 -0
- package/src/lib/db/Models/bank/bank-account.d.ts +0 -1
- package/src/lib/db/Models/transaction/transaction-base.d.ts +0 -9
- package/src/lib/forms/transaction/transaction-base-filter.form.d.ts +3 -2
- package/src/lib/models/bank/bank-account.d.ts +1 -0
- package/src/lib/models/bank/type-loan.const.d.ts +0 -3
- package/src/lib/models/depreciation/depreciation.d.ts +3 -11
- package/src/lib/models/property/property.d.ts +0 -1
- package/src/lib/models/report/report.interface.d.ts +4 -3
- package/src/lib/models/report/reports.const.d.ts +2 -2
- package/src/lib/models/transaction/transaction.d.ts +1 -6
- package/src/lib/models/user/user.d.ts +2 -14
- package/src/lib/services/http/holding/holding-sale.service.d.ts +2 -0
- package/src/lib/services/http/property/property-sale/property-sale.service.d.ts +2 -0
- package/src/lib/services/http/property/property.service.d.ts +2 -0
- package/src/lib/services/http/transaction/transaction.service.d.ts +0 -6
@@ -1,73 +1,108 @@
|
|
1
1
|
import { UserRolesEnum } from 'taxtank-core/common';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
2
|
+
export const REPORTS = {
|
3
|
+
[UserRolesEnum.CLIENT]: [
|
4
|
+
// @TODO TT-4385
|
5
|
+
// {
|
6
|
+
// title: 'Income & Expense Report',
|
7
|
+
// description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories.',
|
8
|
+
// routerLink: './income-expense',
|
9
|
+
// },
|
10
|
+
{
|
11
|
+
title: 'Transactions Report',
|
12
|
+
description: 'Detailed report of the transactions allocated to each category. Filter by tank, property, business or your own search criteria.',
|
13
|
+
routerLink: './transactions',
|
14
|
+
},
|
15
|
+
{
|
16
|
+
title: 'MyTax Report',
|
17
|
+
description: 'Coded to the ATO\'s MyTax report, our interactive report enable you to self lodge faster, easier and more accurately online without the stress.',
|
18
|
+
routerLink: './my-tax',
|
19
|
+
},
|
20
|
+
{
|
21
|
+
title: 'Net Asset',
|
22
|
+
description: 'See your current net financial position, including a breakdown of net assets and liabilities across all tanks.',
|
23
|
+
routerLink: './net-assets',
|
24
|
+
},
|
25
|
+
],
|
26
|
+
[UserRolesEnum.WORK_TANK]: [
|
27
|
+
{
|
28
|
+
title: 'Motor Vehicle Report',
|
29
|
+
description: 'Displays work-related vehicle expenses based upon your logbook claim method or percentage.',
|
30
|
+
routerLink: './vehicle-expenses',
|
31
|
+
queryParams: { tankType: 2 }
|
32
|
+
},
|
33
|
+
{
|
34
|
+
title: 'Depreciation Report',
|
35
|
+
description: 'Register of plant & equipment depreciation including vehicles and work-related assets over $300.',
|
36
|
+
routerLink: './depreciation',
|
37
|
+
queryParams: { tankType: 2 }
|
38
|
+
},
|
39
|
+
{
|
40
|
+
title: 'Low Value Pool Report',
|
41
|
+
description: 'Register of new assets valued between $301 and $1,000 and existing assets that fall below the $1,000 threshold.',
|
42
|
+
routerLink: './low-value-pool',
|
43
|
+
queryParams: { tankType: 2 }
|
44
|
+
},
|
45
|
+
],
|
46
|
+
[UserRolesEnum.PROPERTY_TANK]: [
|
47
|
+
{
|
48
|
+
title: 'Property Schedule',
|
49
|
+
description: 'Compliant property schedule detailing incomes, expenses and depreciation for each property and ownership percentage.',
|
50
|
+
routerLink: './property-transactions',
|
51
|
+
},
|
52
|
+
{
|
53
|
+
title: 'Depreciation Report',
|
54
|
+
description: 'Register of building & improvements depreciation (capital works) and plant & equipment depreciation for each property.',
|
55
|
+
routerLink: './depreciation',
|
56
|
+
queryParams: { tankType: 1 }
|
57
|
+
},
|
58
|
+
{
|
59
|
+
title: 'Low Value Pool Report',
|
60
|
+
description: 'Register of new assets valued between $301 and $1,000 and existing assets that fall below the $1,000 threshold.',
|
61
|
+
routerLink: './low-value-pool',
|
62
|
+
queryParams: { tankType: 1 }
|
63
|
+
},
|
64
|
+
{
|
65
|
+
title: 'CGT Report',
|
66
|
+
description: 'Calculate net capital gains across all asset classes, including the application of losses and eligible concessions.',
|
67
|
+
routerLink: './cgt/property',
|
68
|
+
},
|
69
|
+
],
|
70
|
+
[UserRolesEnum.SOLE_TANK]: [
|
71
|
+
{
|
72
|
+
title: 'Business Schedule',
|
73
|
+
description: 'Compliant schedule detailing profit and loss for each primary and non-primary production business.',
|
74
|
+
routerLink: './business-schedule',
|
75
|
+
},
|
76
|
+
{
|
77
|
+
title: 'Motor Vehicle Report',
|
78
|
+
description: 'Displays work-related vehicle expenses based upon your logbook claim method or percentage.',
|
79
|
+
routerLink: './vehicle-expenses',
|
80
|
+
queryParams: { tankType: 4 }
|
81
|
+
},
|
82
|
+
{
|
83
|
+
title: 'Depreciation Report',
|
84
|
+
description: 'Track small business pool depreciation, instant asset write-offs and plant & equipment.',
|
85
|
+
routerLink: './depreciation',
|
86
|
+
queryParams: { tankType: 4 }
|
87
|
+
},
|
88
|
+
{
|
89
|
+
title: 'Low Value Pool Report',
|
90
|
+
description: 'Register of new assets valued between $301 and $1,000 and existing assets that fall below the $1,000 threshold.',
|
91
|
+
routerLink: './low-value-pool',
|
92
|
+
queryParams: { tankType: 4 }
|
93
|
+
},
|
94
|
+
{
|
95
|
+
title: 'BAS Report',
|
96
|
+
description: 'Summarises your GST obligations from applicable sales and purchases to enable accurate ATO lodgements.',
|
97
|
+
routerLink: './bas',
|
98
|
+
},
|
99
|
+
],
|
100
|
+
[UserRolesEnum.HOLDING_TANK]: [
|
101
|
+
{
|
102
|
+
title: 'CGT Report',
|
103
|
+
description: 'Calculate net capital gains across all asset classes, including the application of losses and eligible concessions.',
|
104
|
+
routerLink: './cgt/holding',
|
105
|
+
},
|
106
|
+
],
|
107
|
+
};
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3JlcG9ydHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBOEM7SUFDaEUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSixzQ0FBc0M7UUFDdEMsNkpBQTZKO1FBQzdKLG9DQUFvQztRQUNwQyxLQUFLO1FBQ0w7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSxpSUFBaUk7WUFDOUksVUFBVSxFQUFFLGdCQUFnQjtTQUM3QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFLGlKQUFpSjtZQUM5SixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFLGdIQUFnSDtZQUM3SCxVQUFVLEVBQUUsY0FBYztTQUMzQjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDekI7WUFDRSxLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSw0RkFBNEY7WUFDekcsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSxrR0FBa0c7WUFDL0csVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSxpSEFBaUg7WUFDOUgsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO0tBQ0Y7SUFDRCxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUM3QjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHNIQUFzSDtZQUNuSSxVQUFVLEVBQUUseUJBQXlCO1NBQ3RDO1FBQ0Q7WUFDRSxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLFdBQVcsRUFBRSx3SEFBd0g7WUFDckksVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSxpSEFBaUg7WUFDOUgsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzdCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsWUFBWTtZQUNuQixXQUFXLEVBQUUscUhBQXFIO1lBQ2xJLFVBQVUsRUFBRSxnQkFBZ0I7U0FDN0I7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3pCO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFVBQVUsRUFBRSxxQkFBcUI7U0FDbEM7UUFDRDtZQUNFLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUFFLDRGQUE0RjtZQUN6RyxVQUFVLEVBQUUsb0JBQW9CO1lBQ2hDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsV0FBVyxFQUFFLHlGQUF5RjtZQUN0RyxVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsV0FBVyxFQUFFLGlIQUFpSDtZQUM5SCxVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDN0I7UUFDRDtZQUNFLEtBQUssRUFBRSxZQUFZO1lBQ25CLFdBQVcsRUFBRSx3R0FBd0c7WUFDckgsVUFBVSxFQUFFLE9BQU87U0FDcEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQzVCO1lBQ0UsS0FBSyxFQUFFLFlBQVk7WUFDbkIsV0FBVyxFQUFFLHFIQUFxSDtZQUNsSSxVQUFVLEVBQUUsZUFBZTtTQUM1QjtLQUNGO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXBvcnQgfSBmcm9tICcuL3JlcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgUkVQT1JUUzogUGFydGlhbDxSZWNvcmQ8VXNlclJvbGVzRW51bSwgSVJlcG9ydFtdPj4gPSB7XG4gIFtVc2VyUm9sZXNFbnVtLkNMSUVOVF06IFtcbiAgICAvLyBAVE9ETyBUVC00Mzg1XG4gICAgLy8ge1xuICAgIC8vICAgdGl0bGU6ICdJbmNvbWUgJiBFeHBlbnNlIFJlcG9ydCcsXG4gICAgLy8gICBkZXNjcmlwdGlvbjogJ0luY29tZSBhbmQgZXhwZW5zZSByZXBvcnQgd2l0aCBwcmlvciB5ZWFyIGNvbXBhcmlzb24gYW5kIG1vbnRobHkgdmlldyBvcHRpb24uIEZpbHRlciBieSBUYW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgcGVyc29uYWwgY2F0ZWdvcmllcy4nLFxuICAgIC8vICAgcm91dGVyTGluazogJy4vaW5jb21lLWV4cGVuc2UnLFxuICAgIC8vIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbnMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGV0YWlsZWQgcmVwb3J0IG9mIHRoZSB0cmFuc2FjdGlvbnMgYWxsb2NhdGVkIHRvIGVhY2ggY2F0ZWdvcnkuIEZpbHRlciBieSB0YW5rLCBwcm9wZXJ0eSwgYnVzaW5lc3Mgb3IgeW91ciBvd24gc2VhcmNoIGNyaXRlcmlhLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi90cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNeVRheCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb2RlZCB0byB0aGUgQVRPXFwncyBNeVRheCByZXBvcnQsIG91ciBpbnRlcmFjdGl2ZSByZXBvcnQgZW5hYmxlIHlvdSB0byBzZWxmIGxvZGdlIGZhc3RlciwgZWFzaWVyIGFuZCBtb3JlIGFjY3VyYXRlbHkgb25saW5lIHdpdGhvdXQgdGhlIHN0cmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbXktdGF4JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTmV0IEFzc2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2VlIHlvdXIgY3VycmVudCBuZXQgZmluYW5jaWFsIHBvc2l0aW9uLCBpbmNsdWRpbmcgYSBicmVha2Rvd24gb2YgbmV0IGFzc2V0cyBhbmQgbGlhYmlsaXRpZXMgYWNyb3NzIGFsbCB0YW5rcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vbmV0LWFzc2V0cycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uV09SS19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnTW90b3IgVmVoaWNsZSBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyB3b3JrLXJlbGF0ZWQgdmVoaWNsZSBleHBlbnNlcyBiYXNlZCB1cG9uIHlvdXIgbG9nYm9vayBjbGFpbSBtZXRob2Qgb3IgcGVyY2VudGFnZS4nLFxuICAgICAgcm91dGVyTGluazogJy4vdmVoaWNsZS1leHBlbnNlcycsXG4gICAgICBxdWVyeVBhcmFtczogeyB0YW5rVHlwZTogMiB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ0RlcHJlY2lhdGlvbiBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBwbGFudCAmIGVxdWlwbWVudCBkZXByZWNpYXRpb24gaW5jbHVkaW5nIHZlaGljbGVzIGFuZCB3b3JrLXJlbGF0ZWQgYXNzZXRzIG92ZXIgJDMwMC4nLFxuICAgICAgcm91dGVyTGluazogJy4vZGVwcmVjaWF0aW9uJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnTG93IFZhbHVlIFBvb2wgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgbmV3IGFzc2V0cyB2YWx1ZWQgYmV0d2VlbiAkMzAxIGFuZCAkMSwwMDAgYW5kIGV4aXN0aW5nIGFzc2V0cyB0aGF0IGZhbGwgYmVsb3cgdGhlICQxLDAwMCB0aHJlc2hvbGQuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2xvdy12YWx1ZS1wb29sJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiAyIH1cbiAgICB9LFxuICBdLFxuICBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnUHJvcGVydHkgU2NoZWR1bGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb21wbGlhbnQgcHJvcGVydHkgc2NoZWR1bGUgZGV0YWlsaW5nIGluY29tZXMsIGV4cGVuc2VzIGFuZCBkZXByZWNpYXRpb24gZm9yIGVhY2ggcHJvcGVydHkgYW5kIG93bmVyc2hpcCBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9wcm9wZXJ0eS10cmFuc2FjdGlvbnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdEZXByZWNpYXRpb24gUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVnaXN0ZXIgb2YgYnVpbGRpbmcgJiBpbXByb3ZlbWVudHMgZGVwcmVjaWF0aW9uIChjYXBpdGFsIHdvcmtzKSBhbmQgcGxhbnQgJiBlcXVpcG1lbnQgZGVwcmVjaWF0aW9uIGZvciBlYWNoIHByb3BlcnR5LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDEgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdDR1QgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ2FsY3VsYXRlIG5ldCBjYXBpdGFsIGdhaW5zIGFjcm9zcyBhbGwgYXNzZXQgY2xhc3NlcywgaW5jbHVkaW5nIHRoZSBhcHBsaWNhdGlvbiBvZiBsb3NzZXMgYW5kIGVsaWdpYmxlIGNvbmNlc3Npb25zLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9jZ3QvcHJvcGVydHknLFxuICAgIH0sXG4gIF0sXG4gIFtVc2VyUm9sZXNFbnVtLlNPTEVfVEFOS106IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0J1c2luZXNzIFNjaGVkdWxlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ29tcGxpYW50IHNjaGVkdWxlIGRldGFpbGluZyBwcm9maXQgYW5kIGxvc3MgZm9yIGVhY2ggcHJpbWFyeSBhbmQgbm9uLXByaW1hcnkgcHJvZHVjdGlvbiBidXNpbmVzcy4nLFxuICAgICAgcm91dGVyTGluazogJy4vYnVzaW5lc3Mtc2NoZWR1bGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdNb3RvciBWZWhpY2xlIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIHdvcmstcmVsYXRlZCB2ZWhpY2xlIGV4cGVuc2VzIGJhc2VkIHVwb24geW91ciBsb2dib29rIGNsYWltIG1ldGhvZCBvciBwZXJjZW50YWdlLicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi92ZWhpY2xlLWV4cGVuc2VzJyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHRhbmtUeXBlOiA0IH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnRGVwcmVjaWF0aW9uIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RyYWNrIHNtYWxsIGJ1c2luZXNzIHBvb2wgZGVwcmVjaWF0aW9uLCBpbnN0YW50IGFzc2V0IHdyaXRlLW9mZnMgYW5kIHBsYW50ICYgZXF1aXBtZW50LicsXG4gICAgICByb3V0ZXJMaW5rOiAnLi9kZXByZWNpYXRpb24nLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdMb3cgVmFsdWUgUG9vbCBSZXBvcnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdSZWdpc3RlciBvZiBuZXcgYXNzZXRzIHZhbHVlZCBiZXR3ZWVuICQzMDEgYW5kICQxLDAwMCBhbmQgZXhpc3RpbmcgYXNzZXRzIHRoYXQgZmFsbCBiZWxvdyB0aGUgJDEsMDAwIHRocmVzaG9sZC4nLFxuICAgICAgcm91dGVyTGluazogJy4vbG93LXZhbHVlLXBvb2wnLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgdGFua1R5cGU6IDQgfVxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdCQVMgUmVwb3J0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU3VtbWFyaXNlcyB5b3VyIEdTVCBvYmxpZ2F0aW9ucyBmcm9tIGFwcGxpY2FibGUgc2FsZXMgYW5kIHB1cmNoYXNlcyB0byBlbmFibGUgYWNjdXJhdGUgQVRPIGxvZGdlbWVudHMuJyxcbiAgICAgIHJvdXRlckxpbms6ICcuL2JhcycsXG4gICAgfSxcbiAgXSxcbiAgW1VzZXJSb2xlc0VudW0uSE9MRElOR19UQU5LXTogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQ0dUIFJlcG9ydCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0NhbGN1bGF0ZSBuZXQgY2FwaXRhbCBnYWlucyBhY3Jvc3MgYWxsIGFzc2V0IGNsYXNzZXMsIGluY2x1ZGluZyB0aGUgYXBwbGljYXRpb24gb2YgbG9zc2VzIGFuZCBlbGlnaWJsZSBjb25jZXNzaW9ucy4nLFxuICAgICAgcm91dGVyTGluazogJy4vY2d0L2hvbGRpbmcnLFxuICAgIH0sXG4gIF0sXG59XG4iXX0=
|
@@ -67,24 +67,6 @@ export class Transaction extends TransactionBase {
|
|
67
67
|
isInterest() {
|
68
68
|
return this.chartAccounts.id === ChartAccountsListEnum.INTEREST_ON_LOAN;
|
69
69
|
}
|
70
|
-
get chartAccountsCategories() {
|
71
|
-
switch (true) {
|
72
|
-
case this.isPersonal():
|
73
|
-
return CHART_ACCOUNTS_CATEGORIES.personal;
|
74
|
-
case this.isPropertyTank():
|
75
|
-
return CHART_ACCOUNTS_CATEGORIES.property;
|
76
|
-
case this.isSoleTank():
|
77
|
-
return CHART_ACCOUNTS_CATEGORIES.sole;
|
78
|
-
default:
|
79
|
-
return CHART_ACCOUNTS_CATEGORIES.work;
|
80
|
-
}
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Get transaction date
|
84
|
-
*/
|
85
|
-
getDate() {
|
86
|
-
return this.date;
|
87
|
-
}
|
88
70
|
/**
|
89
71
|
* Check if transaction type is vehicle
|
90
72
|
*/
|
@@ -246,4 +228,4 @@ __decorate([
|
|
246
228
|
__decorate([
|
247
229
|
Transform(({ value }) => +value)
|
248
230
|
], Transaction.prototype, "tax", void 0);
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsRUFBRSxrQ0FBa0MsR0FDbkUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG1C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QUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDOztBQTNQRDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7aURBQ1M7QUFHakM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDOzZDQUNGO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztrREFDRztBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7aURBQ0U7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ087QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzZDQUNGO0FBR3RCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dEQUNRO0FBRzFDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnREFDQztBQUc3QjtJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDO3dDQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFRyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNLZWVwU2lnbixcbiAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLFxuICBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0sIENoYXJ0QWNjb3VudHNVbmFsbG9jYXRhYmxlTGlzdEVudW0sXG59IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU291cmNlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXNvdXJjZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHknO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhRmllbGQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLW1ldGEtZmllbGQnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRXhwZW5zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtIH0gZnJvbSAnLi4vc29sZSc7XG5cbi8vIEBUT0RPIEFsZXg6IHJlZmFjdG9yOiBtb3ZlIGhlcmUgYWxsb2NhdGlvbnMgbWV0aG9kcywgbmV0QW1vdW50ID0gYW1vdW50LCBncm9zc0Ftb3VudCBjYWxjdWxhdGlvbiwgcmVtb3ZlIHVudXNlZCBtZXRob2RzLCBldGMuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2UgaW1wbGVtZW50cyBFeHBlbnNlIHtcbiAgc3RhdGljIGNsYXNzTmFtZSA9ICdUcmFuc2FjdGlvbic7XG4gIC8qKlxuICAgKiBAVE9ETyByZW5hbWUgdG8gY2hpbGRUcmFuc2FjdGlvbnNcbiAgICovXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbk1ldGFGaWVsZClcbiAgbWV0YUZpZWxkczogVHJhbnNhY3Rpb25NZXRhRmllbGRbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VJdGVtKVxuICBpbnZvaWNlSXRlbTogU29sZUludm9pY2VJdGVtO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICB0YXggPSAwO1xuXG4gIG9wZXJhdGlvbjogVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtID0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICBjbGFpbVBlcmNlbnQgPSAxMDA7XG4gIGFtb3VudCA9IDA7XG5cbiAgZ2V0IGludm9pY2VJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmludm9pY2VJdGVtPy5pbnZvaWNlLmlkO1xuICB9XG5cbiAgaXNEZWJpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkRFQklUO1xuICB9XG5cbiAgaXNDcmVkaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQ7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzSW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIC8vIEBUT0RPIG5vdCB1c2VkXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaW5jb21lLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0RlYml0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZXhwZW5zZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbC5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNJbnRlcmVzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uSU5URVJFU1RfT05fTE9BTjtcbiAgfVxuXG4gIGdldCBjaGFydEFjY291bnRzQ2F0ZWdvcmllcygpOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUGVyc29uYWwoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWw7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eTtcblxuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuc29sZTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29yaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRyYW5zYWN0aW9uIGRhdGVcbiAgICovXG4gIGdldERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiB0eXBlIGlzIHZlaGljbGVcbiAgICovXG4gIGlzVmVoaWNsZVRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaXNWZWhpY2xlRXhwZW5zZSgpO1xuICB9XG5cbiAgZ2V0IHRheEZyZWVDb21wb25lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uVEFYX0ZSRUVfQ09NUE9ORU5UKTtcbiAgfVxuXG4gIGdldCBmcmFua2luZ0NyZWRpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5GUkFOS0lOR19DUkVESVQpO1xuICB9XG5cbiAgZ2V0IGVsaWdpYmxlRm9yUmVkdWN0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLkVMSUdJQkxFX0ZPUl9SRURVQ1RJT04pO1xuICB9XG5cbiAgZ2V0IHVudGF4ZWRFbGVtZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlVOVEFYRURfRUxFTUVOVCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gcmVjb25jaWxlIG9wZXJhdGlvbiBpZiBUUkFOU0ZFUlxuICAgKiBAVE9ETyBiYWQgdXNhZ2Ugb2YgZ2V0IChhbmQgYWxsIGlzKiBtZXRob2RzKSwgZ2V0dGVyIHNob3VsZCBzb3VuZCBsaWtlIGEgbm91blxuICAgKi9cbiAgZ2V0IGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc0ZpbmRBbmRNYXRjaCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgfVxuXG4gIGdldCBkZWJpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzRGViaXQoKSA/IE1hdGguYWJzKHRoaXMuYW1vdW50KSA6IDA7XG4gIH1cblxuICBnZXQgY3JlZGl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKSA/IE1hdGguYWJzKHRoaXMuYW1vdW50KSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbHVlIG9mIHRyYW5zYWN0aW9uIG1ldGEgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkIGZvciB3aGljaCB2YWx1ZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICogQFRvZG8gbW9kaWZ5ICdtZXRhRmllbGRzJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFGaWVsZFZhbHVlKGZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhRmllbGRzLmZpbmQoKHRyYW5zYWN0aW9uTWV0YUZpZWxkOiBUcmFuc2FjdGlvbk1ldGFGaWVsZCk6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb25NZXRhRmllbGQuY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCA9PT0gZmllbGQpPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICBjYW5GaW5kQW5kTWF0Y2goYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucGFyZW50VHJhbnNhY3Rpb25cbiAgICAgICYmICF0aGlzLmlzQ2FzaCgpXG4gICAgICAmJiAhKHRoaXMuaXNTb2xlVGFuaygpICYmIHRoaXMuaXNJbmNvbWUoKSlcbiAgICAgICYmICFPYmplY3QudmFsdWVzKENoYXJ0QWNjb3VudHNVbmFsbG9jYXRhYmxlTGlzdEVudW0pLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5pZClcbiAgICAgICYmICF0aGlzLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgRGVwcmVjaWF0aW9uIGluc3RhbmNlIGJhc2VkIG9uIFRyYW5zYWN0aW9uXG4gICAqL1xuICB0b0RlcHJlY2lhdGlvbigpOiBEZXByZWNpYXRpb24ge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRGVwcmVjaWF0aW9uLCB7XG4gICAgICBkYXRlOiB0aGlzLmRhdGUsXG4gICAgICBhbW91bnQ6IE1hdGguYWJzKHRoaXMuYW1vdW50KSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IHRoaXMuY2hhcnRBY2NvdW50cyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogdGhpcy5jaGFydEFjY291bnRzLmlzUHJvcGVydHlDYXBpdGFsV29ya3MoKSA/IERlcHJlY2lhdGlvblR5cGVFbnVtLkNBUElUQUxfV09SS1MgOiBEZXByZWNpYXRpb25UeXBlRW51bS5QTEFOVF9FUVVJUE1FTlQsXG4gICAgICBjbGFpbVBlcmNlbnQ6IHRoaXMuY2xhaW1QZXJjZW50LFxuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICBjYWxjdWxhdGlvbjogdGhpcy5wcm9wZXJ0eSA/IHRoaXMucHJvcGVydHkuZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24gOiBEZXByZWNpYXRpb25DYWxjdWxhdGlvbkVudW0uUFJJTUVfQ09TVCxcbiAgICAgIHRyYW5zYWN0aW9uczogW3RoaXNdLFxuICAgICAgYnVzaW5lc3M6IHRoaXMuYnVzaW5lc3MsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gaXMgY29tcGxldGVseSBhbGxvY2F0ZWRcbiAgICovXG4gIGlzQWxsb2NhdGVkKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKSkgLSBNYXRoLmFicyh0aGlzLm5ldEFtb3VudCkgPj0gMDtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgLSB0aGlzLmdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgdHJhbnNhY3Rpb24gYW1vdW50IGluY2x1ZGluZyB0YXhlcyBhbmQgb3RoZXIgYWRkaXRpb25hbCBhbW91bnRzXG4gICAqL1xuICBnZXQgZ3Jvc3NBbW91bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgZ3Jvc3NBbW91bnQgPSBzdXBlci5ncm9zc0Ftb3VudCArIHRoaXMudGF4O1xuICAgIGlmICh0aGlzLmlzRXhwZW5zZSgpKSB7XG4gICAgICByZXR1cm4gZ3Jvc3NBbW91bnQ7XG4gICAgfVxuXG4gICAgLy8gaW5jbHVkZWQgdHJhbnNhY3Rpb25zIGFmZmVjdCBwYXJlbnQgdHJhbnNhY3Rpb24gYW1vdW50IGFuZCBhcyBhIHJlc3VsdCBncm9zc0Ftb3VudCwgc2tpcCB0byBhdm9pZCBkb3VibGUgc3VtXG4gICAgY29uc3QgYWRqdXN0bWVudHMgPSBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIodHJhbnNhY3Rpb24gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHM/LmlzQWRqdXN0bWVudEluY2x1ZGVkKCkpO1xuICAgIGNvbnN0IGluY29tZSA9IGFkanVzdG1lbnRzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5pc0luY29tZSgpKS5zdW1CeSgnYW1vdW50Jyk7XG4gICAgY29uc3QgZXhwZW5zZSA9IGFkanVzdG1lbnRzLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSkuc3VtQnkoJ2Ftb3VudCcsIHRydWUpO1xuICAgIC8vIGFsbCBhZGp1c3RtZW50cyBleGNlcHQgcHJvcGVydHkgaW5jb21lIGluY3JlYXNlIGdyb3NzSW5jb21lXG4gICAgZ3Jvc3NBbW91bnQgKz0gZXhwZW5zZSArICh0aGlzLmlzUHJvcGVydHlUYW5rKCkgPyAtaW5jb21lIDogaW5jb21lKTtcblxuICAgIGlmICh0aGlzLmlzV29ya1RhbmsoKSB8fCB0aGlzLmlzSG9sZGluZ1RhbmsoKSkge1xuICAgICAgZ3Jvc3NBbW91bnQgKz0gdGhpcy5mcmFua2luZ0NyZWRpdCAtIHRoaXMudGF4RnJlZUNvbXBvbmVudCAtIHRoaXMuZWxpZ2libGVGb3JSZWR1Y3Rpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBjb25mdXNpbmcgbG9naWMgZGVtYW5kZWQgYnkgTmljb2xlLCB3ZSBuZWVkIGEgYmV0dGVyIHV4IHRvIGZpeCBpdFxuICAgKiBuZXRBbW91bnQgbWF0Y2hlcyByZWNlaXZlZCBwYXltZW50IChiYW5rVHJhbnNhY3Rpb24gYW1vdW50KSwgaW5jbHVkZXMgZ3N0IGFuZCBzYWxhcnkgaW5jbHVkZWQgYWRqdXN0bWVudHNcbiAgICogaWUgdXNlciByZWNlaXZlZCAxMDAwJCBzYWxhcnkgaW5jbHVkaW5nIDEwMCQgdGlwcy4gTmV0QW1vdW50PTEwMDAkLCBhbW91bnQ9OTAwJCwgdGlwcz0xMDAkXG4gICAqL1xuICBnZXQgbmV0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcigodCkgPT4gdC5jaGFydEFjY291bnRzPy5pc0FkanVzdG1lbnRJbmNsdWRlZCgpKVxuICAgICAgLnN1bUJ5KCdhbW91bnQnKSArIHRoaXMuYW1vdW50V2l0aEdzdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtb3N0IG9mIHRoZSB0cmFuc2FjdGlvbnMgY291bGQgaGF2ZSBvbmx5IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGFtb3VudCBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMsIHNvIHdlIGlnbm9yZVxuICAgKiB1c2VyJ3MgY2hvaWNlIGFuZCB0cmFuc2Zvcm0gYW1vdW50LCBidXQgdGhlcmUgYXJlIGV4Y2VwdGlvbnMgbGlrZSBhZHZhbmNlIChuZWdhdGl2ZSBvciBwb3NpdGl2ZSBhbW91bnQpXG4gICAqL1xuICBpZ25vcmVTaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHRoaXMuY2hhcnRBY2NvdW50cz8uaWQgaW4gQ2hhcnRBY2NvdW50c0tlZXBTaWduKTtcbiAgfVxuXG4gIHNldFBhcmVudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gdGhpcy5jaGFydEFjY291bnRzLm5hbWU7XG4gICAgdGhpcy5kYXRlID0gdHJhbnNhY3Rpb24uZGF0ZTtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudDtcbiAgICB0aGlzLnByb3BlcnR5ID0gdHJhbnNhY3Rpb24ucHJvcGVydHk7XG4gICAgdGhpcy5sb2FuID0gdHJhbnNhY3Rpb24ubG9hbjtcbiAgICB0aGlzLmluY29tZVNvdXJjZSA9IHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZTtcbiAgICB0aGlzLmJ1c2luZXNzID0gdHJhbnNhY3Rpb24uYnVzaW5lc3M7XG4gIH1cbn1cbiJdfQ==
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw4QkFBOEIsRUFBRSxrQ0FBa0MsR0FDbkUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG1C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LEVBQUUsQ0FBQyxXQUFXLENBQUM7NkNBQ0Y7QUFHdEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0RBQ1E7QUFHMUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dEQUNDO0FBRzdCO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7d0NBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtcbiAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0tlZXBTaWduLFxuICBDaGFydEFjY291bnRzTGlzdEVudW0sXG4gIENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bSwgQ2hhcnRBY2NvdW50c1VuYWxsb2NhdGFibGVMaXN0RW51bSxcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk1ldGFGaWVsZCB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YS1maWVsZCc7XG5pbXBvcnQgeyBMb2FuIH0gZnJvbSAnLi4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBFeHBlbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW0gfSBmcm9tICcuLi9zb2xlJztcblxuLy8gQFRPRE8gQWxleDogcmVmYWN0b3I6IG1vdmUgaGVyZSBhbGxvY2F0aW9ucyBtZXRob2RzLCBuZXRBbW91bnQgPSBhbW91bnQsIGdyb3NzQW1vdW50IGNhbGN1bGF0aW9uLCByZW1vdmUgdW51c2VkIG1ldGhvZHMsIGV0Yy5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIEV4cGVuc2Uge1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ1RyYW5zYWN0aW9uJztcbiAgLyoqXG4gICAqIEBUT0RPIHJlbmFtZSB0byBjaGlsZFRyYW5zYWN0aW9uc1xuICAgKi9cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb24pXG4gIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5KVxuICBwcm9wZXJ0eTogUHJvcGVydHk7XG5cbiAgQFR5cGUoKCkgPT4gQ2hhcnRBY2NvdW50cylcbiAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cztcblxuICBAVHlwZSgoKSA9PiBJbmNvbWVTb3VyY2UpXG4gIGluY29tZVNvdXJjZTogSW5jb21lU291cmNlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uTWV0YUZpZWxkKVxuICBtZXRhRmllbGRzOiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb24pXG4gIHRyYW5zZmVyOiBUcmFuc2FjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBMb2FuKVxuICBsb2FuOiBMb2FuO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25BbGxvY2F0aW9uKVxuICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBTb2xlSW52b2ljZUl0ZW0pXG4gIGludm9pY2VJdGVtOiBTb2xlSW52b2ljZUl0ZW07XG5cbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiArdmFsdWUpXG4gIHRheCA9IDA7XG5cbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uRklORF9BTkRfTUFUQ0g7XG4gIGNsYWltUGVyY2VudCA9IDEwMDtcbiAgYW1vdW50ID0gMDtcblxuICBnZXQgaW52b2ljZUlkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW52b2ljZUl0ZW0/Lmludm9pY2UuaWQ7XG4gIH1cblxuICBpc0RlYml0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQ7XG4gIH1cblxuICBpc0NyZWRpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBtb3ZlIHRvIGJhc2UgY29sbGVjdGlvblxuICAgKi9cbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgLy8gQFRPRE8gbm90IHVzZWRcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBtb3ZlIHRvIGJhc2UgY29sbGVjdGlvblxuICAgKi9cbiAgaXNFeHBlbnNlKCk6IGJvb2xlYW4ge1xuICAgIC8vIEBUT0RPIG5vdCB1c2VkXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzRGViaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5leHBlbnNlLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc0ludGVyZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9PTl9MT0FOO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHR5cGUgaXMgdmVoaWNsZVxuICAgKi9cbiAgaXNWZWhpY2xlVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pc1ZlaGljbGVFeHBlbnNlKCk7XG4gIH1cblxuICBnZXQgdGF4RnJlZUNvbXBvbmVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5UQVhfRlJFRV9DT01QT05FTlQpO1xuICB9XG5cbiAgZ2V0IGZyYW5raW5nQ3JlZGl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLkZSQU5LSU5HX0NSRURJVCk7XG4gIH1cblxuICBnZXQgZWxpZ2libGVGb3JSZWR1Y3Rpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRUxJR0lCTEVfRk9SX1JFRFVDVElPTik7XG4gIH1cblxuICBnZXQgdW50YXhlZEVsZW1lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uVU5UQVhFRF9FTEVNRU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiByZWNvbmNpbGUgb3BlcmF0aW9uIGlmIFRSQU5TRkVSXG4gICAqIEBUT0RPIGJhZCB1c2FnZSBvZiBnZXQgKGFuZCBhbGwgaXMqIG1ldGhvZHMpLCBnZXR0ZXIgc2hvdWxkIHNvdW5kIGxpa2UgYSBub3VuXG4gICAqL1xuICBnZXQgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUjtcbiAgfVxuXG4gIGlzRmluZEFuZE1hdGNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICB9XG5cbiAgZ2V0IGRlYml0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNEZWJpdCgpID8gTWF0aC5hYnModGhpcy5hbW91bnQpIDogMDtcbiAgfVxuXG4gIGdldCBjcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpID8gTWF0aC5hYnModGhpcy5hbW91bnQpIDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdmFsdWUgb2YgdHJhbnNhY3Rpb24gbWV0YSBmaWVsZFxuICAgKiBAcGFyYW0gZmllbGQgZm9yIHdoaWNoIHZhbHVlIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKiBAVG9kbyBtb2RpZnkgJ21ldGFGaWVsZHMnIHByb3BlcnR5IGZyb20gYXJyYXkgdG8gQ29sbGVjdGlvblxuICAgKi9cbiAgZ2V0TWV0YUZpZWxkVmFsdWUoZmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bSk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLm1ldGFGaWVsZHMuZmluZCgodHJhbnNhY3Rpb25NZXRhRmllbGQ6IFRyYW5zYWN0aW9uTWV0YUZpZWxkKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbk1ldGFGaWVsZC5jaGFydEFjY291bnRzTWV0YUZpZWxkLmlkID09PSBmaWVsZCk/LnZhbHVlIHx8IDA7XG4gIH1cblxuICBpc0Nhc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlID09PSBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSDtcbiAgfVxuXG4gIGNhbkZpbmRBbmRNYXRjaChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnRUcmFuc2FjdGlvblxuICAgICAgJiYgIXRoaXMuaXNDYXNoKClcbiAgICAgICYmICEodGhpcy5pc1NvbGVUYW5rKCkgJiYgdGhpcy5pc0luY29tZSgpKVxuICAgICAgJiYgIU9iamVjdC52YWx1ZXMoQ2hhcnRBY2NvdW50c1VuYWxsb2NhdGFibGVMaXN0RW51bSkuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmlkKVxuICAgICAgJiYgIXRoaXMuaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBEZXByZWNpYXRpb24gaW5zdGFuY2UgYmFzZWQgb24gVHJhbnNhY3Rpb25cbiAgICovXG4gIHRvRGVwcmVjaWF0aW9uKCk6IERlcHJlY2lhdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhEZXByZWNpYXRpb24sIHtcbiAgICAgIGRhdGU6IHRoaXMuZGF0ZSxcbiAgICAgIGFtb3VudDogTWF0aC5hYnModGhpcy5hbW91bnQpLFxuICAgICAgY2hhcnRBY2NvdW50czogdGhpcy5jaGFydEFjY291bnRzLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICB0eXBlOiB0aGlzLmNoYXJ0QWNjb3VudHMuaXNQcm9wZXJ0eUNhcGl0YWxXb3JrcygpID8gRGVwcmVjaWF0aW9uVHlwZUVudW0uQ0FQSVRBTF9XT1JLUyA6IERlcHJlY2lhdGlvblR5cGVFbnVtLlBMQU5UX0VRVUlQTUVOVCxcbiAgICAgIGNsYWltUGVyY2VudDogdGhpcy5jbGFpbVBlcmNlbnQsXG4gICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgIGNhbGN1bGF0aW9uOiB0aGlzLnByb3BlcnR5ID8gdGhpcy5wcm9wZXJ0eS5kZXByZWNpYXRpb25DYWxjdWxhdGlvbiA6IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bS5QUklNRV9DT1NULFxuICAgICAgdHJhbnNhY3Rpb25zOiBbdGhpc10sXG4gICAgICBidXNpbmVzczogdGhpcy5idXNpbmVzcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gTWF0aC5hYnModGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpKSAtIE1hdGguYWJzKHRoaXMubmV0QW1vdW50KSA+PSAwO1xuICB9XG5cbiAgZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnMuZmlsdGVyQnkoJ3RyYW5zYWN0aW9uLmlkJywgdGhpcy5pZCkuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5ldEFtb3VudCAtIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCB0cmFuc2FjdGlvbiBhbW91bnQgaW5jbHVkaW5nIHRheGVzIGFuZCBvdGhlciBhZGRpdGlvbmFsIGFtb3VudHNcbiAgICovXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIGxldCBncm9zc0Ftb3VudCA9IHN1cGVyLmdyb3NzQW1vdW50ICsgdGhpcy50YXg7XG4gICAgaWYgKHRoaXMuaXNFeHBlbnNlKCkpIHtcbiAgICAgIHJldHVybiBncm9zc0Ftb3VudDtcbiAgICB9XG5cbiAgICAvLyBpbmNsdWRlZCB0cmFuc2FjdGlvbnMgYWZmZWN0IHBhcmVudCB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIGFzIGEgcmVzdWx0IGdyb3NzQW1vdW50LCBza2lwIHRvIGF2b2lkIGRvdWJsZSBzdW1cbiAgICBjb25zdCBhZGp1c3RtZW50cyA9IG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcih0cmFuc2FjdGlvbiA9PiAhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNBZGp1c3RtZW50SW5jbHVkZWQoKSk7XG4gICAgY29uc3QgaW5jb21lID0gYWRqdXN0bWVudHMuZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmlzSW5jb21lKCkpLnN1bUJ5KCdhbW91bnQnKTtcbiAgICBjb25zdCBleHBlbnNlID0gYWRqdXN0bWVudHMuZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmlzRXhwZW5zZSgpKS5zdW1CeSgnYW1vdW50JywgdHJ1ZSk7XG4gICAgLy8gYWxsIGFkanVzdG1lbnRzIGV4Y2VwdCBwcm9wZXJ0eSBpbmNvbWUgaW5jcmVhc2UgZ3Jvc3NJbmNvbWVcbiAgICBncm9zc0Ftb3VudCArPSBleHBlbnNlICsgKHRoaXMuaXNQcm9wZXJ0eVRhbmsoKSA/IC1pbmNvbWUgOiBpbmNvbWUpO1xuXG4gICAgaWYgKHRoaXMuaXNXb3JrVGFuaygpIHx8IHRoaXMuaXNIb2xkaW5nVGFuaygpKSB7XG4gICAgICBncm9zc0Ftb3VudCArPSB0aGlzLmZyYW5raW5nQ3JlZGl0IC0gdGhpcy50YXhGcmVlQ29tcG9uZW50IC0gdGhpcy5lbGlnaWJsZUZvclJlZHVjdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3Jvc3NBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gdmlrIGNvbmZ1c2luZyBsb2dpYyBkZW1hbmRlZCBieSBOaWNvbGUsIHdlIG5lZWQgYSBiZXR0ZXIgdXggdG8gZml4IGl0XG4gICAqIG5ldEFtb3VudCBtYXRjaGVzIHJlY2VpdmVkIHBheW1lbnQgKGJhbmtUcmFuc2FjdGlvbiBhbW91bnQpLCBpbmNsdWRlcyBnc3QgYW5kIHNhbGFyeSBpbmNsdWRlZCBhZGp1c3RtZW50c1xuICAgKiBpZSB1c2VyIHJlY2VpdmVkIDEwMDAkIHNhbGFyeSBpbmNsdWRpbmcgMTAwJCB0aXBzLiBOZXRBbW91bnQ9MTAwMCQsIGFtb3VudD05MDAkLCB0aXBzPTEwMCRcbiAgICovXG4gIGdldCBuZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhpcy50cmFuc2FjdGlvbnMpXG4gICAgICAuZmlsdGVyKCh0KSA9PiB0LmNoYXJ0QWNjb3VudHM/LmlzQWRqdXN0bWVudEluY2x1ZGVkKCkpXG4gICAgICAuc3VtQnkoJ2Ftb3VudCcpICsgdGhpcy5hbW91bnRXaXRoR3N0O1xuICB9XG5cbiAgLyoqXG4gICAqIG1vc3Qgb2YgdGhlIHRyYW5zYWN0aW9ucyBjb3VsZCBoYXZlIG9ubHkgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYW1vdW50IGRlcGVuZHMgb24gY2hhcnRBY2NvdW50cywgc28gd2UgaWdub3JlXG4gICAqIHVzZXIncyBjaG9pY2UgYW5kIHRyYW5zZm9ybSBhbW91bnQsIGJ1dCB0aGVyZSBhcmUgZXhjZXB0aW9ucyBsaWtlIGFkdmFuY2UgKG5lZ2F0aXZlIG9yIHBvc2l0aXZlIGFtb3VudClcbiAgICovXG4gIGlnbm9yZVNpZ24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5jaGFydEFjY291bnRzPy5pZCBpbiBDaGFydEFjY291bnRzS2VlcFNpZ24pO1xuICB9XG5cbiAgc2V0UGFyZW50KHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmNoYXJ0QWNjb3VudHMubmFtZTtcbiAgICB0aGlzLmRhdGUgPSB0cmFuc2FjdGlvbi5kYXRlO1xuICAgIHRoaXMuY2xhaW1QZXJjZW50ID0gdHJhbnNhY3Rpb24uY2xhaW1QZXJjZW50O1xuICAgIHRoaXMucHJvcGVydHkgPSB0cmFuc2FjdGlvbi5wcm9wZXJ0eTtcbiAgICB0aGlzLmxvYW4gPSB0cmFuc2FjdGlvbi5sb2FuO1xuICAgIHRoaXMuaW5jb21lU291cmNlID0gdHJhbnNhY3Rpb24uaW5jb21lU291cmNlO1xuICAgIHRoaXMuYnVzaW5lc3MgPSB0cmFuc2FjdGlvbi5idXNpbmVzcztcbiAgfVxufVxuIl19
|
@@ -17,6 +17,7 @@ import { FinancialYear } from '../financial-year';
|
|
17
17
|
import { AppFile } from '../file';
|
18
18
|
import range from 'lodash/range';
|
19
19
|
import { AccountSetupItem } from '../account-setup/account-setup-item';
|
20
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
20
21
|
export class User extends BaseUser {
|
21
22
|
constructor() {
|
22
23
|
super(...arguments);
|
@@ -61,6 +62,22 @@ export class User extends BaseUser {
|
|
61
62
|
roles = flatten(roles.map((role) => USER_ROLES[role]));
|
62
63
|
return !!intersection(this.roles, roles).length;
|
63
64
|
}
|
65
|
+
getTankTypes() {
|
66
|
+
const tankTypes = [];
|
67
|
+
if (this.roles.includes(UserRolesEnum.WORK_TANK)) {
|
68
|
+
tankTypes.push(TankTypeEnum.WORK);
|
69
|
+
}
|
70
|
+
if (this.roles.includes(UserRolesEnum.PROPERTY_TANK)) {
|
71
|
+
tankTypes.push(TankTypeEnum.PROPERTY);
|
72
|
+
}
|
73
|
+
if (this.roles.includes(UserRolesEnum.SOLE_TANK)) {
|
74
|
+
tankTypes.push(TankTypeEnum.SOLE);
|
75
|
+
}
|
76
|
+
if (this.roles.includes(UserRolesEnum.HOLDING_TANK)) {
|
77
|
+
tankTypes.push(TankTypeEnum.HOLDING);
|
78
|
+
}
|
79
|
+
return tankTypes;
|
80
|
+
}
|
64
81
|
isOnboarding() {
|
65
82
|
return this.status === UserStatusEnum.ON_BOARDING;
|
66
83
|
}
|
@@ -100,33 +117,6 @@ export class User extends BaseUser {
|
|
100
117
|
isManager() {
|
101
118
|
return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_TOP_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
|
102
119
|
}
|
103
|
-
/**
|
104
|
-
* check if user has property tank access
|
105
|
-
*/
|
106
|
-
hasPropertyTank() {
|
107
|
-
return this.roles ?
|
108
|
-
this.roles.includes(UserRolesEnum.PROPERTY_TANK) :
|
109
|
-
!!this.getSubscriptionRole(UserRolesEnum.PROPERTY_TANK);
|
110
|
-
}
|
111
|
-
/**
|
112
|
-
* check if user has property tank access
|
113
|
-
*/
|
114
|
-
hasWorkTank() {
|
115
|
-
return this.roles ?
|
116
|
-
this.roles.includes(UserRolesEnum.WORK_TANK) :
|
117
|
-
!!this.getSubscriptionRole(UserRolesEnum.WORK_TANK);
|
118
|
-
}
|
119
|
-
/**
|
120
|
-
* Get user subscription role by provided role type
|
121
|
-
* @param roleType by which role should be returned
|
122
|
-
*/
|
123
|
-
getSubscriptionRole(roleType) {
|
124
|
-
/**
|
125
|
-
* Add @TODO for Alex to check if we should use getLastSubscription here
|
126
|
-
*/
|
127
|
-
return this.activeSubscription?.items
|
128
|
-
.find((subscriptionItem) => subscriptionItem.price.product.role.includes(roleType));
|
129
|
-
}
|
130
120
|
isCurrentFinancialYear() {
|
131
121
|
return new FinancialYear(new Date()).year === this.financialYear;
|
132
122
|
}
|
@@ -171,4 +161,4 @@ __decorate([
|
|
171
161
|
__decorate([
|
172
162
|
Type(() => AccountSetupItem)
|
173
163
|
], User.prototype, "blacklistSetupItems", void 0);
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztB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QUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7bUNBQ0w7QUFHYjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7dUNBQ0Q7QUFJaEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3FDQUNEO0FBR2hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztrQ0FDTjtBQUdkO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lEQUNnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXIgYXMgQmFzZVVzZXIgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IFVzZXJTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAndGF4dGFuay1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBVU0VSX1dPUktfUE9TSVRJT04gfSBmcm9tICcuL3VzZXItd29yay1wb3NpdGlvbi5jb25zdCc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEVtcGxveWVlRGV0YWlscyB9IGZyb20gJy4uL2VtcGxveWVlL2VtcGxveWVlLWRldGFpbHMnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFBob25lIH0gZnJvbSAnLi4vcGhvbmUvcGhvbmUnO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIH0gZnJvbSAnLi4vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU29sZURldGFpbHMgfSBmcm9tICcuLi9zb2xlJztcbmltcG9ydCBpbnRlcnNlY3Rpb24gZnJvbSAnbG9kYXNoL2ludGVyc2VjdGlvbic7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgeyBVU0VSX1JPTEVTIH0gZnJvbSAnLi91c2VyLXJvbGVzLmNvbnN0JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgcmFuZ2UgZnJvbSAnbG9kYXNoL3JhbmdlJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuLi9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5cbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQmFzZVVzZXIge1xuICBAVHlwZSgoKSA9PiBTZXJ2aWNlU3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBTZXJ2aWNlU3Vic2NyaXB0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gQ2xpZW50RGV0YWlscylcbiAgY2xpZW50RGV0YWlsczogQ2xpZW50RGV0YWlscztcblxuICBAVHlwZSgoKSA9PiBFbXBsb3llZURldGFpbHMpXG4gIGVtcGxveWVlRGV0YWlsczogRW1wbG95ZWVEZXRhaWxzO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVEZXRhaWxzKVxuICBzb2xlRGV0YWlsczogU29sZURldGFpbHM7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQaG9uZSlcbiAgcGhvbmU6IFBob25lO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNyZWF0ZWRBdDogRGF0ZTtcblxuICAvLyBAVE9ETyBBbGV4IHJlbW92ZSB0aGlzIGhhY2tcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgY2xpZW50czogVXNlcltdO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQFR5cGUoKCkgPT4gQWNjb3VudFNldHVwSXRlbSlcbiAgYmxhY2tsaXN0U2V0dXBJdGVtczogQWNjb3VudFNldHVwSXRlbVtdID0gW107XG5cbiAgZ2V0IGZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YDtcbiAgfVxuXG4gIGdldCBwaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpbGU/LnB1YmxpY1VybDtcbiAgfVxuXG4gIGdldCBhY3RpdmVTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5maW5kKChzczogU2VydmljZVN1YnNjcmlwdGlvbik6IGJvb2xlYW4gPT4gc3MuaXNBY3RpdmUpO1xuICB9XG5cbiAgZ2V0IGxhc3RTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1t0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoIC0gMV07XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVmYWN0b3JcbiAgICpcbiAgICovXG4gIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzRmlybU93bmVyKCk6XG4gICAgICAgIHJldHVybiBVU0VSX1dPUktfUE9TSVRJT05bVXNlclJvbGVzRW51bS5GSVJNX09XTkVSXTtcbiAgICAgIGNhc2UgdGhpcy5pc01hbmFnZXIoKTpcbiAgICAgICAgcmV0dXJuIFVTRVJfV09SS19QT1NJVElPTltVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUl07XG4gICAgICBjYXNlIHRoaXMuaXNFbXBsb3llZSgpOlxuICAgICAgICByZXR1cm4gVVNFUl9XT1JLX1BPU0lUSU9OW1VzZXJSb2xlc0VudW0uRU1QTE9ZRUVdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzZWFyY2ggcm9sZXMgaW5jbHVkaW5nIGhpZXJhcmNoeVxuICAgKi9cbiAgaGFzUm9sZXMocm9sZXM6IFVzZXJSb2xlc0VudW0gfCBVc2VyUm9sZXNFbnVtW10pOiBib29sZWFuIHtcbiAgICByb2xlcyA9IHJvbGVzIGluc3RhbmNlb2YgQXJyYXkgPyByb2xlcyA6IFtyb2xlc107XG4gICAgaWYgKCFyb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJvbGVzID0gZmxhdHRlbihyb2xlcy5tYXAoKHJvbGUpID0+IFVTRVJfUk9MRVNbcm9sZV0pKTtcbiAgICByZXR1cm4gISFpbnRlcnNlY3Rpb24odGhpcy5yb2xlcywgcm9sZXMpLmxlbmd0aDtcbiAgfVxuXG4gIGlzT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLk9OX0JPQVJESU5HO1xuICB9XG5cbiAgaXNJbmFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLklOQUNUSVZFO1xuICB9XG5cbiAgaGFzU3Vic2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uU1VCU0NSSVBUSU9OKTtcbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc0NsaWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkNMSUVOVCk7XG4gIH1cblxuICBpc0VtcGxveWVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQWNjb3VudGFudCgpIHx8IHRoaXMuaXNBZHZpc29yKCk7XG4gIH1cblxuICBpc0FjY291bnRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UKTtcbiAgfVxuXG4gIGlzQWR2aXNvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkFEVklTT1IpO1xuICB9XG5cbiAgaXNJbXBlcnNvbmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5TV0lUQ0hfVVNFUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gb3duZXJcbiAgICovXG4gIGlzRmlybU93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICBpc1RvcE1hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX1RPUF9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICBpc01hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVIpIHx8IHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX1RPUF9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgdXNlciBoYXMgcHJvcGVydHkgdGFuayBhY2Nlc3NcbiAgICovXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcyA/XG4gICAgICB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiB1c2VyIGhhcyBwcm9wZXJ0eSB0YW5rIGFjY2Vzc1xuICAgKi9cbiAgaGFzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMgP1xuICAgICAgdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIHN1YnNjcmlwdGlvbiByb2xlIGJ5IHByb3ZpZGVkIHJvbGUgdHlwZVxuICAgKiBAcGFyYW0gcm9sZVR5cGUgYnkgd2hpY2ggcm9sZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIGdldFN1YnNjcmlwdGlvblJvbGUocm9sZVR5cGU6IFVzZXJSb2xlc0VudW0pOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgLyoqXG4gICAgICogQWRkIEBUT0RPIGZvciBBbGV4IHRvIGNoZWNrIGlmIHdlIHNob3VsZCB1c2UgZ2V0TGFzdFN1YnNjcmlwdGlvbiBoZXJlXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9uPy5pdGVtc1xuICAgICAgLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhyb2xlVHlwZSkpO1xuICB9XG5cbiAgaXNDdXJyZW50RmluYW5jaWFsWWVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUoKSkueWVhciA9PT0gdGhpcy5maW5hbmNpYWxZZWFyO1xuICB9XG5cbiAgLyoqXG4gICAqIGZpbmFuY2lhbCB5ZWFycyBhdmFpbGFibGUgaW4gdGhlIGFwcCBmb3IgdXNlclxuICAgKiBzdGFydHMgZnJvbSAyMDIyIGZvciBuZXcgdXNlcnMgYW5kIHJlZ2lzdGVyZWRZZWFyIC0gMSBmb3Igb2xkIHVzZXJzXG4gICAqL1xuICBnZXQgZmluYW5jaWFsWWVhcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcmFuZ2UoXG4gICAgICBNYXRoLm1pbihGaW5hbmNpYWxZZWFyLnRvRmluWWVhcih0aGlzLmNyZWF0ZWRBdCkgLSAxLCAyMDIyKSxcbiAgICAgIEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKG5ldyBEYXRlKCkpICsgMVxuICAgICk7XG4gIH1cblxuICBnZXQgZmlybUJyYW5jaE5hbWVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZW1wbG95ZWVEZXRhaWxzLmZpcm1CcmFuY2hOYW1lcztcbiAgfVxufVxuXG4iXX0=
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztB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QUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO21DQUNMO0FBR2I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3VDQUNEO0FBSWhCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDRDtBQUdoQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7a0NBQ047QUFHZDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpREFDZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIGFzIEJhc2VVc2VyIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBVc2VyU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgQWRkcmVzcyB9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHsgVVNFUl9XT1JLX1BPU0lUSU9OIH0gZnJvbSAnLi91c2VyLXdvcmstcG9zaXRpb24uY29uc3QnO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlscyB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBFbXBsb3llZURldGFpbHMgfSBmcm9tICcuLi9lbXBsb3llZS9lbXBsb3llZS1kZXRhaWxzJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQaG9uZSB9IGZyb20gJy4uL3Bob25lL3Bob25lJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vc29sZSc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnbG9kYXNoL2ZsYXR0ZW4nO1xuaW1wb3J0IHsgVVNFUl9ST0xFUyB9IGZyb20gJy4vdXNlci1yb2xlcy5jb25zdCc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHJhbmdlIGZyb20gJ2xvZGFzaC9yYW5nZSc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgVXNlciBleHRlbmRzIEJhc2VVc2VyIHtcbiAgQFR5cGUoKCkgPT4gU2VydmljZVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogU2VydmljZVN1YnNjcmlwdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IENsaWVudERldGFpbHMpXG4gIGNsaWVudERldGFpbHM6IENsaWVudERldGFpbHM7XG5cbiAgQFR5cGUoKCkgPT4gRW1wbG95ZWVEZXRhaWxzKVxuICBlbXBsb3llZURldGFpbHM6IEVtcGxveWVlRGV0YWlscztcblxuICBAVHlwZSgoKSA9PiBTb2xlRGV0YWlscylcbiAgc29sZURldGFpbHM6IFNvbGVEZXRhaWxzO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUGhvbmUpXG4gIHBob25lOiBQaG9uZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjcmVhdGVkQXQ6IERhdGU7XG5cbiAgLy8gQFRPRE8gQWxleCByZW1vdmUgdGhpcyBoYWNrXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIGNsaWVudHM6IFVzZXJbXTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBUeXBlKCgpID0+IEFjY291bnRTZXR1cEl0ZW0pXG4gIGJsYWNrbGlzdFNldHVwSXRlbXM6IEFjY291bnRTZXR1cEl0ZW1bXSA9IFtdO1xuXG4gIGdldCBmdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmZpcnN0TmFtZX0gJHt0aGlzLmxhc3ROYW1lfWA7XG4gIH1cblxuICBnZXQgcGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWxlPy5wdWJsaWNVcmw7XG4gIH1cblxuICBnZXQgYWN0aXZlU3Vic2NyaXB0aW9uKCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuZmluZCgoc3M6IFNlcnZpY2VTdWJzY3JpcHRpb24pOiBib29sZWFuID0+IHNzLmlzQWN0aXZlKTtcbiAgfVxuXG4gIGdldCBsYXN0U3Vic2NyaXB0aW9uKCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNbdGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlZmFjdG9yXG4gICAqXG4gICAqL1xuICBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc0Zpcm1Pd25lcigpOlxuICAgICAgICByZXR1cm4gVVNFUl9XT1JLX1BPU0lUSU9OW1VzZXJSb2xlc0VudW0uRklSTV9PV05FUl07XG4gICAgICBjYXNlIHRoaXMuaXNNYW5hZ2VyKCk6XG4gICAgICAgIHJldHVybiBVU0VSX1dPUktfUE9TSVRJT05bVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVJdO1xuICAgICAgY2FzZSB0aGlzLmlzRW1wbG95ZWUoKTpcbiAgICAgICAgcmV0dXJuIFVTRVJfV09SS19QT1NJVElPTltVc2VyUm9sZXNFbnVtLkVNUExPWUVFXTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogc2VhcmNoIHJvbGVzIGluY2x1ZGluZyBoaWVyYXJjaHlcbiAgICovXG4gIGhhc1JvbGVzKHJvbGVzOiBVc2VyUm9sZXNFbnVtIHwgVXNlclJvbGVzRW51bVtdKTogYm9vbGVhbiB7XG4gICAgcm9sZXMgPSByb2xlcyBpbnN0YW5jZW9mIEFycmF5ID8gcm9sZXMgOiBbcm9sZXNdO1xuICAgIGlmICghcm9sZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByb2xlcyA9IGZsYXR0ZW4ocm9sZXMubWFwKChyb2xlKSA9PiBVU0VSX1JPTEVTW3JvbGVdKSk7XG4gICAgcmV0dXJuICEhaW50ZXJzZWN0aW9uKHRoaXMucm9sZXMsIHJvbGVzKS5sZW5ndGg7XG4gIH1cblxuICBnZXRUYW5rVHlwZXMoKTogVGFua1R5cGVFbnVtW10ge1xuICAgIGNvbnN0IHRhbmtUeXBlcyA9IFtdO1xuICAgIGlmICh0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uV09SS19UQU5LKSkge1xuICAgICAgdGFua1R5cGVzLnB1c2goVGFua1R5cGVFbnVtLldPUkspO1xuICAgIH1cbiAgICBpZiAodGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTkspKSB7XG4gICAgICB0YW5rVHlwZXMucHVzaChUYW5rVHlwZUVudW0uUFJPUEVSVFkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLlNPTEVfVEFOSykpIHtcbiAgICAgIHRhbmtUeXBlcy5wdXNoKFRhbmtUeXBlRW51bS5TT0xFKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTkspKSB7XG4gICAgICB0YW5rVHlwZXMucHVzaChUYW5rVHlwZUVudW0uSE9MRElORyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhbmtUeXBlcztcbiAgfVxuXG4gIGlzT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLk9OX0JPQVJESU5HO1xuICB9XG5cbiAgaXNJbmFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLklOQUNUSVZFO1xuICB9XG5cbiAgaGFzU3Vic2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uU1VCU0NSSVBUSU9OKTtcbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc0NsaWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkNMSUVOVCk7XG4gIH1cblxuICBpc0VtcGxveWVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQWNjb3VudGFudCgpIHx8IHRoaXMuaXNBZHZpc29yKCk7XG4gIH1cblxuICBpc0FjY291bnRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UKTtcbiAgfVxuXG4gIGlzQWR2aXNvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkFEVklTT1IpO1xuICB9XG5cbiAgaXNJbXBlcnNvbmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5TV0lUQ0hfVVNFUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gb3duZXJcbiAgICovXG4gIGlzRmlybU93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICBpc1RvcE1hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX1RPUF9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICBpc01hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVIpIHx8IHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX1RPUF9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICBpc0N1cnJlbnRGaW5hbmNpYWxZZWFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZSgpKS55ZWFyID09PSB0aGlzLmZpbmFuY2lhbFllYXI7XG4gIH1cblxuICAvKipcbiAgICogZmluYW5jaWFsIHllYXJzIGF2YWlsYWJsZSBpbiB0aGUgYXBwIGZvciB1c2VyXG4gICAqIHN0YXJ0cyBmcm9tIDIwMjIgZm9yIG5ldyB1c2VycyBhbmQgcmVnaXN0ZXJlZFllYXIgLSAxIGZvciBvbGQgdXNlcnNcbiAgICovXG4gIGdldCBmaW5hbmNpYWxZZWFycygpOiBudW1iZXIge1xuICAgIHJldHVybiByYW5nZShcbiAgICAgIE1hdGgubWluKEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKHRoaXMuY3JlYXRlZEF0KSAtIDEsIDIwMjIpLFxuICAgICAgRmluYW5jaWFsWWVhci50b0ZpblllYXIobmV3IERhdGUoKSkgKyAxXG4gICAgKTtcbiAgfVxuXG4gIGdldCBmaXJtQnJhbmNoTmFtZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbXBsb3llZURldGFpbHMuZmlybUJyYW5jaE5hbWVzO1xuICB9XG59XG5cbiJdfQ==
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
2
2
|
import { HoldingSale } from '../../../models';
|
3
3
|
import { RestService } from '../rest';
|
4
4
|
import { HoldingSaleCollection } from '../../../collections';
|
5
|
+
import { UserRolesEnum } from 'taxtank-core/common';
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
export class HoldingSaleService extends RestService {
|
7
8
|
constructor() {
|
@@ -10,6 +11,7 @@ export class HoldingSaleService extends RestService {
|
|
10
11
|
this.collectionClass = HoldingSaleCollection;
|
11
12
|
this.endpointUri = 'holding-sales';
|
12
13
|
this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
|
14
|
+
this.roles = [UserRolesEnum.HOLDING_TANK];
|
13
15
|
}
|
14
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
15
17
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HoldingSaleService, providedIn: 'root' }); }
|
@@ -20,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
20
22
|
providedIn: 'root'
|
21
23
|
}]
|
22
24
|
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9ob2xkaW5nL2hvbGRpbmctc2FsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBZ0U7SUFIeEc7O1FBSUUsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixvQkFBZSxHQUFHLHFCQUFxQixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBQzlCLG9CQUFlLEdBQWlCLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RSxVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDdEM7K0dBTlksa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvbGRpbmdTYWxlIGFzIEhvbGRpbmdTYWxlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIb2xkaW5nU2FsZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgSG9sZGluZ1NhbGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIb2xkaW5nU2FsZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxIb2xkaW5nU2FsZUJhc2UsIEhvbGRpbmdTYWxlLCBIb2xkaW5nU2FsZUNvbGxlY3Rpb24+IHtcbiAgbW9kZWxDbGFzcyA9IEhvbGRpbmdTYWxlO1xuICBjb2xsZWN0aW9uQ2xhc3MgPSBIb2xkaW5nU2FsZUNvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ2hvbGRpbmctc2FsZXMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdEJhdGNoJywgJ3B1dEJhdGNoJywgJ2RlbGV0ZUJhdGNoJ107XG4gIHJvbGVzID0gW1VzZXJSb2xlc0VudW0uSE9MRElOR19UQU5LXTtcbn1cbiJdfQ==
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
2
2
|
import { PropertySale } from '../../../../models';
|
3
3
|
import { RestService } from '../../rest';
|
4
4
|
import { PropertySaleCollection } from '../../../../collections';
|
5
|
+
import { UserRolesEnum } from 'taxtank-core/common';
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
export class PropertySaleService extends RestService {
|
7
8
|
constructor() {
|
@@ -10,6 +11,7 @@ export class PropertySaleService extends RestService {
|
|
10
11
|
this.collectionClass = PropertySaleCollection;
|
11
12
|
this.endpointUri = 'properties/sales';
|
12
13
|
this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
|
14
|
+
this.roles = [UserRolesEnum.PROPERTY_TANK];
|
13
15
|
}
|
14
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
15
17
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PropertySaleService, providedIn: 'root' }); }
|
@@ -20,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
20
22
|
providedIn: 'root'
|
21
23
|
}]
|
22
24
|
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS3BELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFtRTtJQUg1Rzs7UUFJRSxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxvQkFBZSxHQUFrQyxzQkFBc0IsQ0FBQztRQUN4RSxnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLG9CQUFlLEdBQWlCLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RSxVQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDdkM7K0dBTlksbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSBhcyBQcm9wZXJ0eVNhbGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFByb3BlcnR5U2FsZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTYWxlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5U2FsZUJhc2UsIFByb3BlcnR5U2FsZSwgUHJvcGVydHlTYWxlQ29sbGVjdGlvbj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHlTYWxlID0gUHJvcGVydHlTYWxlO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eVNhbGVDb2xsZWN0aW9uID0gUHJvcGVydHlTYWxlQ29sbGVjdGlvbjtcbiAgZW5kcG9pbnRVcmkgPSAncHJvcGVydGllcy9zYWxlcyc7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0QmF0Y2gnLCAncHV0QmF0Y2gnLCAnZGVsZXRlQmF0Y2gnXTtcbiAgcm9sZXMgPSBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LXTtcbn1cbiJdfQ==
|
@@ -4,6 +4,7 @@ import { plainToClass } from 'class-transformer';
|
|
4
4
|
import { AppEvent, AppEventTypeEnum, Property, PropertyCategoryMovement, PropertySale, PropertyShare, PropertySubscription, PropertyValuation } from '../../../models';
|
5
5
|
import { RestService } from '../rest';
|
6
6
|
import { PropertyCollection } from '../../../collections';
|
7
|
+
import { UserRolesEnum } from 'taxtank-core/common';
|
7
8
|
import * as i0 from "@angular/core";
|
8
9
|
/**
|
9
10
|
* @Todo Alex remove functionality related to PropertyShare
|
@@ -11,7 +12,6 @@ import * as i0 from "@angular/core";
|
|
11
12
|
* Service for work with Property
|
12
13
|
*/
|
13
14
|
export class PropertyService extends RestService {
|
14
|
-
// roles = [UserRolesEnum.PROPERTY_TANK];
|
15
15
|
constructor(environment) {
|
16
16
|
super(environment);
|
17
17
|
this.environment = environment;
|
@@ -19,6 +19,7 @@ export class PropertyService extends RestService {
|
|
19
19
|
this.collectionClass = PropertyCollection;
|
20
20
|
this.endpointUri = 'properties';
|
21
21
|
this.disabledMethods = ['deleteBatch'];
|
22
|
+
this.roles = [UserRolesEnum.PROPERTY_TANK];
|
22
23
|
this.listenEvents();
|
23
24
|
}
|
24
25
|
/**
|
@@ -85,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
85
86
|
type: Inject,
|
86
87
|
args: ['environment']
|
87
88
|
}] }] });
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixRQUFRLEVBQUUsd0JBQXdCLEVBQ2xDLFlBQVksRUFDWixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVwRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBdUQ7SUFPMUYsWUFBNkMsV0FBZ0I7UUFDM0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRHdCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTjdELGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBQ3ZDLG9CQUFlLEdBQThCLGtCQUFrQixDQUFDO1FBQ2hFLGdCQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNCLG9CQUFlLEdBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsVUFBSyxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBSXBDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJ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RSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRWpILElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOytHQS9FVSxlQUFlLGtCQU9OLGFBQWE7bUhBUHRCLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUWMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2UsXG4gIFByb3BlcnR5U3Vic2NyaXB0aW9uIGFzIFByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZVxufSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsXG4gIEFwcEV2ZW50VHlwZUVudW0sXG4gIFByb3BlcnR5LCBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQsXG4gIFByb3BlcnR5U2FsZSxcbiAgUHJvcGVydHlTaGFyZSxcbiAgUHJvcGVydHlTdWJzY3JpcHRpb24sXG4gIFByb3BlcnR5VmFsdWF0aW9uXG59IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IFByb3BlcnR5Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcblxuLyoqXG4gKiBAVG9kbyBBbGV4IHJlbW92ZSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgdG8gUHJvcGVydHlTaGFyZVxuICogQFRPRE8gQWxleCAoVFQtMTc3Nyk6IHJlcGxhY2UgYWxsIGV2ZW50IGxpc3RlbmVycyB3aXRoIHRoZSBuZXcgdGhpcy5saXN0ZW4oKVxuICogU2VydmljZSBmb3Igd29yayB3aXRoIFByb3BlcnR5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5QmFzZSwgUHJvcGVydHksIFByb3BlcnR5Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eSA9IFByb3BlcnR5O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eUNvbGxlY3Rpb24gPSBQcm9wZXJ0eUNvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ3Byb3BlcnRpZXMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsnZGVsZXRlQmF0Y2gnXTtcbiAgcm9sZXMgPSBbVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55KSB7XG4gICAgc3VwZXIoZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVtb3ZlIHdoZW4gZm9yZWNhc3QgbW92ZWQgdG8gc2VwYXJhdGVkIGFwaVxuICAgKi9cbiAgcHV0KHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8UHJvcGVydHk+IHtcbiAgICByZXR1cm4gc3VwZXIucHV0KHByb3BlcnR5KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZFByb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfVVBEQVRFRCwgcHJvcGVydHkpKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkUHJvcGVydHk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG5vIHJlZnJlc2ggY2FjaGUgd2l0aCB0aGlzLnVwZGF0ZUNhY2hlKFt0aGlzLmdldENhY2hlKCkuZmluZEJ5KCdpZCcsIGNoYW5nZS5tb2RlbC5wcm9wZXJ0eS5pZCldLCAncHV0Jyk7XG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgLy8gc2hhcmUgaW52aXRlIGFjY2VwdGVkIGV2ZW50IGdpdmVzIGFjY2VzcyB0byBuZXcgcHJvcGVydHlcbiAgICB0aGlzLmxpc3RlbkNTRShQcm9wZXJ0eVNoYXJlLCB0aGlzLnJlZnJlc2hDYWNoZSwgWydwdXQnXSk7XG4gICAgLy8gQFRPRE8gZ2V0IGZyb20gc2VwYXJhdGVkIGFwaT9cbiAgICB0aGlzLmxpc3RlbkNTRShQcm9wZXJ0eVNhbGUsIHRoaXMucmVmcmVzaENhY2hlLCBbJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZSddKTtcbiAgICAvLyBwcm9wZXJ0eSBjYWNoZXMgY2hpbGQgZW50aXRpZXMgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZVxuICAgIHRoaXMubGlzdGVuQ1NFKFByb3BlcnR5VmFsdWF0aW9uLCB0aGlzLnJlZnJlc2hDYWNoZSk7XG4gICAgdGhpcy5saXN0ZW5DU0UoUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50LCB0aGlzLnJlZnJlc2hDYWNoZSk7XG4gIH1cblxuICB1cGRhdGVEZXByZWNpYXRpb25DYWxjdWxhdGlvbihwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBwcm9wZXJ0eVRvVXBkYXRlOiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgeyBpZDogcHJvcGVydHkuaWQsIGRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uOiBwcm9wZXJ0eS5kZXByZWNpYXRpb25DYWxjdWxhdGlvbiB9KVxuXG4gICAgcmV0dXJuIHRoaXMucHV0KHByb3BlcnR5VG9VcGRhdGUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkUHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX0RFUFJFQ0lBVElPTl9DQUxDVUxBVElPTl9VUERBVEVELCB1cGRhdGVkUHJvcGVydHkpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBzZXBhcmF0ZWQgYXBpXG4gICAqIEFjdGl2YXRlIGRlYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBhY3RpdmF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydHktc3Vic2NyaXB0aW9uc2AsIHsgcHJvcGVydHkgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZTogUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3UHJvcGVydHlTdWJzY3JpcHRpb246IFByb3BlcnR5U3Vic2NyaXB0aW9uID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U3Vic2NyaXB0aW9uLCBwcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2YXRlZFByb3BlcnR5OiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcGVydHksIHsgc3Vic2NyaXB0aW9uczogW25ld1Byb3BlcnR5U3Vic2NyaXB0aW9uXSB9KSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKFthY3RpdmF0ZWRQcm9wZXJ0eV0sICdwdXQnKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBzZXBhcmF0ZWQgYXBpXG4gICAqIERlYWN0aXZhdGUgYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBkZWFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMvJHtwcm9wZXJ0eS5nZXRDdXJyZW50U3Vic2NyaXB0aW9uKCkuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwgeyBzdWJzY3JpcHRpb25zOiBbXSB9KSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKFtkZWFjdGl2YXRlZFByb3BlcnR5XSwgJ3B1dCcpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
|