@bluealba/pae-bootstrap-lib 2.1.3-develop-112 → 2.1.3-develop-117
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/src/bootstrap/apply-service-local.d.ts +17 -0
- package/dist/src/bootstrap/apply-service-local.d.ts.map +1 -0
- package/dist/src/bootstrap/apply-service-local.js +54 -0
- package/dist/src/bootstrap/apply-service-local.js.map +1 -0
- package/dist/src/bootstrap/apply-service-local.test.d.ts +2 -0
- package/dist/src/bootstrap/apply-service-local.test.d.ts.map +1 -0
- package/dist/src/bootstrap/apply-service-local.test.js +125 -0
- package/dist/src/bootstrap/apply-service-local.test.js.map +1 -0
- package/dist/src/bootstrap/bootstrap-platform.d.ts.map +1 -1
- package/dist/src/bootstrap/bootstrap-platform.js +3 -1
- package/dist/src/bootstrap/bootstrap-platform.js.map +1 -1
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.d.ts +4 -2
- package/dist/src/bootstrap/domain/bootstrap-sync-metadata.interface.d.ts.map +1 -1
- package/dist/src/bootstrap/domain/domain-validation.test.js +160 -64
- package/dist/src/bootstrap/domain/domain-validation.test.js.map +1 -1
- package/dist/src/bootstrap/read-bootstrap-applications.js +38 -8
- package/dist/src/bootstrap/read-bootstrap-applications.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BootstrapModule, BootstrapPlatform } from "./domain/bootstrap-sync-metadata.interface";
|
|
2
|
+
export declare const isLocalMode: () => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Shallow-merges `serviceLocal` into `service` and strips `serviceLocal` from the module.
|
|
5
|
+
*/
|
|
6
|
+
export declare const applyServiceLocal: (module: BootstrapModule) => Omit<BootstrapModule, "serviceLocal">;
|
|
7
|
+
/**
|
|
8
|
+
* Removes `serviceLocal` from the module without merging it into `service`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const stripServiceLocal: (module: BootstrapModule) => Omit<BootstrapModule, "serviceLocal">;
|
|
11
|
+
/**
|
|
12
|
+
* Processes all modules in the platform:
|
|
13
|
+
* - If LOCAL_MODE=true, merges `serviceLocal` into `service` for each module that has it.
|
|
14
|
+
* - Always strips `serviceLocal` before sending to the gateway.
|
|
15
|
+
*/
|
|
16
|
+
export declare const processServiceLocal: (platform: BootstrapPlatform) => BootstrapPlatform;
|
|
17
|
+
//# sourceMappingURL=apply-service-local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-service-local.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/apply-service-local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAEhG,eAAO,MAAM,WAAW,QAAO,OACI,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,KAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAa/F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,KAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAG/F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,iBAAiB,KAAG,iBAoBjE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.processServiceLocal = exports.stripServiceLocal = exports.applyServiceLocal = exports.isLocalMode = void 0;
|
|
15
|
+
const isLocalMode = () => process.env.LOCAL_MODE === 'true';
|
|
16
|
+
exports.isLocalMode = isLocalMode;
|
|
17
|
+
/**
|
|
18
|
+
* Shallow-merges `serviceLocal` into `service` and strips `serviceLocal` from the module.
|
|
19
|
+
*/
|
|
20
|
+
const applyServiceLocal = (module) => {
|
|
21
|
+
const { serviceLocal } = module, rest = __rest(module, ["serviceLocal"]);
|
|
22
|
+
if (!serviceLocal) {
|
|
23
|
+
return rest;
|
|
24
|
+
}
|
|
25
|
+
console.log(`[Bootstrap] Applying serviceLocal override for module: ${module.name}`);
|
|
26
|
+
return Object.assign(Object.assign({}, rest), { service: Object.assign(Object.assign({}, rest.service), serviceLocal) });
|
|
27
|
+
};
|
|
28
|
+
exports.applyServiceLocal = applyServiceLocal;
|
|
29
|
+
/**
|
|
30
|
+
* Removes `serviceLocal` from the module without merging it into `service`.
|
|
31
|
+
*/
|
|
32
|
+
const stripServiceLocal = (module) => {
|
|
33
|
+
const { serviceLocal: _ } = module, rest = __rest(module, ["serviceLocal"]);
|
|
34
|
+
return rest;
|
|
35
|
+
};
|
|
36
|
+
exports.stripServiceLocal = stripServiceLocal;
|
|
37
|
+
/**
|
|
38
|
+
* Processes all modules in the platform:
|
|
39
|
+
* - If LOCAL_MODE=true, merges `serviceLocal` into `service` for each module that has it.
|
|
40
|
+
* - Always strips `serviceLocal` before sending to the gateway.
|
|
41
|
+
*/
|
|
42
|
+
const processServiceLocal = (platform) => {
|
|
43
|
+
const local = (0, exports.isLocalMode)();
|
|
44
|
+
if (local) {
|
|
45
|
+
console.log('[Bootstrap] LOCAL_MODE=true: applying serviceLocal overrides');
|
|
46
|
+
}
|
|
47
|
+
const processModule = local ? exports.applyServiceLocal : exports.stripServiceLocal;
|
|
48
|
+
return Object.assign(Object.assign({}, platform), { applications: Object.fromEntries(Object.entries(platform.applications).map(([appName, app]) => [
|
|
49
|
+
appName,
|
|
50
|
+
Object.assign(Object.assign({}, app), { modules: app.modules.map(processModule) }),
|
|
51
|
+
])) });
|
|
52
|
+
};
|
|
53
|
+
exports.processServiceLocal = processServiceLocal;
|
|
54
|
+
//# sourceMappingURL=apply-service-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-service-local.js","sourceRoot":"","sources":["../../../src/bootstrap/apply-service-local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEO,MAAM,WAAW,GAAG,GAAY,EAAE,CACvC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;AADvB,QAAA,WAAW,eACY;AAEpC;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAyC,EAAE;IAClG,MAAM,EAAE,YAAY,KAAc,MAAM,EAAf,IAAI,UAAK,MAAM,EAAlC,gBAAyB,CAAS,CAAC;IACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0DAA0D,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,uCACK,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,GACZ,YAAY,KAEjB;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAyC,EAAE;IAClG,MAAM,EAAE,YAAY,EAAE,CAAC,KAAc,MAAM,EAAf,IAAI,UAAK,MAAM,EAArC,gBAA4B,CAAS,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,QAA2B,EAAqB,EAAE;IACpF,MAAM,KAAK,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,yBAAiB,CAAC;IAEpE,uCACK,QAAQ,KACX,YAAY,EAAE,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YAC5D,OAAO;4CAEF,GAAG,KACN,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;SAE1C,CAAC,CACH,IACD;AACJ,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-service-local.test.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/apply-service-local.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const apply_service_local_1 = require("./apply-service-local");
|
|
4
|
+
const makeModule = (overrides = {}) => (Object.assign({ name: '@bluealba/my-service', displayName: 'My Service', type: 'service', baseUrl: '/my-service', service: { host: 'my-service', port: 80 }, dependsOn: [] }, overrides));
|
|
5
|
+
const makePlatform = (modules) => ({
|
|
6
|
+
sharedLibraries: [],
|
|
7
|
+
applications: {
|
|
8
|
+
'test-app': {
|
|
9
|
+
name: 'test-app',
|
|
10
|
+
displayName: 'Test App',
|
|
11
|
+
description: '',
|
|
12
|
+
allowedByDefault: false,
|
|
13
|
+
modules,
|
|
14
|
+
operations: [],
|
|
15
|
+
roles: [],
|
|
16
|
+
modulesConfig: [],
|
|
17
|
+
jobs: [],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
describe('isLocalMode()', () => {
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
delete process.env.LOCAL_MODE;
|
|
24
|
+
});
|
|
25
|
+
it('returns true when LOCAL_MODE=true', () => {
|
|
26
|
+
process.env.LOCAL_MODE = 'true';
|
|
27
|
+
expect((0, apply_service_local_1.isLocalMode)()).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
it('returns false when LOCAL_MODE=false', () => {
|
|
30
|
+
process.env.LOCAL_MODE = 'false';
|
|
31
|
+
expect((0, apply_service_local_1.isLocalMode)()).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
it('returns false when LOCAL_MODE is not set', () => {
|
|
34
|
+
expect((0, apply_service_local_1.isLocalMode)()).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
it('is case-sensitive (TRUE does not count)', () => {
|
|
37
|
+
process.env.LOCAL_MODE = 'TRUE';
|
|
38
|
+
expect((0, apply_service_local_1.isLocalMode)()).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('applyServiceLocal()', () => {
|
|
42
|
+
it('fully merges serviceLocal into service', () => {
|
|
43
|
+
const module = makeModule({
|
|
44
|
+
serviceLocal: { host: 'localhost', port: 3001 },
|
|
45
|
+
});
|
|
46
|
+
const result = (0, apply_service_local_1.applyServiceLocal)(module);
|
|
47
|
+
expect(result.service).toEqual({ host: 'localhost', port: 3001 });
|
|
48
|
+
});
|
|
49
|
+
it('partially overrides: only specified fields are replaced', () => {
|
|
50
|
+
const module = makeModule({
|
|
51
|
+
service: { host: 'my-service', port: 80, protocol: 'http' },
|
|
52
|
+
serviceLocal: { port: 3001 },
|
|
53
|
+
});
|
|
54
|
+
const result = (0, apply_service_local_1.applyServiceLocal)(module);
|
|
55
|
+
expect(result.service).toEqual({ host: 'my-service', port: 3001, protocol: 'http' });
|
|
56
|
+
});
|
|
57
|
+
it('strips serviceLocal from the result', () => {
|
|
58
|
+
const module = makeModule({ serviceLocal: { host: 'localhost' } });
|
|
59
|
+
const result = (0, apply_service_local_1.applyServiceLocal)(module);
|
|
60
|
+
expect(result).not.toHaveProperty('serviceLocal');
|
|
61
|
+
});
|
|
62
|
+
it('strips serviceLocal even when it is absent', () => {
|
|
63
|
+
const module = makeModule();
|
|
64
|
+
const result = (0, apply_service_local_1.applyServiceLocal)(module);
|
|
65
|
+
expect(result).not.toHaveProperty('serviceLocal');
|
|
66
|
+
});
|
|
67
|
+
it('is immutable - does not modify the original module', () => {
|
|
68
|
+
const module = makeModule({ serviceLocal: { host: 'localhost', port: 3001 } });
|
|
69
|
+
const originalService = Object.assign({}, module.service);
|
|
70
|
+
(0, apply_service_local_1.applyServiceLocal)(module);
|
|
71
|
+
expect(module.service).toEqual(originalService);
|
|
72
|
+
expect(module).toHaveProperty('serviceLocal');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('stripServiceLocal()', () => {
|
|
76
|
+
it('removes serviceLocal without merging into service', () => {
|
|
77
|
+
const module = makeModule({ serviceLocal: { host: 'localhost', port: 3001 } });
|
|
78
|
+
const result = (0, apply_service_local_1.stripServiceLocal)(module);
|
|
79
|
+
expect(result).not.toHaveProperty('serviceLocal');
|
|
80
|
+
expect(result.service).toEqual({ host: 'my-service', port: 80 });
|
|
81
|
+
});
|
|
82
|
+
it('works when serviceLocal is absent', () => {
|
|
83
|
+
const module = makeModule();
|
|
84
|
+
const result = (0, apply_service_local_1.stripServiceLocal)(module);
|
|
85
|
+
expect(result).not.toHaveProperty('serviceLocal');
|
|
86
|
+
expect(result.service).toEqual({ host: 'my-service', port: 80 });
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe('processServiceLocal()', () => {
|
|
90
|
+
afterEach(() => {
|
|
91
|
+
delete process.env.LOCAL_MODE;
|
|
92
|
+
});
|
|
93
|
+
it('merges serviceLocal into service when LOCAL_MODE=true', () => {
|
|
94
|
+
process.env.LOCAL_MODE = 'true';
|
|
95
|
+
const platform = makePlatform([
|
|
96
|
+
makeModule({ serviceLocal: { host: 'localhost', port: 3001 } }),
|
|
97
|
+
]);
|
|
98
|
+
const result = (0, apply_service_local_1.processServiceLocal)(platform);
|
|
99
|
+
expect(result.applications['test-app'].modules[0].service).toEqual({ host: 'localhost', port: 3001 });
|
|
100
|
+
expect(result.applications['test-app'].modules[0]).not.toHaveProperty('serviceLocal');
|
|
101
|
+
});
|
|
102
|
+
it('strips serviceLocal without merging when LOCAL_MODE is not set', () => {
|
|
103
|
+
const platform = makePlatform([
|
|
104
|
+
makeModule({ serviceLocal: { host: 'localhost', port: 3001 } }),
|
|
105
|
+
]);
|
|
106
|
+
const result = (0, apply_service_local_1.processServiceLocal)(platform);
|
|
107
|
+
expect(result.applications['test-app'].modules[0].service).toEqual({ host: 'my-service', port: 80 });
|
|
108
|
+
expect(result.applications['test-app'].modules[0]).not.toHaveProperty('serviceLocal');
|
|
109
|
+
});
|
|
110
|
+
it('leaves modules without serviceLocal unchanged', () => {
|
|
111
|
+
process.env.LOCAL_MODE = 'true';
|
|
112
|
+
const platform = makePlatform([makeModule()]);
|
|
113
|
+
const result = (0, apply_service_local_1.processServiceLocal)(platform);
|
|
114
|
+
expect(result.applications['test-app'].modules[0].service).toEqual({ host: 'my-service', port: 80 });
|
|
115
|
+
});
|
|
116
|
+
it('is immutable - does not modify the original platform', () => {
|
|
117
|
+
process.env.LOCAL_MODE = 'true';
|
|
118
|
+
const module = makeModule({ serviceLocal: { host: 'localhost', port: 3001 } });
|
|
119
|
+
const platform = makePlatform([module]);
|
|
120
|
+
(0, apply_service_local_1.processServiceLocal)(platform);
|
|
121
|
+
expect(platform.applications['test-app'].modules[0]).toHaveProperty('serviceLocal');
|
|
122
|
+
expect(platform.applications['test-app'].modules[0].service).toEqual({ host: 'my-service', port: 80 });
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=apply-service-local.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-service-local.test.js","sourceRoot":"","sources":["../../../src/bootstrap/apply-service-local.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-platform.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap-platform.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,CAAC;CACtE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,gBAAgB,kBAwEhE,CAAC"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.bootstrapPlatform = void 0;
|
|
13
13
|
const pae_core_1 = require("@bluealba/pae-core");
|
|
14
14
|
const read_bootstrap_applications_1 = require("./read-bootstrap-applications");
|
|
15
|
+
const apply_service_local_1 = require("./apply-service-local");
|
|
15
16
|
/**
|
|
16
17
|
* Reads the current application src/data folder assembles all the platform definitions
|
|
17
18
|
* and sends them to the gateway's /bootstrap/sync endpoint for synchronization.
|
|
@@ -48,6 +49,7 @@ const bootstrapPlatform = (options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
48
49
|
}
|
|
49
50
|
});
|
|
50
51
|
}
|
|
52
|
+
const processedPlatform = (0, apply_service_local_1.processServiceLocal)(platform);
|
|
51
53
|
try {
|
|
52
54
|
// Get gateway URL from environment
|
|
53
55
|
const gatewayUrl = (0, pae_core_1.fromEnv)('GATEWAY_SERVICE_URL');
|
|
@@ -62,7 +64,7 @@ const bootstrapPlatform = (options) => __awaiter(void 0, void 0, void 0, functio
|
|
|
62
64
|
'Content-Type': 'application/json',
|
|
63
65
|
'x-bootstrap-scoped-to': options.scopedTo,
|
|
64
66
|
},
|
|
65
|
-
body: JSON.stringify(
|
|
67
|
+
body: JSON.stringify(processedPlatform),
|
|
66
68
|
});
|
|
67
69
|
if (!response.ok) {
|
|
68
70
|
const errorText = yield response.text();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-platform.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAwE;AACxE,+EAA4E;
|
|
1
|
+
{"version":3,"file":"bootstrap-platform.js","sourceRoot":"","sources":["../../../src/bootstrap/bootstrap-platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateApplicationDTO, CreateOperationDTO, CreateOrUpdateModule, CreateRoleDTO, CreateSharedLibraryDTO, UpdateModuleUIConfigDTO } from "@bluealba/pae-core";
|
|
1
|
+
import type { CreateApplicationDTO, CreateOperationDTO, CreateOrUpdateModule, CreateRoleDTO, CreateSharedLibraryDTO, ServiceConfig, UpdateModuleUIConfigDTO } from "@bluealba/pae-core";
|
|
2
2
|
import { BootstrapOptions } from "../bootstrap-platform";
|
|
3
3
|
export interface BootstrapFeatureFlag {
|
|
4
4
|
name: string;
|
|
@@ -46,7 +46,9 @@ export interface BootstrapSyncMetadata {
|
|
|
46
46
|
operationsAuthz?: OperationAuthzBootstrap[];
|
|
47
47
|
modulesConfig?: UpdateModuleUIConfigDTO[];
|
|
48
48
|
}
|
|
49
|
-
export type BootstrapModule = CreateOrUpdateModule
|
|
49
|
+
export type BootstrapModule = CreateOrUpdateModule & {
|
|
50
|
+
serviceLocal?: Partial<ServiceConfig>;
|
|
51
|
+
};
|
|
50
52
|
export type BootstrapApplication = CreateApplicationDTO & {
|
|
51
53
|
modules: BootstrapModule[];
|
|
52
54
|
operations: OperationAuthzBootstrap[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-sync-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/bootstrap/domain/bootstrap-sync-metadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,uBAAwB,SACvC,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC3C,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE;QACV,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;KACxC,CAAC;IACF,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC5C,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"bootstrap-sync-metadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/bootstrap/domain/bootstrap-sync-metadata.interface.ts"],"names":[],"mappings":"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"}
|