@progressive-development/pd-spa-helper 0.7.1 → 0.7.3

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,5 +1,5 @@
1
1
  /**
2
2
  * Update token for user, so the service worker is up to date.
3
3
  */
4
- export declare const refreshAndPersistUserIdToken: (appName: string) => Promise<boolean>;
4
+ export declare const refreshAndPersistUserIdToken: () => Promise<boolean>;
5
5
  //# sourceMappingURL=refresh-id-token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-id-token.d.ts","sourceRoot":"","sources":["../../src/helper/refresh-id-token.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,4BAA4B,YAAmB,MAAM,KAAG,QAAQ,OAAO,CA0BnF,CAAC"}
1
+ {"version":3,"file":"refresh-id-token.d.ts","sourceRoot":"","sources":["../../src/helper/refresh-id-token.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAa,QAAQ,OAAO,CAmBpE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -14,7 +14,8 @@ export { DefaultStepAddress } from './defaultpage/default-step-address.js';
14
14
  export { DefaultStepSummary } from './defaultpage/default-step-summary.js';
15
15
  export type { OrderStep } from './defaultpage/default-step-summary.js';
16
16
  export type { TabHeader } from './tmpown/pd-tab.js';
17
- export { loginImpl, logoutImpl, getUser, isAuthenticatedImpl, callFunctionImpl, uploadFile, downloadFile, deleteFile, getStorageFileList, getStorageFile, getStorageConfiguration, activateCollectionListener, registerAppDeviceForNotification, getApp, getMessagingImpl } from './service-provider/service-provider-impl.js';
17
+ export { loginImpl, logoutImpl, getUser, isAuthenticatedImpl, callFunctionImpl, uploadFile, downloadFile, deleteFile, getStorageFileList, getStorageFile, getStorageConfiguration, activateCollectionListener, registerAppDeviceForNotification, getApp, getMessagingImpl, getUserIdToken, } from './service-provider/service-provider-impl.js';
18
+ export { refreshAndPersistUserIdToken } from './helper/refresh-id-token.js';
18
19
  export { pdStore } from './store/mini-rx.store.js';
19
20
  export { setRouteElement } from './store/spa-app-effects.js';
20
21
  export * as pdAction from './store/spa-app-actions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAC/G,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,MAAM,EACN,gBAAgB,EACjB,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,kBAAkB,YAAY,GAAG,OAAM,MAAM,GAAG,cAAc,aAAY,OAAO,WAAU,OAAO,SAU9G,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,UAAU,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAC/G,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,gCAAgC,EAChC,MAAM,EACN,gBAAgB,EAChB,cAAc,GACf,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,UAAU,EAAC,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,kBAAkB,YAAY,GAAG,OAAM,MAAM,GAAG,cAAc,aAAY,OAAO,WAAU,OAAO,SAU9G,CAAA"}
package/dist/index.js CHANGED
@@ -10,7 +10,8 @@ import { DefaultWizard } from "./src/defaultpage/default-wizard.js";
10
10
  import { DefaultWizardStep } from "./src/defaultpage/default-wizard-step.js";
11
11
  import { DefaultStepAddress } from "./src/defaultpage/default-step-address.js";
12
12
  import { DefaultStepSummary } from "./src/defaultpage/default-step-summary.js";
13
- import { activateCollectionListener, callFunctionImpl, deleteFile, downloadFile, getApp, getMessagingImpl, getStorageConfiguration, getStorageFile, getStorageFileList, getUser, isAuthenticatedImpl, loginImpl, logoutImpl, registerAppDeviceForNotification, uploadFile } from "./src/service-provider/service-provider-impl.js";
13
+ import { activateCollectionListener, callFunctionImpl, deleteFile, downloadFile, getApp, getMessagingImpl, getStorageConfiguration, getStorageFile, getStorageFileList, getUser, getUserIdToken, isAuthenticatedImpl, loginImpl, logoutImpl, registerAppDeviceForNotification, uploadFile } from "./src/service-provider/service-provider-impl.js";
14
+ import { refreshAndPersistUserIdToken } from "./src/helper/refresh-id-token.js";
14
15
  import { pdStore } from "./src/store/mini-rx.store.js";
15
16
  import { setRouteElement } from "./src/store/spa-app-effects.js";
16
17
  import * as spaAppActions from "./src/store/spa-app-actions.js";
@@ -56,6 +57,7 @@ export {
56
57
  getStorageFile,
57
58
  getStorageFileList,
58
59
  getUser,
60
+ getUserIdToken,
59
61
  isAuthenticatedImpl,
60
62
  loginImpl,
61
63
  logoutImpl,
@@ -66,6 +68,7 @@ export {
66
68
  serviceProviderModel as pdSpaModel,
67
69
  spaModel as pdSpaModel2,
68
70
  pdStore,
71
+ refreshAndPersistUserIdToken,
69
72
  registerAppDeviceForNotification,
70
73
  setRouteElement,
71
74
  startInit,
@@ -9,6 +9,10 @@ export declare const initAuth: (appParam: FirebaseApp) => void;
9
9
  export declare const logout: () => Promise<boolean>;
10
10
  export declare const isAuthenticated: () => boolean;
11
11
  export declare const getAuthUser: () => unknown;
12
+ export declare const getFirebaseUserIdToken: (refresh: boolean) => Promise<{
13
+ userToken: string;
14
+ userName: string;
15
+ } | undefined>;
12
16
  export declare const authStateChanged: (callback: Function) => void;
13
17
  export declare const authIdTokenStateChanged: (callback: Function) => void;
14
18
  export declare const login: (user: string, sec: string) => Promise<User>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAA4F,IAAI,EAAE,MAAM,eAAe,CAAC;AAI/H;;;;GAIG;AACH,eAAO,MAAM,QAAQ,aAAc,WAAW,SAG7C,CAAA;AAED,eAAO,MAAM,MAAM,QAAa,QAAQ,OAAO,CAU9C,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAOlC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAK9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,QAAQ,SAiClD,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,QAAQ,SAEzD,CAAA;AAED,eAAO,MAAM,KAAK,SAAe,MAAM,OAAM,MAAM,KAAG,QAAQ,IAAI,CAMjE,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAA4F,IAAI,EAAE,MAAM,eAAe,CAAC;AAI/H;;;;GAIG;AACH,eAAO,MAAM,QAAQ,aAAc,WAAW,SAG7C,CAAA;AAED,eAAO,MAAM,MAAM,QAAa,QAAQ,OAAO,CAU9C,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAOlC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAK9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,YACxB,OAAO,KACf,QAAQ;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,SAAS,CAUZ,CAAC;AAGF,eAAO,MAAM,gBAAgB,aAAc,QAAQ,SAiClD,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,QAAQ,SAEzD,CAAA;AAED,eAAO,MAAM,KAAK,SAAe,MAAM,OAAM,MAAM,KAAG,QAAQ,IAAI,CAMjE,CAAA"}
@@ -17,8 +17,13 @@ export declare const getStorageFile: (storageName: string, refKey: string, stora
17
17
  export declare const downloadFile: (file: StorageDocument) => Promise<unknown>;
18
18
  export declare const deleteFile: (file: StorageDocument) => Promise<unknown>;
19
19
  export declare const getStorageConfiguration: () => FileStorageConfig | undefined;
20
- export declare const activateCollectionListener: (callback: Function, col: string, constraints?: CollectionContraint[]) => import('@firebase/firestore').Unsubscribe | "";
20
+ export declare const activateCollectionListener: (callback: Function, col: string, constraints?: CollectionContraint[]) => "" | import('@firebase/firestore').Unsubscribe;
21
21
  export declare const registerAppDeviceForNotification: (registration: ServiceWorkerRegistration) => Promise<void>;
22
22
  export declare const getMessagingImpl: () => import('@firebase/messaging').Messaging | undefined;
23
+ export declare const getUserIdToken: (refresh: boolean) => Promise<{
24
+ userToken: string;
25
+ userName: string;
26
+ appName: string;
27
+ } | undefined>;
23
28
  export declare const getApp: () => FirebaseApp;
24
29
  //# sourceMappingURL=service-provider-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider-impl.d.ts","sourceRoot":"","sources":["../../src/service-provider/service-provider-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAI1D,OAAO,EACL,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAC5F,4BAA4B,EAAE,eAAe,EAAE,UAAU,EAC1D,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAqBvE,eAAO,MAAM,kBAAkB,mBAAoB,4BAA4B,SAE9E,CAAA;AAED,eAAO,MAAM,cAAc,oBAAqB,qBAAqB,SAEpE,CAAA;AAoCD,eAAO,MAAM,WAAW,WAAY,gBAAgB,SAenD,CAAA;AAKD,eAAO,MAAM,gBAAgB,QAAe,kBAAkB,iBAAiB,GAAG,KAAG,QAAQ,cAAc,CAoB1G,CAAA;AASD,eAAO,MAAM,oBAAoB,aACrB,QAAQ,SASnB,CAAA;AAED,eAAO,MAAM,mBAAmB,eAQ/B,CAAA;AAED,eAAO,MAAO,kCAAkC,cAAe,MAAM,KAAG,QAAQ,OAAO,CAMtF,CAAA;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,OAAO,MAAM,qBAkBlD,CAAA;AAED,eAAO,MAAM,UAAU,wBAQtB,CAAC;AAGF,eAAO,MAAM,OAAO,eAQnB,CAAA;AAKD,eAAO,MAAM,UAAU,SAAU,UAAU,KAAG,QAAQ,OAAO,CAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,gBAChB,MAAM,UACX,MAAM,cACF,MAAM,oBACD,OAAO,KACvB,QAAQ,eAAe,EAAE,CAQ3B,CAAA;AAED,eAAO,MAAM,cAAc,gBACZ,MAAM,UACZ,MAAM,cACD,MAAM,mBACD,OAAO,KACvB,QAAQ,eAAe,CAOzB,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,eAAe,KAAG,QAAQ,OAAO,CAQnE,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,eAAe,KAAG,QAAQ,OAAO,CAKjE,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,iBAAiB,GAAG,SAK9D,CAAA;AAKD,eAAO,MAAM,0BAA0B,aAC3B,QAAQ,OAAO,MAAM,gBAAe,mBAAmB,EAAE,mDAUpE,CAAC;AAMF,eAAO,MAAM,gCAAgC,iBAC7B,yBAAyB,kBAUxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,2DAS5B,CAAC;AAEF,eAAO,MAAM,MAAM,mBAAY,CAAC"}
1
+ {"version":3,"file":"service-provider-impl.d.ts","sourceRoot":"","sources":["../../src/service-provider/service-provider-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAI1D,OAAO,EACL,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAC5F,4BAA4B,EAAE,eAAe,EAAE,UAAU,EAC1D,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAqBvE,eAAO,MAAM,kBAAkB,mBAAoB,4BAA4B,SAE9E,CAAA;AAED,eAAO,MAAM,cAAc,oBAAqB,qBAAqB,SAEpE,CAAA;AAoCD,eAAO,MAAM,WAAW,WAAY,gBAAgB,SAenD,CAAA;AAKD,eAAO,MAAM,gBAAgB,QAAe,kBAAkB,iBAAiB,GAAG,KAAG,QAAQ,cAAc,CAoB1G,CAAA;AASD,eAAO,MAAM,oBAAoB,aACrB,QAAQ,SASnB,CAAA;AAED,eAAO,MAAM,mBAAmB,eAQ/B,CAAA;AAED,eAAO,MAAO,kCAAkC,cAAe,MAAM,KAAG,QAAQ,OAAO,CAMtF,CAAA;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,OAAO,MAAM,qBAkBlD,CAAA;AAED,eAAO,MAAM,UAAU,wBAQtB,CAAC;AAGF,eAAO,MAAM,OAAO,eAQnB,CAAA;AAKD,eAAO,MAAM,UAAU,SAAU,UAAU,KAAG,QAAQ,OAAO,CAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,gBAChB,MAAM,UACX,MAAM,cACF,MAAM,oBACD,OAAO,KACvB,QAAQ,eAAe,EAAE,CAQ3B,CAAA;AAED,eAAO,MAAM,cAAc,gBACZ,MAAM,UACZ,MAAM,cACD,MAAM,mBACD,OAAO,KACvB,QAAQ,eAAe,CAOzB,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,eAAe,KAAG,QAAQ,OAAO,CAQnE,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,eAAe,KAAG,QAAQ,OAAO,CAKjE,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,iBAAiB,GAAG,SAK9D,CAAA;AAKD,eAAO,MAAM,0BAA0B,aAC3B,QAAQ,OAAO,MAAM,gBAAe,mBAAmB,EAAE,mDAUpE,CAAC;AAMF,eAAO,MAAM,gCAAgC,iBAC7B,yBAAyB,kBAUxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,2DAS5B,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,OAAO,KAAG,QAAQ;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,SAAS,CAaZ,CAAC;AAEF,eAAO,MAAM,MAAM,mBAAY,CAAC"}
@@ -1,21 +1,17 @@
1
- import { getUser } from "../service-provider/service-provider-impl.js";
1
+ import { getUserIdToken } from "../service-provider/service-provider-impl.js";
2
2
  import { update, USER_COLLECTION } from "../store/indexDB.js";
3
- const refreshAndPersistUserIdToken = async (appName) => {
3
+ const refreshAndPersistUserIdToken = async () => {
4
4
  try {
5
- const user = getUser();
6
- if (!user) {
7
- console.warn("Token refresh skipped: no user signed in.");
8
- return false;
9
- }
10
- const token = await user.getIdToken(true);
11
- if (!token) {
12
- console.warn("Token refresh failed: no token returned.");
5
+ const userResult = await getUserIdToken(true);
6
+ const { userName, userToken, appName } = userResult || {};
7
+ if (!userToken) {
8
+ console.warn("Token refresh skipped: no valid userToken returned.");
13
9
  return false;
14
10
  }
15
11
  await update(USER_COLLECTION, {
16
12
  id: appName,
17
- userNameToken: user.displayName,
18
- userIdToken: token
13
+ userNameToken: userName,
14
+ userIdToken: userToken
19
15
  });
20
16
  console.log(`[TokenRefresh] ID Token refreshed & saved to local DB for app: ${appName}`);
21
17
  return true;
@@ -29,6 +29,17 @@ const getAuthUser = () => {
29
29
  }
30
30
  return auth.currentUser;
31
31
  };
32
+ const getFirebaseUserIdToken = async (refresh) => {
33
+ if (!auth) {
34
+ throw new Error("isAuthenticated: Auth was not initialized");
35
+ }
36
+ const user = auth.currentUser;
37
+ const newIdToken = await (user == null ? void 0 : user.getIdToken(refresh));
38
+ return newIdToken ? {
39
+ userToken: newIdToken,
40
+ userName: (user == null ? void 0 : user.displayName) || ""
41
+ } : void 0;
42
+ };
32
43
  const authStateChanged = (callback) => {
33
44
  if (!auth) {
34
45
  throw new Error("authStateChanged: Auth was not initialized");
@@ -49,6 +60,7 @@ export {
49
60
  authIdTokenStateChanged,
50
61
  authStateChanged,
51
62
  getAuthUser,
63
+ getFirebaseUserIdToken,
52
64
  initAuth,
53
65
  isAuthenticated,
54
66
  login,
@@ -1,5 +1,5 @@
1
1
  import { initializeApp } from "firebase/app";
2
- import { initAuth, authStateChanged, isAuthenticated, login, logout, getAuthUser } from "./firebase/auth.js";
2
+ import { initAuth, authStateChanged, isAuthenticated, login, logout, getAuthUser, getFirebaseUserIdToken } from "./firebase/auth.js";
3
3
  import { authStateChangedMock, isAuthenticatedMock, loginMock, logoutMock, getAuthUserMock } from "./mock/auth.js";
4
4
  import { initFunctions, callFunction } from "./firebase/functions-client.js";
5
5
  import { initFirestore, getFirebaseCollectionListener } from "./firebase/firestore-client.js";
@@ -205,6 +205,20 @@ const getMessagingImpl = () => {
205
205
  }
206
206
  return throwUndefinedProviderError();
207
207
  };
208
+ const getUserIdToken = async (refresh) => {
209
+ if (provider === "firebase") {
210
+ const userResult = await getFirebaseUserIdToken(refresh);
211
+ return userResult ? {
212
+ ...userResult,
213
+ appName: app.name
214
+ } : void 0;
215
+ }
216
+ if (provider === "mock") {
217
+ console.log("getUserIdToken not implemented for MOCK, do noting");
218
+ return void 0;
219
+ }
220
+ return throwUndefinedProviderError();
221
+ };
208
222
  const getApp = () => app;
209
223
  export {
210
224
  activateCollectionListener,
@@ -218,6 +232,7 @@ export {
218
232
  getStorageFile,
219
233
  getStorageFileList,
220
234
  getUser,
235
+ getUserIdToken,
221
236
  initAppImpl,
222
237
  isAuthenticatedImpl,
223
238
  isAuthenticatedWithSessionRedirect,
@@ -1,13 +1,12 @@
1
1
  import { configureStore, LoggerExtension, ReduxDevtoolsExtension, ImmutableStateExtension } from "mini-rx-store";
2
2
  import { spaAppReducer } from "./spa-app-reducer.js";
3
- import { appRouteEffect, appToastEffect, registerNotificationTokenSuccessEffect, updateNewUserIdTokenEffect } from "./spa-app-effects.js";
3
+ import { appRouteEffect, appToastEffect, registerNotificationTokenSuccessEffect } from "./spa-app-effects.js";
4
4
  let store;
5
5
  const registerEffects = (effects) => {
6
6
  if (store) {
7
7
  store.effect(appRouteEffect);
8
8
  store.effect(appToastEffect);
9
9
  store.effect(registerNotificationTokenSuccessEffect);
10
- store.effect(updateNewUserIdTokenEffect);
11
10
  effects.forEach((effect) => store.effect(effect));
12
11
  } else {
13
12
  console.error("Store is not initialized. Cannot register effects.");
@@ -11,9 +11,6 @@ const removeLoadingState = action("SPA_APP_REMOVE_LOADING", payload());
11
11
  const updateNewNotificationToken = action("UPDATE_NOTIFICATION_TOKEN", payload());
12
12
  const updateNewNotificationTokenSuccess = action("UPDATE_NOTIFICATION_TOKEN_SUCCESS", payload());
13
13
  const updateNewNotificationTokenFail = action("UPDATE_NOTIFICATION_TOKEN_FAIL", payload());
14
- const updateNewUserIdToken = action("UPDATE_USER_ID_TOKEN", payload());
15
- const updateNewUserIdTokenSuccess = action("UPDATE_USER_ID_TOKEN_SUCCESS");
16
- const updateNewUserIdTokenFail = action("UPDATE_USER_ID_TOKEN_FAIL", payload());
17
14
  export {
18
15
  addLoadingState,
19
16
  changeSubTask,
@@ -26,8 +23,5 @@ export {
26
23
  updateInternetOffline,
27
24
  updateNewNotificationToken,
28
25
  updateNewNotificationTokenFail,
29
- updateNewNotificationTokenSuccess,
30
- updateNewUserIdToken,
31
- updateNewUserIdTokenFail,
32
- updateNewUserIdTokenSuccess
26
+ updateNewNotificationTokenSuccess
33
27
  };
@@ -1,10 +1,8 @@
1
1
  import { createEffect, actions$ } from "mini-rx-store";
2
- import { tap, mergeMap, map, catchError } from "rxjs/operators";
2
+ import { tap } from "rxjs/operators";
3
3
  import { ofType } from "ts-action-operators";
4
- import { routeAction, toastAction, updateNewNotificationTokenSuccess, updateNewUserIdToken, updateNewUserIdTokenSuccess, updateNewUserIdTokenFail } from "./spa-app-actions.js";
4
+ import { routeAction, toastAction, updateNewNotificationTokenSuccess } from "./spa-app-actions.js";
5
5
  import { NOTIFICATION_TOKEN } from "../service-provider/firebase/messagingFirebaseClient.js";
6
- import { refreshAndPersistUserIdToken } from "../helper/refresh-id-token.js";
7
- import { from, of } from "rxjs";
8
6
  let routeElement;
9
7
  const setRouteElement = (param) => {
10
8
  routeElement = param;
@@ -63,20 +61,9 @@ const registerNotificationTokenSuccessEffect = createEffect(
63
61
  dispatch: false
64
62
  }
65
63
  );
66
- const updateNewUserIdTokenEffect = actions$.pipe(
67
- ofType(updateNewUserIdToken),
68
- mergeMap(
69
- (action) => from(refreshAndPersistUserIdToken(action.payload.appName)).pipe(
70
- map((result) => result ? updateNewUserIdTokenSuccess() : updateNewUserIdTokenFail(new Error("Failed Token creation"))),
71
- catchError((err) => of(updateNewUserIdTokenFail(err)))
72
- )
73
- ),
74
- catchError((err) => of(updateNewUserIdTokenFail(err)))
75
- );
76
64
  export {
77
65
  appRouteEffect,
78
66
  appToastEffect,
79
67
  registerNotificationTokenSuccessEffect,
80
- setRouteElement,
81
- updateNewUserIdTokenEffect
68
+ setRouteElement
82
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mini-rx.store.d.ts","sourceRoot":"","sources":["../../src/store/mini-rx.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAoE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAsB5E,eAAO,MAAM,eAAe,UAAW,WAAW,SAwBjD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,KAAc,CAAC"}
1
+ {"version":3,"file":"mini-rx.store.d.ts","sourceRoot":"","sources":["../../src/store/mini-rx.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAoE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAoB5E,eAAO,MAAM,eAAe,UAAW,WAAW,SAwBjD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,KAAc,CAAC"}
@@ -102,27 +102,4 @@ export declare const updateNewNotificationTokenFail: ((payload: Error) => {
102
102
  }) & {
103
103
  type: "UPDATE_NOTIFICATION_TOKEN_FAIL";
104
104
  };
105
- export declare const updateNewUserIdToken: ((payload: {
106
- appName: string;
107
- }) => {
108
- payload: {
109
- appName: string;
110
- };
111
- } & {
112
- type: "UPDATE_USER_ID_TOKEN";
113
- }) & {
114
- type: "UPDATE_USER_ID_TOKEN";
115
- };
116
- export declare const updateNewUserIdTokenSuccess: (() => {
117
- type: "UPDATE_USER_ID_TOKEN_SUCCESS";
118
- }) & {
119
- type: "UPDATE_USER_ID_TOKEN_SUCCESS";
120
- };
121
- export declare const updateNewUserIdTokenFail: ((payload: Error) => {
122
- payload: Error;
123
- } & {
124
- type: "UPDATE_USER_ID_TOKEN_FAIL";
125
- }) & {
126
- type: "UPDATE_USER_ID_TOKEN_FAIL";
127
- };
128
105
  //# sourceMappingURL=spa-app-actions.d.ts.map
@@ -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;AAGrE,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;SACjB,MAAM,GAAG,cAAc;aACnB,OAAO;eACL,OAAO;;;;aAFb,MAAM,GAAG,cAAc;iBACnB,OAAO;mBACL,OAAO;;;;;;;CAEf,CAAC;AAEN,eAAO,MAAM,qBAAqB;;;;;;CAAgE,CAAC;AAEnG,eAAO,MAAM,eAAe;;;;;;CAAyD,CAAC;AACtF,eAAO,MAAM,aAAa;qBACP,MAAM;kBACT,cAAc;;;yBADX,MAAM;sBACT,cAAc;;;;;;CACzB,CAAC;AACN,eAAO,MAAM,kBAAkB;;;;;;CAAsD,CAAC;AAGtF,eAAO,MAAM,0BAA0B;oBACrB,MAAM;;;wBAAN,MAAM;;;;;;CACnB,CAAC;AACN,eAAO,MAAM,iCAAiC;oBAC5B,MAAM;;;wBAAN,MAAM;;;;;;CACnB,CAAC;AACN,eAAO,MAAM,8BAA8B;;;;;;CAA6D,CAAC;AAGzG,eAAO,MAAM,oBAAoB;aACtB,MAAM;;;iBAAN,MAAM;;;;;;CACZ,CAAC;AACN,eAAO,MAAM,2BAA2B;;;;CAAyC,CAAC;AAClF,eAAO,MAAM,wBAAwB;;;;;;CAAwD,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,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE,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;SACjB,MAAM,GAAG,cAAc;aACnB,OAAO;eACL,OAAO;;;;aAFb,MAAM,GAAG,cAAc;iBACnB,OAAO;mBACL,OAAO;;;;;;;CAEf,CAAC;AAEN,eAAO,MAAM,qBAAqB;;;;;;CAAgE,CAAC;AAEnG,eAAO,MAAM,eAAe;;;;;;CAAyD,CAAC;AACtF,eAAO,MAAM,aAAa;qBACP,MAAM;kBACT,cAAc;;;yBADX,MAAM;sBACT,cAAc;;;;;;CACzB,CAAC;AACN,eAAO,MAAM,kBAAkB;;;;;;CAAsD,CAAC;AAGtF,eAAO,MAAM,0BAA0B;oBACrB,MAAM;;;wBAAN,MAAM;;;;;;CACnB,CAAC;AACN,eAAO,MAAM,iCAAiC;oBAC5B,MAAM;;;wBAAN,MAAM;;;;;;CACnB,CAAC;AACN,eAAO,MAAM,8BAA8B;;;;;;CAA6D,CAAC"}
@@ -21,11 +21,4 @@ export declare const registerNotificationTokenSuccessEffect: import('rxjs').Obse
21
21
  } & {
22
22
  type: "UPDATE_NOTIFICATION_TOKEN_SUCCESS";
23
23
  }> & import('mini-rx-store/lib/models.js').HasEffectMetadata;
24
- export declare const updateNewUserIdTokenEffect: import('rxjs').Observable<{
25
- type: "UPDATE_USER_ID_TOKEN_SUCCESS";
26
- } | ({
27
- payload: Error;
28
- } & {
29
- type: "UPDATE_USER_ID_TOKEN_FAIL";
30
- })>;
31
24
  //# sourceMappingURL=spa-app-effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spa-app-effects.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-effects.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,eAAe,UAAW,WAAW,SAEjD,CAAA;AAKD,eAAO,MAAM,cAAc;;;;4DAiB1B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;4DAsB1B,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;;;4DASlD,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;;;GAStC,CAAC"}
1
+ {"version":3,"file":"spa-app-effects.d.ts","sourceRoot":"","sources":["../../src/store/spa-app-effects.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe,UAAW,WAAW,SAEjD,CAAA;AAKD,eAAO,MAAM,cAAc;;;;4DAiB1B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;4DAsB1B,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;;;4DASlD,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent pd-spa-helper following open-wc recommendations",
4
4
  "author": "PD Progressive Development",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
- "version": "0.7.1",
6
+ "version": "0.7.3",
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -13,7 +13,6 @@
13
13
  "./pd-panel-viewer": "./dist/pd-panel-viewer.js",
14
14
  "./pd-panel": "./dist/pd-panel.js",
15
15
  "./pd-icon-panel-button": "./dist/pd-icon-panel-button.js"
16
-
17
16
  },
18
17
  "files": [
19
18
  "dist/",
@@ -38,12 +37,12 @@
38
37
  "dependencies": {
39
38
  "@lit-labs/task": "^1.1.3",
40
39
  "@lit/localize": "^0.11.4",
41
- "@progressive-development/pd-shared-styles": "^0.1.1",
42
40
  "@progressive-development/pd-dialog": "^0.5.8",
43
41
  "@progressive-development/pd-forms": "^0.5.7",
44
42
  "@progressive-development/pd-icon": "^0.5.0",
45
43
  "@progressive-development/pd-order": "^0.5.15",
46
44
  "@progressive-development/pd-page": "^0.5.10",
45
+ "@progressive-development/pd-shared-styles": "^0.1.1",
47
46
  "@progressive-development/pd-wizard": "^0.5.8",
48
47
  "@types/hammerjs": "^2.0.46",
49
48
  "firebase": "^10.14.1",
@@ -51,7 +50,7 @@
51
50
  "lit": "^2.8.0",
52
51
  "lit-element-router": "^2.0.3",
53
52
  "mini-rx-store": "^5.1.0",
54
- "rxjs": "^7.8.1",
53
+ "rxjs": "^7.8.2",
55
54
  "ts-action": "^11.0.0",
56
55
  "ts-action-operators": "^9.1.2"
57
56
  },
@@ -59,12 +58,12 @@
59
58
  "@chromatic-com/storybook": "^1.9.0",
60
59
  "@custom-elements-manifest/analyzer": "^0.4.17",
61
60
  "@lit/localize-tools": "^0.6.10",
62
- "@storybook/addon-essentials": "^8.4.7",
63
- "@storybook/addon-links": "^8.4.7",
61
+ "@storybook/addon-essentials": "^8.6.12",
62
+ "@storybook/addon-links": "^8.6.12",
64
63
  "@storybook/blocks": "^8.0.10",
65
- "@storybook/test": "^8.4.7",
64
+ "@storybook/test": "^8.6.12",
66
65
  "@storybook/web-components": "^8.0.10",
67
- "@storybook/web-components-vite": "^8.4.7",
66
+ "@storybook/web-components-vite": "^8.6.12",
68
67
  "@typescript-eslint/eslint-plugin": "^4.33.0",
69
68
  "@typescript-eslint/parser": "^4.33.0",
70
69
  "concurrently": "^5.3.0",
@@ -74,13 +73,13 @@
74
73
  "husky": "^4.3.8",
75
74
  "lint-staged": "^10.5.4",
76
75
  "prettier": "^2.8.8",
77
- "rollup-plugin-visualizer": "^5.13.1",
78
- "storybook": "^8.4.7",
76
+ "rollup-plugin-visualizer": "^5.14.0",
77
+ "storybook": "^8.6.12",
79
78
  "tslib": "^2.8.1",
80
79
  "typescript": "^4.9.5",
81
- "vite": "^5.4.11",
82
- "vite-plugin-dts": "^4.4.0",
83
- "vitest": "^2.1.8"
80
+ "vite": "^5.4.19",
81
+ "vite-plugin-dts": "^4.5.3",
82
+ "vitest": "^2.1.9"
84
83
  },
85
84
  "customElements": "custom-elements.json",
86
85
  "eslintConfig": {
@@ -114,7 +113,7 @@
114
113
  "prettier": {
115
114
  "singleQuote": true,
116
115
  "arrowParens": "avoid"
117
- },
116
+ },
118
117
  "lint-staged": {
119
118
  "*.ts": [
120
119
  "eslint --fix",