Browse Source

feature(core): add tenantId to session state

pull/1573/head
TheDiaval 7 years ago
parent
commit
86c16b5ee0
  1. 4
      npm/ng-packs/packages/core/src/lib/actions/session.actions.ts
  2. 1
      npm/ng-packs/packages/core/src/lib/models/session.ts
  3. 16
      npm/ng-packs/packages/core/src/lib/states/session.state.ts
  4. 3
      npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts

4
npm/ng-packs/packages/core/src/lib/actions/session.actions.ts

@ -2,3 +2,7 @@ export class SessionSetLanguage {
static readonly type = '[Session] Set Language'; static readonly type = '[Session] Set Language';
constructor(public payload: string) {} constructor(public payload: string) {}
} }
export class SessionSetTenantId {
static readonly type = '[Session] Set Tenant Id';
constructor(public payload: string) {}
}

1
npm/ng-packs/packages/core/src/lib/models/session.ts

@ -1,5 +1,6 @@
export namespace Session { export namespace Session {
export interface State { export interface State {
language: string; language: string;
tenantId: string;
} }
} }

16
npm/ng-packs/packages/core/src/lib/states/session.state.ts

@ -1,5 +1,5 @@
import { State, Action, StateContext, Selector } from '@ngxs/store'; import { Action, Selector, State, StateContext } from '@ngxs/store';
import { SessionSetLanguage } from '../actions/session.actions'; import { SessionSetLanguage, SessionSetTenantId } from '../actions/session.actions';
import { Session } from '../models/session'; import { Session } from '../models/session';
@State<Session.State>({ @State<Session.State>({
@ -12,6 +12,11 @@ export class SessionState {
return language; return language;
} }
@Selector()
static getSelectedTenantId({ tenantId }: Session.State): string {
return tenantId;
}
constructor() {} constructor() {}
@Action(SessionSetLanguage) @Action(SessionSetLanguage)
@ -20,4 +25,11 @@ export class SessionState {
language: payload, language: payload,
}); });
} }
@Action(SessionSetTenantId)
sessionSetTenantId({ patchState }: StateContext<Session.State>, { payload }: SessionSetTenantId) {
patchState({
tenantId: payload,
});
}
} }

3
npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts

@ -14,6 +14,7 @@ import { Observable } from 'rxjs';
import { ErrorComponent } from '../components/errors/error.component'; import { ErrorComponent } from '../components/errors/error.component';
import { Toaster } from '../models/toaster'; import { Toaster } from '../models/toaster';
import { ConfirmationService } from '../services/confirmation.service'; import { ConfirmationService } from '../services/confirmation.service';
import snq from 'snq';
const DEFAULTS = { const DEFAULTS = {
defaultError: { defaultError: {
@ -50,7 +51,7 @@ export class ErrorHandler {
) { ) {
actions.pipe(ofActionSuccessful(RestOccurError)).subscribe(res => { actions.pipe(ofActionSuccessful(RestOccurError)).subscribe(res => {
const { payload: err = {} as HttpErrorResponse | any } = res; const { payload: err = {} as HttpErrorResponse | any } = res;
const body = (err as HttpErrorResponse).error.error; const body = snq(() => (err as HttpErrorResponse).error.error, DEFAULTS.defaultError.message);
if (err.headers.get('_AbpErrorFormat')) { if (err.headers.get('_AbpErrorFormat')) {
const confirmation$ = this.showError(null, null, body); const confirmation$ = this.showError(null, null, body);

Loading…
Cancel
Save