feat: set oAuth configuration when dispatched the SetEnvironment action

pull/4956/head
mehmet-erim 5 years ago
parent 2304e71ffb
commit 532645a367

@ -10,6 +10,9 @@ import { SetLanguage } from '../actions/session.actions';
import { ApplicationConfiguration } from '../models/application-configuration';
import { Config } from '../models/config';
import { SessionState } from './session.state';
import compare from 'just-compare';
import clone from 'just-clone';
import { OAuthService } from 'angular-oauth2-oidc';
@State<Config.State>({
name: 'ConfigState',
@ -29,7 +32,7 @@ export class ConfigState {
static getOne(key: string) {
const selector = createSelector([ConfigState], (state: Config.State) => {
return state[key];
return clone(state[key]);
});
return selector;
@ -194,7 +197,7 @@ export class ConfigState {
return selector;
}
constructor(private http: HttpClient, private store: Store) {}
constructor(private http: HttpClient, private store: Store, private oAuthService: OAuthService) {}
@Action(GetAppConfiguration)
addData({ patchState, dispatch }: StateContext<Config.State>) {
@ -232,7 +235,16 @@ export class ConfigState {
}
@Action(SetEnvironment)
setEnvironment({ patchState }: StateContext<Config.State>, { environment }: SetEnvironment) {
setEnvironment(
{ getState, patchState }: StateContext<Config.State>,
{ environment }: SetEnvironment,
) {
const { oAuthConfig } = getState().environment;
if (!compare(oAuthConfig, environment.oAuthConfig)) {
this.oAuthService.configure(environment.oAuthConfig);
}
return patchState({
environment,
});

Loading…
Cancel
Save