@quadnix/octo 0.0.20 → 0.0.22
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 +8 -1
- package/dist/app.type.js +13 -7
- package/dist/app.type.js.map +1 -1
- package/dist/decorators/action.decorator.d.ts +19 -2
- package/dist/decorators/action.decorator.js +28 -5
- package/dist/decorators/action.decorator.js.map +1 -1
- package/dist/decorators/anchor.decorator.d.ts +13 -0
- package/dist/decorators/anchor.decorator.js +14 -1
- package/dist/decorators/anchor.decorator.js.map +1 -1
- package/dist/decorators/enable-hook.decorator.d.ts +14 -0
- package/dist/decorators/enable-hook.decorator.js +14 -0
- package/dist/decorators/enable-hook.decorator.js.map +1 -1
- package/dist/decorators/event-source.decorator.d.ts +15 -0
- package/dist/decorators/event-source.decorator.js +15 -0
- package/dist/decorators/event-source.decorator.js.map +1 -1
- package/dist/decorators/factory.decorator.d.ts +54 -5
- package/dist/decorators/factory.decorator.js +56 -3
- package/dist/decorators/factory.decorator.js.map +1 -1
- package/dist/decorators/model.decorator.d.ts +13 -0
- package/dist/decorators/model.decorator.js +14 -1
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/decorators/module.decorator.d.ts +61 -5
- package/dist/decorators/module.decorator.js +62 -3
- package/dist/decorators/module.decorator.js.map +1 -1
- package/dist/decorators/on-event.decorator.d.ts +17 -0
- package/dist/decorators/on-event.decorator.js +17 -0
- package/dist/decorators/on-event.decorator.js.map +1 -1
- package/dist/decorators/overlay.decorator.d.ts +13 -0
- package/dist/decorators/overlay.decorator.js +14 -1
- package/dist/decorators/overlay.decorator.js.map +1 -1
- package/dist/decorators/resource.decorator.d.ts +13 -0
- package/dist/decorators/resource.decorator.js +14 -1
- package/dist/decorators/resource.decorator.js.map +1 -1
- package/dist/decorators/validate.decorator.d.ts +9 -0
- package/dist/decorators/validate.decorator.js +23 -0
- package/dist/decorators/validate.decorator.js.map +1 -0
- package/dist/events/error.event.d.ts +30 -0
- package/dist/events/error.event.js +30 -0
- package/dist/events/error.event.js.map +1 -1
- package/dist/events/event.model.d.ts +27 -0
- package/dist/events/event.model.js +27 -3
- package/dist/events/event.model.js.map +1 -1
- package/dist/events/hook.event.d.ts +167 -0
- package/dist/events/hook.event.js +167 -0
- package/dist/events/hook.event.js.map +1 -1
- package/dist/events/module.event.d.ts +12 -0
- package/dist/events/module.event.js +12 -0
- package/dist/events/module.event.js.map +1 -1
- package/dist/events/registration.event.d.ts +90 -0
- package/dist/events/registration.event.js +90 -0
- package/dist/events/registration.event.js.map +1 -1
- package/dist/events/serialization.event.d.ts +61 -0
- package/dist/events/serialization.event.js +61 -0
- package/dist/events/serialization.event.js.map +1 -1
- package/dist/events/transaction.event.d.ts +41 -0
- package/dist/events/transaction.event.js +41 -0
- package/dist/events/transaction.event.js.map +1 -1
- package/dist/functions/container/container.d.ts +53 -0
- package/dist/functions/container/container.js +102 -0
- package/dist/functions/container/container.js.map +1 -0
- package/dist/functions/container/test-container.d.ts +75 -0
- package/dist/functions/container/test-container.js +97 -0
- 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 +1 -8
- package/dist/functions/dependency/dependency.js.map +1 -1
- package/dist/functions/diff/diff-metadata.d.ts +5 -2
- package/dist/functions/diff/diff-metadata.js +6 -11
- package/dist/functions/diff/diff-metadata.js.map +1 -1
- package/dist/functions/diff/diff.d.ts +6 -3
- package/dist/functions/diff/diff.js +8 -13
- package/dist/functions/diff/diff.js.map +1 -1
- package/dist/functions/diff/diff.utility.d.ts +38 -6
- package/dist/functions/diff/diff.utility.js +55 -6
- package/dist/functions/diff/diff.utility.js.map +1 -1
- package/dist/functions/hook/commit.hook.js +6 -3
- package/dist/functions/hook/commit.hook.js.map +1 -1
- package/dist/functions/hook/model-action.hook.js +7 -4
- package/dist/functions/hook/model-action.hook.js.map +1 -1
- package/dist/functions/hook/resource-action.hook.js +6 -3
- package/dist/functions/hook/resource-action.hook.js.map +1 -1
- package/dist/functions/node/node.abstract.d.ts +84 -0
- package/dist/functions/node/node.abstract.js +275 -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/index.d.ts +12 -12
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +11 -10
- package/dist/main.js +76 -37
- package/dist/main.js.map +1 -1
- package/dist/models/app/app.interface.d.ts +5 -0
- package/dist/models/app/app.model.d.ts +30 -3
- package/dist/models/app/app.model.js +40 -6
- package/dist/models/app/app.model.js.map +1 -1
- package/dist/models/deployment/deployment.interface.d.ts +5 -0
- package/dist/models/deployment/deployment.model.d.ts +16 -3
- package/dist/models/deployment/deployment.model.js +20 -6
- package/dist/models/deployment/deployment.model.js.map +1 -1
- package/dist/models/environment/environment.interface.d.ts +5 -0
- package/dist/models/environment/environment.model.d.ts +19 -3
- package/dist/models/environment/environment.model.js +33 -8
- package/dist/models/environment/environment.model.js.map +1 -1
- package/dist/models/execution/execution.interface.d.ts +5 -0
- package/dist/models/execution/execution.model.d.ts +24 -3
- package/dist/models/execution/execution.model.js +40 -7
- package/dist/models/execution/execution.model.js.map +1 -1
- package/dist/models/image/image.interface.d.ts +5 -0
- package/dist/models/image/image.model.d.ts +36 -3
- package/dist/models/image/image.model.js +25 -9
- package/dist/models/image/image.model.js.map +1 -1
- package/dist/models/model-action.interface.d.ts +18 -1
- package/dist/models/model.abstract.d.ts +7 -42
- package/dist/models/model.abstract.js +24 -295
- package/dist/models/model.abstract.js.map +1 -1
- package/dist/models/model.interface.d.ts +51 -11
- package/dist/models/pipeline/pipeline.interface.d.ts +5 -0
- package/dist/models/pipeline/pipeline.model.d.ts +16 -3
- package/dist/models/pipeline/pipeline.model.js +25 -8
- package/dist/models/pipeline/pipeline.model.js.map +1 -1
- package/dist/models/region/region.interface.d.ts +5 -0
- package/dist/models/region/region.model.d.ts +19 -3
- package/dist/models/region/region.model.js +29 -6
- package/dist/models/region/region.model.js.map +1 -1
- package/dist/models/server/server.interface.d.ts +5 -0
- package/dist/models/server/server.model.d.ts +18 -3
- package/dist/models/server/server.model.js +24 -6
- package/dist/models/server/server.model.js.map +1 -1
- package/dist/models/service/service.interface.d.ts +5 -0
- package/dist/models/service/service.model.d.ts +16 -3
- package/dist/models/service/service.model.js +19 -6
- package/dist/models/service/service.model.js.map +1 -1
- package/dist/models/subnet/subnet.interface.d.ts +5 -0
- package/dist/models/subnet/subnet.model.d.ts +50 -3
- package/dist/models/subnet/subnet.model.js +58 -22
- package/dist/models/subnet/subnet.model.js.map +1 -1
- package/dist/modules/module.container.d.ts +4 -2
- package/dist/modules/module.container.js +17 -8
- package/dist/modules/module.container.js.map +1 -1
- package/dist/modules/test-module.container.d.ts +4 -4
- package/dist/modules/test-module.container.js +18 -17
- package/dist/modules/test-module.container.js.map +1 -1
- package/dist/overlays/anchor.abstract.js +0 -3
- package/dist/overlays/anchor.abstract.js.map +1 -1
- package/dist/overlays/overlay-data.repository.d.ts +2 -4
- package/dist/overlays/overlay-data.repository.js +8 -36
- package/dist/overlays/overlay-data.repository.js.map +1 -1
- package/dist/overlays/overlay.abstract.d.ts +6 -7
- package/dist/overlays/overlay.abstract.js +20 -42
- package/dist/overlays/overlay.abstract.js.map +1 -1
- package/dist/overlays/overlay.service.d.ts +0 -1
- package/dist/overlays/overlay.service.js +1 -7
- package/dist/overlays/overlay.service.js.map +1 -1
- package/dist/resources/resource-data.repository.d.ts +16 -6
- package/dist/resources/resource-data.repository.js +121 -18
- package/dist/resources/resource-data.repository.js.map +1 -1
- package/dist/resources/resource.abstract.d.ts +23 -6
- package/dist/resources/resource.abstract.js +147 -13
- package/dist/resources/resource.abstract.js.map +1 -1
- package/dist/resources/shared-resource.abstract.d.ts +2 -2
- package/dist/resources/shared-resource.abstract.js +5 -2
- package/dist/resources/shared-resource.abstract.js.map +1 -1
- package/dist/services/capture/capture.service.d.ts +1 -2
- package/dist/services/capture/capture.service.js +5 -4
- package/dist/services/capture/capture.service.js.map +1 -1
- package/dist/services/event/event.service.js +9 -6
- package/dist/services/event/event.service.js.map +1 -1
- package/dist/services/input/input.service.js +3 -5
- package/dist/services/input/input.service.js.map +1 -1
- package/dist/services/serialization/model/model-serialization.service.js +13 -14
- package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
- package/dist/services/serialization/resource/resource-serialization.service.d.ts +4 -4
- package/dist/services/serialization/resource/resource-serialization.service.js +23 -13
- package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
- package/dist/services/state-management/local.state-provider.js +0 -1
- package/dist/services/state-management/local.state-provider.js.map +1 -1
- package/dist/services/state-management/state-management.service.d.ts +1 -1
- package/dist/services/state-management/state-management.service.js +6 -9
- package/dist/services/state-management/state-management.service.js.map +1 -1
- package/dist/services/state-management/test.state-provider.js +3 -1
- package/dist/services/state-management/test.state-provider.js.map +1 -1
- package/dist/services/transaction/transaction.service.d.ts +5 -2
- package/dist/services/transaction/transaction.service.js +117 -87
- package/dist/services/transaction/transaction.service.js.map +1 -1
- package/dist/services/validation/validation.service.d.ts +19 -0
- package/dist/services/validation/validation.service.js +66 -0
- package/dist/services/validation/validation.service.js.map +1 -0
- package/dist/utilities/object/object.utility.js +1 -0
- package/dist/utilities/object/object.utility.js.map +1 -1
- package/dist/utilities/validation/validation.utility.d.ts +5 -0
- package/dist/utilities/validation/validation.utility.js +12 -0
- package/dist/utilities/validation/validation.utility.js.map +1 -0
- package/package.json +1 -1
- package/dist/decorators/container.d.ts +0 -24
- package/dist/decorators/container.js +0 -96
- package/dist/decorators/container.js.map +0 -1
- package/dist/decorators/test-container.d.ts +0 -27
- package/dist/decorators/test-container.js +0 -52
- package/dist/decorators/test-container.js.map +0 -1
|
@@ -7,8 +7,8 @@ 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 '../../
|
|
10
|
+
import { NodeType, } from '../../app.type.js';
|
|
11
|
+
import { Container } from '../../functions/container/container.js';
|
|
12
12
|
import { EventSource } from '../../decorators/event-source.decorator.js';
|
|
13
13
|
import { Factory } from '../../decorators/factory.decorator.js';
|
|
14
14
|
import { ModelActionRegistrationEvent, ResourceActionRegistrationEvent } from '../../events/registration.event.js';
|
|
@@ -17,22 +17,19 @@ import { DiffMetadata } from '../../functions/diff/diff-metadata.js';
|
|
|
17
17
|
import { DiffAction } from '../../functions/diff/diff.js';
|
|
18
18
|
import { OverlayDataRepository } from '../../overlays/overlay-data.repository.js';
|
|
19
19
|
import { ResourceDataRepository } from '../../resources/resource-data.repository.js';
|
|
20
|
+
import { AResource } from '../../resources/resource.abstract.js';
|
|
20
21
|
import { CaptureService } from '../capture/capture.service.js';
|
|
21
22
|
import { EventService } from '../event/event.service.js';
|
|
22
23
|
import { InputService } from '../input/input.service.js';
|
|
23
24
|
export class TransactionService {
|
|
24
|
-
captureService;
|
|
25
|
-
inputService;
|
|
26
|
-
overlayDataRepository;
|
|
27
|
-
resourceDataRepository;
|
|
28
|
-
modelActions = [];
|
|
29
|
-
overlayActions = [];
|
|
30
|
-
resourceActions = [];
|
|
31
25
|
constructor(captureService, inputService, overlayDataRepository, resourceDataRepository) {
|
|
32
26
|
this.captureService = captureService;
|
|
33
27
|
this.inputService = inputService;
|
|
34
28
|
this.overlayDataRepository = overlayDataRepository;
|
|
35
29
|
this.resourceDataRepository = resourceDataRepository;
|
|
30
|
+
this.modelActions = [];
|
|
31
|
+
this.overlayActions = [];
|
|
32
|
+
this.resourceActions = [];
|
|
36
33
|
}
|
|
37
34
|
async applyModels(diffs) {
|
|
38
35
|
const transaction = [];
|
|
@@ -41,14 +38,16 @@ export class TransactionService {
|
|
|
41
38
|
while (processed < diffs.length) {
|
|
42
39
|
const diffsInSameLevel = diffs.filter((d) => d.applyOrder === currentApplyOrder);
|
|
43
40
|
const diffsProcessedInSameLevel = [];
|
|
44
|
-
const promiseToApplyActions = [];
|
|
45
41
|
for (const diff of diffsInSameLevel) {
|
|
46
42
|
if (diff.applied) {
|
|
47
43
|
continue;
|
|
48
44
|
}
|
|
45
|
+
// Check for duplicate diffs on the same model and same field.
|
|
49
46
|
const duplicateDiffs = this.getDuplicateDiffs(diff, diffsInSameLevel);
|
|
47
|
+
// Only process the first diff, given all duplicate diffs are the same.
|
|
50
48
|
const diffToProcess = duplicateDiffs[0].diff;
|
|
51
49
|
for (const a of diff.actions) {
|
|
50
|
+
// Resolve input requests.
|
|
52
51
|
const inputs = {};
|
|
53
52
|
const inputKeys = a.collectInput(diffToProcess);
|
|
54
53
|
inputKeys.forEach((k) => {
|
|
@@ -57,31 +56,31 @@ export class TransactionService {
|
|
|
57
56
|
throw new Error('No matching input found to process action!');
|
|
58
57
|
}
|
|
59
58
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
// Apply all actions on the diff, then update diff metadata with inputs and outputs.
|
|
60
|
+
const outputs = await a.handle(diffToProcess, inputs, {});
|
|
61
|
+
// Overwrite previous resources with new resources, except for shared resources,
|
|
62
|
+
// which can be merged if it exists.
|
|
63
|
+
for (const [resourceId, resource] of Object.entries(outputs)) {
|
|
64
|
+
const previousResource = this.resourceDataRepository.getNewResourceById(resourceId);
|
|
65
|
+
if (resource.NODE_TYPE === 'shared-resource' && previousResource) {
|
|
66
|
+
this.resourceDataRepository.addNewResource(resource.merge(previousResource));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.resourceDataRepository.addNewResource(resource);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
duplicateDiffs.forEach((d) => {
|
|
73
|
+
d.updateInputs(inputs);
|
|
74
|
+
d.updateOutputs(outputs);
|
|
67
75
|
});
|
|
68
|
-
|
|
76
|
+
EventService.getInstance().emit(new ModelActionTransactionEvent(a.ACTION_NAME));
|
|
69
77
|
}
|
|
78
|
+
// Include the diff to process in the list of diffs processed in the same level.
|
|
70
79
|
diffsProcessedInSameLevel.push(duplicateDiffs[0]);
|
|
80
|
+
// Mark metadata of each duplicate diffs as applied.
|
|
71
81
|
duplicateDiffs.forEach((d) => (d.applied = true));
|
|
72
82
|
}
|
|
73
|
-
|
|
74
|
-
for (const outputs of actionsOutputs) {
|
|
75
|
-
for (const [resourceId, resource] of Object.entries(outputs)) {
|
|
76
|
-
const previousResource = this.resourceDataRepository.getById(resourceId);
|
|
77
|
-
if (resource.MODEL_TYPE === 'shared-resource' && previousResource) {
|
|
78
|
-
this.resourceDataRepository.add(resource.merge(previousResource));
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.resourceDataRepository.add(resource);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
83
|
+
// Add all diff in same level to transaction.
|
|
85
84
|
transaction.push(diffsProcessedInSameLevel);
|
|
86
85
|
processed += diffsInSameLevel.length;
|
|
87
86
|
currentApplyOrder += 1;
|
|
@@ -95,29 +94,44 @@ export class TransactionService {
|
|
|
95
94
|
while (processed < diffs.length) {
|
|
96
95
|
const diffsInSameLevel = diffs.filter((d) => d.applyOrder === currentApplyOrder);
|
|
97
96
|
const diffsProcessedInSameLevel = [];
|
|
98
|
-
const promiseToApplyActions = [];
|
|
99
97
|
for (const diff of diffsInSameLevel) {
|
|
100
98
|
if (diff.applied) {
|
|
101
99
|
continue;
|
|
102
100
|
}
|
|
101
|
+
// Check for duplicate diffs on the same resource and same field.
|
|
103
102
|
const duplicateDiffs = this.getDuplicateDiffs(diff, diffsInSameLevel);
|
|
103
|
+
// Only process the first diff, given all duplicate diffs are the same.
|
|
104
104
|
const diffToProcess = duplicateDiffs[0].diff;
|
|
105
105
|
for (const a of diff.actions) {
|
|
106
106
|
if (enableResourceCapture) {
|
|
107
|
-
const capture = this.captureService.getCapture(diff.
|
|
107
|
+
const capture = this.captureService.getCapture(diff.node.resourceId);
|
|
108
108
|
await a.mock(capture?.response, diff);
|
|
109
109
|
await a.handle(diffToProcess);
|
|
110
110
|
}
|
|
111
111
|
else {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
await a.handle(diffToProcess);
|
|
113
|
+
}
|
|
114
|
+
// De-reference from actual resources.
|
|
115
|
+
const deReferenceResource = async (resourceId) => {
|
|
116
|
+
return this.resourceDataRepository.getActualResourceById(resourceId);
|
|
117
|
+
};
|
|
118
|
+
// Incrementally apply diff inverse to the respective actual resource.
|
|
119
|
+
let actualResource = this.resourceDataRepository.getActualResourceById(diffToProcess.node.resourceId);
|
|
120
|
+
if (!actualResource) {
|
|
121
|
+
actualResource = await AResource.cloneResource(diffToProcess.node, deReferenceResource);
|
|
122
|
+
this.resourceDataRepository.addActualResource(actualResource);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await actualResource.diffInverse(diffToProcess, deReferenceResource);
|
|
115
126
|
}
|
|
127
|
+
EventService.getInstance().emit(new ResourceActionTransactionEvent(a.ACTION_NAME));
|
|
116
128
|
}
|
|
129
|
+
// Include the diff to process in the list of diffs processed in the same level.
|
|
117
130
|
diffsProcessedInSameLevel.push(duplicateDiffs[0]);
|
|
131
|
+
// Mark metadata of each duplicate diffs as applied.
|
|
118
132
|
duplicateDiffs.forEach((d) => (d.applied = true));
|
|
119
133
|
}
|
|
120
|
-
|
|
134
|
+
// Add all diff in same level to transaction.
|
|
121
135
|
transaction.push(diffsProcessedInSameLevel);
|
|
122
136
|
processed += diffsInSameLevel.length;
|
|
123
137
|
currentApplyOrder += 1;
|
|
@@ -125,18 +139,24 @@ export class TransactionService {
|
|
|
125
139
|
return transaction;
|
|
126
140
|
}
|
|
127
141
|
getDuplicateDiffs(diff, diffs) {
|
|
128
|
-
return diffs.filter((d) => d.
|
|
142
|
+
return diffs.filter((d) => d.node.getContext() === diff.node.getContext() &&
|
|
129
143
|
d.field === diff.field &&
|
|
130
144
|
d.action === diff.action &&
|
|
131
145
|
d.value === diff.value);
|
|
132
146
|
}
|
|
133
147
|
getMatchingDiffs(diff, diffs) {
|
|
134
|
-
return diffs.filter((d) => d.
|
|
148
|
+
return diffs.filter((d) => d.node.getContext() === diff.node.getContext() && d.field === diff.field && d.value === diff.value);
|
|
135
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Before assigning order to a diff, all its node's parent diffs must be processed.
|
|
152
|
+
* E.g. diff to add environment, depends on region to exist, thus add region diff gets processed first.
|
|
153
|
+
*/
|
|
136
154
|
setApplyOrder(diff, diffs, seen = []) {
|
|
155
|
+
// Detect circular dependencies.
|
|
137
156
|
if (this.getDuplicateDiffs(diff, seen).length > 0) {
|
|
138
157
|
throw new Error('Found circular dependencies!');
|
|
139
158
|
}
|
|
159
|
+
// Detect conflicting actions in transaction.
|
|
140
160
|
const matchingDiffs = this.getMatchingDiffs(diff, diffs);
|
|
141
161
|
const diffActions = matchingDiffs.reduce((accumulator, currentValue) => {
|
|
142
162
|
accumulator[currentValue.action] = true;
|
|
@@ -147,14 +167,18 @@ export class TransactionService {
|
|
|
147
167
|
(diffActions[DiffAction.DELETE] && diffActions[DiffAction.UPDATE])) {
|
|
148
168
|
throw new Error('Found conflicting actions in same transaction!');
|
|
149
169
|
}
|
|
170
|
+
// Skip processing diff that already has the applyOrder set.
|
|
150
171
|
if (diff.applyOrder >= 0) {
|
|
151
172
|
return;
|
|
152
173
|
}
|
|
153
|
-
|
|
174
|
+
// Get all dependencies of subject node.
|
|
175
|
+
const dependencies = diff.node.getDependencies();
|
|
154
176
|
const dependencyApplyOrders = [-1];
|
|
155
177
|
for (const dependency of dependencies) {
|
|
156
|
-
|
|
178
|
+
// Iterate diffs looking to match dependency on same field and action.
|
|
179
|
+
const matchingParentDiffs = diffs.filter((d) => d.node.getContext() === dependency.to.getContext() &&
|
|
157
180
|
dependency.hasMatchingBehavior(diff.field, diff.action, d.field, d.action));
|
|
181
|
+
// On each diff that should be processed first, apply order on it before than self.
|
|
158
182
|
for (const matchingParentDiff of matchingParentDiffs) {
|
|
159
183
|
this.setApplyOrder(matchingParentDiff, diffs, [...seen, diff]);
|
|
160
184
|
dependencyApplyOrders.push(matchingParentDiff.applyOrder);
|
|
@@ -162,45 +186,81 @@ export class TransactionService {
|
|
|
162
186
|
}
|
|
163
187
|
diff.applyOrder = Math.max(...dependencyApplyOrders) + 1;
|
|
164
188
|
}
|
|
165
|
-
async *beginTransaction(diffs,
|
|
166
|
-
|
|
167
|
-
yieldModelDiffs: false,
|
|
168
|
-
yieldModelTransaction: false,
|
|
169
|
-
yieldResourceDiffs: false,
|
|
170
|
-
yieldResourceTransaction: false,
|
|
171
|
-
}) {
|
|
189
|
+
async *beginTransaction(diffs, { enableResourceCapture = false, yieldModelDiffs = false, yieldModelTransaction = false, yieldResourceDiffs = false, yieldResourceTransaction = false, } = {}) {
|
|
190
|
+
// Diff overlays and add to existing diffs.
|
|
172
191
|
diffs.push(...(await this.overlayDataRepository.diff()));
|
|
192
|
+
// Generate diff on models.
|
|
173
193
|
const modelDiffs = diffs.map((d) => {
|
|
174
|
-
if (d.
|
|
194
|
+
if (d.node.NODE_TYPE === NodeType.OVERLAY) {
|
|
175
195
|
return new DiffMetadata(d, this.overlayActions.filter((a) => a.filter(d)));
|
|
176
196
|
}
|
|
177
197
|
else {
|
|
178
198
|
return new DiffMetadata(d, this.modelActions.filter((a) => a.filter(d)));
|
|
179
199
|
}
|
|
180
200
|
});
|
|
201
|
+
// Set apply order on model diffs.
|
|
181
202
|
for (const diff of modelDiffs) {
|
|
182
203
|
this.setApplyOrder(diff, modelDiffs);
|
|
183
204
|
}
|
|
184
|
-
if (
|
|
205
|
+
if (yieldModelDiffs) {
|
|
185
206
|
yield [modelDiffs];
|
|
186
207
|
}
|
|
208
|
+
// Apply model diffs.
|
|
187
209
|
const modelTransaction = await this.applyModels(modelDiffs);
|
|
188
|
-
if (
|
|
210
|
+
if (yieldModelTransaction) {
|
|
189
211
|
yield modelTransaction;
|
|
190
212
|
}
|
|
191
|
-
|
|
192
|
-
const
|
|
213
|
+
// Generate resource diffs.
|
|
214
|
+
const newDiffs = await this.resourceDataRepository.diff();
|
|
215
|
+
const dirtyDiffs = await this.resourceDataRepository.diffDirty();
|
|
216
|
+
// new diffs = new - old | dirty diffs = new - actual
|
|
217
|
+
// Any new diff that is also not part of dirty diffs should be skipped, as the actual is already in desired state.
|
|
218
|
+
for (let i = newDiffs.length - 1; i >= 0; i--) {
|
|
219
|
+
const newDiff = newDiffs[i];
|
|
220
|
+
if (!dirtyDiffs.some((d) => d.node.getContext() === newDiff.node.getContext() &&
|
|
221
|
+
d.action === newDiff.action &&
|
|
222
|
+
d.field === newDiff.field &&
|
|
223
|
+
d.value === newDiff.value)) {
|
|
224
|
+
newDiffs.splice(i, 1);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Ensure any new diffs are not operating on dirty resources.
|
|
228
|
+
this.resourceDataRepository.ensureDiffsNotOperatingOnDirtyResources(newDiffs);
|
|
229
|
+
// Skip processing dirty diffs that are already accounted for in new diffs.
|
|
230
|
+
for (let i = dirtyDiffs.length - 1; i >= 0; i--) {
|
|
231
|
+
const dirtyDiff = dirtyDiffs[i];
|
|
232
|
+
if (newDiffs.some((d) => d.node.getContext() === dirtyDiff.node.getContext() &&
|
|
233
|
+
d.action === dirtyDiff.action &&
|
|
234
|
+
d.field === dirtyDiff.field &&
|
|
235
|
+
d.value === dirtyDiff.value)) {
|
|
236
|
+
dirtyDiffs.splice(i, 1);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Generate diff on resources.
|
|
240
|
+
const resourceDiffs = newDiffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
|
|
241
|
+
// Set apply order on resource diffs.
|
|
193
242
|
for (const diff of resourceDiffs) {
|
|
194
243
|
this.setApplyOrder(diff, resourceDiffs);
|
|
195
244
|
}
|
|
196
|
-
|
|
197
|
-
|
|
245
|
+
// Generate diff on dirty resources.
|
|
246
|
+
const dirtyResourceDiffs = dirtyDiffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
|
|
247
|
+
// Set apply order on dirty resource diffs.
|
|
248
|
+
for (const diff of dirtyResourceDiffs) {
|
|
249
|
+
this.setApplyOrder(diff, dirtyResourceDiffs);
|
|
250
|
+
}
|
|
251
|
+
if (yieldResourceDiffs) {
|
|
252
|
+
yield [resourceDiffs, dirtyResourceDiffs];
|
|
198
253
|
}
|
|
254
|
+
// Apply resource diffs.
|
|
199
255
|
const resourceTransaction = await this.applyResources(resourceDiffs, {
|
|
200
|
-
enableResourceCapture
|
|
256
|
+
enableResourceCapture,
|
|
201
257
|
});
|
|
202
|
-
|
|
203
|
-
|
|
258
|
+
// Apply dirty resource diffs.
|
|
259
|
+
const dirtyResourceTransaction = await this.applyResources(dirtyResourceDiffs, {
|
|
260
|
+
enableResourceCapture,
|
|
261
|
+
});
|
|
262
|
+
if (yieldResourceTransaction) {
|
|
263
|
+
yield [...resourceTransaction, ...dirtyResourceTransaction];
|
|
204
264
|
}
|
|
205
265
|
return modelTransaction;
|
|
206
266
|
}
|
|
@@ -225,35 +285,6 @@ export class TransactionService {
|
|
|
225
285
|
}
|
|
226
286
|
}
|
|
227
287
|
}
|
|
228
|
-
async *rollbackTransaction(modelTransaction, options = {
|
|
229
|
-
yieldResourceDiffs: false,
|
|
230
|
-
yieldResourceTransaction: false,
|
|
231
|
-
}) {
|
|
232
|
-
for (let i = modelTransaction.length - 1; i >= 0; i--) {
|
|
233
|
-
const diffsProcessedInSameLevel = modelTransaction[i];
|
|
234
|
-
for (const diff of diffsProcessedInSameLevel) {
|
|
235
|
-
for (const a of diff.actions) {
|
|
236
|
-
const outputs = a.revert(diff.diff, diff.inputs, diff.outputs);
|
|
237
|
-
for (const outputKey in outputs) {
|
|
238
|
-
this.resourceDataRepository.add(outputs[outputKey]);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
const diffs = await this.resourceDataRepository.diff();
|
|
244
|
-
const resourceDiffs = diffs.map((d) => new DiffMetadata(d, this.resourceActions.filter((a) => a.filter(d))));
|
|
245
|
-
for (const diff of resourceDiffs) {
|
|
246
|
-
this.setApplyOrder(diff, resourceDiffs);
|
|
247
|
-
}
|
|
248
|
-
if (options.yieldResourceDiffs) {
|
|
249
|
-
yield [resourceDiffs];
|
|
250
|
-
}
|
|
251
|
-
const resourceTransaction = await this.applyResources(resourceDiffs);
|
|
252
|
-
if (options.yieldResourceTransaction) {
|
|
253
|
-
yield resourceTransaction;
|
|
254
|
-
}
|
|
255
|
-
return resourceTransaction;
|
|
256
|
-
}
|
|
257
288
|
}
|
|
258
289
|
__decorate([
|
|
259
290
|
EventSource(ModelActionRegistrationEvent),
|
|
@@ -274,7 +305,6 @@ __decorate([
|
|
|
274
305
|
__metadata("design:returntype", void 0)
|
|
275
306
|
], TransactionService.prototype, "registerResourceActions", null);
|
|
276
307
|
let TransactionServiceFactory = class TransactionServiceFactory {
|
|
277
|
-
static instance;
|
|
278
308
|
static async create(forceNew = false) {
|
|
279
309
|
const [captureService, inputService, overlayDataRepository, resourceDataRepository] = await Promise.all([
|
|
280
310
|
Container.get(CaptureService),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/services/transaction/transaction.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Constructable, ValidationType } from '../../app.type.js';
|
|
2
|
+
export declare class ValidationService {
|
|
3
|
+
private static instance;
|
|
4
|
+
private readonly subjects;
|
|
5
|
+
addSubject<T>(type: ValidationType, constraint: any, target: Constructable<T>, propertyKey: string, value: any, destruct?: (value: any) => any[]): void;
|
|
6
|
+
static getInstance(): ValidationService;
|
|
7
|
+
removeSubject<T>(target: Constructable<T>, propertyKey: string): void;
|
|
8
|
+
validate(): {
|
|
9
|
+
pass: boolean;
|
|
10
|
+
errors: {
|
|
11
|
+
constraint: any;
|
|
12
|
+
type: ValidationType;
|
|
13
|
+
value: any;
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare class ValidationServiceFactory {
|
|
18
|
+
static create(): Promise<ValidationService>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ValidationType } from '../../app.type.js';
|
|
8
|
+
import { Factory } from '../../decorators/factory.decorator.js';
|
|
9
|
+
import { ValidationUtility } from '../../utilities/validation/validation.utility.js';
|
|
10
|
+
export class ValidationService {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.subjects = [];
|
|
13
|
+
}
|
|
14
|
+
addSubject(type, constraint, target, propertyKey, value, destruct) {
|
|
15
|
+
this.subjects.push({ constraint, destruct, propertyKey, target, type, value });
|
|
16
|
+
}
|
|
17
|
+
static getInstance() {
|
|
18
|
+
if (!this.instance) {
|
|
19
|
+
this.instance = new ValidationService();
|
|
20
|
+
}
|
|
21
|
+
return this.instance;
|
|
22
|
+
}
|
|
23
|
+
removeSubject(target, propertyKey) {
|
|
24
|
+
for (let i = this.subjects.length - 1; i >= 0; i--) {
|
|
25
|
+
if ((this.subjects[i].target === target || this.subjects[i].target === target.prototype) &&
|
|
26
|
+
this.subjects[i].propertyKey === propertyKey) {
|
|
27
|
+
this.subjects.splice(i, 1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
validate() {
|
|
32
|
+
const result = { errors: [], pass: true };
|
|
33
|
+
for (const subject of this.subjects) {
|
|
34
|
+
const values = subject.destruct ? subject.destruct(subject.value) : [subject.value];
|
|
35
|
+
for (const value of values) {
|
|
36
|
+
let pass = true;
|
|
37
|
+
switch (subject.type) {
|
|
38
|
+
case ValidationType.REGEX:
|
|
39
|
+
pass = ValidationUtility.validateRegex(value, subject.constraint);
|
|
40
|
+
break;
|
|
41
|
+
case ValidationType.MIN_LENGTH:
|
|
42
|
+
pass = ValidationUtility.validateMinLength(value, subject.constraint);
|
|
43
|
+
break;
|
|
44
|
+
case ValidationType.MAX_LENGTH:
|
|
45
|
+
pass = ValidationUtility.validateMaxLength(value, subject.constraint);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
if (!pass) {
|
|
49
|
+
result.errors.push({ constraint: subject.constraint, type: subject.type, value });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
result.pass = result.errors.length === 0;
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
let ValidationServiceFactory = class ValidationServiceFactory {
|
|
58
|
+
static async create() {
|
|
59
|
+
return ValidationService.getInstance();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
ValidationServiceFactory = __decorate([
|
|
63
|
+
Factory(ValidationService)
|
|
64
|
+
], ValidationServiceFactory);
|
|
65
|
+
export { ValidationServiceFactory };
|
|
66
|
+
//# sourceMappingURL=validation.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.service.js","sourceRoot":"","sources":["../../../src/services/validation/validation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.utility.js","sourceRoot":"","sources":["../../../src/utilities/object/object.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"object.utility.js","sourceRoot":"","sources":["../../../src/utilities/object/object.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IACxB,uDAAuD;IACvD,MAAM,CAAC,UAAU,CAAmB,MAAS;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class ValidationUtility {
|
|
2
|
+
static validateMaxLength(subject, maxLength) {
|
|
3
|
+
return subject.length <= maxLength;
|
|
4
|
+
}
|
|
5
|
+
static validateMinLength(subject, minLength) {
|
|
6
|
+
return subject.length >= minLength;
|
|
7
|
+
}
|
|
8
|
+
static validateRegex(subject, pattern) {
|
|
9
|
+
return pattern.test(subject);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=validation.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.utility.js","sourceRoot":"","sources":["../../../src/utilities/validation/validation.utility.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,SAAiB;QACzD,OAAO,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAe,EAAE,SAAiB;QACzD,OAAO,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,OAAe;QACnD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Constructable } from '../app.type.js';
|
|
2
|
-
type Factory<T> = {
|
|
3
|
-
create: (...args: unknown[]) => Promise<T>;
|
|
4
|
-
};
|
|
5
|
-
export declare class Container {
|
|
6
|
-
private static FACTORY_TIMEOUT_IN_MS;
|
|
7
|
-
private static readonly factories;
|
|
8
|
-
static get<T>(type: Constructable<T> | string, options?: {
|
|
9
|
-
args?: unknown[];
|
|
10
|
-
metadata?: {
|
|
11
|
-
[key: string]: string;
|
|
12
|
-
};
|
|
13
|
-
}): Promise<T>;
|
|
14
|
-
static registerFactory<T>(type: Constructable<T> | string, factory: Factory<T>, options?: {
|
|
15
|
-
metadata?: {
|
|
16
|
-
[key: string]: string;
|
|
17
|
-
};
|
|
18
|
-
}): void;
|
|
19
|
-
static reset(): void;
|
|
20
|
-
static setDefault<T>(type: Constructable<T> | string, factory: Factory<T>): void;
|
|
21
|
-
static setFactoryTimeout(timeoutInMs: number): void;
|
|
22
|
-
static unRegisterFactory<T>(type: Constructable<T> | string): void;
|
|
23
|
-
}
|
|
24
|
-
export {};
|