@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
|
@@ -9,20 +9,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var Execution_1;
|
|
11
11
|
import { Model } from '../../decorators/model.decorator.js';
|
|
12
|
-
import {
|
|
13
|
-
import { DiffUtility } from '../../functions/diff/diff.utility.js';
|
|
12
|
+
import { ModelError } from '../../errors/index.js';
|
|
14
13
|
import { ArrayUtility } from '../../utilities/array/array.utility.js';
|
|
15
14
|
import { Deployment } from '../deployment/deployment.model.js';
|
|
16
15
|
import { Environment } from '../environment/environment.model.js';
|
|
17
16
|
import { AModel } from '../model.abstract.js';
|
|
17
|
+
import { Region } from '../region/region.model.js';
|
|
18
|
+
import { Server } from '../server/server.model.js';
|
|
18
19
|
import { Subnet } from '../subnet/subnet.model.js';
|
|
20
|
+
import { ExecutionSchema } from './execution.schema.js';
|
|
19
21
|
/**
|
|
20
22
|
* An Execution model is the combination of a {@link Deployment}, an {@link Environment}, and a {@link Subnet}.
|
|
21
23
|
* It represents a physical server, running the deployment code, in the given environment, placed in the given subnet.
|
|
22
24
|
*
|
|
23
25
|
* @example
|
|
24
26
|
* ```ts
|
|
25
|
-
* const deployment = new Deployment('
|
|
27
|
+
* const deployment = new Deployment('v1');
|
|
26
28
|
* const environment = new Environment('qa');
|
|
27
29
|
* const subnet = new Subnet(region, 'private');
|
|
28
30
|
* const execution = new Execution(deployment, environment, subnet);
|
|
@@ -33,12 +35,6 @@ import { Subnet } from '../subnet/subnet.model.js';
|
|
|
33
35
|
let Execution = Execution_1 = class Execution extends AModel {
|
|
34
36
|
constructor(deployment, environment, subnet) {
|
|
35
37
|
super();
|
|
36
|
-
this.MODEL_NAME = 'execution';
|
|
37
|
-
/**
|
|
38
|
-
* A set of environment variables to be passed to the Docker container.
|
|
39
|
-
* It represents setting the [--env](https://docs.docker.com/compose/environment-variables/set-environment-variables/)
|
|
40
|
-
* option while running a Docker container.
|
|
41
|
-
*/
|
|
42
38
|
this.environmentVariables = new Map();
|
|
43
39
|
// Check if execution can be placed in this subnet.
|
|
44
40
|
const environmentRegions = environment.getParents('region')['region'] || [];
|
|
@@ -46,7 +42,7 @@ let Execution = Execution_1 = class Execution extends AModel {
|
|
|
46
42
|
if (environmentRegions.length > 0 &&
|
|
47
43
|
subnetRegions.length > 0 &&
|
|
48
44
|
environmentRegions[0].to.regionId !== subnetRegions[0].to.regionId) {
|
|
49
|
-
throw new
|
|
45
|
+
throw new ModelError('Environment and Subnet must be in the same region!', this);
|
|
50
46
|
}
|
|
51
47
|
// Check for duplicates.
|
|
52
48
|
const deploymentExecutions = (deployment.getChildren('execution')['execution'] || []).map((d) => d.to);
|
|
@@ -55,7 +51,7 @@ let Execution = Execution_1 = class Execution extends AModel {
|
|
|
55
51
|
if (ArrayUtility.intersect((a, b) => {
|
|
56
52
|
return a.executionId === b.executionId;
|
|
57
53
|
}, deploymentExecutions, environmentExecutions, subnetExecutions).length > 0) {
|
|
58
|
-
throw new
|
|
54
|
+
throw new ModelError('Execution already exists!', this);
|
|
59
55
|
}
|
|
60
56
|
// In order for this execution to properly have defined its parent-child relationship, all parents
|
|
61
57
|
// must claim it as their child. Doing it here, prevents the confusion.
|
|
@@ -82,16 +78,16 @@ let Execution = Execution_1 = class Execution extends AModel {
|
|
|
82
78
|
subnet.subnetName,
|
|
83
79
|
].join('-');
|
|
84
80
|
}
|
|
85
|
-
async diffProperties(previous) {
|
|
86
|
-
return DiffUtility.diffMap(previous, this, 'environmentVariables');
|
|
87
|
-
}
|
|
88
81
|
setContext() {
|
|
89
82
|
const parents = this.getParents();
|
|
90
|
-
const deployment = parents['deployment'][0]
|
|
91
|
-
const environment = parents['environment'][0]
|
|
92
|
-
const subnet = parents['subnet'][0]
|
|
83
|
+
const deployment = parents['deployment']?.[0]?.to;
|
|
84
|
+
const environment = parents['environment']?.[0]?.to;
|
|
85
|
+
const subnet = parents['subnet']?.[0]?.to;
|
|
86
|
+
if (!deployment || !environment || !subnet) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
93
89
|
return [
|
|
94
|
-
`${this.
|
|
90
|
+
`${this.constructor.NODE_NAME}=${this.executionId}`,
|
|
95
91
|
deployment.getContext(),
|
|
96
92
|
environment.getContext(),
|
|
97
93
|
subnet.getContext(),
|
|
@@ -122,17 +118,8 @@ let Execution = Execution_1 = class Execution extends AModel {
|
|
|
122
118
|
return newExecution;
|
|
123
119
|
}
|
|
124
120
|
};
|
|
125
|
-
__decorate([
|
|
126
|
-
Validate({
|
|
127
|
-
destruct: (value) => {
|
|
128
|
-
return Array.from(value.keys());
|
|
129
|
-
},
|
|
130
|
-
options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ },
|
|
131
|
-
}),
|
|
132
|
-
__metadata("design:type", Map)
|
|
133
|
-
], Execution.prototype, "environmentVariables", void 0);
|
|
134
121
|
Execution = Execution_1 = __decorate([
|
|
135
|
-
Model(),
|
|
122
|
+
Model('@octo', 'execution', ExecutionSchema),
|
|
136
123
|
__metadata("design:paramtypes", [Deployment, Environment, Subnet])
|
|
137
124
|
], Execution);
|
|
138
125
|
export { Execution };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.model.js","sourceRoot":"","sources":["../../../src/models/execution/execution.model.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"execution.model.js","sourceRoot":"","sources":["../../../src/models/execution/execution.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IModelReference } from '../model.interface.js';
|
|
2
|
+
export declare class ExecutionSchema {
|
|
3
|
+
deployment: IModelReference;
|
|
4
|
+
environment: IModelReference;
|
|
5
|
+
/**
|
|
6
|
+
* A set of environment variables to be passed to the Docker container.
|
|
7
|
+
* It represents setting the [--env](https://docs.docker.com/compose/environment-variables/set-environment-variables/)
|
|
8
|
+
* option while running a Docker container.
|
|
9
|
+
*/
|
|
10
|
+
environmentVariables: {
|
|
11
|
+
[key: string]: string;
|
|
12
|
+
};
|
|
13
|
+
subnet: IModelReference;
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validate } from '../../decorators/validate.decorator.js';
|
|
11
|
+
import { Schema } from '../../functions/schema/schema.js';
|
|
12
|
+
export class ExecutionSchema {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.deployment = Schema();
|
|
15
|
+
this.environment = Schema();
|
|
16
|
+
/**
|
|
17
|
+
* A set of environment variables to be passed to the Docker container.
|
|
18
|
+
* It represents setting the [--env](https://docs.docker.com/compose/environment-variables/set-environment-variables/)
|
|
19
|
+
* option while running a Docker container.
|
|
20
|
+
*/
|
|
21
|
+
this.environmentVariables = Schema();
|
|
22
|
+
this.subnet = Schema();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
__decorate([
|
|
26
|
+
Validate({
|
|
27
|
+
destruct: (value) => {
|
|
28
|
+
return Object.keys(value);
|
|
29
|
+
},
|
|
30
|
+
options: { maxLength: 64, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ },
|
|
31
|
+
}),
|
|
32
|
+
__metadata("design:type", Object)
|
|
33
|
+
], ExecutionSchema.prototype, "environmentVariables", void 0);
|
|
34
|
+
//# sourceMappingURL=execution.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.schema.js","sourceRoot":"","sources":["../../../src/models/execution/execution.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAG1D,MAAM,OAAO,eAAe;IAA5B;QACE,eAAU,GAAG,MAAM,EAAmB,CAAC;QAEvC,gBAAW,GAAG,MAAM,EAAmB,CAAC;QAExC;;;;WAIG;QAOH,yBAAoB,GAAG,MAAM,EAA6B,CAAC;QAE3D,WAAM,GAAG,MAAM,EAAmB,CAAC;IACrC,CAAC;CAAA;AAHC;IANC,QAAQ,CAAC;QACR,QAAQ,EAAE,CAAC,KAAgC,EAAY,EAAE;YACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE;KAC/E,CAAC;;6DACyD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UnknownModel } from '../../app.type.js';
|
|
2
|
+
import { AModel } from '../model.abstract.js';
|
|
3
|
+
import { FilesystemSchema } from './filesystem.schema.js';
|
|
4
|
+
export declare class Filesystem extends AModel<FilesystemSchema, Filesystem> {
|
|
5
|
+
readonly filesystemName: string;
|
|
6
|
+
constructor(filesystemName: string);
|
|
7
|
+
setContext(): string | undefined;
|
|
8
|
+
synth(): FilesystemSchema;
|
|
9
|
+
static unSynth(filesystem: FilesystemSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Filesystem>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Filesystem_1;
|
|
11
|
+
import { strict as assert } from 'assert';
|
|
12
|
+
import { Model } from '../../decorators/model.decorator.js';
|
|
13
|
+
import { AModel } from '../model.abstract.js';
|
|
14
|
+
import { FilesystemSchema } from './filesystem.schema.js';
|
|
15
|
+
let Filesystem = Filesystem_1 = class Filesystem extends AModel {
|
|
16
|
+
constructor(filesystemName) {
|
|
17
|
+
super();
|
|
18
|
+
this.filesystemName = filesystemName;
|
|
19
|
+
}
|
|
20
|
+
setContext() {
|
|
21
|
+
const parents = this.getParents();
|
|
22
|
+
const region = parents['region']?.[0]?.to;
|
|
23
|
+
if (!region) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
return [`${this.constructor.NODE_NAME}=${this.filesystemName}`, region.getContext()].join(',');
|
|
27
|
+
}
|
|
28
|
+
synth() {
|
|
29
|
+
return {
|
|
30
|
+
filesystemName: this.filesystemName,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
static async unSynth(filesystem, deReferenceContext) {
|
|
34
|
+
assert(!!deReferenceContext);
|
|
35
|
+
return new Filesystem_1(filesystem.filesystemName);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Filesystem = Filesystem_1 = __decorate([
|
|
39
|
+
Model('@octo', 'filesystem', FilesystemSchema),
|
|
40
|
+
__metadata("design:paramtypes", [String])
|
|
41
|
+
], Filesystem);
|
|
42
|
+
export { Filesystem };
|
|
43
|
+
//# sourceMappingURL=filesystem.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.model.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGnD,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAAoC;IAGlE,YAAY,cAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAAiC,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAC9G,GAAG,CACJ,CAAC;IACJ,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,UAA4B,EAC5B,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,YAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAjCY,UAAU;IADtB,KAAK,CAAa,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC;;GAC9C,UAAU,CAiCtB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validate } from '../../decorators/validate.decorator.js';
|
|
11
|
+
import { Schema } from '../../functions/schema/schema.js';
|
|
12
|
+
export class FilesystemSchema {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.filesystemName = Schema();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z][\w-]*[a-zA-Z0-9]$/ } }),
|
|
19
|
+
__metadata("design:type", Object)
|
|
20
|
+
], FilesystemSchema.prototype, "filesystemName", void 0);
|
|
21
|
+
//# sourceMappingURL=filesystem.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.schema.js","sourceRoot":"","sources":["../../../src/models/filesystem/filesystem.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,gBAAgB;IAA7B;QAEE,mBAAc,GAAG,MAAM,EAAU,CAAC;IACpC,CAAC;CAAA;AADC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC;;wDAC3D"}
|
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import type { UnknownModel } from '../../app.type.js';
|
|
2
|
-
import type { Diff } from '../../functions/diff/diff.js';
|
|
3
2
|
import { AModel } from '../model.abstract.js';
|
|
4
|
-
import
|
|
5
|
-
/**
|
|
6
|
-
* Options passed to the Docker engine while building the image.
|
|
7
|
-
*/
|
|
8
|
-
export interface IImageDockerOptions {
|
|
9
|
-
/**
|
|
10
|
-
* Absolute path of the Dockerfile.
|
|
11
|
-
*/
|
|
12
|
-
dockerfilePath: string;
|
|
13
|
-
/**
|
|
14
|
-
* Build arguments, same as [--build-arg](https://docs.docker.com/build/guide/build-args/) option.
|
|
15
|
-
*/
|
|
16
|
-
buildArgs?: {
|
|
17
|
-
[key: string]: string;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* To suppress Docker output, same as [--quiet](https://docs.docker.com/reference/cli/docker/container/run/) option.
|
|
21
|
-
*/
|
|
22
|
-
quiet?: boolean;
|
|
23
|
-
}
|
|
3
|
+
import { ImageSchema } from './image.schema.js';
|
|
24
4
|
/**
|
|
25
5
|
* An Image model represents a Docker image, to either build, or run, your microservices.
|
|
26
6
|
*
|
|
@@ -33,26 +13,12 @@ export interface IImageDockerOptions {
|
|
|
33
13
|
* @group Models
|
|
34
14
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
35
15
|
*/
|
|
36
|
-
export declare class Image extends AModel<
|
|
37
|
-
readonly
|
|
38
|
-
readonly dockerOptions: IImageDockerOptions;
|
|
39
|
-
/**
|
|
40
|
-
* An imageId is the unique identifier for this image.
|
|
41
|
-
* - Format of imageId is `{imageName}:{imageTag}`
|
|
42
|
-
*/
|
|
16
|
+
export declare class Image extends AModel<ImageSchema, Image> {
|
|
17
|
+
readonly imageFamily: string;
|
|
43
18
|
readonly imageId: string;
|
|
44
|
-
/**
|
|
45
|
-
* The name of the image, same as [namespace in Docker](https://docs.docker.com/reference/cli/docker/image/tag/).
|
|
46
|
-
*/
|
|
47
19
|
readonly imageName: string;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
readonly imageTag: string;
|
|
53
|
-
constructor(imageName: string, imageTag: string, options: IImageDockerOptions);
|
|
54
|
-
diffProperties(): Promise<Diff[]>;
|
|
55
|
-
setContext(): string;
|
|
56
|
-
synth(): IImage;
|
|
57
|
-
static unSynth(image: IImage, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
|
|
20
|
+
constructor(imageFamily: string, imageName: string);
|
|
21
|
+
setContext(): string | undefined;
|
|
22
|
+
synth(): ImageSchema;
|
|
23
|
+
static unSynth(image: ImageSchema, deReferenceContext: (context: string) => Promise<UnknownModel>): Promise<Image>;
|
|
58
24
|
}
|
|
@@ -8,10 +8,10 @@ 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
10
|
var Image_1;
|
|
11
|
-
import {
|
|
11
|
+
import { strict as assert } from 'assert';
|
|
12
12
|
import { Model } from '../../decorators/model.decorator.js';
|
|
13
|
-
import { Validate } from '../../decorators/validate.decorator.js';
|
|
14
13
|
import { AModel } from '../model.abstract.js';
|
|
14
|
+
import { ImageSchema } from './image.schema.js';
|
|
15
15
|
/**
|
|
16
16
|
* An Image model represents a Docker image, to either build, or run, your microservices.
|
|
17
17
|
*
|
|
@@ -25,50 +25,35 @@ import { AModel } from '../model.abstract.js';
|
|
|
25
25
|
* @see Definition of [Default Models](/docs/fundamentals/models#default-models).
|
|
26
26
|
*/
|
|
27
27
|
let Image = Image_1 = class Image extends AModel {
|
|
28
|
-
constructor(
|
|
28
|
+
constructor(imageFamily, imageName) {
|
|
29
29
|
super();
|
|
30
|
-
this.
|
|
31
|
-
this.imageId = `${
|
|
30
|
+
this.imageFamily = imageFamily;
|
|
31
|
+
this.imageId = `${imageFamily}/${imageName}`;
|
|
32
32
|
this.imageName = imageName;
|
|
33
|
-
this.imageTag = imageTag;
|
|
34
|
-
options.dockerfilePath = resolve(options.dockerfilePath);
|
|
35
|
-
this.dockerOptions = options;
|
|
36
|
-
}
|
|
37
|
-
async diffProperties() {
|
|
38
|
-
return [];
|
|
39
33
|
}
|
|
40
34
|
setContext() {
|
|
41
35
|
const parents = this.getParents();
|
|
42
|
-
const app = parents['app'][0]
|
|
43
|
-
|
|
36
|
+
const app = parents['app']?.[0]?.to;
|
|
37
|
+
if (!app) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return [`${this.constructor.NODE_NAME}=${this.imageId}`, app.getContext()].join(',');
|
|
44
41
|
}
|
|
45
42
|
synth() {
|
|
46
43
|
return {
|
|
47
|
-
|
|
48
|
-
imageId: this.
|
|
44
|
+
imageFamily: this.imageFamily,
|
|
45
|
+
imageId: this.imageId,
|
|
49
46
|
imageName: this.imageName,
|
|
50
|
-
imageTag: this.imageTag,
|
|
51
47
|
};
|
|
52
48
|
}
|
|
53
|
-
static async unSynth(image,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return new Image_1(image.imageName, image.imageTag, {
|
|
57
|
-
...image.dockerOptions,
|
|
58
|
-
});
|
|
49
|
+
static async unSynth(image, deReferenceContext) {
|
|
50
|
+
assert(!!deReferenceContext);
|
|
51
|
+
return new Image_1(image.imageFamily, image.imageName);
|
|
59
52
|
}
|
|
60
53
|
};
|
|
61
|
-
__decorate([
|
|
62
|
-
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z@][\w\-\/]*[a-zA-Z0-9]$/ } }),
|
|
63
|
-
__metadata("design:type", String)
|
|
64
|
-
], Image.prototype, "imageName", void 0);
|
|
65
|
-
__decorate([
|
|
66
|
-
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]$/ } }),
|
|
67
|
-
__metadata("design:type", String)
|
|
68
|
-
], Image.prototype, "imageTag", void 0);
|
|
69
54
|
Image = Image_1 = __decorate([
|
|
70
|
-
Model(),
|
|
71
|
-
__metadata("design:paramtypes", [String, String
|
|
55
|
+
Model('@octo', 'image', ImageSchema),
|
|
56
|
+
__metadata("design:paramtypes", [String, String])
|
|
72
57
|
], Image);
|
|
73
58
|
export { Image };
|
|
74
59
|
//# sourceMappingURL=image.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.model.js","sourceRoot":"","sources":["../../../src/models/image/image.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"image.model.js","sourceRoot":"","sources":["../../../src/models/image/image.model.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;GAWG;AAEI,IAAM,KAAK,aAAX,MAAM,KAAM,SAAQ,MAA0B;IAOnD,YAAY,WAAmB,EAAE,SAAiB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEQ,UAAU;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAI,IAAI,CAAC,WAA4B,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IAEQ,KAAK;QACZ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,OAAO,CAC3B,KAAkB,EAClB,kBAA8D;QAE9D,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE7B,OAAO,IAAI,OAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AAvCY,KAAK;IADjB,KAAK,CAAQ,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;;GAC/B,KAAK,CAuCjB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Validate } from '../../decorators/validate.decorator.js';
|
|
11
|
+
import { Schema } from '../../functions/schema/schema.js';
|
|
12
|
+
export class ImageSchema {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.imageFamily = Schema();
|
|
15
|
+
/**
|
|
16
|
+
* An imageId is the unique identifier for this image.
|
|
17
|
+
* - Format of imageId is `{imageFamily}/{imageName}`
|
|
18
|
+
*/
|
|
19
|
+
this.imageId = Schema();
|
|
20
|
+
this.imageName = Schema();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
__decorate([
|
|
24
|
+
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]$/ } }),
|
|
25
|
+
__metadata("design:type", Object)
|
|
26
|
+
], ImageSchema.prototype, "imageFamily", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
Validate({ options: { maxLength: 32, minLength: 2, regex: /^[a-zA-Z@][\w\-\/]*[a-zA-Z0-9]$/ } }),
|
|
29
|
+
__metadata("design:type", Object)
|
|
30
|
+
], ImageSchema.prototype, "imageName", void 0);
|
|
31
|
+
//# sourceMappingURL=image.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.schema.js","sourceRoot":"","sources":["../../../src/models/image/image.schema.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,MAAM,OAAO,WAAW;IAAxB;QAEE,gBAAW,GAAG,MAAM,EAAU,CAAC;QAE/B;;;WAGG;QACH,YAAO,GAAG,MAAM,EAAU,CAAC;QAG3B,cAAS,GAAG,MAAM,EAAU,CAAC;IAC/B,CAAC;CAAA;AAVC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;gDAClE;AAS/B;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;;8CACpE"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActionOutputs, EnhancedModuleSchema, UnknownModule } from '../app.type.js';
|
|
2
2
|
import type { Diff } from '../functions/diff/diff.js';
|
|
3
3
|
/**
|
|
4
|
-
* Actions are translation functions between Diff and underlying
|
|
5
|
-
*
|
|
4
|
+
* Model Actions are translation functions between Diff and underlying resources.
|
|
5
|
+
* These actions can translate a specific type of Diff into individual resources.
|
|
6
6
|
*/
|
|
7
|
-
export interface IModelAction {
|
|
8
|
-
/**
|
|
9
|
-
* The name of the action.
|
|
10
|
-
* It can be used to easily identify an action and its purpose.
|
|
11
|
-
*/
|
|
12
|
-
readonly ACTION_NAME: string;
|
|
13
|
-
/**
|
|
14
|
-
* This function contains the list of inputs to ask before processing the diff.
|
|
15
|
-
* A missing input key will not be populated in the inputs provided to the action.
|
|
16
|
-
*/
|
|
17
|
-
collectInput(diff: Diff): Extract<keyof ActionInputs, string>[];
|
|
7
|
+
export interface IModelAction<T extends UnknownModule> {
|
|
18
8
|
/**
|
|
19
9
|
* This function determines if the handle is applicable to the diff.
|
|
20
10
|
*/
|
|
@@ -22,9 +12,5 @@ export interface IModelAction {
|
|
|
22
12
|
/**
|
|
23
13
|
* This function contains the logic to apply the diff(s) to the underlying infrastructure.
|
|
24
14
|
*/
|
|
25
|
-
handle(diff: Diff, actionInputs:
|
|
26
|
-
/**
|
|
27
|
-
* This function contains the logic to revert the diff(s) from the underlying infrastructure.
|
|
28
|
-
*/
|
|
29
|
-
revert(diff: Diff, actionInputs: ActionInputs, actionOutputs: ActionOutputs): Promise<ActionOutputs>;
|
|
15
|
+
handle(diff: Diff, actionInputs: EnhancedModuleSchema<T>, actionOutputs: ActionOutputs): Promise<ActionOutputs>;
|
|
30
16
|
}
|