@quadnix/octo 0.0.21 → 0.0.23
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/dist/app.type.d.ts +124 -27
- package/dist/app.type.js +77 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +7 -8
- package/dist/decorators/action.decorator.js +45 -44
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +2 -2
- package/dist/decorators/anchor.decorator.js +16 -11
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.js +2 -2
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +1 -1
- package/dist/decorators/event-source.decorator.js +7 -2
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +32 -1
- package/dist/decorators/factory.decorator.js +35 -3
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +3 -2
- package/dist/decorators/model.decorator.js +24 -11
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +4 -71
- package/dist/decorators/module.decorator.js +18 -58
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +1 -1
- package/dist/decorators/on-event.decorator.js +7 -2
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +3 -2
- package/dist/decorators/overlay.decorator.js +23 -11
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +3 -2
- package/dist/decorators/resource.decorator.js +23 -11
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +4 -4
- package/dist/decorators/validate.decorator.js +16 -2
- package/dist/decorators/validate.decorator.js.map +1 -1
- package/dist/errors/container.error.d.ts +11 -0
- package/dist/errors/container.error.js +20 -0
- package/dist/errors/container.error.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.js +7 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/input.error.d.ts +11 -0
- package/dist/errors/input.error.js +21 -0
- package/dist/errors/input.error.js.map +1 -0
- package/dist/errors/module.error.d.ts +4 -0
- package/dist/errors/module.error.js +8 -0
- package/dist/errors/module.error.js.map +1 -0
- package/dist/errors/node.error.d.ts +36 -0
- package/dist/errors/node.error.js +60 -0
- package/dist/errors/node.error.js.map +1 -0
- package/dist/errors/schema.error.d.ts +4 -0
- package/dist/errors/schema.error.js +8 -0
- package/dist/errors/schema.error.js.map +1 -0
- package/dist/errors/transaction.error.d.ts +35 -0
- package/dist/errors/transaction.error.js +58 -0
- package/dist/errors/transaction.error.js.map +1 -0
- package/dist/events/action.event.d.ts +13 -0
- package/dist/events/action.event.js +11 -0
- package/dist/events/action.event.js.map +1 -0
- package/dist/events/event.model.d.ts +6 -12
- package/dist/events/event.model.js +5 -11
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook/commit.hook.event.d.ts +25 -0
- package/dist/events/hook/commit.hook.event.js +26 -0
- package/dist/events/hook/commit.hook.event.js.map +1 -0
- package/dist/events/hook/hook.event.d.ts +9 -0
- package/dist/events/hook/hook.event.js +10 -0
- package/dist/events/hook/hook.event.js.map +1 -0
- package/dist/events/hook/index.d.ts +4 -0
- package/dist/events/hook/index.js +5 -0
- package/dist/events/hook/index.js.map +1 -0
- package/dist/events/hook/model.hook.event.d.ts +25 -0
- package/dist/events/hook/model.hook.event.js +26 -0
- package/dist/events/hook/model.hook.event.js.map +1 -0
- package/dist/events/hook/resource.hook.event.d.ts +25 -0
- package/dist/events/hook/resource.hook.event.js +26 -0
- package/dist/events/hook/resource.hook.event.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.js +8 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/module.event.d.ts +1 -6
- package/dist/events/module.event.js +0 -5
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +9 -51
- package/dist/events/registration.event.js +16 -64
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +24 -37
- package/dist/events/serialization.event.js +49 -33
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +45 -26
- package/dist/events/transaction.event.js +43 -25
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/{decorators → functions/container}/container.d.ts +45 -31
- package/dist/{decorators → functions/container}/container.js +90 -58
- package/dist/functions/container/container.js.map +1 -0
- package/dist/{decorators → functions/container}/test-container.d.ts +5 -13
- package/dist/{decorators → functions/container}/test-container.js +31 -43
- package/dist/functions/container/test-container.js.map +1 -0
- package/dist/functions/dependency/dependency.d.ts +6 -6
- package/dist/functions/dependency/dependency.js +4 -3
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +4 -6
- package/dist/functions/diff/diff-metadata.js +4 -3
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +12 -7
- package/dist/functions/diff/diff.js +9 -12
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +24 -24
- package/dist/functions/diff/diff.utility.js +46 -25
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.d.ts +14 -3
- package/dist/functions/hook/commit.hook.js +16 -16
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/hook.interface.d.ts +7 -6
- package/dist/functions/hook/model-action.hook.d.ts +17 -5
- package/dist/functions/hook/model-action.hook.js +20 -39
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.d.ts +17 -5
- package/dist/functions/hook/resource-action.hook.js +18 -18
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node-action.abstract.d.ts +7 -0
- package/dist/functions/node/node-action.abstract.js +20 -0
- package/dist/functions/node/node-action.abstract.js.map +1 -0
- package/dist/functions/node/node.abstract.d.ts +93 -0
- package/dist/functions/node/node.abstract.js +342 -0
- package/dist/functions/node/node.abstract.js.map +1 -0
- package/dist/functions/node/node.interface.d.ts +176 -0
- package/dist/functions/node/node.interface.js +2 -0
- package/dist/functions/node/node.interface.js.map +1 -0
- package/dist/functions/schema/schema.d.ts +4 -0
- package/dist/functions/schema/schema.js +38 -0
- package/dist/functions/schema/schema.js.map +1 -0
- package/dist/index.d.ts +31 -33
- package/dist/index.js +32 -16
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +34 -22
- package/dist/main.js +92 -53
- package/dist/main.js.map +1 -1
- package/dist/models/account/account.model.d.ts +23 -0
- package/dist/models/account/account.model.js +67 -0
- package/dist/models/account/account.model.js.map +1 -0
- package/dist/models/account/account.schema.d.ts +7 -0
- package/dist/models/account/account.schema.js +12 -0
- package/dist/models/account/account.schema.js.map +1 -0
- package/dist/models/app/app.model.d.ts +6 -15
- package/dist/models/app/app.model.js +26 -31
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/app/app.schema.d.ts +3 -0
- package/dist/models/app/app.schema.js +21 -0
- package/dist/models/app/app.schema.js.map +1 -0
- package/dist/models/deployment/deployment.model.d.ts +6 -13
- package/dist/models/deployment/deployment.model.js +11 -16
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/deployment/deployment.schema.d.ts +7 -0
- package/dist/models/deployment/deployment.schema.js +25 -0
- package/dist/models/deployment/deployment.schema.js.map +1 -0
- package/dist/models/environment/environment.model.d.ts +5 -15
- package/dist/models/environment/environment.model.js +10 -28
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/environment/environment.schema.d.ts +13 -0
- package/dist/models/environment/environment.schema.js +38 -0
- package/dist/models/environment/environment.schema.js.map +1 -0
- package/dist/models/execution/execution.model.d.ts +6 -14
- package/dist/models/execution/execution.model.js +15 -28
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/execution/execution.schema.d.ts +14 -0
- package/dist/models/execution/execution.schema.js +34 -0
- package/dist/models/execution/execution.schema.js.map +1 -0
- package/dist/models/filesystem/filesystem.model.d.ts +10 -0
- package/dist/models/filesystem/filesystem.model.js +43 -0
- package/dist/models/filesystem/filesystem.model.js.map +1 -0
- package/dist/models/filesystem/filesystem.schema.d.ts +3 -0
- package/dist/models/filesystem/filesystem.schema.js +21 -0
- package/dist/models/filesystem/filesystem.schema.js.map +1 -0
- package/dist/models/image/image.model.d.ts +7 -41
- package/dist/models/image/image.model.js +17 -32
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/image/image.schema.d.ts +9 -0
- package/dist/models/image/image.schema.js +31 -0
- package/dist/models/image/image.schema.js.map +1 -0
- package/dist/models/model-action.interface.d.ts +5 -19
- package/dist/models/model.abstract.d.ts +28 -316
- package/dist/models/model.abstract.js +180 -557
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +42 -21
- package/dist/models/pipeline/pipeline.model.d.ts +5 -8
- package/dist/models/pipeline/pipeline.model.js +10 -16
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/pipeline/pipeline.schema.d.ts +4 -0
- package/dist/models/pipeline/pipeline.schema.js +22 -0
- package/dist/models/pipeline/pipeline.schema.js.map +1 -0
- package/dist/models/region/region.model.d.ts +8 -9
- package/dist/models/region/region.model.js +25 -17
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/region/region.schema.d.ts +3 -0
- package/dist/models/region/region.schema.js +21 -0
- package/dist/models/region/region.schema.js.map +1 -0
- package/dist/models/server/server.model.d.ts +5 -11
- package/dist/models/server/server.model.js +13 -16
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/server/server.schema.d.ts +6 -0
- package/dist/models/server/server.schema.js +24 -0
- package/dist/models/server/server.schema.js.map +1 -0
- package/dist/models/service/service.model.d.ts +4 -10
- package/dist/models/service/service.model.js +12 -16
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/service/service.schema.d.ts +6 -0
- package/dist/models/service/service.schema.js +24 -0
- package/dist/models/service/service.schema.js.map +1 -0
- package/dist/models/subnet/subnet.model.d.ts +10 -35
- package/dist/models/subnet/subnet.model.js +16 -47
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/models/subnet/subnet.schema.d.ts +33 -0
- package/dist/models/subnet/subnet.schema.js +48 -0
- package/dist/models/subnet/subnet.schema.js.map +1 -0
- package/dist/modules/module.abstract.d.ts +21 -0
- package/dist/modules/module.abstract.js +14 -0
- package/dist/modules/module.abstract.js.map +1 -0
- package/dist/modules/module.container.d.ts +32 -18
- package/dist/modules/module.container.js +134 -81
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/module.interface.d.ts +15 -2
- package/dist/modules/test-module.container.d.ts +33 -15
- package/dist/modules/test-module.container.js +264 -35
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.d.ts +13 -8
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/anchor.interface.d.ts +5 -8
- package/dist/overlays/anchor.schema.d.ts +8 -0
- package/dist/overlays/anchor.schema.js +9 -0
- package/dist/overlays/anchor.schema.js.map +1 -0
- package/dist/overlays/overlay-data.repository.d.ts +3 -6
- package/dist/overlays/overlay-data.repository.js +17 -38
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +15 -17
- package/dist/overlays/overlay.abstract.js +30 -44
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.interface.d.ts +3 -7
- package/dist/overlays/overlay.schema.d.ts +8 -0
- package/dist/overlays/overlay.schema.js +9 -0
- package/dist/overlays/overlay.schema.js.map +1 -0
- package/dist/resources/resource-action.interface.d.ts +4 -3
- package/dist/resources/resource-data.repository.d.ts +16 -7
- package/dist/resources/resource-data.repository.js +118 -42
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +56 -16
- package/dist/resources/resource.abstract.js +326 -19
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +39 -8
- package/dist/resources/resource.schema.d.ts +14 -0
- package/dist/resources/resource.schema.js +11 -0
- package/dist/resources/resource.schema.js.map +1 -0
- package/dist/services/capture/capture.service.d.ts +6 -7
- package/dist/services/capture/capture.service.js +8 -5
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.d.ts +3 -4
- package/dist/services/event/event.service.js +7 -9
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.d.ts +62 -6
- package/dist/services/input/input.service.js +290 -14
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/schema-translation/schema-translation.service.d.ts +13 -0
- package/dist/services/schema-translation/schema-translation.service.js +42 -0
- package/dist/services/schema-translation/schema-translation.service.js.map +1 -0
- package/dist/services/serialization/model/model-serialization.service.d.ts +1 -4
- package/dist/services/serialization/model/model-serialization.service.js +37 -33
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +5 -5
- package/dist/services/serialization/resource/resource-serialization.service.js +71 -96
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.d.ts +0 -1
- package/dist/services/state-management/local.state-provider.js +5 -7
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +2 -3
- package/dist/services/state-management/state-management.service.js +19 -9
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/state-provider.interface.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.d.ts +0 -1
- package/dist/services/state-management/test.state-provider.js +2 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +18 -14
- package/dist/services/transaction/transaction.service.js +261 -132
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +2 -3
- package/dist/services/validation/validation.service.js +27 -12
- package/dist/services/validation/validation.service.js.map +1 -1
- package/dist/utilities/node/node.utility.d.ts +4 -0
- package/dist/utilities/node/node.utility.js +22 -0
- package/dist/utilities/node/node.utility.js.map +1 -0
- package/dist/utilities/object/object.utility.d.ts +3 -0
- package/dist/utilities/object/object.utility.js +33 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/test-helpers/test-classes.d.ts +57 -0
- package/dist/utilities/test-helpers/test-classes.js +76 -0
- package/dist/utilities/test-helpers/test-classes.js.map +1 -0
- package/dist/utilities/test-helpers/test-models.d.ts +41 -0
- package/dist/utilities/test-helpers/test-models.js +224 -0
- package/dist/utilities/test-helpers/test-models.js.map +1 -0
- package/dist/utilities/test-helpers/test-overlays.d.ts +10 -0
- package/dist/utilities/test-helpers/test-overlays.js +53 -0
- package/dist/utilities/test-helpers/test-overlays.js.map +1 -0
- package/dist/utilities/test-helpers/test-resources.d.ts +22 -0
- package/dist/utilities/test-helpers/test-resources.js +162 -0
- package/dist/utilities/test-helpers/test-resources.js.map +1 -0
- package/dist/utilities/validation/validation.utility.d.ts +31 -3
- package/dist/utilities/validation/validation.utility.js +121 -2
- package/dist/utilities/validation/validation.utility.js.map +1 -1
- package/package.json +6 -6
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.js.map +0 -1
- package/dist/events/error.event.d.ts +0 -35
- package/dist/events/error.event.js +0 -36
- package/dist/events/error.event.js.map +0 -1
- package/dist/events/hook.event.d.ts +0 -194
- package/dist/events/hook.event.js +0 -195
- package/dist/events/hook.event.js.map +0 -1
- package/dist/models/app/app.interface.d.ts +0 -9
- package/dist/models/app/app.interface.js +0 -2
- package/dist/models/app/app.interface.js.map +0 -1
- package/dist/models/deployment/deployment.interface.d.ts +0 -9
- package/dist/models/deployment/deployment.interface.js +0 -2
- package/dist/models/deployment/deployment.interface.js.map +0 -1
- package/dist/models/environment/environment.interface.d.ts +0 -12
- package/dist/models/environment/environment.interface.js +0 -2
- package/dist/models/environment/environment.interface.js.map +0 -1
- package/dist/models/execution/execution.interface.d.ts +0 -14
- package/dist/models/execution/execution.interface.js +0 -2
- package/dist/models/execution/execution.interface.js.map +0 -1
- package/dist/models/image/image.interface.d.ts +0 -12
- package/dist/models/image/image.interface.js +0 -2
- package/dist/models/image/image.interface.js.map +0 -1
- package/dist/models/pipeline/pipeline.interface.d.ts +0 -10
- package/dist/models/pipeline/pipeline.interface.js +0 -2
- package/dist/models/pipeline/pipeline.interface.js.map +0 -1
- package/dist/models/region/region.interface.d.ts +0 -9
- package/dist/models/region/region.interface.js +0 -2
- package/dist/models/region/region.interface.js.map +0 -1
- package/dist/models/server/server.interface.d.ts +0 -9
- package/dist/models/server/server.interface.js +0 -2
- package/dist/models/server/server.interface.js.map +0 -1
- package/dist/models/service/service.interface.d.ts +0 -9
- package/dist/models/service/service.interface.js +0 -2
- package/dist/models/service/service.interface.js.map +0 -1
- package/dist/models/subnet/subnet.interface.d.ts +0 -13
- package/dist/models/subnet/subnet.interface.js +0 -2
- package/dist/models/subnet/subnet.interface.js.map +0 -1
- package/dist/overlays/overlay.service.d.ts +0 -18
- package/dist/overlays/overlay.service.js +0 -45
- package/dist/overlays/overlay.service.js.map +0 -1
- package/dist/resources/shared-resource.abstract.d.ts +0 -13
- package/dist/resources/shared-resource.abstract.js +0 -47
- package/dist/resources/shared-resource.abstract.js.map +0 -1
|
@@ -7,23 +7,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
11
|
-
import { Container } from '../../decorators/container.js';
|
|
10
|
+
import { NodeType, } from '../../app.type.js';
|
|
12
11
|
import { EventSource } from '../../decorators/event-source.decorator.js';
|
|
13
12
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
14
|
-
import {
|
|
15
|
-
import { ModelActionTransactionEvent,
|
|
13
|
+
import { InputNotFoundTransactionError, InputRegistrationError, ResourceActionExceptionTransactionError, ResourceActionTimeoutTransactionError, TransactionError, } from '../../errors/index.js';
|
|
14
|
+
import { ModelActionRegistrationEvent, ModelActionTransactionEvent, ModelDiffsTransactionEvent, ModelTransactionTransactionEvent, ResourceActionCompletedTransactionEvent, ResourceActionInitiatedTransactionEvent, ResourceActionRegistrationEvent, ResourceDiffsTransactionEvent, ResourceTransactionTransactionEvent, } from '../../events/index.js';
|
|
15
|
+
import { Container } from '../../functions/container/container.js';
|
|
16
16
|
import { DiffMetadata } from '../../functions/diff/diff-metadata.js';
|
|
17
17
|
import { DiffAction } from '../../functions/diff/diff.js';
|
|
18
|
+
import { DiffUtility } from '../../functions/diff/diff.utility.js';
|
|
19
|
+
import { ModuleContainer } from '../../modules/module.container.js';
|
|
18
20
|
import { OverlayDataRepository } from '../../overlays/overlay-data.repository.js';
|
|
21
|
+
import { AOverlay } from '../../overlays/overlay.abstract.js';
|
|
19
22
|
import { ResourceDataRepository } from '../../resources/resource-data.repository.js';
|
|
23
|
+
import { AResource } from '../../resources/resource.abstract.js';
|
|
20
24
|
import { CaptureService } from '../capture/capture.service.js';
|
|
21
25
|
import { EventService } from '../event/event.service.js';
|
|
22
26
|
import { InputService } from '../input/input.service.js';
|
|
23
27
|
export class TransactionService {
|
|
24
|
-
constructor(captureService, inputService, overlayDataRepository, resourceDataRepository) {
|
|
28
|
+
constructor(captureService, eventService, inputService, moduleContainer, overlayDataRepository, resourceDataRepository) {
|
|
25
29
|
this.captureService = captureService;
|
|
30
|
+
this.eventService = eventService;
|
|
26
31
|
this.inputService = inputService;
|
|
32
|
+
this.moduleContainer = moduleContainer;
|
|
27
33
|
this.overlayDataRepository = overlayDataRepository;
|
|
28
34
|
this.resourceDataRepository = resourceDataRepository;
|
|
29
35
|
this.modelActions = [];
|
|
@@ -37,7 +43,6 @@ export class TransactionService {
|
|
|
37
43
|
while (processed < diffs.length) {
|
|
38
44
|
const diffsInSameLevel = diffs.filter((d) => d.applyOrder === currentApplyOrder);
|
|
39
45
|
const diffsProcessedInSameLevel = [];
|
|
40
|
-
const promiseToApplyActions = [];
|
|
41
46
|
for (const diff of diffsInSameLevel) {
|
|
42
47
|
if (diff.applied) {
|
|
43
48
|
continue;
|
|
@@ -47,46 +52,86 @@ export class TransactionService {
|
|
|
47
52
|
// Only process the first diff, given all duplicate diffs are the same.
|
|
48
53
|
const diffToProcess = duplicateDiffs[0].diff;
|
|
49
54
|
for (const a of diff.actions) {
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
// Find moduleId.
|
|
56
|
+
let moduleId;
|
|
57
|
+
if (diff.node instanceof AOverlay) {
|
|
58
|
+
moduleId = this.inputService.getModuleIdFromOverlay(diff.node);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
moduleId = this.inputService.getModuleIdFromModel(diff.node);
|
|
62
|
+
}
|
|
63
|
+
// Resolve all keys of the module - inputs keys and nodes generated by the module keys.
|
|
64
|
+
const inputs = { inputs: {}, metadata: {}, models: {}, overlays: {}, resources: {} };
|
|
65
|
+
const inputKeys = this.moduleContainer.getModuleInstanceInputKeys(moduleId).map((i) => {
|
|
66
|
+
return `${moduleId}.input.${i}`;
|
|
58
67
|
});
|
|
68
|
+
const metadataKeys = this.inputService.getMetadataKeys(moduleId);
|
|
69
|
+
const nodeKeys = this.inputService.getAllNodeKeys(moduleId);
|
|
70
|
+
const allKeys = [...inputKeys, ...metadataKeys, ...nodeKeys];
|
|
71
|
+
for (const k of allKeys) {
|
|
72
|
+
const inputValue = this.inputService.resolve(k);
|
|
73
|
+
if (inputValue === undefined) {
|
|
74
|
+
throw new InputNotFoundTransactionError('No matching input found to process action!', a, diffToProcess, k);
|
|
75
|
+
}
|
|
76
|
+
const keyValue = k.split('.')[2];
|
|
77
|
+
if (k.startsWith(`${moduleId}.input`)) {
|
|
78
|
+
inputs.inputs[keyValue] = inputValue;
|
|
79
|
+
}
|
|
80
|
+
else if (k.startsWith(`${moduleId}.metadata`)) {
|
|
81
|
+
inputs.metadata[keyValue] = inputValue;
|
|
82
|
+
}
|
|
83
|
+
else if (k.startsWith(`${moduleId}.model`)) {
|
|
84
|
+
inputs.models[keyValue] = inputValue;
|
|
85
|
+
}
|
|
86
|
+
else if (k.startsWith(`${moduleId}.overlay`)) {
|
|
87
|
+
inputs.overlays[keyValue] = inputValue;
|
|
88
|
+
}
|
|
89
|
+
else if (k.startsWith(`${moduleId}.resource`)) {
|
|
90
|
+
inputs.resources[keyValue] = inputValue;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
59
93
|
// Apply all actions on the diff, then update diff metadata with inputs and outputs.
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
94
|
+
const outputs = await a.handle(diffToProcess, inputs, {});
|
|
95
|
+
for (const resource of Object.values(outputs)) {
|
|
96
|
+
let moduleId;
|
|
97
|
+
if (diffToProcess.node instanceof AOverlay) {
|
|
98
|
+
moduleId = this.inputService.getModuleIdFromOverlay(diffToProcess.node);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
moduleId = this.inputService.getModuleIdFromModel(diffToProcess.node);
|
|
102
|
+
}
|
|
103
|
+
// Set resource tags.
|
|
104
|
+
const resourceTags = this.inputService.resolve(`${moduleId}.tag.${resource.getContext()}`);
|
|
105
|
+
for (const [key, value] of Object.entries(resourceTags)) {
|
|
106
|
+
resource.tags[key] = value;
|
|
107
|
+
}
|
|
108
|
+
const previousResource = this.resourceDataRepository.getNewResourceByContext(resource.getContext());
|
|
109
|
+
if (previousResource) {
|
|
110
|
+
resource.merge(previousResource);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.resourceDataRepository.addNewResource(resource);
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
this.inputService.registerResource(moduleId, resource);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
if (!(error instanceof InputRegistrationError)) {
|
|
120
|
+
throw error;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
duplicateDiffs.forEach((d) => {
|
|
125
|
+
d.updateInputs(inputs);
|
|
126
|
+
d.updateOutputs(outputs);
|
|
67
127
|
});
|
|
68
|
-
|
|
128
|
+
this.eventService.emit(new ModelActionTransactionEvent(a.constructor.name));
|
|
69
129
|
}
|
|
70
130
|
// Include the diff to process in the list of diffs processed in the same level.
|
|
71
131
|
diffsProcessedInSameLevel.push(duplicateDiffs[0]);
|
|
72
132
|
// Mark metadata of each duplicate diffs as applied.
|
|
73
133
|
duplicateDiffs.forEach((d) => (d.applied = true));
|
|
74
134
|
}
|
|
75
|
-
// Apply all actions of same level, since they can be applied in parallel.
|
|
76
|
-
const actionsOutputs = await Promise.all(promiseToApplyActions);
|
|
77
|
-
// Overwrite previous resources with new resources, except for shared resources,
|
|
78
|
-
// which can be merged if it exists.
|
|
79
|
-
for (const outputs of actionsOutputs) {
|
|
80
|
-
for (const [resourceId, resource] of Object.entries(outputs)) {
|
|
81
|
-
const previousResource = this.resourceDataRepository.getById(resourceId);
|
|
82
|
-
if (resource.MODEL_TYPE === 'shared-resource' && previousResource) {
|
|
83
|
-
this.resourceDataRepository.add(resource.merge(previousResource));
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.resourceDataRepository.add(resource);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
135
|
// Add all diff in same level to transaction.
|
|
91
136
|
transaction.push(diffsProcessedInSameLevel);
|
|
92
137
|
processed += diffsInSameLevel.length;
|
|
@@ -101,34 +146,65 @@ export class TransactionService {
|
|
|
101
146
|
while (processed < diffs.length) {
|
|
102
147
|
const diffsInSameLevel = diffs.filter((d) => d.applyOrder === currentApplyOrder);
|
|
103
148
|
const diffsProcessedInSameLevel = [];
|
|
104
|
-
const promiseToApplyActions = [];
|
|
105
149
|
for (const diff of diffsInSameLevel) {
|
|
106
150
|
if (diff.applied) {
|
|
107
151
|
continue;
|
|
108
152
|
}
|
|
109
|
-
// Check for duplicate diffs on the same
|
|
153
|
+
// Check for duplicate diffs on the same resource and same field.
|
|
110
154
|
const duplicateDiffs = this.getDuplicateDiffs(diff, diffsInSameLevel);
|
|
111
155
|
// Only process the first diff, given all duplicate diffs are the same.
|
|
112
156
|
const diffToProcess = duplicateDiffs[0].diff;
|
|
113
157
|
for (const a of diff.actions) {
|
|
158
|
+
this.eventService.emit(new ResourceActionInitiatedTransactionEvent(a.constructor.name, diff.node.getContext()));
|
|
114
159
|
if (enableResourceCapture) {
|
|
115
|
-
const capture = this.captureService.getCapture(diff.
|
|
116
|
-
await a.mock(capture?.response
|
|
160
|
+
const capture = this.captureService.getCapture(diff.node.getContext());
|
|
161
|
+
await a.mock(diff, capture?.response || {});
|
|
117
162
|
await a.handle(diffToProcess);
|
|
118
163
|
}
|
|
119
164
|
else {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
165
|
+
let actionTimeoutId;
|
|
166
|
+
try {
|
|
167
|
+
await Promise.race([
|
|
168
|
+
new Promise(async (resolve, reject) => {
|
|
169
|
+
try {
|
|
170
|
+
await a.handle(diffToProcess);
|
|
171
|
+
resolve();
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
reject(new ResourceActionExceptionTransactionError(error.message, error, diffToProcess, a.constructor.name));
|
|
175
|
+
}
|
|
176
|
+
}),
|
|
177
|
+
new Promise((_resolve, reject) => (actionTimeoutId = setTimeout(() => {
|
|
178
|
+
reject(new ResourceActionTimeoutTransactionError(`Resource action ${a.constructor.name} timed out after ${a.actionTimeoutInMs || 90000}ms!`, diffToProcess, a.constructor.name));
|
|
179
|
+
}, a.actionTimeoutInMs || 90000))),
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
if (actionTimeoutId) {
|
|
184
|
+
clearTimeout(actionTimeoutId);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// De-reference from actual resources.
|
|
189
|
+
const deReferenceResource = async (context) => {
|
|
190
|
+
return this.resourceDataRepository.getActualResourceByContext(context);
|
|
191
|
+
};
|
|
192
|
+
// Incrementally apply diff inverse to the respective actual resource.
|
|
193
|
+
let actualResource = this.resourceDataRepository.getActualResourceByContext(diffToProcess.node.getContext());
|
|
194
|
+
if (!actualResource) {
|
|
195
|
+
actualResource = await AResource.cloneResource(diffToProcess.node, deReferenceResource);
|
|
196
|
+
this.resourceDataRepository.addActualResource(actualResource);
|
|
123
197
|
}
|
|
198
|
+
else {
|
|
199
|
+
await actualResource.diffInverse(diffToProcess, deReferenceResource);
|
|
200
|
+
}
|
|
201
|
+
this.eventService.emit(new ResourceActionCompletedTransactionEvent(a.constructor.name, diff.node.getContext()));
|
|
124
202
|
}
|
|
125
203
|
// Include the diff to process in the list of diffs processed in the same level.
|
|
126
204
|
diffsProcessedInSameLevel.push(duplicateDiffs[0]);
|
|
127
205
|
// Mark metadata of each duplicate diffs as applied.
|
|
128
206
|
duplicateDiffs.forEach((d) => (d.applied = true));
|
|
129
207
|
}
|
|
130
|
-
// Apply all actions of same level, since they can be applied in parallel.
|
|
131
|
-
await Promise.all(promiseToApplyActions);
|
|
132
208
|
// Add all diff in same level to transaction.
|
|
133
209
|
transaction.push(diffsProcessedInSameLevel);
|
|
134
210
|
processed += diffsInSameLevel.length;
|
|
@@ -136,23 +212,28 @@ export class TransactionService {
|
|
|
136
212
|
}
|
|
137
213
|
return transaction;
|
|
138
214
|
}
|
|
215
|
+
getDiffsOfSameNode(diff, diffs, diffAction) {
|
|
216
|
+
return diffs.filter((d) => d.node.getContext() === diff.node.getContext() && d.action === diffAction);
|
|
217
|
+
}
|
|
139
218
|
getDuplicateDiffs(diff, diffs) {
|
|
140
|
-
return diffs.filter((d) => d.
|
|
219
|
+
return diffs.filter((d) => d.node.getContext() === diff.node.getContext() &&
|
|
141
220
|
d.field === diff.field &&
|
|
142
221
|
d.action === diff.action &&
|
|
143
|
-
d.value
|
|
222
|
+
DiffUtility.isObjectDeepEquals(d.value, diff.value));
|
|
144
223
|
}
|
|
145
224
|
getMatchingDiffs(diff, diffs) {
|
|
146
|
-
return diffs.filter((d) => d.
|
|
225
|
+
return diffs.filter((d) => d.node.getContext() === diff.node.getContext() &&
|
|
226
|
+
d.field === diff.field &&
|
|
227
|
+
DiffUtility.isObjectDeepEquals(d.value, diff.value));
|
|
147
228
|
}
|
|
148
229
|
/**
|
|
149
|
-
* Before assigning order to a diff, all its
|
|
230
|
+
* Before assigning order to a diff, all its node's parent diffs must be processed.
|
|
150
231
|
* E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
|
|
151
232
|
*/
|
|
152
233
|
setApplyOrder(diff, diffs, seen = []) {
|
|
153
234
|
// Detect circular dependencies.
|
|
154
235
|
if (this.getDuplicateDiffs(diff, seen).length > 0) {
|
|
155
|
-
throw new
|
|
236
|
+
throw new TransactionError('Found circular dependencies!');
|
|
156
237
|
}
|
|
157
238
|
// Detect conflicting actions in transaction.
|
|
158
239
|
const matchingDiffs = this.getMatchingDiffs(diff, diffs);
|
|
@@ -160,21 +241,19 @@ export class TransactionService {
|
|
|
160
241
|
accumulator[currentValue.action] = true;
|
|
161
242
|
return accumulator;
|
|
162
243
|
}, {});
|
|
163
|
-
if (
|
|
164
|
-
(
|
|
165
|
-
(diffActions[DiffAction.DELETE] && diffActions[DiffAction.UPDATE])) {
|
|
166
|
-
throw new Error('Found conflicting actions in same transaction!');
|
|
244
|
+
if (diffActions[DiffAction.ADD] && diffActions[DiffAction.DELETE]) {
|
|
245
|
+
throw new TransactionError('Found conflicting actions in same transaction!');
|
|
167
246
|
}
|
|
168
247
|
// Skip processing diff that already has the applyOrder set.
|
|
169
248
|
if (diff.applyOrder >= 0) {
|
|
170
249
|
return;
|
|
171
250
|
}
|
|
172
|
-
// Get all dependencies of subject
|
|
173
|
-
const dependencies = diff.
|
|
251
|
+
// Get all dependencies of subject node.
|
|
252
|
+
const dependencies = diff.node.getDependencies();
|
|
174
253
|
const dependencyApplyOrders = [-1];
|
|
175
254
|
for (const dependency of dependencies) {
|
|
176
255
|
// Iterate diffs looking to match dependency on same field and action.
|
|
177
|
-
const matchingParentDiffs = diffs.filter((d) => d.
|
|
256
|
+
const matchingParentDiffs = diffs.filter((d) => d.node.getContext() === dependency.to.getContext() &&
|
|
178
257
|
dependency.hasMatchingBehavior(diff.field, diff.action, d.field, d.action));
|
|
179
258
|
// On each diff that should be processed first, apply order on it before than self.
|
|
180
259
|
for (const matchingParentDiff of matchingParentDiffs) {
|
|
@@ -182,144 +261,194 @@ export class TransactionService {
|
|
|
182
261
|
dependencyApplyOrders.push(matchingParentDiff.applyOrder);
|
|
183
262
|
}
|
|
184
263
|
}
|
|
264
|
+
// Get diffs of same node.
|
|
265
|
+
// Process ADD before UPDATE, and UPDATE before DELETE.
|
|
266
|
+
if (diff.action === DiffAction.UPDATE) {
|
|
267
|
+
const diffsOfSameNodeWithAddAction = this.getDiffsOfSameNode(diff, diffs, DiffAction.ADD);
|
|
268
|
+
for (const sameNodeDiffWithAddAction of diffsOfSameNodeWithAddAction) {
|
|
269
|
+
this.setApplyOrder(sameNodeDiffWithAddAction, diffs, [...seen, diff]);
|
|
270
|
+
dependencyApplyOrders.push(sameNodeDiffWithAddAction.applyOrder);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
else if (diff.action === DiffAction.DELETE) {
|
|
274
|
+
const diffsOfSameNodeWithUpdateAction = this.getDiffsOfSameNode(diff, diffs, DiffAction.UPDATE);
|
|
275
|
+
for (const sameNodeDiffWithUpdateAction of diffsOfSameNodeWithUpdateAction) {
|
|
276
|
+
this.setApplyOrder(sameNodeDiffWithUpdateAction, diffs, [...seen, diff]);
|
|
277
|
+
dependencyApplyOrders.push(sameNodeDiffWithUpdateAction.applyOrder);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
185
280
|
diff.applyOrder = Math.max(...dependencyApplyOrders) + 1;
|
|
186
281
|
}
|
|
187
|
-
async *beginTransaction(diffs,
|
|
188
|
-
enableResourceCapture: false,
|
|
189
|
-
yieldModelDiffs: false,
|
|
190
|
-
yieldModelTransaction: false,
|
|
191
|
-
yieldResourceDiffs: false,
|
|
192
|
-
yieldResourceTransaction: false,
|
|
193
|
-
}) {
|
|
282
|
+
async *beginTransaction(diffs, { enableResourceCapture = false, yieldModelDiffs = false, yieldModelTransaction = false, yieldResourceDiffs = false, yieldResourceTransaction = false, } = {}) {
|
|
194
283
|
// Diff overlays and add to existing diffs.
|
|
195
284
|
diffs.push(...(await this.overlayDataRepository.diff()));
|
|
196
285
|
// Generate diff on models.
|
|
197
286
|
const modelDiffs = diffs.map((d) => {
|
|
198
|
-
if (d.
|
|
199
|
-
return new DiffMetadata(d, this.overlayActions.filter((a) => a.filter(d)));
|
|
287
|
+
if (d.node.constructor.NODE_TYPE === NodeType.OVERLAY) {
|
|
288
|
+
return new DiffMetadata(d, (this.overlayActions.find((a) => a.overlayClass === d.node.constructor)?.actions || []).filter((a) => a.filter(d)));
|
|
200
289
|
}
|
|
201
290
|
else {
|
|
202
|
-
return new DiffMetadata(d, this.modelActions.filter((a) => a.filter(d)));
|
|
291
|
+
return new DiffMetadata(d, (this.modelActions.find((a) => a.modelClass === d.node.constructor)?.actions || []).filter((a) => a.filter(d)));
|
|
203
292
|
}
|
|
204
293
|
});
|
|
205
294
|
// Set apply order on model diffs.
|
|
206
295
|
for (const diff of modelDiffs) {
|
|
207
296
|
this.setApplyOrder(diff, modelDiffs);
|
|
208
297
|
}
|
|
209
|
-
|
|
298
|
+
this.eventService.emit(new ModelDiffsTransactionEvent(undefined, [modelDiffs]));
|
|
299
|
+
if (yieldModelDiffs) {
|
|
210
300
|
yield [modelDiffs];
|
|
211
301
|
}
|
|
212
302
|
// Apply model diffs.
|
|
213
303
|
const modelTransaction = await this.applyModels(modelDiffs);
|
|
214
|
-
|
|
304
|
+
this.eventService.emit(new ModelTransactionTransactionEvent(undefined, modelTransaction));
|
|
305
|
+
if (yieldModelTransaction) {
|
|
215
306
|
yield modelTransaction;
|
|
216
307
|
}
|
|
308
|
+
// Generate resource diffs.
|
|
309
|
+
const newDiffs = await this.resourceDataRepository.diff();
|
|
310
|
+
const dirtyDiffs = await this.resourceDataRepository.diffDirty();
|
|
311
|
+
// new diffs = new - old | dirty diffs = new - actual
|
|
312
|
+
// Any new diff that is also not part of dirty diffs should be skipped, as the actual is already in desired state.
|
|
313
|
+
for (let i = newDiffs.length - 1; i >= 0; i--) {
|
|
314
|
+
const newDiff = newDiffs[i];
|
|
315
|
+
if (!dirtyDiffs.some((d) => d.node.getContext() === newDiff.node.getContext() &&
|
|
316
|
+
d.action === newDiff.action &&
|
|
317
|
+
d.field === newDiff.field &&
|
|
318
|
+
DiffUtility.isObjectDeepEquals(d.value, newDiff.value))) {
|
|
319
|
+
newDiffs.splice(i, 1);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// Ensure any new diffs are not operating on dirty resources.
|
|
323
|
+
this.resourceDataRepository.ensureDiffsNotOperatingOnDirtyResources(newDiffs);
|
|
324
|
+
// Skip processing dirty diffs that are already accounted for in new diffs.
|
|
325
|
+
for (let i = dirtyDiffs.length - 1; i >= 0; i--) {
|
|
326
|
+
const dirtyDiff = dirtyDiffs[i];
|
|
327
|
+
if (newDiffs.some((d) => d.node.getContext() === dirtyDiff.node.getContext() &&
|
|
328
|
+
d.action === dirtyDiff.action &&
|
|
329
|
+
d.field === dirtyDiff.field &&
|
|
330
|
+
DiffUtility.isObjectDeepEquals(d.value, dirtyDiff.value))) {
|
|
331
|
+
dirtyDiffs.splice(i, 1);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
217
334
|
// Generate diff on resources.
|
|
218
|
-
|
|
219
|
-
const resourceDiffs = diffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
|
|
335
|
+
const resourceDiffs = newDiffs.map((d) => new DiffMetadata(d, (this.resourceActions.find((a) => a.resourceClass === d.node.constructor)?.actions || []).filter((a) => a.filter(d))));
|
|
220
336
|
// Set apply order on resource diffs.
|
|
221
337
|
for (const diff of resourceDiffs) {
|
|
222
338
|
this.setApplyOrder(diff, resourceDiffs);
|
|
223
339
|
}
|
|
224
|
-
|
|
225
|
-
|
|
340
|
+
// Generate diff on dirty resources.
|
|
341
|
+
const dirtyResourceDiffs = dirtyDiffs.map((d) => new DiffMetadata(d, (this.resourceActions.find((a) => a.resourceClass === d.node.constructor)?.actions || []).filter((a) => a.filter(d))));
|
|
342
|
+
// Set apply order on dirty resource diffs.
|
|
343
|
+
for (const diff of dirtyResourceDiffs) {
|
|
344
|
+
this.setApplyOrder(diff, dirtyResourceDiffs);
|
|
345
|
+
}
|
|
346
|
+
this.eventService.emit(new ResourceDiffsTransactionEvent(undefined, [[resourceDiffs], [dirtyResourceDiffs]]));
|
|
347
|
+
if (yieldResourceDiffs) {
|
|
348
|
+
yield [resourceDiffs, dirtyResourceDiffs];
|
|
226
349
|
}
|
|
227
350
|
// Apply resource diffs.
|
|
228
351
|
const resourceTransaction = await this.applyResources(resourceDiffs, {
|
|
229
|
-
enableResourceCapture
|
|
352
|
+
enableResourceCapture,
|
|
230
353
|
});
|
|
231
|
-
|
|
232
|
-
|
|
354
|
+
// Apply dirty resource diffs.
|
|
355
|
+
const dirtyResourceTransaction = await this.applyResources(dirtyResourceDiffs, {
|
|
356
|
+
enableResourceCapture,
|
|
357
|
+
});
|
|
358
|
+
this.eventService.emit(new ResourceTransactionTransactionEvent(undefined, [resourceTransaction, dirtyResourceTransaction]));
|
|
359
|
+
if (yieldResourceTransaction) {
|
|
360
|
+
yield [...resourceTransaction, ...dirtyResourceTransaction];
|
|
233
361
|
}
|
|
234
362
|
return modelTransaction;
|
|
235
363
|
}
|
|
236
|
-
registerModelActions(actions) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
364
|
+
registerModelActions(forModel, actions) {
|
|
365
|
+
const modelActions = this.modelActions.find((a) => a.modelClass === forModel);
|
|
366
|
+
if (!modelActions) {
|
|
367
|
+
this.modelActions.push({ actions: actions, modelClass: forModel });
|
|
241
368
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
369
|
+
else {
|
|
370
|
+
for (const action of actions) {
|
|
371
|
+
if (modelActions.actions.find((a) => a.constructor.name === action.constructor.name)) {
|
|
372
|
+
throw new Error(`Action "${action.constructor.name}" already registered for model "${forModel.name}"!`);
|
|
373
|
+
}
|
|
374
|
+
modelActions.actions.push(action);
|
|
247
375
|
}
|
|
248
376
|
}
|
|
249
377
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
378
|
+
registerOverlayActions(forOverlay, actions) {
|
|
379
|
+
const overlayActions = this.overlayActions.find((a) => a.overlayClass === forOverlay);
|
|
380
|
+
if (!overlayActions) {
|
|
381
|
+
this.overlayActions.push({ actions: actions, overlayClass: forOverlay });
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
for (const action of actions) {
|
|
385
|
+
if (overlayActions.actions.find((a) => a.constructor.name === action.constructor.name)) {
|
|
386
|
+
throw new Error(`Action "${action.constructor.name}" already registered for overlay "${forOverlay.name}"!`);
|
|
387
|
+
}
|
|
388
|
+
overlayActions.actions.push(action);
|
|
254
389
|
}
|
|
255
390
|
}
|
|
256
391
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
const outputs = a.revert(diff.diff, diff.inputs, diff.outputs);
|
|
267
|
-
for (const outputKey in outputs) {
|
|
268
|
-
this.resourceDataRepository.add(outputs[outputKey]);
|
|
269
|
-
}
|
|
392
|
+
registerResourceActions(forResource, actions) {
|
|
393
|
+
const resourceActions = this.resourceActions.find((a) => a.resourceClass === forResource);
|
|
394
|
+
if (!resourceActions) {
|
|
395
|
+
this.resourceActions.push({ actions: actions, resourceClass: forResource });
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
for (const action of actions) {
|
|
399
|
+
if (resourceActions.actions.find((a) => a.constructor.name === action.constructor.name)) {
|
|
400
|
+
throw new Error(`Action "${action.constructor.name}" already registered for resource "${forResource.name}"!`);
|
|
270
401
|
}
|
|
402
|
+
resourceActions.actions.push(action);
|
|
271
403
|
}
|
|
272
404
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
const
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
this.setApplyOrder(diff, resourceDiffs);
|
|
279
|
-
}
|
|
280
|
-
if (options.yieldResourceDiffs) {
|
|
281
|
-
yield [resourceDiffs];
|
|
405
|
+
}
|
|
406
|
+
unregisterModelActions(forModel) {
|
|
407
|
+
const modelActions = this.modelActions.find((a) => a.modelClass === forModel);
|
|
408
|
+
if (!modelActions) {
|
|
409
|
+
return;
|
|
282
410
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
411
|
+
modelActions.actions = [];
|
|
412
|
+
}
|
|
413
|
+
unregisterOverlayActions(forOverlay) {
|
|
414
|
+
const overlayActions = this.overlayActions.find((a) => a.overlayClass === forOverlay);
|
|
415
|
+
if (!overlayActions) {
|
|
416
|
+
return;
|
|
287
417
|
}
|
|
288
|
-
|
|
418
|
+
overlayActions.actions = [];
|
|
289
419
|
}
|
|
290
420
|
}
|
|
291
421
|
__decorate([
|
|
292
422
|
EventSource(ModelActionRegistrationEvent),
|
|
293
423
|
__metadata("design:type", Function),
|
|
294
|
-
__metadata("design:paramtypes", [Array]),
|
|
424
|
+
__metadata("design:paramtypes", [Object, Array]),
|
|
295
425
|
__metadata("design:returntype", void 0)
|
|
296
426
|
], TransactionService.prototype, "registerModelActions", null);
|
|
297
427
|
__decorate([
|
|
298
428
|
EventSource(ModelActionRegistrationEvent),
|
|
299
429
|
__metadata("design:type", Function),
|
|
300
|
-
__metadata("design:paramtypes", [Array]),
|
|
430
|
+
__metadata("design:paramtypes", [Object, Array]),
|
|
301
431
|
__metadata("design:returntype", void 0)
|
|
302
432
|
], TransactionService.prototype, "registerOverlayActions", null);
|
|
303
433
|
__decorate([
|
|
304
434
|
EventSource(ResourceActionRegistrationEvent),
|
|
305
435
|
__metadata("design:type", Function),
|
|
306
|
-
__metadata("design:paramtypes", [Array]),
|
|
436
|
+
__metadata("design:paramtypes", [Object, Array]),
|
|
307
437
|
__metadata("design:returntype", void 0)
|
|
308
438
|
], TransactionService.prototype, "registerResourceActions", null);
|
|
309
439
|
let TransactionServiceFactory = class TransactionServiceFactory {
|
|
310
|
-
static async create(
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
440
|
+
static async create() {
|
|
441
|
+
const container = Container.getInstance();
|
|
442
|
+
const [captureService, eventService, inputService, moduleContainer, overlayDataRepository, resourceDataRepository] = await Promise.all([
|
|
443
|
+
container.get(CaptureService),
|
|
444
|
+
container.get(EventService),
|
|
445
|
+
container.get(InputService),
|
|
446
|
+
container.get(ModuleContainer),
|
|
447
|
+
container.get(OverlayDataRepository),
|
|
448
|
+
container.get(ResourceDataRepository),
|
|
316
449
|
]);
|
|
317
450
|
if (!this.instance) {
|
|
318
|
-
this.instance = new TransactionService(captureService, inputService, overlayDataRepository, resourceDataRepository);
|
|
319
|
-
}
|
|
320
|
-
if (forceNew) {
|
|
321
|
-
const newInstance = new TransactionService(captureService, inputService, overlayDataRepository, resourceDataRepository);
|
|
322
|
-
Object.keys(this.instance).forEach((key) => (this.instance[key] = newInstance[key]));
|
|
451
|
+
this.instance = new TransactionService(captureService, eventService, inputService, moduleContainer, overlayDataRepository, resourceDataRepository);
|
|
323
452
|
}
|
|
324
453
|
return this.instance;
|
|
325
454
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAGL,SAAS,GAGV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAa,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,OAAO,kBAAkB;IAK7B,YACmB,cAA8B,EAC9B,YAA0B,EAC1B,qBAA4C,EAC5C,sBAA8C;QAH9C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,2BAAsB,GAAtB,sBAAsB,CAAwB;QARhD,iBAAY,GAAmB,EAAE,CAAC;QAClC,mBAAc,GAAmB,EAAE,CAAC;QACpC,oBAAe,GAAsB,EAAE,CAAC;IAOtD,CAAC;IAEI,KAAK,CAAC,WAAW,CAAC,KAAqB;QAC7C,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,yBAAyB,GAAmB,EAAE,CAAC;YACrD,MAAM,qBAAqB,GAA6B,EAAE,CAAC;YAE3D,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAEtE,uEAAuE;gBACvE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAyB,EAAE,CAAC;oBAC/C,0BAA0B;oBAC1B,MAAM,MAAM,GAAiB,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAChD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBAChE,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,oFAAoF;oBACpF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBAChF,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBAEhF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC3B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;4BACvB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wBAC3B,CAAC,CAAC,CAAC;wBAEH,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACnD,CAAC;gBAED,gFAAgF;gBAChF,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,oDAAoD;gBACpD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,0EAA0E;YAC1E,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAEhE,gFAAgF;YAChF,oCAAoC;YACpC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACzE,IAAI,QAAQ,CAAC,UAAU,KAAK,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;wBAClE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC5B,QAAkC,CAAC,KAAK,CAAC,gBAAyC,CAAC,CACrF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAE5C,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC;YACrC,iBAAiB,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAqB,EACrB,EAAE,qBAAqB,GAAG,KAAK,KAA0C,EAAE;QAE3E,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC;YACjF,MAAM,yBAAyB,GAAmB,EAAE,CAAC;YACrD,MAAM,qBAAqB,GAAoB,EAAE,CAAC;YAElD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAEtE,uEAAuE;gBACvE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAA4B,EAAE,CAAC;oBAClD,IAAI,qBAAqB,EAAE,CAAC;wBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAE,IAAI,CAAC,KAAmB,CAAC,UAAU,CAAC,CAAC;wBACrF,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBACtC,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,qBAAqB,CAAC,IAAI,CACxB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BAChC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBACrF,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,gFAAgF;gBAChF,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,oDAAoD;gBACpD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,0EAA0E;YAC1E,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAEzC,6CAA6C;YAC7C,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAE5C,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC;YACrC,iBAAiB,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,iBAAiB,CAAC,IAAkB,EAAE,KAAqB;QACjE,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAChD,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YACxB,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CACzB,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,IAAkB,EAAE,KAAqB;QAChE,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC5G,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,IAAkB,EAAE,KAAqB,EAAE,OAAuB,EAAE;QACxF,gCAAgC;QAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE;YACrE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACxC,OAAO,WAAW,CAAC;QACrB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IACE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAClE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,4DAA4D;QAC5D,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAClD,MAAM,qBAAqB,GAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,sEAAsE;YACtE,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE;gBACnD,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAC7E,CAAC;YAEF,mFAAmF;YACnF,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/D,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,CAAC,gBAAgB,CACrB,KAAa,EACb,UAA8B;QAC5B,qBAAqB,EAAE,KAAK;QAC5B,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,KAAK;QAC5B,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;KAChC;QAED,2CAA2C;QAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzD,2BAA2B;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC7C,OAAO,IAAI,YAAY,CACrB,CAAC,EACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,YAAY,CACrB,CAAC,EACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kCAAkC;QAClC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;QAED,qBAAqB;QACrB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,MAAM,gBAAgB,CAAC;QACzB,CAAC;QAED,8BAA8B;QAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,YAAY,CACd,CAAC,EACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChD,CACJ,CAAC;QACF,qCAAqC;QACrC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC;QAED,wBAAwB;QACxB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACnE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,MAAM,mBAAmB,CAAC;QAC5B,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAGD,oBAAoB,CAAC,OAAuB;QAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAGD,sBAAsB,CAAC,OAAuB;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAGD,uBAAuB,CAAC,OAA0B;QAChD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,mBAAmB,CACxB,gBAAkC,EAClC,UAA8B;QAC5B,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;KAChC;QAED,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEtD,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAyB,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/D,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,YAAY,CACd,CAAC,EACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChD,CACJ,CAAC;QACF,qCAAqC;QACrC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC;QAED,wBAAwB;QACxB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,MAAM,mBAAmB,CAAC;QAC5B,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CACF;AAzEC;IADC,WAAW,CAAC,4BAA4B,CAAC;;;;8DAOzC;AAGD;IADC,WAAW,CAAC,4BAA4B,CAAC;;;;gEAOzC;AAGD;IADC,WAAW,CAAC,+BAA+B,CAAC;;;;iEAO5C;AAoDI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK;QAClC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CACpC,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AA7BY,yBAAyB;IADrC,OAAO,CAAqB,kBAAkB,CAAC;GACnC,yBAAyB,CA6BrC"}
|
|
1
|
+
{"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":"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"}
|