@progressive-development/pd-spa-helper 0.8.1-a → 0.8.1-b

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.
@@ -1 +1 @@
1
- {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../src/PdSpaHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,cAAc,EACd,cAAc,EAEf,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,0CAA0C,CAAC;AAClD,OAAO,4CAA4C,CAAC;AACpD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,8CAA8C,CAAC;AAUtD,OAAO,EACL,gBAAgB,EAChB,MAAM,EAGN,cAAc,EACf,MAAM,8CAA8C,CAAC;AAItD,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,gCAAgC,CAAC;AAExC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,8BAA8B,CAAC;AAOtC,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAgD3D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,gBAAgB,SAmCjD,CAAC;AAIF;;GAEG;AACH,8BAAsB,WAAY,SAAQ,UAAU;IAGlD,KAAK,SAAe;IAEpB;;OAEG;IAEH,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAG3B,QAAQ,EAAE,GAAG,GAAG,SAAS,CAAC;IAG1B,aAAa,EAAE,YAAY,EAAE,CAAM;IAEnC;;;OAGG;IAEH,SAAS,CAAC,MAAM,SAAM;IAEtB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE/C;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE9C;;OAEG;IAEH,OAAO,CAAC,aAAa,CAAS;IAG9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAErC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAS;IAG7C,aAAa,CAAC,EAAE,YAAY,CAAC;IAE7B,MAAM,CAAC,MAAM,EA+EN,cAAc,CAAC;;IA0CtB,iBAAiB,IAAI,IAAI;IAmBzB,oBAAoB,IAAI,IAAI;IAM5B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAS7B;;OAEG;IAGH;;;OAGG;IACH,oBAAoB;IAepB,MAAM;IAsCN,OAAO,CAAC,aAAa;IAerB,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAqB3D,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAsB9D,aAAa,IAAI,cAAc,GAAG,MAAM;IAkBxC,aAAa;IAcb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,KAAK,CAAC,cAAc,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IAEvC,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,cAAc;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAE3C,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAEnD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,GAAG;IAE9C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM;IAE9D,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAoB7C,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IASnC,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAW5B,uBAAuB,CAAC,CAAC,EAAE,WAAW;IAYtC,iBAAiB,CAAC,CAAC,EAAE,GAAG;IAexB,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAgB5B,MAAM,CAAC,YAAY;IAUnB,gBAAgB,CAAC,EAAE,EAAE,WAAW;CAYjC"}
1
+ {"version":3,"file":"PdSpaHelper.d.ts","sourceRoot":"","sources":["../src/PdSpaHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,cAAc,EACd,cAAc,EAEf,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,0CAA0C,CAAC;AAClD,OAAO,4CAA4C,CAAC;AACpD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,8CAA8C,CAAC;AAUtD,OAAO,EACL,gBAAgB,EAChB,MAAM,EAGN,cAAc,EACf,MAAM,8CAA8C,CAAC;AAItD,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,gCAAgC,CAAC;AAExC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,8BAA8B,CAAC;AAQtC,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAkD3D;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,gBAAgB,SAmCjD,CAAC;AAIF;;GAEG;AACH,8BAAsB,WAAY,SAAQ,UAAU;IAGlD,KAAK,SAAe;IAEpB;;OAEG;IAEH,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAG3B,QAAQ,EAAE,GAAG,GAAG,SAAS,CAAC;IAG1B,aAAa,EAAE,YAAY,EAAE,CAAM;IAEnC;;;OAGG;IAEH,SAAS,CAAC,MAAM,SAAM;IAEtB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE/C;;OAEG;IAEH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE9C;;OAEG;IAEH,OAAO,CAAC,aAAa,CAAS;IAG9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAErC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAS;IAG7C,aAAa,CAAC,EAAE,YAAY,CAAC;IAE7B,MAAM,CAAC,MAAM,EA+EN,cAAc,CAAC;;IA0CtB,iBAAiB,IAAI,IAAI;IAmBzB,oBAAoB,IAAI,IAAI;IAM5B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAS7B;;OAEG;IAGH;;;OAGG;IACH,oBAAoB;IAgDpB,MAAM;IAsCN,OAAO,CAAC,aAAa;IAerB,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAqB3D,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO;IAsB9D,aAAa,IAAI,cAAc,GAAG,MAAM;IAkBxC,aAAa;IAcb,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,KAAK,CAAC,cAAc,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IAEvC,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,cAAc;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAE3C,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAEnD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,GAAG;IAE9C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM;IAE9D,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAoB7C,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IASnC,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAW5B,uBAAuB,CAAC,CAAC,EAAE,WAAW;IAYtC,iBAAiB,CAAC,CAAC,EAAE,GAAG;IAexB,qBAAqB,CAAC,CAAC,EAAE,GAAG;IAgB5B,MAAM,CAAC,YAAY;IAUnB,gBAAgB,CAAC,EAAE,EAAE,WAAW;CAYjC"}
@@ -46,11 +46,6 @@ const transformRoutes = () => {
46
46
  };
47
47
  routeDefs.push(routeDef);
48
48
  });
49
- routeDefs.push({
50
- name: "not-found",
51
- pattern: "/:path(.*)",
52
- auth: false
53
- });
54
49
  return routeDefs;
55
50
  };
56
51
  const startInit = (config) => {
@@ -64,7 +59,7 @@ const startInit = (config) => {
64
59
  config.navigationConfigParam.pages.push({
65
60
  name: "login",
66
61
  menu: [{ key: "login", name: "Login" }],
67
- pattern: ["login"],
62
+ pattern: ["/login"],
68
63
  auth: false
69
64
  });
70
65
  }
@@ -152,11 +147,21 @@ const _PdSpaHelper = (_a = class extends LitElement {
152
147
  */
153
148
  activateLoginHandler() {
154
149
  console.log("Activate Login Handler");
155
- const callback = (user) => {
150
+ const callback = async (user) => {
151
+ var _a2;
156
152
  console.log("My callback user:", user);
157
- this._user = user;
158
- if (this._user) {
159
- pdStore().dispatch(loginSucess());
153
+ if (user) {
154
+ const tokenResult = await user.getIdTokenResult();
155
+ const claims = tokenResult.claims;
156
+ pdStore().dispatch(
157
+ loginSucess({
158
+ uid: user.uid,
159
+ email: user.email,
160
+ emailVerified: user.emailVerified,
161
+ claims,
162
+ providerId: ((_a2 = user.providerData[0]) == null ? void 0 : _a2.providerId) ?? "firebase"
163
+ })
164
+ );
160
165
  this._loginSuccess(new CustomEvent("login-success"));
161
166
  } else {
162
167
  pdStore().dispatch(nologin());
@@ -1,6 +1,13 @@
1
1
  export declare const APP_CONF_EVENT = "get-app-conf";
2
2
  export declare const RUNNING_WIZARD_STORAGE_ELEMENTS = "pd.spa.local.wizard.storage";
3
3
  export declare const UNDEF = "UNDEF";
4
+ export interface AppUser {
5
+ uid: string;
6
+ email: string | null;
7
+ emailVerified: boolean;
8
+ providerId: string;
9
+ claims: Record<string, any>;
10
+ }
4
11
  export interface LoadingSubTask {
5
12
  actionKey: string;
6
13
  completed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"spa-model.d.ts","sourceRoot":"","sources":["../../src/model/spa-model.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AAE7E,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"spa-model.d.ts","sourceRoot":"","sources":["../../src/model/spa-model.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AAE7E,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"PdRouterService.d.ts","sourceRoot":"","sources":["../../src/router/PdRouterService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;AAE1D,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAqC;IAEnD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,YAAY,CAAc;;IAS3B,kCAAkC,EAAE,CACzC,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,OAAO,CAAC,CAAoB;IAEzC;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE;IAuDrD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ;IAejD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,kBAAkB;IAIhD;;OAEG;YACW,OAAO;CA2CtB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"PdRouterService.d.ts","sourceRoot":"","sources":["../../src/router/PdRouterService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKnE,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;AAE1D,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAqC;IAEnD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,YAAY,CAAc;;IAS3B,kCAAkC,EAAE,CACzC,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,OAAO,CAAC,CAAoB;IAEzC;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE;IA8DrD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ;IAejD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,kBAAkB;IAIhD;;OAEG;YACW,OAAO;CAwDtB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import UniversalRouter from "universal-router";
2
+ import { selectAuthUser } from "../store/spa-app-selector.js";
3
+ import { pdStore } from "../store/mini-rx.store.js";
4
+ import { firstValueFrom, first } from "rxjs";
2
5
  class PdRouterService {
3
6
  constructor() {
4
7
  this.router = null;
@@ -33,9 +36,15 @@ class PdRouterService {
33
36
  return patterns.map((pattern) => ({
34
37
  path: pattern,
35
38
  action: async (context) => {
36
- if (def.auth && !await this.isAuthenticatedWithSessionRedirect(def.name)) {
37
- const fallbackRoute = def.authFallback ?? "login";
38
- return { route: fallbackRoute };
39
+ if (def.auth && !context.user) {
40
+ const fallbackRoute = def.authFallback ?? "/login";
41
+ return { redirect: fallbackRoute };
42
+ }
43
+ if (def.roles && !def.roles.some((role) => {
44
+ var _a, _b;
45
+ return ((_b = (_a = context.user) == null ? void 0 : _a.claims) == null ? void 0 : _b[role]) === true;
46
+ })) {
47
+ return { redirect: "/unauthorized" };
39
48
  }
40
49
  if (def.action) {
41
50
  const result = await def.action();
@@ -50,6 +59,7 @@ class PdRouterService {
50
59
  }
51
60
  }));
52
61
  });
62
+ console.log("######### Universal routes: ", universalRoutes);
53
63
  this.router = new UniversalRouter(universalRoutes);
54
64
  this.resolve(location.pathname + location.search);
55
65
  }
@@ -88,7 +98,18 @@ class PdRouterService {
88
98
  "[PdRouter] bevore resolve Current location:",
89
99
  location.pathname
90
100
  );
91
- const result = await this.router.resolve({ pathname });
101
+ const user = await firstValueFrom(
102
+ pdStore().select(selectAuthUser).pipe(first())
103
+ );
104
+ const result = await this.router.resolve({
105
+ pathname,
106
+ user
107
+ });
108
+ if (result.redirect) {
109
+ history.replaceState({}, "", result.redirect);
110
+ await this.resolve(result.redirect);
111
+ return;
112
+ }
92
113
  if (!result || typeof result !== "object" || !result.route) {
93
114
  console.warn("[PdRouter] Invalid route result:", result);
94
115
  return;
@@ -2,6 +2,7 @@ export interface RouteDefinition {
2
2
  name: string;
3
3
  pattern: string | string[];
4
4
  auth?: boolean;
5
+ roles?: string[];
5
6
  authFallback?: string;
6
7
  action?: () => Promise<{
7
8
  route: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rout-types.d.ts","sourceRoot":"","sources":["../../src/router/rout-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"rout-types.d.ts","sourceRoot":"","sources":["../../src/router/rout-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B"}
@@ -44,7 +44,7 @@ const authStateChanged = (callback) => {
44
44
  if (!auth) {
45
45
  throw new Error("authStateChanged: Auth was not initialized");
46
46
  }
47
- onAuthStateChanged(auth, (user) => callback(user));
47
+ onAuthStateChanged(auth, callback);
48
48
  };
49
49
  const authIdTokenStateChanged = (callback) => {
50
50
  onIdTokenChanged(auth, (user) => callback(user));
@@ -1,11 +1,18 @@
1
1
  import { TemplateResult } from 'lit';
2
- import { LoadingState, LoadingSubTask } from '../model/spa-model.js';
2
+ import { AppUser, LoadingState, LoadingSubTask } from '../model/spa-model.js';
3
3
  export declare const initIndexDBSucess: (() => {
4
4
  type: "SPA_INIT_INDEX_DB_SUCCESS";
5
5
  }) & {
6
6
  type: "SPA_INIT_INDEX_DB_SUCCESS";
7
7
  };
8
- export declare const loginSucess: (() => {
8
+ export declare const loginSucess: ((payload: AppUser) => {
9
+ payload: AppUser;
10
+ } & {
11
+ type: "SPA_LOGIN_SUCCESS";
12
+ }) & {
13
+ type: "SPA_LOGIN_SUCCESS";
14
+ };
15
+ export declare const logoutSucess: (() => {
9
16
  type: "SPA_LOGIN_SUCCESS";
10
17
  }) & {
11
18
  type: "SPA_LOGIN_SUCCESS";
@@ -1 +1 @@
1
- {"version":3,"file":"spa-app-actions.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAErE,eAAO,MAAM,iBAAiB;;;;CAAsC,CAAC;AACrE,eAAO,MAAM,WAAW;;;;CAA8B,CAAC;AACvD,eAAO,MAAM,OAAO;;;;CAAyB,CAAC;AAE9C,eAAO,MAAM,WAAW;;;;;;CAA6C,CAAC;AAEtE,eAAO,MAAM,WAAW;SAGf,MAAM,GAAG,cAAc;aACnB,OAAO;eACL,OAAO;eACP,MAAM;;;aAHZ,MAAM,GAAG,cAAc;iBACnB,OAAO;mBACL,OAAO;mBACP,MAAM;;;;;;CAEpB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;CAGjC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;CAG3B,CAAC;AACF,eAAO,MAAM,aAAa;qBAGL,MAAM;kBACT,cAAc;;;yBADX,MAAM;sBACT,cAAc;;;;;;CAE/B,CAAC;AACF,eAAO,MAAM,kBAAkB;;;;;;CAG9B,CAAC;AAEF,eAAO,MAAM,0BAA0B;oBAGnB,MAAM;;;wBAAN,MAAM;;;;;;CAEzB,CAAC;AACF,eAAO,MAAM,iCAAiC;oBAG1B,MAAM;;;wBAAN,MAAM;;;;;;CAEzB,CAAC;AACF,eAAO,MAAM,8BAA8B;;;;;;CAG1C,CAAC"}
1
+ {"version":3,"file":"spa-app-actions.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE9E,eAAO,MAAM,iBAAiB;;;;CAAsC,CAAC;AACrE,eAAO,MAAM,WAAW;;;;;;CAAkD,CAAC;AAC3E,eAAO,MAAM,YAAY;;;;CAA8B,CAAC;AACxD,eAAO,MAAM,OAAO;;;;CAAyB,CAAC;AAE9C,eAAO,MAAM,WAAW;;;;;;CAA6C,CAAC;AAEtE,eAAO,MAAM,WAAW;SAGf,MAAM,GAAG,cAAc;aACnB,OAAO;eACL,OAAO;eACP,MAAM;;;aAHZ,MAAM,GAAG,cAAc;iBACnB,OAAO;mBACL,OAAO;mBACP,MAAM;;;;;;CAEpB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;CAGjC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;CAG3B,CAAC;AACF,eAAO,MAAM,aAAa;qBAGL,MAAM;kBACT,cAAc;;;yBADX,MAAM;sBACT,cAAc;;;;;;CAE/B,CAAC;AACF,eAAO,MAAM,kBAAkB;;;;;;CAG9B,CAAC;AAEF,eAAO,MAAM,0BAA0B;oBAGnB,MAAM;;;wBAAN,MAAM;;;;;;CAEzB,CAAC;AACF,eAAO,MAAM,iCAAiC;oBAG1B,MAAM;;;wBAAN,MAAM;;;;;;CAEzB,CAAC;AACF,eAAO,MAAM,8BAA8B;;;;;;CAG1C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { action, payload } from "ts-action";
2
2
  const initIndexDBSucess = action("SPA_INIT_INDEX_DB_SUCCESS");
3
- const loginSucess = action("SPA_LOGIN_SUCCESS");
3
+ const loginSucess = action("SPA_LOGIN_SUCCESS", payload());
4
+ const logoutSucess = action("SPA_LOGIN_SUCCESS");
4
5
  const nologin = action("SPA_NO_LOGIN");
5
6
  const routeAction = action("SPA_APP_ROUTE", payload());
6
7
  const toastAction = action(
@@ -40,6 +41,7 @@ export {
40
41
  changeSubTask,
41
42
  initIndexDBSucess,
42
43
  loginSucess,
44
+ logoutSucess,
43
45
  nologin,
44
46
  removeLoadingState,
45
47
  routeAction,
@@ -1,10 +1,11 @@
1
- import { LoadingState } from '../model/spa-model.js';
1
+ import { AppUser, LoadingState } from '../model/spa-model.js';
2
2
  export interface SpaAppState {
3
3
  offline?: boolean;
4
4
  loadingState: LoadingState[];
5
5
  lastRoutes?: any[];
6
6
  initIndexDB?: boolean;
7
- userLogin?: boolean;
7
+ userLogin: boolean;
8
+ user: AppUser | undefined;
8
9
  }
9
10
  export declare const spaAppReducer: import('ts-action').Reducer<SpaAppState>;
10
11
  //# sourceMappingURL=spa-app-reducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spa-app-reducer.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-reducer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,eAAO,MAAM,aAAa,0CAkDzB,CAAC"}
1
+ {"version":3,"file":"spa-app-reducer.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-reducer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAQD,eAAO,MAAM,aAAa,0CAoDzB,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { reducer, on } from "ts-action";
2
- import { updateInternetOffline, addLoadingState, changeSubTask, removeLoadingState, routeAction, initIndexDBSucess, loginSucess } from "./spa-app-actions.js";
2
+ import { updateInternetOffline, addLoadingState, changeSubTask, removeLoadingState, routeAction, initIndexDBSucess, loginSucess, logoutSucess } from "./spa-app-actions.js";
3
3
  const initialState = {
4
- loadingState: []
4
+ loadingState: [],
5
+ userLogin: false,
6
+ user: void 0
5
7
  };
6
8
  const spaAppReducer = reducer(
7
9
  initialState,
@@ -43,10 +45,12 @@ const spaAppReducer = reducer(
43
45
  ...state,
44
46
  initIndexDB: true
45
47
  })),
46
- on(loginSucess, (state) => ({
48
+ on(loginSucess, (state, { payload }) => ({
47
49
  ...state,
48
- userLogin: true
49
- }))
50
+ userLogin: true,
51
+ user: payload
52
+ })),
53
+ on(logoutSucess, () => initialState)
50
54
  );
51
55
  export {
52
56
  spaAppReducer
@@ -1,7 +1,8 @@
1
1
  export declare const getLoadingSelector: import('mini-rx-store/lib/selector.js').Selector<object, import('../model/spa-model.js').LoadingState[]>;
2
2
  export declare const getOfflineSelector: import('mini-rx-store/lib/selector.js').Selector<object, boolean>;
3
3
  export declare const getInitStatusSelector: import('mini-rx-store/lib/selector.js').Selector<object, {
4
- login: boolean | undefined;
4
+ login: boolean;
5
5
  indexedDB: boolean | undefined;
6
6
  }>;
7
+ export declare const selectAuthUser: import('mini-rx-store/lib/selector.js').Selector<object, import('../model/spa-model.js').AppUser | undefined>;
7
8
  //# sourceMappingURL=spa-app-selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spa-app-selector.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-selector.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,0GAuB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,mEAG9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;EAMjC,CAAC"}
1
+ {"version":3,"file":"spa-app-selector.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-selector.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,0GAuB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,mEAG9B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;EAMjC,CAAC;AAEF,eAAO,MAAM,cAAc,+GAG1B,CAAC"}
@@ -32,8 +32,13 @@ const getInitStatusSelector = createSelector(
32
32
  indexedDB: state.initIndexDB
33
33
  })
34
34
  );
35
+ const selectAuthUser = createSelector(
36
+ getSpaAppFeatureState,
37
+ (state) => state.user
38
+ );
35
39
  export {
36
40
  getInitStatusSelector,
37
41
  getLoadingSelector,
38
- getOfflineSelector
42
+ getOfflineSelector,
43
+ selectAuthUser
39
44
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progressive-development/pd-spa-helper",
3
- "version": "0.8.1-a",
3
+ "version": "0.8.1-b",
4
4
  "description": "Webcomponent pd-spa-helper following open-wc recommendations",
5
5
  "author": "PD Progressive Development",
6
6
  "license": "SEE LICENSE IN LICENSE",