@alterior/runtime 3.5.6 → 3.6.1
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/README.md +14 -4
- package/dist/app-options.d.ts +5 -0
- package/dist/app-options.d.ts.map +1 -1
- package/dist/app-options.js.map +1 -1
- package/dist/application.d.ts +4 -8
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +10 -12
- package/dist/application.js.map +1 -1
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +15 -0
- package/dist/modules.js.map +1 -1
- package/dist/roles.service.d.ts +6 -1
- package/dist/roles.service.d.ts.map +1 -1
- package/dist/roles.service.js +7 -3
- package/dist/roles.service.js.map +1 -1
- package/dist.esm/app-options.d.ts +5 -0
- package/dist.esm/app-options.d.ts.map +1 -1
- package/dist.esm/app-options.js.map +1 -1
- package/dist.esm/application.d.ts +4 -8
- package/dist.esm/application.d.ts.map +1 -1
- package/dist.esm/application.js +11 -13
- package/dist.esm/application.js.map +1 -1
- package/dist.esm/modules.d.ts.map +1 -1
- package/dist.esm/modules.js +15 -0
- package/dist.esm/modules.js.map +1 -1
- package/dist.esm/roles.service.d.ts +6 -1
- package/dist.esm/roles.service.d.ts.map +1 -1
- package/dist.esm/roles.service.js +7 -3
- package/dist.esm/roles.service.js.map +1 -1
- package/package.json +2 -2
- package/src/app-options.ts +17 -11
- package/src/application.ts +29 -31
- package/src/modules.ts +18 -0
- package/src/roles.service.ts +14 -4
package/README.md
CHANGED
|
@@ -57,13 +57,23 @@ To register a role, use `RolesService.registerRole(roleRegistration)`. This is u
|
|
|
57
57
|
|
|
58
58
|
## Configuring enabled roles
|
|
59
59
|
|
|
60
|
-
When an Alterior app is bootstrapped,
|
|
60
|
+
When an Alterior app is bootstrapped, several environment variables are inspected to determine which roles should be
|
|
61
|
+
enabled by default. They are checked in the following order (the first one found wins).
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
- `ALT_ROLES_ONLY` - Enable only the given roles
|
|
64
|
+
- `ALT_ROLES_ALL_EXCEPT` - Enable all roles except those listed (including roles that are disabled by default)
|
|
65
|
+
- `ALT_ROLES_DEFAULT_EXCEPT` - Enable all default-enabled roles except those listed
|
|
66
|
+
|
|
67
|
+
The variables are comma-delimited lists of role `identifiers` that should be started or ignored. By default all
|
|
68
|
+
registered roles which are configured as enabled by default are started.
|
|
69
|
+
|
|
70
|
+
Alternatively you can specify roles via the command line when the application is started using one of the following
|
|
71
|
+
options:
|
|
63
72
|
|
|
64
73
|
```
|
|
65
|
-
--roles-only,
|
|
66
|
-
--roles-
|
|
74
|
+
--roles-only, -r [role,...] Enable only the specified roles
|
|
75
|
+
--roles-skip, -x [role,...] Enable all default-enabled roles except those specified
|
|
76
|
+
--all-roles-except, -R [role,...] Enable all roles except the specified roles (regardless of default status)
|
|
67
77
|
```
|
|
68
78
|
|
|
69
79
|
For example, to enable only the `web-server` and `tasks` roles:
|
package/dist/app-options.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Annotation, AnnotationDecorator } from '@alterior/annotations';
|
|
2
|
+
import { Provider } from '@alterior/di';
|
|
2
3
|
export interface ApplicationOptions {
|
|
3
4
|
/**
|
|
4
5
|
* Specify a human readable name for your application.
|
|
@@ -40,6 +41,10 @@ export interface ApplicationOptions {
|
|
|
40
41
|
* Turn off all console output
|
|
41
42
|
*/
|
|
42
43
|
silent?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Additional dependency injection providers to include in the application's injector.
|
|
46
|
+
*/
|
|
47
|
+
providers?: Provider[];
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
50
|
* Used to attach an ApplicationOptions object onto a class definition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
|
package/dist/app-options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;
|
|
1
|
+
{"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";;;;AAAA,uDAAsF;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,IAAA,0BAAY,EAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;AAJY,oDAAoB;AAMjC;;;GAGG;AACU,QAAA,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
|
package/dist/application.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { ApplicationOptions } from './app-options';
|
|
3
|
-
import { Injector } from '@alterior/di';
|
|
4
3
|
import { Runtime } from './modules';
|
|
5
|
-
import { ApplicationArgs } from './args';
|
|
6
4
|
export declare class ApplicationOptionsRef {
|
|
7
5
|
constructor(options: ApplicationOptions);
|
|
8
6
|
readonly options: ApplicationOptions;
|
|
@@ -34,13 +32,12 @@ export declare class ExecutionContext {
|
|
|
34
32
|
* Handles bootstrapping the application.
|
|
35
33
|
*/
|
|
36
34
|
export declare class Application {
|
|
37
|
-
readonly runtime
|
|
38
|
-
private _optionsRef
|
|
39
|
-
private _args
|
|
40
|
-
constructor(runtime?: Runtime, _optionsRef?: ApplicationOptionsRef, _args?: ApplicationArgs);
|
|
35
|
+
readonly runtime: Runtime;
|
|
36
|
+
private _optionsRef;
|
|
37
|
+
private _args;
|
|
41
38
|
start(): void;
|
|
42
39
|
stop(): void;
|
|
43
|
-
get injector(): Injector;
|
|
40
|
+
get injector(): import("@alterior/di").Injector;
|
|
44
41
|
inject<T>(ctor: {
|
|
45
42
|
new (...args: any[]): T;
|
|
46
43
|
}, notFoundValue?: T): T;
|
|
@@ -48,7 +45,6 @@ export declare class Application {
|
|
|
48
45
|
get options(): ApplicationOptions;
|
|
49
46
|
private static loadOptions;
|
|
50
47
|
private static validateEntryModule;
|
|
51
|
-
private _bootstrapped;
|
|
52
48
|
/**
|
|
53
49
|
* Bootstrap an Alterior application.
|
|
54
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAU1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAE,kBAAkB;IAK5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAE,WAAW,CAAQ;IAEvC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAUvC;AAED;;GAEG;AACH,qBACa,WAAW;IACvB,QAAQ,CAAC,OAAO,UAAmB;IACnC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAA2B;IAEjC,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,oCAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,KAAI,GAAG,IAAI,OAAA,GAAG,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC;IAI1D,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;CA6DzF"}
|
package/dist/application.js
CHANGED
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.Application = exports.ExecutionContext = exports.ApplicationOptionsRef = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
require("reflect-metadata");
|
|
7
|
-
const
|
|
7
|
+
const common_1 = require("@alterior/common");
|
|
8
8
|
const di_1 = require("@alterior/di");
|
|
9
|
-
const
|
|
9
|
+
const app_options_1 = require("./app-options");
|
|
10
10
|
const args_1 = require("./args");
|
|
11
|
+
const modules_1 = require("./modules");
|
|
11
12
|
const roles_service_1 = require("./roles.service");
|
|
12
|
-
const common_1 = require("@alterior/common");
|
|
13
13
|
class ApplicationOptionsRef {
|
|
14
14
|
constructor(options) {
|
|
15
15
|
this.options = Object.assign({}, options);
|
|
@@ -66,11 +66,10 @@ ExecutionContext.ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
|
|
|
66
66
|
* Handles bootstrapping the application.
|
|
67
67
|
*/
|
|
68
68
|
let Application = Application_1 = class Application {
|
|
69
|
-
constructor(
|
|
70
|
-
this.runtime =
|
|
71
|
-
this._optionsRef =
|
|
72
|
-
this._args =
|
|
73
|
-
this._bootstrapped = false;
|
|
69
|
+
constructor() {
|
|
70
|
+
this.runtime = (0, di_1.inject)(modules_1.Runtime);
|
|
71
|
+
this._optionsRef = (0, di_1.inject)(ApplicationOptionsRef);
|
|
72
|
+
this._args = (0, di_1.inject)(args_1.ApplicationArgs);
|
|
74
73
|
}
|
|
75
74
|
start() {
|
|
76
75
|
this.runtime.start();
|
|
@@ -119,6 +118,7 @@ let Application = Application_1 = class Application {
|
|
|
119
118
|
static bootstrap(entryModule, options) {
|
|
120
119
|
let executionContext = new ExecutionContext();
|
|
121
120
|
return executionContext.runSync(() => {
|
|
121
|
+
var _a;
|
|
122
122
|
this.validateEntryModule(entryModule);
|
|
123
123
|
options = this.loadOptions(entryModule, options);
|
|
124
124
|
let runtime = new modules_1.Runtime(entryModule);
|
|
@@ -134,6 +134,7 @@ let Application = Application_1 = class Application {
|
|
|
134
134
|
useValue: new ApplicationOptionsRef(options)
|
|
135
135
|
});
|
|
136
136
|
providers.push(Application_1);
|
|
137
|
+
providers.push((_a = options.providers) !== null && _a !== void 0 ? _a : []);
|
|
137
138
|
runtime.providers = providers;
|
|
138
139
|
let injector;
|
|
139
140
|
try {
|
|
@@ -164,10 +165,7 @@ let Application = Application_1 = class Application {
|
|
|
164
165
|
}
|
|
165
166
|
};
|
|
166
167
|
Application = Application_1 = tslib_1.__decorate([
|
|
167
|
-
(0, di_1.Injectable)()
|
|
168
|
-
tslib_1.__metadata("design:paramtypes", [modules_1.Runtime,
|
|
169
|
-
ApplicationOptionsRef,
|
|
170
|
-
args_1.ApplicationArgs])
|
|
168
|
+
(0, di_1.Injectable)()
|
|
171
169
|
], Application);
|
|
172
170
|
exports.Application = Application;
|
|
173
171
|
//# sourceMappingURL=application.js.map
|
package/dist/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAE1B,+CAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IAqCT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IA2DlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
|
package/dist/modules.js
CHANGED
|
@@ -85,6 +85,13 @@ class Runtime {
|
|
|
85
85
|
.map(x => x.class);
|
|
86
86
|
rolesService.configure({ mode: 'all-except', roles });
|
|
87
87
|
}
|
|
88
|
+
else if (environment.get().ALT_ROLES_DEFAULT_EXCEPT) {
|
|
89
|
+
let value = environment.get().ALT_ROLES_DEFAULT_EXCEPT;
|
|
90
|
+
let roles = value.split(',')
|
|
91
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
92
|
+
.map(x => x.class);
|
|
93
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
94
|
+
}
|
|
88
95
|
if (typeof process !== 'undefined' && process.argv) {
|
|
89
96
|
this.processCommandLine(process.argv.slice(2));
|
|
90
97
|
}
|
|
@@ -122,6 +129,14 @@ class Runtime {
|
|
|
122
129
|
.map(x => x.class);
|
|
123
130
|
rolesService.configure({ mode: 'only', roles });
|
|
124
131
|
}
|
|
132
|
+
else if (arg == '-r' || arg == '--roles-skip') {
|
|
133
|
+
let value = getArgumentValue();
|
|
134
|
+
let roles = value.split(',')
|
|
135
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
136
|
+
.filter(x => x)
|
|
137
|
+
.map(x => x.class);
|
|
138
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
139
|
+
}
|
|
125
140
|
else if (arg == '-R' || arg == '--roles-all-except') {
|
|
126
141
|
let value = getArgumentValue();
|
|
127
142
|
let roles = value.split(',')
|
package/dist/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":";;;;AAAA,qCAAmF;AACnF,qCAAsE;AACtE,6CAAwD;AACxD,mDAA+C;AAC/C;;;GAGG;AACH,MAAa,gBAAgB;CAG5B;AAHD,4CAGC;AAED;;;;GAIG;AACH,MAAa,cAAc;IACvB,YACa,UAA6B,EAC7B,QAAc;QADd,eAAU,GAAV,UAAU,CAAmB;QAC7B,aAAQ,GAAR,QAAQ,CAAM;IAE3B,CAAC;CACJ;AAND,wCAMC;AAED;;;;GAIG;AACH,MAAa,OAAO;IAChB,YAAY,WAAsB;QAIlC,gBAAW,GAAwB,EAAE,CAAC;QACtC,YAAO,GAAkB,EAAE,CAAC;QAC5B,cAAS,GAAsB,IAAI,CAAC;QAUpC;;;WAGG;QACH,cAAS,GAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/roles.service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RoleConfigurationMode = 'all-except' | 'only';
|
|
1
|
+
export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only';
|
|
2
2
|
export interface RoleConfiguration {
|
|
3
3
|
mode: RoleConfigurationMode;
|
|
4
4
|
roles: any[];
|
|
@@ -13,6 +13,11 @@ export interface RoleRegistration {
|
|
|
13
13
|
* called from an Alterior module's `altOnInit()` method.
|
|
14
14
|
*/
|
|
15
15
|
instance: any;
|
|
16
|
+
/**
|
|
17
|
+
* Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
|
|
18
|
+
* true.
|
|
19
|
+
*/
|
|
20
|
+
enabledByDefault?: boolean;
|
|
16
21
|
/**
|
|
17
22
|
* The identifier that will be matched when interpreting command line role enablements.
|
|
18
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,MAAM,CAAG;
|
|
1
|
+
{"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE3F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAkC;IACpE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAahC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
|
package/dist/roles.service.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.RolesService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@alterior/di");
|
|
6
6
|
const common_1 = require("@alterior/common");
|
|
7
|
-
const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
|
|
7
|
+
const SUPPORTED_ROLE_MODES = ['default', 'default-except', 'all-except', 'only'];
|
|
8
8
|
/**
|
|
9
9
|
* Roles allow runtime configuration of which outward facing services to start.
|
|
10
10
|
* For instance WebServerModule and TasksModule both register their respective roles,
|
|
@@ -14,7 +14,7 @@ const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
|
|
|
14
14
|
let RolesService = class RolesService {
|
|
15
15
|
constructor() {
|
|
16
16
|
this._activeRoles = null;
|
|
17
|
-
this._configuration = { mode: '
|
|
17
|
+
this._configuration = { mode: 'default', roles: [] };
|
|
18
18
|
this._roles = [];
|
|
19
19
|
this.silent = false;
|
|
20
20
|
}
|
|
@@ -39,8 +39,12 @@ let RolesService = class RolesService {
|
|
|
39
39
|
*/
|
|
40
40
|
get effectiveRoles() {
|
|
41
41
|
let config = this._configuration;
|
|
42
|
-
if (config.mode
|
|
42
|
+
if (config.mode === 'default')
|
|
43
|
+
return this._roles.filter(x => x.enabledByDefault !== false);
|
|
44
|
+
else if (config.mode == 'all-except')
|
|
43
45
|
return this._roles.filter(x => !config.roles.includes(x.class));
|
|
46
|
+
else if (config.mode == 'default-except')
|
|
47
|
+
return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
|
|
44
48
|
else if (config.mode == 'only')
|
|
45
49
|
return this._roles.filter(x => config.roles.includes(x.class));
|
|
46
50
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,6CAAiF;AAEjF,MAAM,oBAAoB,GAAS,
|
|
1
|
+
{"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Annotation, AnnotationDecorator } from '@alterior/annotations';
|
|
2
|
+
import { Provider } from '@alterior/di';
|
|
2
3
|
export interface ApplicationOptions {
|
|
3
4
|
/**
|
|
4
5
|
* Specify a human readable name for your application.
|
|
@@ -40,6 +41,10 @@ export interface ApplicationOptions {
|
|
|
40
41
|
* Turn off all console output
|
|
41
42
|
*/
|
|
42
43
|
silent?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Additional dependency injection providers to include in the application's injector.
|
|
46
|
+
*/
|
|
47
|
+
providers?: Provider[];
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
50
|
* Used to attach an ApplicationOptions object onto a class definition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAkB;IAElC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB;gBAA5B,OAAO,CAAC,EAAE,kBAAkB;CAGjD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDAErB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-options.js","sourceRoot":"","sources":["../src/app-options.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA6DtF;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IACnD,YAAqB,OAA4B;QAChD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAAqB;IAEjD,CAAC;CACD,CAAA;AAJY,oBAAoB;IADhC,YAAY,CAAC,0BAA0B,CAAC;;GAC5B,oBAAoB,CAIhC;SAJY,oBAAoB;AAMjC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;CACvB,CAAC,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { ApplicationOptions } from './app-options';
|
|
3
|
-
import { Injector } from '@alterior/di';
|
|
4
3
|
import { Runtime } from './modules';
|
|
5
|
-
import { ApplicationArgs } from './args';
|
|
6
4
|
export declare class ApplicationOptionsRef {
|
|
7
5
|
constructor(options: ApplicationOptions);
|
|
8
6
|
readonly options: ApplicationOptions;
|
|
@@ -34,13 +32,12 @@ export declare class ExecutionContext {
|
|
|
34
32
|
* Handles bootstrapping the application.
|
|
35
33
|
*/
|
|
36
34
|
export declare class Application {
|
|
37
|
-
readonly runtime
|
|
38
|
-
private _optionsRef
|
|
39
|
-
private _args
|
|
40
|
-
constructor(runtime?: Runtime, _optionsRef?: ApplicationOptionsRef, _args?: ApplicationArgs);
|
|
35
|
+
readonly runtime: Runtime;
|
|
36
|
+
private _optionsRef;
|
|
37
|
+
private _args;
|
|
41
38
|
start(): void;
|
|
42
39
|
stop(): void;
|
|
43
|
-
get injector(): Injector;
|
|
40
|
+
get injector(): import("@alterior/di").Injector;
|
|
44
41
|
inject<T>(ctor: {
|
|
45
42
|
new (...args: any[]): T;
|
|
46
43
|
}, notFoundValue?: T): T;
|
|
@@ -48,7 +45,6 @@ export declare class Application {
|
|
|
48
45
|
get options(): ApplicationOptions;
|
|
49
46
|
private static loadOptions;
|
|
50
47
|
private static validateEntryModule;
|
|
51
|
-
private _bootstrapped;
|
|
52
48
|
/**
|
|
53
49
|
* Bootstrap an Alterior application.
|
|
54
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAU1B,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,qBAAqB;gBAEhC,OAAO,EAAE,kBAAkB;IAK5B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC5B;;;OAGG;IACI,WAAW,EAAE,WAAW,CAAQ;IAEvC,MAAM,CAAC,QAAQ,CAAC,eAAe,wCAAyC;IAExE;;OAEG;IACH,WAAkB,OAAO,IAAI,gBAAgB,CAE5C;IAED;;;OAGG;IACU,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAUvC;AAED;;GAEG;AACH,qBACa,WAAW;IACvB,QAAQ,CAAC,OAAO,UAAmB;IACnC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAA2B;IAEjC,KAAK;IAIL,IAAI;IAIX,IAAI,QAAQ,oCAEX;IAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,KAAI,GAAG,IAAI,OAAA,GAAG,CAAC,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC;IAI1D,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC;;OAEG;WACW,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;CA6DzF"}
|
package/dist.esm/application.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var Application_1;
|
|
2
|
-
import { __awaiter, __decorate
|
|
2
|
+
import { __awaiter, __decorate } from "tslib";
|
|
3
3
|
import 'reflect-metadata';
|
|
4
|
+
import { Environment, Time } from '@alterior/common';
|
|
5
|
+
import { inject, Injectable, ModuleAnnotation, ReflectiveInjector } from '@alterior/di';
|
|
4
6
|
import { AppOptionsAnnotation } from './app-options';
|
|
5
|
-
import { ReflectiveInjector, Injectable, ModuleAnnotation } from '@alterior/di';
|
|
6
|
-
import { Runtime } from './modules';
|
|
7
7
|
import { ApplicationArgs } from './args';
|
|
8
|
+
import { Runtime } from './modules';
|
|
8
9
|
import { RolesService } from './roles.service';
|
|
9
|
-
import { Environment, Time } from '@alterior/common';
|
|
10
10
|
export class ApplicationOptionsRef {
|
|
11
11
|
constructor(options) {
|
|
12
12
|
this.options = Object.assign({}, options);
|
|
@@ -61,11 +61,10 @@ ExecutionContext.ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
|
|
|
61
61
|
* Handles bootstrapping the application.
|
|
62
62
|
*/
|
|
63
63
|
let Application = Application_1 = class Application {
|
|
64
|
-
constructor(
|
|
65
|
-
this.runtime =
|
|
66
|
-
this._optionsRef =
|
|
67
|
-
this._args =
|
|
68
|
-
this._bootstrapped = false;
|
|
64
|
+
constructor() {
|
|
65
|
+
this.runtime = inject(Runtime);
|
|
66
|
+
this._optionsRef = inject(ApplicationOptionsRef);
|
|
67
|
+
this._args = inject(ApplicationArgs);
|
|
69
68
|
}
|
|
70
69
|
start() {
|
|
71
70
|
this.runtime.start();
|
|
@@ -114,6 +113,7 @@ let Application = Application_1 = class Application {
|
|
|
114
113
|
static bootstrap(entryModule, options) {
|
|
115
114
|
let executionContext = new ExecutionContext();
|
|
116
115
|
return executionContext.runSync(() => {
|
|
116
|
+
var _a;
|
|
117
117
|
this.validateEntryModule(entryModule);
|
|
118
118
|
options = this.loadOptions(entryModule, options);
|
|
119
119
|
let runtime = new Runtime(entryModule);
|
|
@@ -129,6 +129,7 @@ let Application = Application_1 = class Application {
|
|
|
129
129
|
useValue: new ApplicationOptionsRef(options)
|
|
130
130
|
});
|
|
131
131
|
providers.push(Application_1);
|
|
132
|
+
providers.push((_a = options.providers) !== null && _a !== void 0 ? _a : []);
|
|
132
133
|
runtime.providers = providers;
|
|
133
134
|
let injector;
|
|
134
135
|
try {
|
|
@@ -159,10 +160,7 @@ let Application = Application_1 = class Application {
|
|
|
159
160
|
}
|
|
160
161
|
};
|
|
161
162
|
Application = Application_1 = __decorate([
|
|
162
|
-
Injectable()
|
|
163
|
-
__metadata("design:paramtypes", [Runtime,
|
|
164
|
-
ApplicationOptionsRef,
|
|
165
|
-
ApplicationArgs])
|
|
163
|
+
Injectable()
|
|
166
164
|
], Application);
|
|
167
165
|
export { Application };
|
|
168
166
|
//# sourceMappingURL=application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":";;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,QAAQ,EAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAG,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,QAAQ,CAAC,UAAU,EAAG,gBAAgB;IACtC,QAAQ,CAAC,QAAQ,EAAG,GAAG;gBADd,UAAU,EAAG,gBAAgB,EAC7B,QAAQ,EAAG,GAAG;CAG9B;AAED;;;;GAIG;AACH,qBAAa,OAAO;gBACJ,WAAW,EAAG,QAAQ;IAIlC,WAAW,EAAG,gBAAgB,EAAE,CAAM;IACtC,OAAO,EAAG,UAAU,EAAE,CAAM;IAC5B,SAAS,EAAG,cAAc,EAAE,CAAQ;IAEpC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAG;QAAE,KAAI,GAAG,IAAI,OAAA,GAAI,CAAC,CAAA;KAAE,GAAG,CAAC;IAI7C;;;OAGG;IACH,SAAS,EAAG,QAAQ,EAAE,CAAM;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAG,QAAQ,EAAE;IAQ1C;;OAEG;IACH,SAAS;IAqCT,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED,kBAAkB,CAAC,IAAI,EAAG,MAAM,EAAE;IA2DlC;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAG,MAAM;IAO5B,OAAO,CAAC,SAAS,CAAmB;IAEpC;;;OAGG;IACH,IAAI,QAAQ,aAEX;IAED;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAG,QAAQ,GAAG,cAAc,EAAE;IA6B3C;;;;;;;;OAQG;IACG,IAAI;IAMV;;;;;;;OAOG;IACH,KAAK;IAOL;;OAEG;IACG,QAAQ;IAKd;;;;;;;OAOG;IACI,oBAAoB,CAAC,MAAM,EAAG,UAAU,GAAG,gBAAgB;IAIlE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAmDxB"}
|
package/dist.esm/modules.js
CHANGED
|
@@ -80,6 +80,13 @@ export class Runtime {
|
|
|
80
80
|
.map(x => x.class);
|
|
81
81
|
rolesService.configure({ mode: 'all-except', roles });
|
|
82
82
|
}
|
|
83
|
+
else if (environment.get().ALT_ROLES_DEFAULT_EXCEPT) {
|
|
84
|
+
let value = environment.get().ALT_ROLES_DEFAULT_EXCEPT;
|
|
85
|
+
let roles = value.split(',')
|
|
86
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
87
|
+
.map(x => x.class);
|
|
88
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
89
|
+
}
|
|
83
90
|
if (typeof process !== 'undefined' && process.argv) {
|
|
84
91
|
this.processCommandLine(process.argv.slice(2));
|
|
85
92
|
}
|
|
@@ -117,6 +124,14 @@ export class Runtime {
|
|
|
117
124
|
.map(x => x.class);
|
|
118
125
|
rolesService.configure({ mode: 'only', roles });
|
|
119
126
|
}
|
|
127
|
+
else if (arg == '-r' || arg == '--roles-skip') {
|
|
128
|
+
let value = getArgumentValue();
|
|
129
|
+
let roles = value.split(',')
|
|
130
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
131
|
+
.filter(x => x)
|
|
132
|
+
.map(x => x.class);
|
|
133
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
134
|
+
}
|
|
120
135
|
else if (arg == '-R' || arg == '--roles-all-except') {
|
|
121
136
|
let value = getArgumentValue();
|
|
122
137
|
let roles = value.split(',')
|
package/dist.esm/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,EAAc,MAAM,cAAc,CAAC;AACnF,OAAO,EAAsB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAW,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C;;;GAGG;AACH,MAAM,OAAO,gBAAgB;CAG5B;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACvB,YACa,UAA6B,EAC7B,QAAc;QADd,eAAU,GAAV,UAAU,CAAmB;QAC7B,aAAQ,GAAR,QAAQ,CAAM;IAE3B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,OAAO;IAChB,YAAY,WAAsB;QAIlC,gBAAW,GAAwB,EAAE,CAAC;QACtC,YAAO,GAAkB,EAAE,CAAC;QAC5B,cAAS,GAAsB,IAAI,CAAC;QAUpC;;;WAGG;QACH,cAAS,GAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RoleConfigurationMode = 'all-except' | 'only';
|
|
1
|
+
export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only';
|
|
2
2
|
export interface RoleConfiguration {
|
|
3
3
|
mode: RoleConfigurationMode;
|
|
4
4
|
roles: any[];
|
|
@@ -13,6 +13,11 @@ export interface RoleRegistration {
|
|
|
13
13
|
* called from an Alterior module's `altOnInit()` method.
|
|
14
14
|
*/
|
|
15
15
|
instance: any;
|
|
16
|
+
/**
|
|
17
|
+
* Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
|
|
18
|
+
* true.
|
|
19
|
+
*/
|
|
20
|
+
enabledByDefault?: boolean;
|
|
16
21
|
/**
|
|
17
22
|
* The identifier that will be matched when interpreting command line role enablements.
|
|
18
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,MAAM,CAAG;
|
|
1
|
+
{"version":3,"file":"roles.service.d.ts","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,CAAG;AAE3F,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAG,qBAAqB,CAAC;IAC7B,KAAK,EAAG,GAAG,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,QAAQ,EAAG,GAAG,CAAC;IAEf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAG,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,KAAK,EAAG,GAAG,CAAC;IACZ,OAAO,EAAG,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBACa,YAAY;;IAKrB,YAAY,EAAG,GAAG,EAAE,CAAQ;IAC5B,cAAc,EAAG,iBAAiB,CAAkC;IACpE,MAAM,EAAG,SAAS,EAAE,CAAM;IAE1B,IAAI,aAAa,IAAK,iBAAiB,CAEtC;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAG,gBAAgB;IAYpC,IAAI,KAAK,IAAI,SAAS,EAAE,CAEvB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAahC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAG,iBAAiB;IAOpC,YAAY,CAAC,eAAe,KAAA;IAS5B,OAAO,CAAC,EAAE,EAAG,MAAM;IASb,UAAU;IAMhB,MAAM,UAAS;IAET,QAAQ;IAYR,OAAO;CAWhB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter, __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Injectable } from "@alterior/di";
|
|
3
3
|
import { timeout, InvalidOperationError, ArgumentError } from "@alterior/common";
|
|
4
|
-
const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
|
|
4
|
+
const SUPPORTED_ROLE_MODES = ['default', 'default-except', 'all-except', 'only'];
|
|
5
5
|
/**
|
|
6
6
|
* Roles allow runtime configuration of which outward facing services to start.
|
|
7
7
|
* For instance WebServerModule and TasksModule both register their respective roles,
|
|
@@ -11,7 +11,7 @@ const SUPPORTED_ROLE_MODES = ['all-except', 'only'];
|
|
|
11
11
|
let RolesService = class RolesService {
|
|
12
12
|
constructor() {
|
|
13
13
|
this._activeRoles = null;
|
|
14
|
-
this._configuration = { mode: '
|
|
14
|
+
this._configuration = { mode: 'default', roles: [] };
|
|
15
15
|
this._roles = [];
|
|
16
16
|
this.silent = false;
|
|
17
17
|
}
|
|
@@ -36,8 +36,12 @@ let RolesService = class RolesService {
|
|
|
36
36
|
*/
|
|
37
37
|
get effectiveRoles() {
|
|
38
38
|
let config = this._configuration;
|
|
39
|
-
if (config.mode
|
|
39
|
+
if (config.mode === 'default')
|
|
40
|
+
return this._roles.filter(x => x.enabledByDefault !== false);
|
|
41
|
+
else if (config.mode == 'all-except')
|
|
40
42
|
return this._roles.filter(x => !config.roles.includes(x.class));
|
|
43
|
+
else if (config.mode == 'default-except')
|
|
44
|
+
return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
|
|
41
45
|
else if (config.mode == 'only')
|
|
42
46
|
return this._roles.filter(x => config.roles.includes(x.class));
|
|
43
47
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjF,MAAM,oBAAoB,GAAS,
|
|
1
|
+
{"version":3,"file":"roles.service.js","sourceRoot":"","sources":["../src/roles.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alterior/runtime",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.1",
|
|
4
4
|
"description": "Core runtime for Alterior apps",
|
|
5
5
|
"author": "The Alterior Project (https://github.com/alterior-mvc)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"zone.js": "^0.11.4"
|
|
48
48
|
},
|
|
49
49
|
"lernaKick": 1,
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "e1e2f0ee6dc9dba8c0d897330194606f97d2c0d3"
|
|
51
51
|
}
|
package/src/app-options.ts
CHANGED
|
@@ -1,56 +1,62 @@
|
|
|
1
1
|
import { Annotation, AnnotationDecorator, MetadataName } from '@alterior/annotations';
|
|
2
|
+
import { Provider } from '@alterior/di';
|
|
2
3
|
|
|
3
4
|
export interface ApplicationOptions {
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Specify a human readable name for your application.
|
|
7
8
|
*/
|
|
8
|
-
name
|
|
9
|
+
name?: string;
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Version of the service
|
|
12
13
|
*/
|
|
13
|
-
version
|
|
14
|
+
version?: string;
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* The computer-readable name for your application. Should match your NPM package name.
|
|
17
18
|
*/
|
|
18
|
-
packageName
|
|
19
|
+
packageName?: string;
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* A long-form description for your application, when necessary. If you implement only one,
|
|
22
23
|
* implement summary instead.
|
|
23
24
|
*/
|
|
24
|
-
description
|
|
25
|
+
description?: string;
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* A shorter-form description for your application, when necessary. If you implement only one,
|
|
28
29
|
* implement this instead of description.
|
|
29
30
|
*/
|
|
30
|
-
summary
|
|
31
|
+
summary?: string;
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* A set of string tags related to your application.
|
|
34
35
|
*/
|
|
35
|
-
tags
|
|
36
|
+
tags?: string[];
|
|
36
37
|
|
|
37
|
-
group
|
|
38
|
+
group?: string;
|
|
38
39
|
|
|
39
40
|
/**
|
|
40
41
|
* Enable verbose console logging for Alterior
|
|
41
42
|
*/
|
|
42
|
-
verbose
|
|
43
|
+
verbose?: boolean;
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
46
|
* Whether to start the service immediately on startup.
|
|
46
47
|
* Defaults to true.
|
|
47
48
|
*/
|
|
48
|
-
autostart
|
|
49
|
+
autostart?: boolean;
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
52
|
* Turn off all console output
|
|
52
53
|
*/
|
|
53
|
-
silent
|
|
54
|
+
silent?: boolean;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Additional dependency injection providers to include in the application's injector.
|
|
58
|
+
*/
|
|
59
|
+
providers?: Provider[];
|
|
54
60
|
}
|
|
55
61
|
|
|
56
62
|
/**
|
|
@@ -58,7 +64,7 @@ export interface ApplicationOptions {
|
|
|
58
64
|
*/
|
|
59
65
|
@MetadataName('@alterior/di:Application')
|
|
60
66
|
export class AppOptionsAnnotation extends Annotation {
|
|
61
|
-
constructor(readonly options
|
|
67
|
+
constructor(readonly options?: ApplicationOptions) {
|
|
62
68
|
super();
|
|
63
69
|
}
|
|
64
70
|
}
|
package/src/application.ts
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
|
|
3
|
+
import { Environment, Time } from '@alterior/common';
|
|
4
|
+
import {
|
|
5
|
+
inject,
|
|
6
|
+
Injectable,
|
|
7
|
+
ModuleAnnotation,
|
|
8
|
+
Provider,
|
|
9
|
+
ReflectiveInjector
|
|
10
|
+
} from '@alterior/di';
|
|
3
11
|
import { ApplicationOptions, AppOptionsAnnotation } from './app-options';
|
|
4
|
-
import { ReflectiveInjector, Provider, Injectable,
|
|
5
|
-
ModuleAnnotation, Injector } from '@alterior/di';
|
|
6
|
-
import { Runtime } from './modules';
|
|
7
12
|
import { ApplicationArgs } from './args';
|
|
13
|
+
import { Runtime } from './modules';
|
|
8
14
|
import { RolesService } from './roles.service';
|
|
9
|
-
import { Environment, Time } from '@alterior/common';
|
|
10
|
-
|
|
11
|
-
declare let module : never;
|
|
12
15
|
|
|
13
16
|
export class ApplicationOptionsRef {
|
|
14
17
|
constructor(
|
|
15
|
-
options
|
|
18
|
+
options: ApplicationOptions
|
|
16
19
|
) {
|
|
17
20
|
this.options = Object.assign({}, options);
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
readonly options
|
|
23
|
+
readonly options: ApplicationOptions;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
/**
|
|
@@ -30,7 +33,7 @@ export class ExecutionContext {
|
|
|
30
33
|
* Retrieve the Alterior application which is currently being executed.
|
|
31
34
|
* If an application has not been bootstrapped yet, the value is null.
|
|
32
35
|
*/
|
|
33
|
-
public application
|
|
36
|
+
public application: Application = null;
|
|
34
37
|
|
|
35
38
|
static readonly ZONE_LOCAL_NAME = '@alterior/runtime:ExecutionContext';
|
|
36
39
|
|
|
@@ -45,7 +48,7 @@ export class ExecutionContext {
|
|
|
45
48
|
* Execute the given function in a new zone which has
|
|
46
49
|
* this ExecutionContext instance as the current execution context.
|
|
47
50
|
*/
|
|
48
|
-
public async run<T>(callback
|
|
51
|
+
public async run<T>(callback: () => Promise<T>): Promise<T> {
|
|
49
52
|
let zone = Zone.current.fork({
|
|
50
53
|
name: `AlteriorExecutionContext`,
|
|
51
54
|
properties: {
|
|
@@ -56,7 +59,7 @@ export class ExecutionContext {
|
|
|
56
59
|
return await zone.run(() => callback());
|
|
57
60
|
}
|
|
58
61
|
|
|
59
|
-
public runSync<T>(callback
|
|
62
|
+
public runSync<T>(callback: () => T): T {
|
|
60
63
|
let zone = Zone.current.fork({
|
|
61
64
|
name: `AlteriorExecutionContext`,
|
|
62
65
|
properties: {
|
|
@@ -73,14 +76,10 @@ export class ExecutionContext {
|
|
|
73
76
|
*/
|
|
74
77
|
@Injectable()
|
|
75
78
|
export class Application {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
) {
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
79
|
+
readonly runtime = inject(Runtime);
|
|
80
|
+
private _optionsRef = inject(ApplicationOptionsRef);
|
|
81
|
+
private _args = inject(ApplicationArgs);
|
|
82
|
+
|
|
84
83
|
public start() {
|
|
85
84
|
this.runtime.start();
|
|
86
85
|
}
|
|
@@ -93,24 +92,24 @@ export class Application {
|
|
|
93
92
|
return this.runtime.injector;
|
|
94
93
|
}
|
|
95
94
|
|
|
96
|
-
inject<T>(ctor
|
|
95
|
+
inject<T>(ctor: { new(...args): T }, notFoundValue?: T): T {
|
|
97
96
|
return this.injector.get(ctor, notFoundValue);
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
get args()
|
|
99
|
+
get args(): string[] {
|
|
101
100
|
return this._args.get();
|
|
102
101
|
}
|
|
103
102
|
|
|
104
|
-
get options()
|
|
103
|
+
get options(): ApplicationOptions {
|
|
105
104
|
return this._optionsRef.options;
|
|
106
105
|
}
|
|
107
106
|
|
|
108
|
-
private static loadOptions(entryModule
|
|
107
|
+
private static loadOptions(entryModule: Function, bootstrapOptions: ApplicationOptions): ApplicationOptions {
|
|
109
108
|
// Read an @AppOptions() decorator if any, and merge providers from it
|
|
110
109
|
// into the bootstrapped providers
|
|
111
110
|
|
|
112
111
|
let appOptionsAnnotation = AppOptionsAnnotation.getForClass(entryModule);
|
|
113
|
-
let appProvidedOptions
|
|
112
|
+
let appProvidedOptions: ApplicationOptions = appOptionsAnnotation ? appOptionsAnnotation.options: {} || {};
|
|
114
113
|
|
|
115
114
|
return Object.assign(
|
|
116
115
|
<ApplicationOptions>{
|
|
@@ -125,7 +124,7 @@ export class Application {
|
|
|
125
124
|
);
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
private static validateEntryModule(module
|
|
127
|
+
private static validateEntryModule(module: Function) {
|
|
129
128
|
if (typeof module !== 'function') {
|
|
130
129
|
throw new Error(
|
|
131
130
|
`You must pass a Module class as the first parameter `
|
|
@@ -138,13 +137,11 @@ export class Application {
|
|
|
138
137
|
if (!moduleMetadata)
|
|
139
138
|
throw new Error(`You must pass a module class decorated by @Module()`);
|
|
140
139
|
}
|
|
141
|
-
|
|
142
|
-
private _bootstrapped : boolean = false;
|
|
143
|
-
|
|
140
|
+
|
|
144
141
|
/**
|
|
145
142
|
* Bootstrap an Alterior application.
|
|
146
143
|
*/
|
|
147
|
-
public static bootstrap(entryModule
|
|
144
|
+
public static bootstrap(entryModule: Function, options?: ApplicationOptions): Application {
|
|
148
145
|
let executionContext = new ExecutionContext();
|
|
149
146
|
return executionContext.runSync(() => {
|
|
150
147
|
this.validateEntryModule(entryModule);
|
|
@@ -153,7 +150,7 @@ export class Application {
|
|
|
153
150
|
|
|
154
151
|
let runtime = new Runtime(entryModule);
|
|
155
152
|
|
|
156
|
-
let providers
|
|
153
|
+
let providers: Provider[] = [
|
|
157
154
|
ApplicationArgs,
|
|
158
155
|
RolesService,
|
|
159
156
|
Environment,
|
|
@@ -168,10 +165,11 @@ export class Application {
|
|
|
168
165
|
}
|
|
169
166
|
);
|
|
170
167
|
providers.push(Application);
|
|
168
|
+
providers.push(options.providers ?? []);
|
|
171
169
|
|
|
172
170
|
runtime.providers = providers;
|
|
173
171
|
|
|
174
|
-
let injector
|
|
172
|
+
let injector: ReflectiveInjector;
|
|
175
173
|
try {
|
|
176
174
|
injector = ReflectiveInjector.resolveAndCreate(providers);
|
|
177
175
|
} catch (e) {
|
package/src/modules.ts
CHANGED
|
@@ -92,6 +92,14 @@ export class Runtime {
|
|
|
92
92
|
;
|
|
93
93
|
|
|
94
94
|
rolesService.configure({ mode: 'all-except', roles });
|
|
95
|
+
} else if (environment.get<any>().ALT_ROLES_DEFAULT_EXCEPT) {
|
|
96
|
+
let value = environment.get<any>().ALT_ROLES_DEFAULT_EXCEPT;
|
|
97
|
+
let roles = value.split(',')
|
|
98
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
99
|
+
.map(x => x.class)
|
|
100
|
+
;
|
|
101
|
+
|
|
102
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
95
103
|
}
|
|
96
104
|
|
|
97
105
|
if (typeof process !== 'undefined' && process.argv) {
|
|
@@ -143,6 +151,16 @@ export class Runtime {
|
|
|
143
151
|
;
|
|
144
152
|
|
|
145
153
|
rolesService.configure({ mode: 'only', roles });
|
|
154
|
+
} else if (arg == '-r' || arg == '--roles-skip') {
|
|
155
|
+
let value = getArgumentValue();
|
|
156
|
+
|
|
157
|
+
let roles = value.split(',')
|
|
158
|
+
.map(x => allRoles.find(y => y.identifier == x))
|
|
159
|
+
.filter(x => x)
|
|
160
|
+
.map(x => x.class)
|
|
161
|
+
;
|
|
162
|
+
|
|
163
|
+
rolesService.configure({ mode: 'default-except', roles });
|
|
146
164
|
} else if (arg == '-R' || arg == '--roles-all-except') {
|
|
147
165
|
let value = getArgumentValue();
|
|
148
166
|
|
package/src/roles.service.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injectable } from "@alterior/di";
|
|
2
2
|
import { timeout, InvalidOperationError, ArgumentError } from "@alterior/common";
|
|
3
3
|
|
|
4
|
-
const SUPPORTED_ROLE_MODES = ['all-except',
|
|
5
|
-
export type RoleConfigurationMode = 'all-except' | 'only' ;
|
|
4
|
+
const SUPPORTED_ROLE_MODES = [ 'default', 'default-except', 'all-except', 'only' ];
|
|
5
|
+
export type RoleConfigurationMode = 'default' | 'default-except' | 'all-except' | 'only' ;
|
|
6
6
|
|
|
7
7
|
export interface RoleConfiguration {
|
|
8
8
|
mode : RoleConfigurationMode;
|
|
@@ -19,6 +19,12 @@ export interface RoleRegistration {
|
|
|
19
19
|
* called from an Alterior module's `altOnInit()` method.
|
|
20
20
|
*/
|
|
21
21
|
instance : any;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Set to false to cause this role to be disabled unless explicitly asked for. When unspecified, the default is
|
|
25
|
+
* true.
|
|
26
|
+
*/
|
|
27
|
+
enabledByDefault?: boolean;
|
|
22
28
|
|
|
23
29
|
/**
|
|
24
30
|
* The identifier that will be matched when interpreting command line role enablements.
|
|
@@ -65,7 +71,7 @@ export class RolesService {
|
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
_activeRoles : any[] = null;
|
|
68
|
-
_configuration : RoleConfiguration = { mode: '
|
|
74
|
+
_configuration : RoleConfiguration = { mode: 'default', roles: [] };
|
|
69
75
|
_roles : RoleState[] = [];
|
|
70
76
|
|
|
71
77
|
get configuration() : RoleConfiguration {
|
|
@@ -97,8 +103,12 @@ export class RolesService {
|
|
|
97
103
|
get effectiveRoles(): RoleState[] {
|
|
98
104
|
let config = this._configuration;
|
|
99
105
|
|
|
100
|
-
if (config.mode
|
|
106
|
+
if (config.mode === 'default')
|
|
107
|
+
return this._roles.filter(x => x.enabledByDefault !== false);
|
|
108
|
+
else if (config.mode == 'all-except')
|
|
101
109
|
return this._roles.filter(x => !config.roles.includes(x.class));
|
|
110
|
+
else if (config.mode == 'default-except')
|
|
111
|
+
return this._roles.filter(x => x.enabledByDefault !== false).filter(x => !config.roles.includes(x.class));
|
|
102
112
|
else if (config.mode == 'only')
|
|
103
113
|
return this._roles.filter(x => config.roles.includes(x.class));
|
|
104
114
|
|