@dereekb/dbx-core 2.0.0 → 4.0.0
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/action/action.handler.mjs +3 -125
- package/esm2020/lib/action/action.machine.mjs +8 -7
- package/esm2020/lib/action/action.module.mjs +10 -10
- package/esm2020/lib/action/action.store.mjs +3 -3
- package/esm2020/lib/action/action.store.source.mjs +3 -3
- package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +4 -4
- package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +7 -6
- package/esm2020/lib/action/directive/context/action.directive.mjs +3 -3
- package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +3 -3
- package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +5 -6
- package/esm2020/lib/action/directive/state/action.enforce.modified.directive.mjs +6 -6
- package/esm2020/lib/action/directive/state/action.handler.directive.mjs +10 -9
- package/esm2020/lib/action/directive/state/action.success.directive.mjs +23 -35
- package/esm2020/lib/action/directive/state/action.success.handler.directive.mjs +48 -0
- package/esm2020/lib/action/directive/state/action.value.directive.mjs +8 -8
- package/esm2020/lib/action/directive/state/action.value.stream.directive.mjs +4 -4
- package/esm2020/lib/action/directive/state/action.value.trigger.directive.mjs +73 -0
- package/esm2020/lib/action/directive/state/action.value.trigger.instance.mjs +43 -0
- package/esm2020/lib/action/directive/state/action.working.component.mjs +28 -22
- package/esm2020/lib/action/directive/state/index.mjs +4 -2
- package/esm2020/lib/auth/auth.module.mjs +26 -0
- package/esm2020/lib/auth/auth.role.any.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.role.has.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.state.module.mjs +28 -0
- package/esm2020/lib/auth/auth.state.service.mjs +23 -0
- package/esm2020/lib/auth/auth.user.mjs +11 -0
- package/esm2020/lib/auth/index.mjs +10 -0
- package/esm2020/lib/auth/router/auth.router.mjs +6 -0
- package/esm2020/lib/auth/router/auth.router.module.mjs +26 -0
- package/esm2020/lib/auth/router/auth.router.service.mjs +61 -0
- package/esm2020/lib/auth/router/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/auth.hook.mjs +23 -0
- package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +65 -0
- package/esm2020/lib/auth/router/provider/uirouter/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/redirect.mjs +29 -0
- package/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +32 -0
- package/esm2020/lib/auth/router/provider/uirouter/state.hook.mjs +53 -0
- package/esm2020/lib/auth/router/state/auth.router.state.module.mjs +32 -0
- package/esm2020/lib/auth/router/state/effect/auth.router.state.effect.mjs +46 -0
- package/esm2020/lib/auth/router/state/effect/index.mjs +2 -0
- package/esm2020/lib/auth/router/state/index.mjs +3 -0
- package/esm2020/lib/auth/service/auth.service.mjs +6 -0
- package/esm2020/lib/auth/service/auth.service.rxjs.mjs +27 -0
- package/esm2020/lib/auth/service/index.mjs +3 -0
- package/esm2020/lib/auth/state/action/auth.action.mjs +14 -0
- package/esm2020/lib/auth/state/action/index.mjs +12 -0
- package/esm2020/lib/auth/state/action/user.action.mjs +18 -0
- package/esm2020/lib/auth/state/effect/auth.effect.mjs +44 -0
- package/esm2020/lib/auth/state/index.mjs +13 -0
- package/esm2020/lib/auth/state/reducer/index.mjs +23 -0
- package/esm2020/lib/auth/state/reducer/user.reducer.mjs +12 -0
- package/esm2020/lib/auth/state/state.mjs +2 -0
- package/esm2020/lib/button/action/action.button.directive.mjs +3 -3
- package/esm2020/lib/button/action/action.button.trigger.directive.mjs +3 -3
- package/esm2020/lib/button/button.directive.mjs +6 -6
- package/esm2020/lib/button/button.loading.directive.mjs +3 -3
- package/esm2020/lib/button/button.mjs +1 -1
- package/esm2020/lib/button/button.module.mjs +4 -4
- package/esm2020/lib/button/router/button.segue.directive.mjs +8 -4
- package/esm2020/lib/context/context.directive.mjs +41 -0
- package/esm2020/lib/context/context.mjs +22 -0
- package/esm2020/lib/context/context.module.mjs +28 -0
- package/esm2020/lib/context/context.service.mjs +29 -0
- package/esm2020/lib/context/index.mjs +6 -0
- package/esm2020/lib/context/state/action/data.action.mjs +10 -0
- package/esm2020/lib/context/state/action/index.mjs +7 -0
- package/esm2020/lib/context/state/effect/index.mjs +38 -0
- package/esm2020/lib/context/state/index.mjs +13 -0
- package/esm2020/lib/context/state/reducer/data.reducer.mjs +16 -0
- package/esm2020/lib/context/state/reducer/index.mjs +25 -0
- package/esm2020/lib/context/state/state.mjs +2 -0
- package/esm2020/lib/filter/action/action.filter.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.abstract.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.abstract.source.directive.mjs +4 -4
- package/esm2020/lib/filter/filter.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.instance.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.module.mjs +4 -4
- package/esm2020/lib/filter/filter.source.directive.mjs +3 -3
- package/esm2020/lib/index.mjs +6 -2
- package/esm2020/lib/injection/index.mjs +9 -0
- package/esm2020/lib/injection/injection.component.mjs +34 -0
- package/esm2020/lib/injection/injection.component.module.mjs +31 -0
- package/esm2020/lib/injection/injection.context.directive.mjs +124 -0
- package/esm2020/lib/injection/injection.context.forward.directive.mjs +30 -0
- package/esm2020/lib/injection/injection.context.mjs +18 -0
- package/esm2020/lib/injection/injection.directive.mjs +33 -0
- package/esm2020/lib/injection/injection.instance.mjs +116 -0
- package/esm2020/lib/injection/injection.mjs +16 -0
- package/esm2020/lib/ngrx/index.mjs +2 -0
- package/esm2020/lib/ngrx/store.lockset.mjs +64 -0
- package/esm2020/lib/pipe/date/date.pipe.module.mjs +4 -4
- package/esm2020/lib/pipe/date/datedistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/timedistance.pipe.mjs +6 -6
- package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +13 -5
- package/esm2020/lib/pipe/date/tominutes.pipe.mjs +3 -3
- package/esm2020/lib/pipe/index.mjs +3 -1
- package/esm2020/lib/pipe/misc/index.mjs +3 -0
- package/esm2020/lib/pipe/misc/misc.pipe.module.mjs +20 -0
- package/esm2020/lib/pipe/misc/prettyjson.pipe.mjs +27 -0
- package/esm2020/lib/pipe/pipe.module.mjs +21 -0
- package/esm2020/lib/router/anchor/anchor.directive.mjs +18 -5
- package/esm2020/lib/router/anchor/anchor.mjs +1 -1
- package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +8 -5
- package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +32 -10
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/service/index.mjs +2 -1
- package/esm2020/lib/router/router/service/router.go.mjs +14 -0
- package/esm2020/lib/router/router/service/router.service.mjs +1 -1
- package/esm2020/lib/router/router/transition/transition.directive.mjs +7 -7
- package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +6 -6
- package/esm2020/lib/router/segue.mjs +17 -2
- package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +3 -3
- package/esm2020/lib/storage/storage.module.mjs +4 -4
- package/esm2020/lib/subscription/subscription.directive.mjs +6 -6
- package/esm2020/lib/util/view.mjs +18 -2
- package/esm2020/lib/view/if.directive.mjs +30 -0
- package/esm2020/lib/view/index.mjs +2 -0
- package/fesm2015/dereekb-dbx-core.mjs +1742 -538
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +1748 -544
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.handler.d.ts +4 -72
- package/lib/action/action.module.d.ts +3 -3
- package/lib/action/directive/auto/action.automodify.directive.d.ts +1 -1
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +3 -3
- package/lib/action/directive/state/action.disabled.directive.d.ts +1 -1
- package/lib/action/directive/state/action.enforce.modified.directive.d.ts +3 -2
- package/lib/action/directive/state/action.success.directive.d.ts +9 -17
- package/lib/action/directive/state/action.success.handler.directive.d.ts +24 -0
- package/lib/action/directive/state/action.value.directive.d.ts +5 -5
- package/lib/action/directive/state/action.value.stream.directive.d.ts +2 -2
- package/lib/action/directive/state/action.value.trigger.directive.d.ts +34 -0
- package/lib/action/directive/state/action.value.trigger.instance.d.ts +34 -0
- package/lib/action/directive/state/action.working.component.d.ts +11 -5
- package/lib/action/directive/state/index.d.ts +3 -1
- package/lib/auth/auth.module.d.ts +8 -0
- package/lib/auth/auth.role.any.directive.d.ts +20 -0
- package/lib/auth/auth.role.has.directive.d.ts +20 -0
- package/lib/auth/auth.state.module.d.ts +8 -0
- package/lib/auth/auth.state.service.d.ts +13 -0
- package/lib/auth/auth.user.d.ts +28 -0
- package/lib/auth/index.d.ts +9 -0
- package/lib/auth/router/auth.router.d.ts +10 -0
- package/lib/auth/router/auth.router.module.d.ts +9 -0
- package/lib/auth/router/auth.router.service.d.ts +38 -0
- package/lib/auth/router/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/auth.hook.d.ts +18 -0
- package/lib/auth/router/provider/uirouter/hook.d.ts +46 -0
- package/lib/auth/router/provider/uirouter/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/redirect.d.ts +9 -0
- package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -0
- package/lib/auth/router/provider/uirouter/state.hook.d.ts +31 -0
- package/lib/auth/router/state/auth.router.state.module.d.ts +14 -0
- package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +32 -0
- package/lib/auth/router/state/effect/index.d.ts +1 -0
- package/lib/auth/router/state/index.d.ts +2 -0
- package/lib/auth/service/auth.service.d.ts +46 -0
- package/lib/auth/service/auth.service.rxjs.d.ts +18 -0
- package/lib/auth/service/index.d.ts +2 -0
- package/lib/auth/state/action/auth.action.d.ts +12 -0
- package/lib/auth/state/action/index.d.ts +11 -0
- package/lib/auth/state/action/user.action.d.ts +34 -0
- package/lib/auth/state/effect/auth.effect.d.ts +31 -0
- package/lib/auth/state/index.d.ts +12 -0
- package/lib/auth/state/reducer/index.d.ts +29 -0
- package/lib/auth/state/reducer/user.reducer.d.ts +11 -0
- package/lib/auth/state/state.d.ts +5 -0
- package/lib/button/button.d.ts +3 -3
- package/lib/button/router/button.segue.directive.d.ts +1 -0
- package/lib/context/context.d.ts +39 -0
- package/lib/context/context.directive.d.ts +19 -0
- package/lib/context/context.module.d.ts +8 -0
- package/lib/context/context.service.d.ts +16 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/state/action/data.action.d.ts +13 -0
- package/lib/context/state/action/index.d.ts +6 -0
- package/lib/context/state/effect/index.d.ts +39 -0
- package/lib/context/state/index.d.ts +12 -0
- package/lib/context/state/reducer/data.reducer.d.ts +13 -0
- package/lib/context/state/reducer/index.d.ts +34 -0
- package/lib/context/state/state.d.ts +9 -0
- package/lib/filter/filter.abstract.source.directive.d.ts +2 -2
- package/lib/index.d.ts +5 -1
- package/lib/injection/index.d.ts +8 -0
- package/lib/injection/injection.component.d.ts +15 -0
- package/lib/injection/injection.component.module.d.ts +9 -0
- package/lib/injection/injection.context.d.ts +39 -0
- package/lib/injection/injection.context.directive.d.ts +25 -0
- package/lib/injection/injection.context.forward.directive.d.ts +16 -0
- package/lib/{injected/injected.d.ts → injection/injection.d.ts} +4 -4
- package/lib/injection/injection.directive.d.ts +19 -0
- package/lib/{injected/injected.instance.d.ts → injection/injection.instance.d.ts} +8 -8
- package/lib/ngrx/index.d.ts +1 -0
- package/lib/ngrx/store.lockset.d.ts +36 -0
- package/lib/pipe/index.d.ts +2 -0
- package/lib/pipe/misc/index.d.ts +2 -0
- package/lib/pipe/misc/misc.pipe.module.d.ts +7 -0
- package/lib/pipe/misc/prettyjson.pipe.d.ts +9 -0
- package/lib/pipe/pipe.module.d.ts +8 -0
- package/lib/router/anchor/anchor.d.ts +5 -1
- package/lib/router/anchor/anchor.directive.d.ts +10 -2
- package/lib/router/router/provider/angular/angular.router.service.d.ts +7 -5
- package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +11 -5
- package/lib/router/router/service/index.d.ts +1 -0
- package/lib/router/router/service/router.go.d.ts +14 -0
- package/lib/router/router/service/router.service.d.ts +10 -4
- package/lib/router/router/transition/transition.directive.d.ts +2 -2
- package/lib/router/router/transition/transition.watcher.directive.d.ts +1 -1
- package/lib/router/segue.d.ts +10 -3
- package/lib/util/view.d.ts +12 -0
- package/lib/view/if.directive.d.ts +19 -0
- package/lib/view/index.d.ts +1 -0
- package/package.json +7 -19
- package/esm2020/lib/action/directive/state/action.success.component.mjs +0 -50
- package/esm2020/lib/injected/index.mjs +0 -6
- package/esm2020/lib/injected/injected.component.mjs +0 -34
- package/esm2020/lib/injected/injected.component.module.mjs +0 -26
- package/esm2020/lib/injected/injected.directive.mjs +0 -33
- package/esm2020/lib/injected/injected.instance.mjs +0 -116
- package/esm2020/lib/injected/injected.mjs +0 -16
- package/lib/action/directive/state/action.success.component.d.ts +0 -15
- package/lib/injected/index.d.ts +0 -5
- package/lib/injected/injected.component.d.ts +0 -15
- package/lib/injected/injected.component.module.d.ts +0 -8
- package/lib/injected/injected.directive.d.ts +0 -19
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { first, of, switchMap } from 'rxjs';
|
|
2
|
+
import { getValueFromGetter, isGetter } from "@dereekb/util";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a AuthTransitionRedirectTargetGetter that can redirect values based on the current authUserState.
|
|
5
|
+
*
|
|
6
|
+
* @param stateMap
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function redirectBasedOnAuthUserState(stateMap) {
|
|
10
|
+
return (input) => {
|
|
11
|
+
return input.authService.authUserState$.pipe(first(), switchMap((authUserState) => {
|
|
12
|
+
const getter = stateMap[authUserState];
|
|
13
|
+
let result;
|
|
14
|
+
if (getter) {
|
|
15
|
+
if (isGetter(getter)) {
|
|
16
|
+
result = getValueFromGetter(getter, input);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
result = of(getter);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (!result) {
|
|
23
|
+
result = of(undefined);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}));
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL3Byb3ZpZGVyL3Vpcm91dGVyL3JlZGlyZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUsvRTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxRQUF5RDtJQUNwRyxPQUFPLENBQUMsS0FBd0MsRUFBRSxFQUFFO1FBQ2xELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMxQyxLQUFLLEVBQUUsRUFDUCxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksTUFBbUMsQ0FBQztZQUV4QyxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDcEIsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDNUM7cUJBQU07b0JBQ0wsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUF5QixDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7WUFFRCxJQUFJLENBQUMsTUFBTyxFQUFFO2dCQUNaLE1BQU0sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEI7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0LCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRWYWx1ZUZyb21HZXR0ZXIsIGlzR2V0dGVyLCBNYXliZSwgT2JqZWN0TWFwIH0gZnJvbSBcIkBkZXJlZWtiL3V0aWxcIjtcbmltcG9ydCB7IEF1dGhUcmFuc2l0aW9uRGVjaXNpb25HZXR0ZXJJbnB1dCwgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldEdldHRlciwgQXV0aFRyYW5zaXRpb25SZWRpcmVjdFRhcmdldE9yR2V0dGVyIH0gZnJvbSBcIi4vaG9va1wiO1xuaW1wb3J0IHsgU2VndWVSZWYgfSBmcm9tICcuLi8uLi8uLi8uLi9yb3V0ZXIvc2VndWUnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2F1dGgudXNlcic7XG5cbi8qKlxuICogQ3JlYXRlcyBhIEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRHZXR0ZXIgdGhhdCBjYW4gcmVkaXJlY3QgdmFsdWVzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGF1dGhVc2VyU3RhdGUuXG4gKiBcbiAqIEBwYXJhbSBzdGF0ZU1hcCBcbiAqIEByZXR1cm5zIFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVkaXJlY3RCYXNlZE9uQXV0aFVzZXJTdGF0ZShzdGF0ZU1hcDogT2JqZWN0TWFwPEF1dGhUcmFuc2l0aW9uUmVkaXJlY3RUYXJnZXRPckdldHRlcj4pOiBBdXRoVHJhbnNpdGlvblJlZGlyZWN0VGFyZ2V0R2V0dGVyIHtcbiAgcmV0dXJuIChpbnB1dDogQXV0aFRyYW5zaXRpb25EZWNpc2lvbkdldHRlcklucHV0KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LmF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKChhdXRoVXNlclN0YXRlOiBBdXRoVXNlclN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IGdldHRlciA9IHN0YXRlTWFwW2F1dGhVc2VyU3RhdGVdO1xuICAgICAgICBsZXQgcmVzdWx0OiBPYnNlcnZhYmxlPE1heWJlPFNlZ3VlUmVmPj47XG5cbiAgICAgICAgaWYgKGdldHRlcikge1xuICAgICAgICAgIGlmIChpc0dldHRlcihnZXR0ZXIpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBnZXRWYWx1ZUZyb21HZXR0ZXIoZ2V0dGVyLCBpbnB1dCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG9mKGdldHRlciBhcyBNYXliZTxTZWd1ZVJlZj4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVzdWx0ISkge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { map } from 'rxjs';
|
|
2
|
+
import { setIncludesFunction } from '@dereekb/util';
|
|
3
|
+
import { makeAuthTransitionHook } from './hook';
|
|
4
|
+
/**
|
|
5
|
+
* This hook redirects to the configured default state when a user:
|
|
6
|
+
*
|
|
7
|
+
* - does not have an allowed state
|
|
8
|
+
* - has a disallowed state
|
|
9
|
+
*/
|
|
10
|
+
export function enableHasAuthRoleHook(transitionService, config) {
|
|
11
|
+
// Matches if the destination state's data property has a truthy 'isSecure' property
|
|
12
|
+
const isSecureCriteria = {
|
|
13
|
+
entering: (state) => {
|
|
14
|
+
const data = state?.data;
|
|
15
|
+
const match = Boolean(data?.authRoles);
|
|
16
|
+
return match;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const assertHasAuthRole = makeAuthTransitionHook({
|
|
20
|
+
...config.options,
|
|
21
|
+
makeDecisionsObs(transition, authService) {
|
|
22
|
+
const targetState = transition.targetState();
|
|
23
|
+
const data = targetState.state().data;
|
|
24
|
+
const requiredRoles = new Set(data.authRoles);
|
|
25
|
+
const setIncludes = setIncludesFunction(requiredRoles, data.authRolesMode);
|
|
26
|
+
return authService.authUserState$.pipe(map(x => setIncludes(x)));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
// Register the "requires auth" hook with the TransitionsService
|
|
30
|
+
transitionService.onBefore(isSecureCriteria, assertHasAuthRole, { priority: 100 });
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9wcm92aWRlci91aXJvdXRlci9yb2xlLmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWtELG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BHLE9BQU8sRUFBOEUsc0JBQXNCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUF1QjVIOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLGlCQUFvQyxFQUFFLE1BQTZCO0lBRXZHLG9GQUFvRjtJQUNwRixNQUFNLGdCQUFnQixHQUFzQjtRQUMxQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsSUFBNEMsQ0FBQztZQUNqRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQUM7SUFFRixNQUFNLGlCQUFpQixHQUFxQixzQkFBc0IsQ0FBQztRQUNqRSxHQUFHLE1BQU0sQ0FBQyxPQUFPO1FBQ2pCLGdCQUFnQixDQUFDLFVBQXNCLEVBQUUsV0FBMkI7WUFDbEUsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUF5QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzVELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRTNFLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6QixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILGdFQUFnRTtJQUNoRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoUm9sZSwgU2V0SW5jbHVkZXNNb2RlLCBBcnJheU9yVmFsdWUsIE1heWJlLCBzZXRJbmNsdWRlc0Z1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBUcmFuc2l0aW9uU2VydmljZSwgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va01hdGNoQ3JpdGVyaWEgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBEYnhBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhUcmFuc2l0aW9uRGVjaXNpb24sIEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnMsIEF1dGhUcmFuc2l0aW9uU3RhdGVEYXRhLCBtYWtlQXV0aFRyYW5zaXRpb25Ib29rIH0gZnJvbSAnLi9ob29rJztcblxuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoUm9sZUhvb2tDb25maWcge1xuICBvcHRpb25zOiBBdXRoVHJhbnNpdGlvbkhvb2tPcHRpb25zO1xufVxuXG4vKipcbiAqIFVJUm91dGVyIFN0YXRlIGRhdGEgd2l0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgaGFzQXV0aFJvbGVIb29rLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhhc0F1dGhSb2xlU3RhdGVEYXRhIGV4dGVuZHMgQXV0aFRyYW5zaXRpb25TdGF0ZURhdGEge1xuXG4gIC8qKlxuICAgKiBBdXRoIHJvbGVzIG1hcmtlZCBmb3IgdGhpcyBzdGF0ZVxuICAgKi9cbiAgYXV0aFJvbGVzOiBBcnJheU9yVmFsdWU8QXV0aFJvbGU+O1xuXG4gIC8qKlxuICAgKiBIb3cgdG8gdXNlIHRoZSBhYm92ZSBhdXRoIHJvbGVzLiBUaGlzIGRlZmF1bHRzIHRvICdhbGwnIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBhdXRoUm9sZXNNb2RlPzogU2V0SW5jbHVkZXNNb2RlO1xuXG59XG5cbi8qKlxuICogVGhpcyBob29rIHJlZGlyZWN0cyB0byB0aGUgY29uZmlndXJlZCBkZWZhdWx0IHN0YXRlIHdoZW4gYSB1c2VyOlxuICogXG4gKiAtIGRvZXMgbm90IGhhdmUgYW4gYWxsb3dlZCBzdGF0ZVxuICogLSBoYXMgYSBkaXNhbGxvd2VkIHN0YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVIYXNBdXRoUm9sZUhvb2sodHJhbnNpdGlvblNlcnZpY2U6IFRyYW5zaXRpb25TZXJ2aWNlLCBjb25maWc6IEhhc0F1dGhSb2xlSG9va0NvbmZpZyk6IHZvaWQge1xuXG4gIC8vIE1hdGNoZXMgaWYgdGhlIGRlc3RpbmF0aW9uIHN0YXRlJ3MgZGF0YSBwcm9wZXJ0eSBoYXMgYSB0cnV0aHkgJ2lzU2VjdXJlJyBwcm9wZXJ0eVxuICBjb25zdCBpc1NlY3VyZUNyaXRlcmlhOiBIb29rTWF0Y2hDcml0ZXJpYSA9IHtcbiAgICBlbnRlcmluZzogKHN0YXRlKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gc3RhdGU/LmRhdGEgYXMgTWF5YmU8UGFydGlhbDxIYXNBdXRoUm9sZVN0YXRlRGF0YT4+O1xuICAgICAgY29uc3QgbWF0Y2ggPSBCb29sZWFuKGRhdGE/LmF1dGhSb2xlcyk7XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGFzc2VydEhhc0F1dGhSb2xlOiBUcmFuc2l0aW9uSG9va0ZuID0gbWFrZUF1dGhUcmFuc2l0aW9uSG9vayh7XG4gICAgLi4uY29uZmlnLm9wdGlvbnMsXG4gICAgbWFrZURlY2lzaW9uc09icyh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uLCBhdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhUcmFuc2l0aW9uRGVjaXNpb24+IHtcbiAgICAgIGNvbnN0IHRhcmdldFN0YXRlID0gdHJhbnNpdGlvbi50YXJnZXRTdGF0ZSgpO1xuICAgICAgY29uc3QgZGF0YTogSGFzQXV0aFJvbGVTdGF0ZURhdGEgPSB0YXJnZXRTdGF0ZS5zdGF0ZSgpLmRhdGE7XG4gICAgICBjb25zdCByZXF1aXJlZFJvbGVzID0gbmV3IFNldDxBdXRoUm9sZT4oZGF0YS5hdXRoUm9sZXMpO1xuICAgICAgY29uc3Qgc2V0SW5jbHVkZXMgPSBzZXRJbmNsdWRlc0Z1bmN0aW9uKHJlcXVpcmVkUm9sZXMsIGRhdGEuYXV0aFJvbGVzTW9kZSk7XG5cbiAgICAgIHJldHVybiBhdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJC5waXBlKFxuICAgICAgICBtYXAoeCA9PiBzZXRJbmNsdWRlcyh4KSlcbiAgICAgICk7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlciB0aGUgXCJyZXF1aXJlcyBhdXRoXCIgaG9vayB3aXRoIHRoZSBUcmFuc2l0aW9uc1NlcnZpY2VcbiAgdHJhbnNpdGlvblNlcnZpY2Uub25CZWZvcmUoaXNTZWN1cmVDcml0ZXJpYSwgYXNzZXJ0SGFzQXV0aFJvbGUsIHsgcHJpb3JpdHk6IDEwMCB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { map } from 'rxjs';
|
|
2
|
+
import { isAllowed, maybeSet } from '@dereekb/util';
|
|
3
|
+
import { makeAuthTransitionHook } from './hook';
|
|
4
|
+
/**
|
|
5
|
+
* This hook redirects to the configured default state when a user:
|
|
6
|
+
*
|
|
7
|
+
* - does not have an allowed state
|
|
8
|
+
* - has a disallowed state
|
|
9
|
+
*/
|
|
10
|
+
export function enableHasAuthStateHook(transitionService, config) {
|
|
11
|
+
// Matches if the destination state's data property has a truthy 'isSecure' property
|
|
12
|
+
const isSecureCriteria = {
|
|
13
|
+
entering: (state) => {
|
|
14
|
+
const data = state?.data;
|
|
15
|
+
const match = Boolean(data?.authStates);
|
|
16
|
+
return match;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const assertHasAuthState = makeAuthTransitionHook({
|
|
20
|
+
...config.options,
|
|
21
|
+
makeDecisionsObs(transition, authService) {
|
|
22
|
+
const targetState = transition.targetState();
|
|
23
|
+
const data = targetState.state().data;
|
|
24
|
+
const config = toHasAuthStateObjectConfig(data.authStates);
|
|
25
|
+
const parsed = toParsedHasAuthStateConfig(config);
|
|
26
|
+
return authService.authUserState$.pipe(map(x => isAllowed(x, parsed)));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
// Register the "requires auth" hook with the TransitionsService
|
|
30
|
+
transitionService.onBefore(isSecureCriteria, assertHasAuthState, { priority: 100 });
|
|
31
|
+
}
|
|
32
|
+
// MARK: Utility
|
|
33
|
+
function toHasAuthStateObjectConfig(input) {
|
|
34
|
+
const isString = typeof input === 'string';
|
|
35
|
+
if ((Array.isArray(input) || isString)) {
|
|
36
|
+
if (isString) {
|
|
37
|
+
input = [input];
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
allowedStates: input
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return input;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function toParsedHasAuthStateConfig(input) {
|
|
48
|
+
return {
|
|
49
|
+
allowed: maybeSet(input.allowedStates),
|
|
50
|
+
disallowed: maybeSet(input.disallowedStates)
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYXV0aC9yb3V0ZXIvcHJvdmlkZXIvdWlyb3V0ZXIvc3RhdGUuaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBYyxTQUFTLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUlyRixPQUFPLEVBQXFELHNCQUFzQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBK0JuRzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxpQkFBb0MsRUFBRSxNQUE4QjtJQUV6RyxvRkFBb0Y7SUFDcEYsTUFBTSxnQkFBZ0IsR0FBc0I7UUFDMUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQXdDLENBQUM7WUFDN0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN4QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRixDQUFDO0lBRUYsTUFBTSxrQkFBa0IsR0FBcUIsc0JBQXNCLENBQUM7UUFDbEUsR0FBRyxNQUFNLENBQUMsT0FBTztRQUNqQixnQkFBZ0IsQ0FBQyxVQUFzQixFQUFFLFdBQTJCO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBcUIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQztZQUN4RCxNQUFNLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0QsTUFBTSxNQUFNLEdBQTZCLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTVFLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FDL0IsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxnRUFBZ0U7SUFDaEUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELGdCQUFnQjtBQUNoQixTQUFTLDBCQUEwQixDQUFDLEtBQXlCO0lBQzNELE1BQU0sUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUUzQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsRUFBRTtRQUN0QyxJQUFJLFFBQVEsRUFBRTtZQUNaLEtBQUssR0FBRyxDQUFDLEtBQXNCLENBQUMsQ0FBQztTQUNsQztRQUVELE9BQU87WUFDTCxhQUFhLEVBQUUsS0FBd0I7U0FDeEMsQ0FBQztLQUNIO1NBQU07UUFDTCxPQUFPLEtBQWlDLENBQUM7S0FDMUM7QUFDSCxDQUFDO0FBSUQsU0FBUywwQkFBMEIsQ0FBQyxLQUErQjtJQUNqRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3RDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0tBQzdDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbGxvd2VkU2V0LCBpc0FsbG93ZWQsIG1heWJlU2V0LCBBcnJheU9yVmFsdWUsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBUcmFuc2l0aW9uU2VydmljZSwgVHJhbnNpdGlvbkhvb2tGbiwgVHJhbnNpdGlvbiwgSG9va01hdGNoQ3JpdGVyaWEgfSBmcm9tICdAdWlyb3V0ZXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aC51c2VyJztcbmltcG9ydCB7IERieEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFRyYW5zaXRpb25EZWNpc2lvbiwgQXV0aFRyYW5zaXRpb25Ib29rT3B0aW9ucywgbWFrZUF1dGhUcmFuc2l0aW9uSG9vayB9IGZyb20gJy4vaG9vayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzQXV0aFN0YXRlSG9va0NvbmZpZyB7XG4gIG9wdGlvbnM6IEF1dGhUcmFuc2l0aW9uSG9va09wdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIEhhc0F1dGhTdGF0ZUNvbmZpZyA9IEFycmF5T3JWYWx1ZTxBdXRoVXNlclN0YXRlPiB8IEhhc0F1dGhTdGF0ZU9iamVjdENvbmZpZztcblxuZXhwb3J0IGludGVyZmFjZSBIYXNBdXRoU3RhdGVPYmplY3RDb25maWcge1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIHN0YXRlIG9yIGFueSBjaGlsZCBzdGF0ZSBpcyBjb25zaWRlcmVkIFwic2VjdXJlXCIsIHdoaWNoIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICovXG4gIGFsbG93ZWRTdGF0ZXM/OiBBcnJheU9yVmFsdWU8QXV0aFVzZXJTdGF0ZT47XG5cbiAgLyoqXG4gICAqIFN0YXRlcyB0aGF0IGFyZSBub3QgYWxsb3dlZC4gSWYgdGhlIGN1cnJlbnQgc3RhdGUgaXMgdGhpcyBzdGF0ZSwgYSByZWplY3Rpb24gaXMgcmV0dXJuZWQuXG4gICAqL1xuICBkaXNhbGxvd2VkU3RhdGVzPzogQXJyYXlPclZhbHVlPEF1dGhVc2VyU3RhdGU+O1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzQXV0aFN0YXRlRGF0YSB7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBoYXNBdXRoU3RhdGVIb29rLlxuICAgKi9cbiAgYXV0aFN0YXRlczogSGFzQXV0aFN0YXRlQ29uZmlnO1xuXG59XG5cbi8qKlxuICogVGhpcyBob29rIHJlZGlyZWN0cyB0byB0aGUgY29uZmlndXJlZCBkZWZhdWx0IHN0YXRlIHdoZW4gYSB1c2VyOlxuICogXG4gKiAtIGRvZXMgbm90IGhhdmUgYW4gYWxsb3dlZCBzdGF0ZVxuICogLSBoYXMgYSBkaXNhbGxvd2VkIHN0YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVIYXNBdXRoU3RhdGVIb29rKHRyYW5zaXRpb25TZXJ2aWNlOiBUcmFuc2l0aW9uU2VydmljZSwgY29uZmlnOiBIYXNBdXRoU3RhdGVIb29rQ29uZmlnKTogdm9pZCB7XG5cbiAgLy8gTWF0Y2hlcyBpZiB0aGUgZGVzdGluYXRpb24gc3RhdGUncyBkYXRhIHByb3BlcnR5IGhhcyBhIHRydXRoeSAnaXNTZWN1cmUnIHByb3BlcnR5XG4gIGNvbnN0IGlzU2VjdXJlQ3JpdGVyaWE6IEhvb2tNYXRjaENyaXRlcmlhID0ge1xuICAgIGVudGVyaW5nOiAoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBzdGF0ZT8uZGF0YSBhcyBNYXliZTxQYXJ0aWFsPEhhc0F1dGhTdGF0ZURhdGE+PjtcbiAgICAgIGNvbnN0IG1hdGNoID0gQm9vbGVhbihkYXRhPy5hdXRoU3RhdGVzKTtcbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYXNzZXJ0SGFzQXV0aFN0YXRlOiBUcmFuc2l0aW9uSG9va0ZuID0gbWFrZUF1dGhUcmFuc2l0aW9uSG9vayh7XG4gICAgLi4uY29uZmlnLm9wdGlvbnMsXG4gICAgbWFrZURlY2lzaW9uc09icyh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uLCBhdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhUcmFuc2l0aW9uRGVjaXNpb24+IHtcbiAgICAgIGNvbnN0IHRhcmdldFN0YXRlID0gdHJhbnNpdGlvbi50YXJnZXRTdGF0ZSgpO1xuICAgICAgY29uc3QgZGF0YTogSGFzQXV0aFN0YXRlRGF0YSA9IHRhcmdldFN0YXRlLnN0YXRlKCkuZGF0YTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRvSGFzQXV0aFN0YXRlT2JqZWN0Q29uZmlnKGRhdGEuYXV0aFN0YXRlcyk7XG4gICAgICBjb25zdCBwYXJzZWQ6IFBhcnNlZEhhc0F1dGhTdGF0ZUNvbmZpZyA9IHRvUGFyc2VkSGFzQXV0aFN0YXRlQ29uZmlnKGNvbmZpZyk7XG5cbiAgICAgIHJldHVybiBhdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJC5waXBlKFxuICAgICAgICBtYXAoeCA9PiBpc0FsbG93ZWQoeCwgcGFyc2VkKSlcbiAgICAgICk7XG4gICAgfVxuICB9KTtcblxuICAvLyBSZWdpc3RlciB0aGUgXCJyZXF1aXJlcyBhdXRoXCIgaG9vayB3aXRoIHRoZSBUcmFuc2l0aW9uc1NlcnZpY2VcbiAgdHJhbnNpdGlvblNlcnZpY2Uub25CZWZvcmUoaXNTZWN1cmVDcml0ZXJpYSwgYXNzZXJ0SGFzQXV0aFN0YXRlLCB7IHByaW9yaXR5OiAxMDAgfSk7XG59XG5cbi8vIE1BUks6IFV0aWxpdHlcbmZ1bmN0aW9uIHRvSGFzQXV0aFN0YXRlT2JqZWN0Q29uZmlnKGlucHV0OiBIYXNBdXRoU3RhdGVDb25maWcpOiBIYXNBdXRoU3RhdGVPYmplY3RDb25maWcge1xuICBjb25zdCBpc1N0cmluZyA9IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZyc7XG5cbiAgaWYgKChBcnJheS5pc0FycmF5KGlucHV0KSB8fCBpc1N0cmluZykpIHtcbiAgICBpZiAoaXNTdHJpbmcpIHtcbiAgICAgIGlucHV0ID0gW2lucHV0IGFzIEF1dGhVc2VyU3RhdGVdO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhbGxvd2VkU3RhdGVzOiBpbnB1dCBhcyBBdXRoVXNlclN0YXRlW11cbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBpbnB1dCBhcyBIYXNBdXRoU3RhdGVPYmplY3RDb25maWc7XG4gIH1cbn1cblxudHlwZSBQYXJzZWRIYXNBdXRoU3RhdGVDb25maWcgPSBBbGxvd2VkU2V0PEF1dGhVc2VyU3RhdGU+O1xuXG5mdW5jdGlvbiB0b1BhcnNlZEhhc0F1dGhTdGF0ZUNvbmZpZyhpbnB1dDogSGFzQXV0aFN0YXRlT2JqZWN0Q29uZmlnKTogUGFyc2VkSGFzQXV0aFN0YXRlQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkOiBtYXliZVNldChpbnB1dC5hbGxvd2VkU3RhdGVzKSxcbiAgICBkaXNhbGxvd2VkOiBtYXliZVNldChpbnB1dC5kaXNhbGxvd2VkU3RhdGVzKVxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { EffectsModule } from '@ngrx/effects';
|
|
3
|
+
import { DbxAppAuthRouterEffects, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN } from './effect/auth.router.state.effect';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngrx/effects";
|
|
6
|
+
export class DbxAppAuthRouterStateModule {
|
|
7
|
+
static forRoot(config) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: DbxAppAuthRouterStateModule,
|
|
10
|
+
providers: [{
|
|
11
|
+
provide: DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN,
|
|
12
|
+
useValue: config.activeRoutesToApplyEffects
|
|
13
|
+
}]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
DbxAppAuthRouterStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
DbxAppAuthRouterStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterStateModule, imports: [i1.EffectsFeatureModule] });
|
|
19
|
+
DbxAppAuthRouterStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterStateModule, imports: [[
|
|
20
|
+
EffectsModule.forFeature([DbxAppAuthRouterEffects])
|
|
21
|
+
]] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterStateModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [
|
|
26
|
+
EffectsModule.forFeature([DbxAppAuthRouterEffects])
|
|
27
|
+
],
|
|
28
|
+
declarations: [],
|
|
29
|
+
exports: []
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXIuc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9zdGF0ZS9hdXRoLnJvdXRlci5zdGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBYS9HLE1BQU0sT0FBTywyQkFBMkI7SUFFdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF5QztRQUN0RCxPQUFPO1lBQ0wsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsaUNBQWlDO29CQUMxQyxRQUFRLEVBQUUsTUFBTSxDQUFDLDBCQUEwQjtpQkFDNUMsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDOzt3SEFWVSwyQkFBMkI7eUhBQTNCLDJCQUEyQjt5SEFBM0IsMkJBQTJCLFlBTjdCO1lBQ1AsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDcEQ7MkZBSVUsMkJBQTJCO2tCQVB2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQztxQkFDcEQ7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFycmF5T3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgRGJ4QXBwQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dCc7XG5pbXBvcnQgeyBEYnhBcHBBdXRoUm91dGVyRWZmZWN0cywgREJYX0FQUF9BVVRIX1JPVVRFUl9FRkZFQ1RTX1RPS0VOIH0gZnJvbSAnLi9lZmZlY3QvYXV0aC5yb3V0ZXIuc3RhdGUuZWZmZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhBcHBBdXRoUm91dGVyU3RhdGVNb2R1bGVDb25maWcge1xuICByZWFkb25seSBhY3RpdmVSb3V0ZXNUb0FwcGx5RWZmZWN0czogQXJyYXlPclZhbHVlPERieEFwcENvbnRleHRTdGF0ZT47XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0RieEFwcEF1dGhSb3V0ZXJFZmZlY3RzXSlcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4QXBwQXV0aFJvdXRlclN0YXRlTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IERieEFwcEF1dGhSb3V0ZXJTdGF0ZU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4QXBwQXV0aFJvdXRlclN0YXRlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYnhBcHBBdXRoUm91dGVyU3RhdGVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IERCWF9BUFBfQVVUSF9ST1VURVJfRUZGRUNUU19UT0tFTixcbiAgICAgICAgdXNlVmFsdWU6IGNvbmZpZy5hY3RpdmVSb3V0ZXNUb0FwcGx5RWZmZWN0c1xuICAgICAgfV1cbiAgICB9O1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { exhaustMap } from 'rxjs';
|
|
2
|
+
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
3
|
+
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
4
|
+
import { Store } from '@ngrx/store';
|
|
5
|
+
import { DBX_KNOWN_APP_CONTEXT_STATES } from '../../../../context/context';
|
|
6
|
+
import { AbstractOnDbxAppContextStateEffects } from '../../../../context/state/effect';
|
|
7
|
+
import { onDbxAppAuth } from '../../../state';
|
|
8
|
+
import { DbxAppAuthRouterService } from '../../auth.router.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@ngrx/effects";
|
|
11
|
+
import * as i2 from "@ngrx/store";
|
|
12
|
+
import * as i3 from "../../auth.router.service";
|
|
13
|
+
/**
|
|
14
|
+
* Used by DbxAppAuthRouterEffects to configure the states that should be activve by default.
|
|
15
|
+
*/
|
|
16
|
+
export const DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN = new InjectionToken('DbxAppAuthRouterEffectsActiveStates');
|
|
17
|
+
/**
|
|
18
|
+
* Set of ngrx effects that handle navigation in the app when the auth changes in certain ways.
|
|
19
|
+
*
|
|
20
|
+
* Is configurable via the DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN to choose which states this effect is active or not. By default is equal to DBX_KNOWN_APP_CONTEXT_STATES.
|
|
21
|
+
*/
|
|
22
|
+
export class DbxAppAuthRouterEffects extends AbstractOnDbxAppContextStateEffects {
|
|
23
|
+
constructor(activeStates, actions$, store, dbxAppAuthRouterService) {
|
|
24
|
+
super(activeStates ?? DBX_KNOWN_APP_CONTEXT_STATES, actions$, store);
|
|
25
|
+
this.dbxAppAuthRouterService = dbxAppAuthRouterService;
|
|
26
|
+
/**
|
|
27
|
+
* Effect to redirect to the login when logout occurs.
|
|
28
|
+
*/
|
|
29
|
+
this.redirectToLoginOnLogout = createEffect(() => this.actions$.pipe(ofType(onDbxAppAuth.DbxAppAuthActions.loggedOut), exhaustMap(() => this.dbxAppAuthRouterService.goToLogin())), { dispatch: false });
|
|
30
|
+
/**
|
|
31
|
+
* Effect to redirect to the app when login occurs.
|
|
32
|
+
*/
|
|
33
|
+
this.redirectToOnboardOnLogIn = createEffect(() => this.actions$.pipe(ofType(onDbxAppAuth.DbxAppAuthActions.loggedIn), exhaustMap(() => this.dbxAppAuthRouterService.goToApp())), { dispatch: false });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DbxAppAuthRouterEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterEffects, deps: [{ token: DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, optional: true }, { token: i1.Actions }, { token: i2.Store }, { token: i3.DbxAppAuthRouterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
DbxAppAuthRouterEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterEffects });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthRouterEffects, decorators: [{
|
|
39
|
+
type: Injectable
|
|
40
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: [DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN]
|
|
43
|
+
}, {
|
|
44
|
+
type: Optional
|
|
45
|
+
}] }, { type: i1.Actions }, { type: i2.Store }, { type: i3.DbxAppAuthRouterService }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yb3V0ZXIuc3RhdGUuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3JvdXRlci9zdGF0ZS9lZmZlY3QvYXV0aC5yb3V0ZXIuc3RhdGUuZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQXNCLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkYsT0FBTyxFQUFrQixZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0FBRTNHOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUNBQXlEO0lBRXBHLFlBQ3lELFlBQXFELEVBQzVHLFFBQWlCLEVBQ2pCLEtBQWtDLEVBQ3pCLHVCQUFnRDtRQUN6RCxLQUFLLENBQUMsWUFBWSxJQUFJLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUQ1RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBSTNEOztXQUVHO1FBQ00sNEJBQXVCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN0RSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUNoRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQzNELEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUV4Qjs7V0FFRztRQUNNLDZCQUF3QixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUN6RCxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFoQnhCLENBQUM7O29IQVJVLHVCQUF1QixrQkFHeEIsaUNBQWlDO3dIQUhoQyx1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGhhdXN0TWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QXBwQ29udGV4dFN0YXRlLCBEQlhfS05PV05fQVBQX0NPTlRFWFRfU1RBVEVTIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29udGV4dC9jb250ZXh0JztcbmltcG9ydCB7IEFic3RyYWN0T25EYnhBcHBDb250ZXh0U3RhdGVFZmZlY3RzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29udGV4dC9zdGF0ZS9lZmZlY3QnO1xuaW1wb3J0IHsgZnJvbURieEFwcEF1dGgsIG9uRGJ4QXBwQXV0aCB9IGZyb20gJy4uLy4uLy4uL3N0YXRlJztcbmltcG9ydCB7IERieEFwcEF1dGhSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC5yb3V0ZXIuc2VydmljZSc7XG5cbi8qKlxuICogVXNlZCBieSBEYnhBcHBBdXRoUm91dGVyRWZmZWN0cyB0byBjb25maWd1cmUgdGhlIHN0YXRlcyB0aGF0IHNob3VsZCBiZSBhY3RpdnZlIGJ5IGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfQVBQX0FVVEhfUk9VVEVSX0VGRkVDVFNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEFwcEF1dGhSb3V0ZXJFZmZlY3RzQWN0aXZlU3RhdGVzJyk7XG5cbi8qKlxuICogU2V0IG9mIG5ncnggZWZmZWN0cyB0aGF0IGhhbmRsZSBuYXZpZ2F0aW9uIGluIHRoZSBhcHAgd2hlbiB0aGUgYXV0aCBjaGFuZ2VzIGluIGNlcnRhaW4gd2F5cy5cbiAqIFxuICogSXMgY29uZmlndXJhYmxlIHZpYSB0aGUgREJYX0FQUF9BVVRIX1JPVVRFUl9FRkZFQ1RTX1RPS0VOIHRvIGNob29zZSB3aGljaCBzdGF0ZXMgdGhpcyBlZmZlY3QgaXMgYWN0aXZlIG9yIG5vdC4gQnkgZGVmYXVsdCBpcyBlcXVhbCB0byBEQlhfS05PV05fQVBQX0NPTlRFWFRfU1RBVEVTLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4QXBwQXV0aFJvdXRlckVmZmVjdHMgZXh0ZW5kcyBBYnN0cmFjdE9uRGJ4QXBwQ29udGV4dFN0YXRlRWZmZWN0czxmcm9tRGJ4QXBwQXV0aC5TdGF0ZT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREJYX0FQUF9BVVRIX1JPVVRFUl9FRkZFQ1RTX1RPS0VOKSBAT3B0aW9uYWwoKSBhY3RpdmVTdGF0ZXM6IE1heWJlPEFycmF5T3JWYWx1ZTxEYnhBcHBDb250ZXh0U3RhdGU+PixcbiAgICBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBzdG9yZTogU3RvcmU8ZnJvbURieEFwcEF1dGguU3RhdGU+LFxuICAgIHJlYWRvbmx5IGRieEFwcEF1dGhSb3V0ZXJTZXJ2aWNlOiBEYnhBcHBBdXRoUm91dGVyU2VydmljZSkge1xuICAgIHN1cGVyKGFjdGl2ZVN0YXRlcyA/PyBEQlhfS05PV05fQVBQX0NPTlRFWFRfU1RBVEVTLCBhY3Rpb25zJCwgc3RvcmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0byByZWRpcmVjdCB0byB0aGUgbG9naW4gd2hlbiBsb2dvdXQgb2NjdXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkaXJlY3RUb0xvZ2luT25Mb2dvdXQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShvbkRieEFwcEF1dGguRGJ4QXBwQXV0aEFjdGlvbnMubG9nZ2VkT3V0KSxcbiAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuZGJ4QXBwQXV0aFJvdXRlclNlcnZpY2UuZ29Ub0xvZ2luKCkpXG4gICksIHsgZGlzcGF0Y2g6IGZhbHNlIH0pO1xuXG4gIC8qKlxuICAgKiBFZmZlY3QgdG8gcmVkaXJlY3QgdG8gdGhlIGFwcCB3aGVuIGxvZ2luIG9jY3Vycy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0VG9PbmJvYXJkT25Mb2dJbiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoQWN0aW9ucy5sb2dnZWRJbiksXG4gICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmRieEFwcEF1dGhSb3V0ZXJTZXJ2aWNlLmdvVG9BcHAoKSlcbiAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './auth.router.state.effect';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL3N0YXRlL2VmZmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLnJvdXRlci5zdGF0ZS5lZmZlY3QnO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './auth.router.state.module';
|
|
2
|
+
export * from './effect';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvcm91dGVyL3N0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgucm91dGVyLnN0YXRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2VmZmVjdCc7XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client auth service used to retrieve info about the current state of client authentication and client roles they may have.
|
|
3
|
+
*/
|
|
4
|
+
export class DbxAuthService {
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2UvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixjQUFjO0NBZ0RuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF1dGhSb2xlU2V0IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBdXRoVXNlcklkZW50aWZpZXIsIEF1dGhVc2VyU3RhdGUgfSBmcm9tICcuLi9hdXRoLnVzZXInO1xuXG4vKipcbiAqIENsaWVudCBhdXRoIHNlcnZpY2UgdXNlZCB0byByZXRyaWV2ZSBpbmZvIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIGNsaWVudCBhdXRoZW50aWNhdGlvbiBhbmQgY2xpZW50IHJvbGVzIHRoZXkgbWF5IGhhdmUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhBdXRoU2VydmljZSB7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4gXG4gICAqIFxuICAgKiBUaGlzIHdpbGwgb25seSBlbWl0IG9uY2UgdGhlIGF1dGhlbnRpY2F0aW9uIGhhcyBiZWVuIGRldGVybWluZWQsIHByZXZlbnRpbmcgaXNzdWVzIHdpdGggcHJlbWF0dXJlIGRlY2lzaW9uIG1ha2luZy5cbiAgICogXG4gICAqIEEgdXNlciBpcyBjb25zaWRlcmVkIGxvZ2dlZCBpbiBldmVuIGlmIHRoZXJlIGlzIGFuIGFub255bW91cyB1c2VyLiBGb3IgbW9yZSBkZXRhaWxlZCBpbmZvLCBjb25zaWRlciB1c2luZyBhdXRoVXNlclN0YXRlJC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciBoYXMgZmluaXNoZWQgb25ib2FyZGluZy5cbiAgICogXG4gICAqIFRoaXMgd2lsbCBvbmx5IGVtaXQgb25jZSB0aGUgb25ib2FyZGluZyBzdGF0dXMgaGFzIGJlZW4gZGV0ZXJtaW5lZCwgcHJldmVudGluZyBpc3N1ZXMgd2l0aCBwcmVtYXR1cmUgZGVjaXNpb24gbWFraW5nLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNPbmJvYXJkZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCBldmVyeSB0aW1lIHRoZSB1c2VyIGxvZ3MgaW4uXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgZXZlcnkgdGltZSB0aGUgdXNlciBsb2dzIG91dC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogQ3VycmVudCBzdGF0ZSBvZiB0aGUgdXNlci5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGF1dGhVc2VyU3RhdGUkOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4gIC8qKlxuICAgKiBSb2xlIHNldCBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGF1dGhSb2xlcyQ6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+O1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgY3VycmVudCB1c2VyLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgdXNlcklkZW50aWZpZXIkOiBPYnNlcnZhYmxlPEF1dGhVc2VySWRlbnRpZmllcj47XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIHRoZSBsb2dvdXQgYWN0aW9uLlxuICAgKi9cbiAgYWJzdHJhY3QgbG9nT3V0KCk6IFByb21pc2U8dm9pZD47XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom } from '@dereekb/rxjs';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Convenience operator that emits events when the input observable goes from false to true.
|
|
5
|
+
*
|
|
6
|
+
* @param isLoggedInObs
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function loggedInObsFromIsLoggedIn(isLoggedInObs) {
|
|
10
|
+
return isLoggedInObs.pipe(onFalseToTrue(), map(_ => undefined));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Convenience operator that emits events when the input observable goes from true to false.
|
|
14
|
+
*
|
|
15
|
+
* @param isLoggedInObs
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export function loggedOutObsFromIsLoggedIn(isLoggedInObs) {
|
|
19
|
+
return isLoggedInObs.pipe(onTrueToFalse(), map(_ => undefined));
|
|
20
|
+
}
|
|
21
|
+
export function authRolesSetContainsAllRolesFrom(roles) {
|
|
22
|
+
return setContainsAllValuesFrom(roles);
|
|
23
|
+
}
|
|
24
|
+
export function authRolesSetContainsAnyRoleFrom(roles) {
|
|
25
|
+
return setContainsAllValuesFrom(roles);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLnJ4anMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc2VydmljZS9hdXRoLnNlcnZpY2Uucnhqcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsR0FBRyxFQUFnQyxNQUFNLE1BQU0sQ0FBQztBQUV6RDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxhQUFrQztJQUMxRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBQ0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsYUFBa0M7SUFDM0UsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUE0QztJQUMzRixPQUFPLHdCQUF3QixDQUFXLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsS0FBNEM7SUFDMUYsT0FBTyx3QkFBd0IsQ0FBVyxLQUFLLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aFJvbGUsIEF1dGhSb2xlU2V0LCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgb25GYWxzZVRvVHJ1ZSwgb25UcnVlVG9GYWxzZSwgc2V0Q29udGFpbnNBbGxWYWx1ZXNGcm9tIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBvcGVyYXRvciB0aGF0IGVtaXRzIGV2ZW50cyB3aGVuIHRoZSBpbnB1dCBvYnNlcnZhYmxlIGdvZXMgZnJvbSBmYWxzZSB0byB0cnVlLlxuICogXG4gKiBAcGFyYW0gaXNMb2dnZWRJbk9icyBcbiAqIEByZXR1cm5zIFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VkSW5PYnNGcm9tSXNMb2dnZWRJbihpc0xvZ2dlZEluT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiBpc0xvZ2dlZEluT2JzLnBpcGUob25GYWxzZVRvVHJ1ZSgpLCBtYXAoXyA9PiB1bmRlZmluZWQpKTtcbn1cbi8qKlxuICogQ29udmVuaWVuY2Ugb3BlcmF0b3IgdGhhdCBlbWl0cyBldmVudHMgd2hlbiB0aGUgaW5wdXQgb2JzZXJ2YWJsZSBnb2VzIGZyb20gdHJ1ZSB0byBmYWxzZS5cbiAqIFxuICogQHBhcmFtIGlzTG9nZ2VkSW5PYnMgXG4gKiBAcmV0dXJucyBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKGlzTG9nZ2VkSW5PYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgcmV0dXJuIGlzTG9nZ2VkSW5PYnMucGlwZShvblRydWVUb0ZhbHNlKCksIG1hcChfID0+IHVuZGVmaW5lZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXV0aFJvbGVzU2V0Q29udGFpbnNBbGxSb2xlc0Zyb20ocm9sZXM6IE9ic2VydmFibGU8TWF5YmU8SXRlcmFibGU8QXV0aFJvbGU+Pj4pOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiB7XG4gIHJldHVybiBzZXRDb250YWluc0FsbFZhbHVlc0Zyb208QXV0aFJvbGU+KHJvbGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1dGhSb2xlc1NldENvbnRhaW5zQW55Um9sZUZyb20ocm9sZXM6IE9ic2VydmFibGU8TWF5YmU8SXRlcmFibGU8QXV0aFJvbGU+Pj4pOiBPcGVyYXRvckZ1bmN0aW9uPEF1dGhSb2xlU2V0LCBib29sZWFuPiB7XG4gIHJldHVybiBzZXRDb250YWluc0FsbFZhbHVlc0Zyb208QXV0aFJvbGU+KHJvbGVzKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './auth.service.rxjs';
|
|
2
|
+
export * from './auth.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZS5yeGpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createAction } from '@ngrx/store';
|
|
2
|
+
/**
|
|
3
|
+
* Action for when the user has logged in.
|
|
4
|
+
*/
|
|
5
|
+
export const loggedIn = createAction('[App/Auth] Auth Logged In');
|
|
6
|
+
/**
|
|
7
|
+
* Action for when the user has logged out.
|
|
8
|
+
*/
|
|
9
|
+
export const loggedOut = createAction('[App/Auth] Auth Logged Out');
|
|
10
|
+
/**
|
|
11
|
+
* Action to log the user out.
|
|
12
|
+
*/
|
|
13
|
+
export const logout = createAction('[App/Auth] Auth Logout');
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvYWN0aW9uL2F1dGguYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFbEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFcEU7O0dBRUc7QUFDRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbi8qKlxuICogQWN0aW9uIGZvciB3aGVuIHRoZSB1c2VyIGhhcyBsb2dnZWQgaW4uXG4gKi9cbmV4cG9ydCBjb25zdCBsb2dnZWRJbiA9IGNyZWF0ZUFjdGlvbignW0FwcC9BdXRoXSBBdXRoIExvZ2dlZCBJbicpO1xuXG4vKipcbiAqIEFjdGlvbiBmb3Igd2hlbiB0aGUgdXNlciBoYXMgbG9nZ2VkIG91dC5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ2dlZE91dCA9IGNyZWF0ZUFjdGlvbignW0FwcC9BdXRoXSBBdXRoIExvZ2dlZCBPdXQnKTtcblxuLyoqXG4gKiBBY3Rpb24gdG8gbG9nIHRoZSB1c2VyIG91dC5cbiAqL1xuIGV4cG9ydCBjb25zdCBsb2dvdXQgPSBjcmVhdGVBY3Rpb24oJ1tBcHAvQXV0aF0gQXV0aCBMb2dvdXQnKTtcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as DbxAppAuthActions from './auth.action';
|
|
2
|
+
import * as DbxAppAuthUserActions from './user.action';
|
|
3
|
+
export {
|
|
4
|
+
/**
|
|
5
|
+
* Actions related to the auth state.
|
|
6
|
+
*/
|
|
7
|
+
DbxAppAuthActions,
|
|
8
|
+
/**
|
|
9
|
+
* Actions related to the user.
|
|
10
|
+
*/
|
|
11
|
+
DbxAppAuthUserActions };
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxLQUFLLHFCQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPO0FBQ0w7O0dBRUc7QUFDSCxpQkFBaUI7QUFDakI7O0dBRUc7QUFDSCxxQkFBcUIsRUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIERieEFwcEF1dGhBY3Rpb25zIGZyb20gJy4vYXV0aC5hY3Rpb24nO1xuaW1wb3J0ICogYXMgRGJ4QXBwQXV0aFVzZXJBY3Rpb25zIGZyb20gJy4vdXNlci5hY3Rpb24nO1xuXG5leHBvcnQge1xuICAvKipcbiAgICogQWN0aW9ucyByZWxhdGVkIHRvIHRoZSBhdXRoIHN0YXRlLlxuICAgKi9cbiAgRGJ4QXBwQXV0aEFjdGlvbnMsXG4gIC8qKlxuICAgKiBBY3Rpb25zIHJlbGF0ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBEYnhBcHBBdXRoVXNlckFjdGlvbnNcbn07XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createAction, props } from '@ngrx/store';
|
|
2
|
+
/**
|
|
3
|
+
* Sets the user's identifier in the auth.
|
|
4
|
+
*/
|
|
5
|
+
export const setUserIdentifier = createAction('[App/Auth] Set User Identifier', props());
|
|
6
|
+
/**
|
|
7
|
+
* Sets the user's state in the auth.
|
|
8
|
+
*/
|
|
9
|
+
export const setUserState = createAction('[App/Auth] Set User State', props());
|
|
10
|
+
/**
|
|
11
|
+
* Sets the user's roles in the auth.
|
|
12
|
+
*/
|
|
13
|
+
export const setUserRoles = createAction('[App/Auth] Set User Roles', props());
|
|
14
|
+
/**
|
|
15
|
+
* Sets the user's onboarding state.
|
|
16
|
+
*/
|
|
17
|
+
export const setUserIsOnboarded = createAction('[App/Auth] Set User Is Onboarded', props());
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvYWN0aW9uL3VzZXIuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSWxEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLGdDQUFnQyxFQUM1RSxLQUFLLEVBQThCLENBQ3BDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsMkJBQTJCLEVBQ2xFLEtBQUssRUFBNEIsQ0FDbEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQywyQkFBMkIsRUFDbEUsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQy9FLEtBQUssRUFBNEIsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdXRoUm9sZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQXV0aFVzZXJJZGVudGlmaWVyLCBBdXRoVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vYXV0aC51c2VyJztcblxuLyoqXG4gKiBTZXRzIHRoZSB1c2VyJ3MgaWRlbnRpZmllciBpbiB0aGUgYXV0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldFVzZXJJZGVudGlmaWVyID0gY3JlYXRlQWN0aW9uKCdbQXBwL0F1dGhdIFNldCBVc2VyIElkZW50aWZpZXInLFxuICBwcm9wczx7IGlkOiBBdXRoVXNlcklkZW50aWZpZXIgfT4oKVxuKTtcblxuLyoqXG4gKiBTZXRzIHRoZSB1c2VyJ3Mgc3RhdGUgaW4gdGhlIGF1dGguXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRVc2VyU3RhdGUgPSBjcmVhdGVBY3Rpb24oJ1tBcHAvQXV0aF0gU2V0IFVzZXIgU3RhdGUnLFxuICBwcm9wczx7IHN0YXRlOiBBdXRoVXNlclN0YXRlIH0+KClcbik7XG5cbi8qKlxuICogU2V0cyB0aGUgdXNlcidzIHJvbGVzIGluIHRoZSBhdXRoLlxuICovXG5leHBvcnQgY29uc3Qgc2V0VXNlclJvbGVzID0gY3JlYXRlQWN0aW9uKCdbQXBwL0F1dGhdIFNldCBVc2VyIFJvbGVzJyxcbiAgcHJvcHM8eyByb2xlczogQXV0aFJvbGVbXSB9PigpXG4pO1xuXG4vKipcbiAqIFNldHMgdGhlIHVzZXIncyBvbmJvYXJkaW5nIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3Qgc2V0VXNlcklzT25ib2FyZGVkID0gY3JlYXRlQWN0aW9uKCdbQXBwL0F1dGhdIFNldCBVc2VyIElzIE9uYm9hcmRlZCcsXG4gIHByb3BzPHsgaXNPbmJvYXJkZWQ6IGJvb2xlYW4gfT4oKVxuKTtcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { DbxAuthService } from '../../service';
|
|
5
|
+
import { onDbxAppAuth } from '../';
|
|
6
|
+
import { map, tap } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngrx/effects";
|
|
9
|
+
import * as i2 from "@ngrx/store";
|
|
10
|
+
import * as i3 from "../../service";
|
|
11
|
+
/**
|
|
12
|
+
* Set of ngrx effects that repeat events from DbxAuthService.
|
|
13
|
+
*/
|
|
14
|
+
export class DbxAppAuthEffects {
|
|
15
|
+
constructor(actions$, store, dbxAuthService) {
|
|
16
|
+
this.actions$ = actions$;
|
|
17
|
+
this.store = store;
|
|
18
|
+
this.dbxAuthService = dbxAuthService;
|
|
19
|
+
// MARK: Auth
|
|
20
|
+
this.emitLoggedIn = createEffect(() => this.dbxAuthService.onLogIn$
|
|
21
|
+
.pipe(map(() => onDbxAppAuth.DbxAppAuthActions.loggedIn())));
|
|
22
|
+
this.emitLoggedOut = createEffect(() => this.dbxAuthService.onLogOut$
|
|
23
|
+
.pipe(map(() => onDbxAppAuth.DbxAppAuthActions.loggedOut())));
|
|
24
|
+
this.forwardLogoutToAuthService = createEffect(() => this.actions$.pipe(ofType(onDbxAppAuth.DbxAppAuthActions.logout), tap(() => {
|
|
25
|
+
// Perform the logout
|
|
26
|
+
this.dbxAuthService.logOut();
|
|
27
|
+
})), { dispatch: false });
|
|
28
|
+
// MARK: Auth
|
|
29
|
+
this.setUserIdentifier = createEffect(() => this.dbxAuthService.userIdentifier$
|
|
30
|
+
.pipe(map((id) => onDbxAppAuth.DbxAppAuthUserActions.setUserIdentifier({ id }))));
|
|
31
|
+
this.setUserState = createEffect(() => this.dbxAuthService.authUserState$
|
|
32
|
+
.pipe(map((state) => onDbxAppAuth.DbxAppAuthUserActions.setUserState({ state }))));
|
|
33
|
+
this.setUserRoles = createEffect(() => this.dbxAuthService.authRoles$
|
|
34
|
+
.pipe(map((roles) => onDbxAppAuth.DbxAppAuthUserActions.setUserRoles({ roles: Array.from(roles ?? []) }))));
|
|
35
|
+
this.setUserIsOnboarded = createEffect(() => this.dbxAuthService.isOnboarded$
|
|
36
|
+
.pipe(map((isOnboarded) => onDbxAppAuth.DbxAppAuthUserActions.setUserIsOnboarded({ isOnboarded }))));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
DbxAppAuthEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthEffects, deps: [{ token: i1.Actions }, { token: i2.Store }, { token: i3.DbxAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
DbxAppAuthEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthEffects });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAppAuthEffects, decorators: [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.Store }, { type: i3.DbxAuthService }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvZWZmZWN0L2F1dGguZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUdoQzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFBNkIsUUFBaUIsRUFBbUIsS0FBa0MsRUFBbUIsY0FBOEI7UUFBdkgsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFtQixVQUFLLEdBQUwsS0FBSyxDQUE2QjtRQUFtQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFcEosYUFBYTtRQUNKLGlCQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTthQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RCxrQkFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVM7YUFDdEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkQsK0JBQTBCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN6RSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUM3QyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBRVAscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFL0IsQ0FBQyxDQUFDLENBQ0gsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLGFBQWE7UUFDSixzQkFBaUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0UsaUJBQVksR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjO2FBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVFLGlCQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVTthQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRyx1QkFBa0IsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZO2FBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUE5QmlELENBQUM7OzhHQUY5SSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcbmltcG9ydCB7IG9uRGJ4QXBwQXV0aCB9IGZyb20gJy4uLyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgZnJvbURieEFwcEF1dGggZnJvbSAnLi4vcmVkdWNlcic7XG5cbi8qKlxuICogU2V0IG9mIG5ncnggZWZmZWN0cyB0aGF0IHJlcGVhdCBldmVudHMgZnJvbSBEYnhBdXRoU2VydmljZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEFwcEF1dGhFZmZlY3RzIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxmcm9tRGJ4QXBwQXV0aC5TdGF0ZT4sIHByaXZhdGUgcmVhZG9ubHkgZGJ4QXV0aFNlcnZpY2U6IERieEF1dGhTZXJ2aWNlKSB7IH1cblxuICAvLyBNQVJLOiBBdXRoXG4gIHJlYWRvbmx5IGVtaXRMb2dnZWRJbiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmRieEF1dGhTZXJ2aWNlLm9uTG9nSW4kXG4gICAgLnBpcGUobWFwKCgpID0+IG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoQWN0aW9ucy5sb2dnZWRJbigpKSkpO1xuXG4gIHJlYWRvbmx5IGVtaXRMb2dnZWRPdXQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5kYnhBdXRoU2VydmljZS5vbkxvZ091dCRcbiAgICAucGlwZShtYXAoKCkgPT4gb25EYnhBcHBBdXRoLkRieEFwcEF1dGhBY3Rpb25zLmxvZ2dlZE91dCgpKSkpO1xuXG4gIHJlYWRvbmx5IGZvcndhcmRMb2dvdXRUb0F1dGhTZXJ2aWNlID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUob25EYnhBcHBBdXRoLkRieEFwcEF1dGhBY3Rpb25zLmxvZ291dCksXG4gICAgdGFwKCgpID0+IHtcblxuICAgICAgLy8gUGVyZm9ybSB0aGUgbG9nb3V0XG4gICAgICB0aGlzLmRieEF1dGhTZXJ2aWNlLmxvZ091dCgpO1xuXG4gICAgfSlcbiAgKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XG5cbiAgLy8gTUFSSzogQXV0aFxuICByZWFkb25seSBzZXRVc2VySWRlbnRpZmllciA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmRieEF1dGhTZXJ2aWNlLnVzZXJJZGVudGlmaWVyJFxuICAgIC5waXBlKG1hcCgoaWQpID0+IG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlcklkZW50aWZpZXIoeyBpZCB9KSkpKTtcblxuICByZWFkb25seSBzZXRVc2VyU3RhdGUgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5kYnhBdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJFxuICAgIC5waXBlKG1hcCgoc3RhdGUpID0+IG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlclN0YXRlKHsgc3RhdGUgfSkpKSk7XG5cbiAgcmVhZG9ubHkgc2V0VXNlclJvbGVzID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuZGJ4QXV0aFNlcnZpY2UuYXV0aFJvbGVzJFxuICAgIC5waXBlKG1hcCgocm9sZXMpID0+IG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlclJvbGVzKHsgcm9sZXM6IEFycmF5LmZyb20ocm9sZXMgPz8gW10pIH0pKSkpO1xuXG4gIHJlYWRvbmx5IHNldFVzZXJJc09uYm9hcmRlZCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmRieEF1dGhTZXJ2aWNlLmlzT25ib2FyZGVkJFxuICAgIC5waXBlKG1hcCgoaXNPbmJvYXJkZWQpID0+IG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlcklzT25ib2FyZGVkKHsgaXNPbmJvYXJkZWQgfSkpKSk7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as fromDbxAppAuth from './reducer';
|
|
2
|
+
import * as onDbxAppAuth from './action';
|
|
3
|
+
export * from './state';
|
|
4
|
+
export {
|
|
5
|
+
/**
|
|
6
|
+
* Accessor for the DbxAppAuthFeatureState reducers.
|
|
7
|
+
*/
|
|
8
|
+
fromDbxAppAuth,
|
|
9
|
+
/**
|
|
10
|
+
* Accessor for the DbxAppAuthFeatureState actions.
|
|
11
|
+
*/
|
|
12
|
+
onDbxAppAuth };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGNBQWMsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxLQUFLLFlBQVksTUFBTSxVQUFVLENBQUM7QUFFekMsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTztBQUNMOztHQUVHO0FBQ0gsY0FBYztBQUNkOztHQUVHO0FBQ0gsWUFBWSxFQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tRGJ4QXBwQXV0aCBmcm9tICcuL3JlZHVjZXInO1xuaW1wb3J0ICogYXMgb25EYnhBcHBBdXRoIGZyb20gJy4vYWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XG5cbmV4cG9ydCB7XG4gIC8qKlxuICAgKiBBY2Nlc3NvciBmb3IgdGhlIERieEFwcEF1dGhGZWF0dXJlU3RhdGUgcmVkdWNlcnMuXG4gICAqL1xuICBmcm9tRGJ4QXBwQXV0aCxcbiAgLyoqXG4gICAqIEFjY2Vzc29yIGZvciB0aGUgRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZSBhY3Rpb25zLlxuICAgKi9cbiAgb25EYnhBcHBBdXRoXG59O1xuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { combineReducers, createFeatureSelector, createSelector, } from '@ngrx/store';
|
|
2
|
+
import * as fromDbxAppAuthUserState from './user.reducer';
|
|
3
|
+
/**
|
|
4
|
+
* Global feature key
|
|
5
|
+
*/
|
|
6
|
+
export const featureKey = 'app.auth';
|
|
7
|
+
/**
|
|
8
|
+
* Reducers mapping for the DbxAppAuthFeatureState
|
|
9
|
+
*/
|
|
10
|
+
export function reducers(state, action) {
|
|
11
|
+
return combineReducers({
|
|
12
|
+
[fromDbxAppAuthUserState.dbxAppAuthUserFeatureKey]: fromDbxAppAuthUserState.reducer
|
|
13
|
+
})(state, action);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Selects the DbxAppAuthFeatureState feature context.
|
|
17
|
+
*/
|
|
18
|
+
export const selectAppAuthFeature = createFeatureSelector(featureKey);
|
|
19
|
+
/**
|
|
20
|
+
* Selector to retrieve the state value from our DbxAppContextStateData in our DbxAppContextFeatureState.
|
|
21
|
+
*/
|
|
22
|
+
export const selectDbxAppAuthUser = createSelector(selectAppAuthFeature, (featureState) => featureState[fromDbxAppAuthUserState.dbxAppAuthUserFeatureKey]);
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvcmVkdWNlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxLQUFLLHVCQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztBQWFyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBeUMsRUFBRSxNQUFjO0lBQ2hGLE9BQU8sZUFBZSxDQUFDO1FBQ3JCLENBQUMsdUJBQXVCLENBQUMsd0JBQXdCLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO0tBQ3BGLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQ3ZELFVBQVUsQ0FDWCxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQ2hELG9CQUFvQixFQUNwQixDQUFDLFlBQW9DLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUN6RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBjb21iaW5lUmVkdWNlcnMsXG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3RvcixcbiAgY3JlYXRlU2VsZWN0b3IsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbURieEFwcEF1dGhVc2VyU3RhdGUgZnJvbSAnLi91c2VyLnJlZHVjZXInO1xuXG4vKipcbiAqIEdsb2JhbCBmZWF0dXJlIGtleVxuICovXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICdhcHAuYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZSB7XG4gIFtmcm9tRGJ4QXBwQXV0aFVzZXJTdGF0ZS5kYnhBcHBBdXRoVXNlckZlYXR1cmVLZXldOiBmcm9tRGJ4QXBwQXV0aFVzZXJTdGF0ZS5EYnhBcHBBdXRoU3RhdGVVc2VyO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSB0eXBpbmcgZXh0ZW5zaW9uIGZvciB0aGUgRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZSwgYW5kIHRoZSB0eXBpbmcgaW5mb3JtYXRpb24gZm9yIGhvdyB0aGlzIGZlYXR1cmUgZXh0ZW5kcyB0aGUgYmFzZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSB7XG4gIFtmZWF0dXJlS2V5XTogRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZTtcbn1cblxuLyoqXG4gKiBSZWR1Y2VycyBtYXBwaW5nIGZvciB0aGUgRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcnMoc3RhdGU6IERieEFwcEF1dGhGZWF0dXJlU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBjb21iaW5lUmVkdWNlcnMoe1xuICAgIFtmcm9tRGJ4QXBwQXV0aFVzZXJTdGF0ZS5kYnhBcHBBdXRoVXNlckZlYXR1cmVLZXldOiBmcm9tRGJ4QXBwQXV0aFVzZXJTdGF0ZS5yZWR1Y2VyXG4gIH0pKHN0YXRlLCBhY3Rpb24pO1xufVxuXG4vKipcbiAqIFNlbGVjdHMgdGhlIERieEFwcEF1dGhGZWF0dXJlU3RhdGUgZmVhdHVyZSBjb250ZXh0LlxuICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QXBwQXV0aEZlYXR1cmUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8RGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZT4oXG4gIGZlYXR1cmVLZXlcbik7XG5cbi8qKlxuICogU2VsZWN0b3IgdG8gcmV0cmlldmUgdGhlIHN0YXRlIHZhbHVlIGZyb20gb3VyIERieEFwcENvbnRleHRTdGF0ZURhdGEgaW4gb3VyIERieEFwcENvbnRleHRGZWF0dXJlU3RhdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3REYnhBcHBBdXRoVXNlciA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBcHBBdXRoRmVhdHVyZSxcbiAgKGZlYXR1cmVTdGF0ZTogRGJ4QXBwQXV0aEZlYXR1cmVTdGF0ZSkgPT4gZmVhdHVyZVN0YXRlW2Zyb21EYnhBcHBBdXRoVXNlclN0YXRlLmRieEFwcEF1dGhVc2VyRmVhdHVyZUtleV1cbik7XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NO_AUTH_USER_IDENTIFIER } from '../../auth.user';
|
|
2
|
+
import { createReducer, on } from '@ngrx/store';
|
|
3
|
+
import { DbxAppAuthActions, DbxAppAuthUserActions } from '../action';
|
|
4
|
+
export const dbxAppAuthUserFeatureKey = 'user';
|
|
5
|
+
export const initialState = {
|
|
6
|
+
userId: NO_AUTH_USER_IDENTIFIER,
|
|
7
|
+
isOnboarded: false,
|
|
8
|
+
userState: 'none',
|
|
9
|
+
userRoles: []
|
|
10
|
+
};
|
|
11
|
+
export const reducer = createReducer(initialState, on(DbxAppAuthActions.loggedOut, () => ({ ...initialState })), on(DbxAppAuthUserActions.setUserIdentifier, (state, { id: userId }) => ({ ...state, userId })), on(DbxAppAuthUserActions.setUserIsOnboarded, (state, { isOnboarded }) => ({ ...state, isOnboarded })), on(DbxAppAuthUserActions.setUserState, (state, { state: userState }) => ({ ...state, userState })), on(DbxAppAuthUserActions.setUserRoles, (state, { roles: userRoles }) => ({ ...state, userRoles: Array.from(userRoles) })));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hdXRoL3N0YXRlL3JlZHVjZXIvdXNlci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBd0I7SUFDL0MsTUFBTSxFQUFFLHVCQUF1QjtJQUMvQixXQUFXLEVBQUUsS0FBSztJQUNsQixTQUFTLEVBQUUsTUFBTTtJQUNqQixTQUFTLEVBQUUsRUFBRTtDQUNkLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUNsQyxZQUFZLEVBQ1osRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQzVELEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFDOUYsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQ3JHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQ2xHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDMUgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5PX0FVVEhfVVNFUl9JREVOVElGSUVSLCBBdXRoVXNlcklkZW50aWZpZXIsIEF1dGhVc2VyU3RhdGUgfSBmcm9tICcuLi8uLi9hdXRoLnVzZXInO1xuaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYnhBcHBBdXRoQWN0aW9ucywgRGJ4QXBwQXV0aFVzZXJBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEF1dGhSb2xlLCBBdXRoUm9sZVNldCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgZGJ4QXBwQXV0aFVzZXJGZWF0dXJlS2V5ID0gJ3VzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEFwcEF1dGhTdGF0ZVVzZXIge1xuICB1c2VySWQ6IEF1dGhVc2VySWRlbnRpZmllcjtcbiAgaXNPbmJvYXJkZWQ6IGJvb2xlYW47XG4gIHVzZXJTdGF0ZTogQXV0aFVzZXJTdGF0ZTtcbiAgdXNlclJvbGVzOiBBdXRoUm9sZVtdO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBEYnhBcHBBdXRoU3RhdGVVc2VyID0ge1xuICB1c2VySWQ6IE5PX0FVVEhfVVNFUl9JREVOVElGSUVSLFxuICBpc09uYm9hcmRlZDogZmFsc2UsXG4gIHVzZXJTdGF0ZTogJ25vbmUnLFxuICB1c2VyUm9sZXM6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgcmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTdGF0ZSxcbiAgb24oRGJ4QXBwQXV0aEFjdGlvbnMubG9nZ2VkT3V0LCAoKSA9PiAoeyAuLi5pbml0aWFsU3RhdGUgfSkpLFxuICBvbihEYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlcklkZW50aWZpZXIsIChzdGF0ZSwgeyBpZDogdXNlcklkIH0pID0+ICh7IC4uLnN0YXRlLCB1c2VySWQgfSkpLFxuICBvbihEYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlcklzT25ib2FyZGVkLCAoc3RhdGUsIHsgaXNPbmJvYXJkZWQgfSkgPT4gKHsgLi4uc3RhdGUsIGlzT25ib2FyZGVkIH0pKSxcbiAgb24oRGJ4QXBwQXV0aFVzZXJBY3Rpb25zLnNldFVzZXJTdGF0ZSwgKHN0YXRlLCB7IHN0YXRlOiB1c2VyU3RhdGUgfSkgPT4gKHsgLi4uc3RhdGUsIHVzZXJTdGF0ZSB9KSksXG4gIG9uKERieEFwcEF1dGhVc2VyQWN0aW9ucy5zZXRVc2VyUm9sZXMsIChzdGF0ZSwgeyByb2xlczogdXNlclJvbGVzIH0pID0+ICh7IC4uLnN0YXRlLCB1c2VyUm9sZXM6IEFycmF5LmZyb20odXNlclJvbGVzKSB9KSlcbik7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvc3RhdGUvc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21EYnhBcHBBdXRoIGZyb20gJy4vcmVkdWNlcic7XG5cbi8qKlxuICogVHlwZSB0aGF0IGNvbnRhaW5zIHRoZSBkYngtY29yZSBjb250ZXh0dWFsIG5ncnggc3RhdGUgaW5mb3JtYXRpb24gZm9yIGF1dGguXG4gKi9cbmV4cG9ydCB0eXBlIERieEFwcEF1dGhGdWxsU3RhdGUgPSBmcm9tRGJ4QXBwQXV0aC5TdGF0ZTtcbiJdfQ==
|
|
@@ -34,9 +34,9 @@ export class DbxActionButtonDirective extends DbxActionButtonTriggerDirective {
|
|
|
34
34
|
this._disabledSub.destroy();
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
DbxActionButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
38
|
-
DbxActionButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
37
|
+
DbxActionButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionButtonDirective, deps: [{ token: i1.DbxButton, host: true }, { token: i2.DbxActionContextStoreSourceInstance }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
DbxActionButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionButtonDirective, selector: "[dbxActionButton]", usesInheritance: true, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionButtonDirective, decorators: [{
|
|
40
40
|
type: Directive,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: '[dbxActionButton]'
|
|
@@ -23,9 +23,9 @@ export class DbxActionButtonTriggerDirective extends AbstractSubscriptionDirecti
|
|
|
23
23
|
this.source.trigger();
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
DbxActionButtonTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
27
|
-
DbxActionButtonTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
26
|
+
DbxActionButtonTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionButtonTriggerDirective, deps: [{ token: i1.DbxButton, host: true }, { token: i2.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
DbxActionButtonTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionButtonTriggerDirective, selector: "[dbxActionButtonTrigger]", usesInheritance: true, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionButtonTriggerDirective, decorators: [{
|
|
29
29
|
type: Directive,
|
|
30
30
|
args: [{
|
|
31
31
|
selector: '[dbxActionButtonTrigger]'
|
|
@@ -75,9 +75,9 @@ export class AbstractDbxButtonDirective extends AbstractSubscriptionDirective {
|
|
|
75
75
|
this.buttonClick.emit();
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
AbstractDbxButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
79
|
-
AbstractDbxButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
78
|
+
AbstractDbxButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
79
|
+
AbstractDbxButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxButtonDirective, inputs: { disabled: "disabled", working: "working", icon: "icon", text: "text" }, outputs: { buttonClick: "buttonClick" }, usesInheritance: true, ngImport: i0 });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxButtonDirective, decorators: [{
|
|
81
81
|
type: Directive
|
|
82
82
|
}], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
|
|
83
83
|
type: Input
|
|
@@ -96,9 +96,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
96
96
|
*/
|
|
97
97
|
export class DbxButtonDirective extends AbstractDbxButtonDirective {
|
|
98
98
|
}
|
|
99
|
-
DbxButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
100
|
-
DbxButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
99
|
+
DbxButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
100
|
+
DbxButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxButtonDirective, selector: "[dbxButton]", providers: ProvideDbxButton(DbxButtonDirective), exportAs: ["dbxButton"], usesInheritance: true, ngImport: i0 });
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxButtonDirective, decorators: [{
|
|
102
102
|
type: Directive,
|
|
103
103
|
args: [{
|
|
104
104
|
selector: '[dbxButton]',
|
|
@@ -27,9 +27,9 @@ export class DbxLoadingButtonDirective extends AbstractSubscriptionDirective {
|
|
|
27
27
|
this.sub = subscription;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
DbxLoadingButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
31
|
-
DbxLoadingButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
30
|
+
DbxLoadingButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLoadingButtonDirective, deps: [{ token: i1.DbxButton, host: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31
|
+
DbxLoadingButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxLoadingButtonDirective, selector: "[dbxLoadingButton]", inputs: { context: ["dbxLoadingButton", "context"] }, usesInheritance: true, ngImport: i0 });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLoadingButtonDirective, decorators: [{
|
|
33
33
|
type: Directive,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: '[dbxLoadingButton]'
|
|
@@ -7,4 +7,4 @@ export function ProvideDbxButton(sourceType) {
|
|
|
7
7
|
useExisting: forwardRef(() => sourceType)
|
|
8
8
|
}];
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9idXR0b24vYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0IzRCxNQUFNLE9BQWdCLFNBQVM7Q0FVOUI7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQXNCLFVBQW1CO0lBQ3ZFLE9BQU8sQ0FBQztZQUNOLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBVc2VkIGZvciBpbnRlcmNlcHRpbmcgYnV0dG9uIGNsaWNrIGV2ZW50cy5cbiAqXG4gKiBDYW4gYmUgdXNlZCB0byBkZWxheS9tb2RpZnkgdHJpZ2dlci9jbGljayBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QnV0dG9uSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogSGFuZGxlcyBhIGJ1dHRvbiBjbGljayBldmVudC4gUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBzYXkgd2hldGhlciBvciBub3QgdG8gY29udGludWUgdGhlIGNsaWNrIGV2ZW50LlxuICAgKi9cbiAgaW50ZXJjZXB0QnV0dG9uQ2xpY2s6ICgpID0+
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9idXR0b24vYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0IzRCxNQUFNLE9BQWdCLFNBQVM7Q0FVOUI7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQXNCLFVBQW1CO0lBQ3ZFLE9BQU8sQ0FBQztZQUNOLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBQcm92aWRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBVc2VkIGZvciBpbnRlcmNlcHRpbmcgYnV0dG9uIGNsaWNrIGV2ZW50cy5cbiAqXG4gKiBDYW4gYmUgdXNlZCB0byBkZWxheS9tb2RpZnkgdHJpZ2dlci9jbGljayBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QnV0dG9uSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogSGFuZGxlcyBhIGJ1dHRvbiBjbGljayBldmVudC4gUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBzYXkgd2hldGhlciBvciBub3QgdG8gY29udGludWUgdGhlIGNsaWNrIGV2ZW50LlxuICAgKi9cbiAgaW50ZXJjZXB0QnV0dG9uQ2xpY2s6ICgpID0+IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhCdXR0b24ge1xuICBhYnN0cmFjdCByZWFkb25seSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhYnN0cmFjdCBkaXNhYmxlZDogTWF5YmU8Ym9vbGVhbj47XG4gIGFic3RyYWN0IHdvcmtpbmc6IE1heWJlPGJvb2xlYW4+O1xuICBhYnN0cmFjdCBpY29uPzogTWF5YmU8c3RyaW5nPjtcbiAgYWJzdHJhY3QgdGV4dD86IE1heWJlPHN0cmluZz47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGNsaWNrZWQkOiBPYnNlcnZhYmxlPGFueT47XG4gIGFic3RyYWN0IHNldEJ1dHRvbkludGVyY2VwdG9yKGludGVyY2VwdG9yOiBEYnhCdXR0b25JbnRlcmNlcHRvcik6IHZvaWQ7XG4gIGFic3RyYWN0IGNsaWNrQnV0dG9uKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm92aWRlRGJ4QnV0dG9uPFMgZXh0ZW5kcyBEYnhCdXR0b24+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFt7XG4gICAgcHJvdmlkZTogRGJ4QnV0dG9uLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gIH1dO1xufVxuIl19
|
|
@@ -6,8 +6,8 @@ import { DbxButtonSegueDirective } from './router/button.segue.directive';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class DbxCoreButtonModule {
|
|
8
8
|
}
|
|
9
|
-
DbxCoreButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
10
|
-
DbxCoreButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
9
|
+
DbxCoreButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
DbxCoreButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreButtonModule, declarations: [DbxButtonDirective,
|
|
11
11
|
DbxLoadingButtonDirective,
|
|
12
12
|
DbxActionButtonTriggerDirective,
|
|
13
13
|
DbxActionButtonDirective,
|
|
@@ -16,8 +16,8 @@ DbxCoreButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
16
16
|
DbxActionButtonTriggerDirective,
|
|
17
17
|
DbxActionButtonDirective,
|
|
18
18
|
DbxButtonSegueDirective] });
|
|
19
|
-
DbxCoreButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
19
|
+
DbxCoreButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreButtonModule, imports: [[]] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreButtonModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
imports: [],
|