@progressive-development/pd-spa-helper 0.7.0 → 0.7.2

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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Update token for user, so the service worker is up to date.
3
+ */
4
+ export declare const refreshAndPersistUserIdToken: () => Promise<boolean>;
5
+ //# sourceMappingURL=refresh-id-token.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,25 @@
1
+ import { getUserIdToken } from "../service-provider/service-provider-impl.js";
2
+ import { update, USER_COLLECTION } from "../store/indexDB.js";
3
+ const refreshAndPersistUserIdToken = async () => {
4
+ try {
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.");
9
+ return false;
10
+ }
11
+ await update(USER_COLLECTION, {
12
+ id: appName,
13
+ userNameToken: userName,
14
+ userIdToken: userToken
15
+ });
16
+ console.log(`[TokenRefresh] ID Token refreshed & saved to local DB for app: ${appName}`);
17
+ return true;
18
+ } catch (error) {
19
+ console.error(`[TokenRefresh] Failed to refresh and persist token:`, error);
20
+ return false;
21
+ }
22
+ };
23
+ export {
24
+ refreshAndPersistUserIdToken
25
+ };
@@ -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,
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.0",
6
+ "version": "0.7.2",
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",