@dereekb/dbx-core 9.20.18 → 9.20.20
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/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +31 -4
- package/fesm2015/dereekb-dbx-core.mjs +31 -4
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +31 -4
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -8
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { map } from 'rxjs';
|
|
2
|
-
import { setIncludes } from '@dereekb/util';
|
|
2
|
+
import { setIncludes, asArray } from '@dereekb/util';
|
|
3
3
|
import { makeAuthTransitionHook } from './hook';
|
|
4
4
|
/**
|
|
5
5
|
* This hook redirects to the configured default state when a user:
|
|
@@ -21,11 +21,38 @@ export function enableHasAuthRoleHook(transitionService, config) {
|
|
|
21
21
|
makeDecisionsObs(transition, authService) {
|
|
22
22
|
const targetState = transition.targetState();
|
|
23
23
|
const data = targetState.state().data;
|
|
24
|
-
|
|
25
|
-
return authService.authRoles$.pipe(
|
|
24
|
+
let mapFn = hasAuthRoleDecisionPipe(data);
|
|
25
|
+
return authService.authRoles$.pipe(mapFn);
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
// Register the "requires auth" hook with the TransitionsService
|
|
29
29
|
transitionService.onBefore(isSecureCriteria, assertHasAuthRole, { priority: 100 });
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
export function hasAuthRoleDecisionPipe(stateData) {
|
|
32
|
+
const authRolesMode = stateData.authRolesMode || 'all';
|
|
33
|
+
const authRoleConfigs = asArray(stateData.authRoles).map((x) => {
|
|
34
|
+
let config;
|
|
35
|
+
if (typeof x === 'string') {
|
|
36
|
+
config = {
|
|
37
|
+
authRoles: x,
|
|
38
|
+
authRolesMode: 'any'
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
config = x;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
requiredRoles: new Set(config.authRoles),
|
|
46
|
+
authRolesMode: config.authRolesMode
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
let mapFn;
|
|
50
|
+
if (authRolesMode === 'any') {
|
|
51
|
+
mapFn = map((x) => authRoleConfigs.findIndex((y) => setIncludes(x, y.requiredRoles, y.authRolesMode)) !== -1); // find the first match
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
mapFn = map((x) => authRoleConfigs.findIndex((y) => !setIncludes(x, y.requiredRoles, y.authRolesMode)) === -1); // find the first failed match
|
|
55
|
+
}
|
|
56
|
+
return mapFn;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9wcm92aWRlci91aXJvdXRlci9yb2xlLmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBZ0MsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFrRCxXQUFXLEVBQUUsT0FBTyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBOEUsc0JBQXNCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFzQzVIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLGlCQUFvQyxFQUFFLE1BQTZCO0lBQ3ZHLG9GQUFvRjtJQUNwRixNQUFNLGdCQUFnQixHQUFzQjtRQUMxQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsSUFBNEMsQ0FBQztZQUNqRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFxQixzQkFBc0IsQ0FBQztRQUNqRSxHQUFHLE1BQU0sQ0FBQyxPQUFPO1FBQ2pCLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsV0FBMkI7WUFDbEUsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUF5QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzVELElBQUksS0FBSyxHQUEyQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRixPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxnRUFBZ0U7SUFDaEUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUErQjtJQUNyRSxNQUFNLGFBQWEsR0FBb0IsU0FBUyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUM7SUFFeEUsTUFBTSxlQUFlLEdBQXVDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDakcsSUFBSSxNQUFrQyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE1BQU0sR0FBRztnQkFDUCxTQUFTLEVBQUUsQ0FBQztnQkFDWixhQUFhLEVBQUUsS0FBSzthQUNyQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDWjtRQUVELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxHQUFHLENBQVcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsRCxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7U0FDcEMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxLQUE2QyxDQUFDO0lBRWxELElBQUksYUFBYSxLQUFLLEtBQUssRUFBRTtRQUMzQixLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtLQUN2STtTQUFNO1FBQ0wsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtLQUMvSTtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFJvbGUsIFNldEluY2x1ZGVzTW9kZSwgQXJyYXlPclZhbHVlLCBNYXliZSwgc2V0SW5jbHVkZXMsIGFzQXJyYXksIEF1dGhSb2xlU2V0IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBUcmFuc2l0aW9uU2VydmljZSwgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va01hdGNoQ3JpdGVyaWEgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhUcmFuc2l0aW9uRGVjaXNpb24sIEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnMsIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhLCBtYWtlQXV0aFRyYW5zaXRpb25Ib29rIH0gZnJvbSAnLi9ob29rJztcblxuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZUhvb2tDb25maWcge1xuICByZWFkb25seSBvcHRpb25zOiBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgbWFya2VkIGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICByZWFkb25seSBhdXRoUm9sZXM6IEFycmF5T3JWYWx1ZTxBdXRoUm9sZT47XG4gIC8qKlxuICAgKiBIb3cgdG8gdXNlIHRoZSBhYm92ZSBhdXRoIHJvbGVzLiBUaGlzIGRlZmF1bHRzIHRvICdhbGwnIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBhdXRoUm9sZXNNb2RlPzogU2V0SW5jbHVkZXNNb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgbWFya2VkIGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlZFJvbGVzOiBTZXQ8QXV0aFJvbGU+O1xuICAvKipcbiAgICogSG93IHRvIHVzZSB0aGUgYWJvdmUgYXV0aCByb2xlcy4gVGhpcyBkZWZhdWx0cyB0byAnYWxsJyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aFJvbGVzTW9kZT86IFNldEluY2x1ZGVzTW9kZTtcbn1cblxuLyoqXG4gKiBVSVJvdXRlciBTdGF0ZSBkYXRhIHdpdGggY29uZmlndXJhdGlvbiBmb3IgdGhlIGhhc0F1dGhSb2xlSG9vay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZVN0YXRlRGF0YSBleHRlbmRzIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhLCBQaWNrPEhhc0F1dGhSb2xlU3RhdGVSb2xlQ29uZmlnLCAnYXV0aFJvbGVzTW9kZSc+IHtcbiAgLyoqXG4gICAqIEF1dGggcm9sZXMgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhSb2xlczogQXJyYXlPclZhbHVlPEF1dGhSb2xlIHwgSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWc+O1xufVxuXG4vKipcbiAqIFRoaXMgaG9vayByZWRpcmVjdHMgdG8gdGhlIGNvbmZpZ3VyZWQgZGVmYXVsdCBzdGF0ZSB3aGVuIGEgdXNlcjpcbiAqXG4gKiAtIGRvZXMgbm90IGhhdmUgYW4gYWxsb3dlZCBzdGF0ZVxuICogLSBoYXMgYSBkaXNhbGxvd2VkIHN0YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVIYXNBdXRoUm9sZUhvb2sodHJhbnNpdGlvblNlcnZpY2U6IFRyYW5zaXRpb25TZXJ2aWNlLCBjb25maWc6IEhhc0F1dGhSb2xlSG9va0NvbmZpZyk6IHZvaWQge1xuICAvLyBNYXRjaGVzIGlmIHRoZSBkZXN0aW5hdGlvbiBzdGF0ZSdzIGRhdGEgcHJvcGVydHkgaGFzIGEgdHJ1dGh5ICdpc1NlY3VyZScgcHJvcGVydHlcbiAgY29uc3QgaXNTZWN1cmVDcml0ZXJpYTogSG9va01hdGNoQ3JpdGVyaWEgPSB7XG4gICAgZW50ZXJpbmc6IChzdGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHN0YXRlPy5kYXRhIGFzIE1heWJlPFBhcnRpYWw8SGFzQXV0aFJvbGVTdGF0ZURhdGE+PjtcbiAgICAgIGNvbnN0IG1hdGNoID0gQm9vbGVhbihkYXRhPy5hdXRoUm9sZXMpO1xuICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhc3NlcnRIYXNBdXRoUm9sZTogVHJhbnNpdGlvbkhvb2tGbiA9IG1ha2VBdXRoVHJhbnNpdGlvbkhvb2soe1xuICAgIC4uLmNvbmZpZy5vcHRpb25zLFxuICAgIG1ha2VEZWNpc2lvbnNPYnModHJhbnNpdGlvbjogVHJhbnNpdGlvbiwgYXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoVHJhbnNpdGlvbkRlY2lzaW9uPiB7XG4gICAgICBjb25zdCB0YXJnZXRTdGF0ZSA9IHRyYW5zaXRpb24udGFyZ2V0U3RhdGUoKTtcbiAgICAgIGNvbnN0IGRhdGE6IEhhc0F1dGhSb2xlU3RhdGVEYXRhID0gdGFyZ2V0U3RhdGUuc3RhdGUoKS5kYXRhO1xuICAgICAgbGV0IG1hcEZuOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiA9IGhhc0F1dGhSb2xlRGVjaXNpb25QaXBlKGRhdGEpO1xuICAgICAgcmV0dXJuIGF1dGhTZXJ2aWNlLmF1dGhSb2xlcyQucGlwZShtYXBGbik7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlciB0aGUgXCJyZXF1aXJlcyBhdXRoXCIgaG9vayB3aXRoIHRoZSBUcmFuc2l0aW9uc1NlcnZpY2VcbiAgdHJhbnNpdGlvblNlcnZpY2Uub25CZWZvcmUoaXNTZWN1cmVDcml0ZXJpYSwgYXNzZXJ0SGFzQXV0aFJvbGUsIHsgcHJpb3JpdHk6IDEwMCB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0F1dGhSb2xlRGVjaXNpb25QaXBlKHN0YXRlRGF0YTogSGFzQXV0aFJvbGVTdGF0ZURhdGEpOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiB7XG4gIGNvbnN0IGF1dGhSb2xlc01vZGU6IFNldEluY2x1ZGVzTW9kZSA9IHN0YXRlRGF0YS5hdXRoUm9sZXNNb2RlIHx8ICdhbGwnO1xuXG4gIGNvbnN0IGF1dGhSb2xlQ29uZmlnczogUGFyc2VkSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWdbXSA9IGFzQXJyYXkoc3RhdGVEYXRhLmF1dGhSb2xlcykubWFwKCh4KSA9PiB7XG4gICAgbGV0IGNvbmZpZzogSGFzQXV0aFJvbGVTdGF0ZVJvbGVDb25maWc7XG5cbiAgICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25maWcgPSB7XG4gICAgICAgIGF1dGhSb2xlczogeCxcbiAgICAgICAgYXV0aFJvbGVzTW9kZTogJ2FueSdcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZyA9IHg7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVpcmVkUm9sZXM6IG5ldyBTZXQ8QXV0aFJvbGU+KGNvbmZpZy5hdXRoUm9sZXMpLFxuICAgICAgYXV0aFJvbGVzTW9kZTogY29uZmlnLmF1dGhSb2xlc01vZGVcbiAgICB9O1xuICB9KTtcblxuICBsZXQgbWFwRm46IE9wZXJhdG9yRnVuY3Rpb248QXV0aFJvbGVTZXQsIGJvb2xlYW4+O1xuXG4gIGlmIChhdXRoUm9sZXNNb2RlID09PSAnYW55Jykge1xuICAgIG1hcEZuID0gbWFwKCh4KSA9PiBhdXRoUm9sZUNvbmZpZ3MuZmluZEluZGV4KCh5KSA9PiBzZXRJbmNsdWRlcyh4LCB5LnJlcXVpcmVkUm9sZXMsIHkuYXV0aFJvbGVzTW9kZSkpICE9PSAtMSk7IC8vIGZpbmQgdGhlIGZpcnN0IG1hdGNoXG4gIH0gZWxzZSB7XG4gICAgbWFwRm4gPSBtYXAoKHgpID0+IGF1dGhSb2xlQ29uZmlncy5maW5kSW5kZXgoKHkpID0+ICFzZXRJbmNsdWRlcyh4LCB5LnJlcXVpcmVkUm9sZXMsIHkuYXV0aFJvbGVzTW9kZSkpID09PSAtMSk7IC8vIGZpbmQgdGhlIGZpcnN0IGZhaWxlZCBtYXRjaFxuICB9XG5cbiAgcmV0dXJuIG1hcEZuO1xufVxuIl19
|
|
@@ -5,7 +5,7 @@ import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoadin
|
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
6
6
|
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith, delay, tap, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
|
|
7
7
|
import * as i1$6 from '@dereekb/util';
|
|
8
|
-
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter,
|
|
8
|
+
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, asArray, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, defaultForwardFunctionFactory, mergeArrays, filterMaybeValues, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
9
9
|
import { ComponentStore } from '@ngrx/component-store';
|
|
10
10
|
import { CommonModule, formatDate } from '@angular/common';
|
|
11
11
|
import * as i1$3 from '@ngrx/effects';
|
|
@@ -1984,12 +1984,39 @@ function enableHasAuthRoleHook(transitionService, config) {
|
|
|
1984
1984
|
const assertHasAuthRole = makeAuthTransitionHook(Object.assign(Object.assign({}, config.options), { makeDecisionsObs(transition, authService) {
|
|
1985
1985
|
const targetState = transition.targetState();
|
|
1986
1986
|
const data = targetState.state().data;
|
|
1987
|
-
|
|
1988
|
-
return authService.authRoles$.pipe(
|
|
1987
|
+
let mapFn = hasAuthRoleDecisionPipe(data);
|
|
1988
|
+
return authService.authRoles$.pipe(mapFn);
|
|
1989
1989
|
} }));
|
|
1990
1990
|
// Register the "requires auth" hook with the TransitionsService
|
|
1991
1991
|
transitionService.onBefore(isSecureCriteria, assertHasAuthRole, { priority: 100 });
|
|
1992
1992
|
}
|
|
1993
|
+
function hasAuthRoleDecisionPipe(stateData) {
|
|
1994
|
+
const authRolesMode = stateData.authRolesMode || 'all';
|
|
1995
|
+
const authRoleConfigs = asArray(stateData.authRoles).map((x) => {
|
|
1996
|
+
let config;
|
|
1997
|
+
if (typeof x === 'string') {
|
|
1998
|
+
config = {
|
|
1999
|
+
authRoles: x,
|
|
2000
|
+
authRolesMode: 'any'
|
|
2001
|
+
};
|
|
2002
|
+
}
|
|
2003
|
+
else {
|
|
2004
|
+
config = x;
|
|
2005
|
+
}
|
|
2006
|
+
return {
|
|
2007
|
+
requiredRoles: new Set(config.authRoles),
|
|
2008
|
+
authRolesMode: config.authRolesMode
|
|
2009
|
+
};
|
|
2010
|
+
});
|
|
2011
|
+
let mapFn;
|
|
2012
|
+
if (authRolesMode === 'any') {
|
|
2013
|
+
mapFn = map((x) => authRoleConfigs.findIndex((y) => setIncludes(x, y.requiredRoles, y.authRolesMode)) !== -1); // find the first match
|
|
2014
|
+
}
|
|
2015
|
+
else {
|
|
2016
|
+
mapFn = map((x) => authRoleConfigs.findIndex((y) => !setIncludes(x, y.requiredRoles, y.authRolesMode)) === -1); // find the first failed match
|
|
2017
|
+
}
|
|
2018
|
+
return mapFn;
|
|
2019
|
+
}
|
|
1993
2020
|
|
|
1994
2021
|
/**
|
|
1995
2022
|
* This hook redirects to the configured default state when a user:
|
|
@@ -5033,5 +5060,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
5033
5060
|
* Generated bundle index. Do not edit.
|
|
5034
5061
|
*/
|
|
5035
5062
|
|
|
5036
|
-
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
|
|
5063
|
+
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
|
|
5037
5064
|
//# sourceMappingURL=dereekb-dbx-core.mjs.map
|