@progressive-development/pd-spa-helper 0.7.1 → 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.
- package/dist/helper/refresh-id-token.d.ts +1 -1
- package/dist/helper/refresh-id-token.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/service-provider/firebase/auth.d.ts +4 -0
- package/dist/service-provider/firebase/auth.d.ts.map +1 -1
- package/dist/service-provider/service-provider-impl.d.ts +6 -1
- package/dist/service-provider/service-provider-impl.d.ts.map +1 -1
- package/dist/src/helper/refresh-id-token.js +8 -12
- package/dist/src/service-provider/firebase/auth.js +12 -0
- package/dist/src/service-provider/service-provider-impl.js +16 -1
- package/dist/src/store/mini-rx.store.js +1 -2
- package/dist/src/store/spa-app-actions.js +1 -7
- package/dist/src/store/spa-app-effects.js +3 -16
- package/dist/store/mini-rx.store.d.ts.map +1 -1
- package/dist/store/spa-app-actions.d.ts +0 -23
- package/dist/store/spa-app-actions.d.ts.map +1 -1
- package/dist/store/spa-app-effects.d.ts +0 -7
- package/dist/store/spa-app-effects.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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: (
|
|
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,
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
1
|
+
import { getUserIdToken } from "../service-provider/service-provider-impl.js";
|
|
2
2
|
import { update, USER_COLLECTION } from "../store/indexDB.js";
|
|
3
|
-
const refreshAndPersistUserIdToken = async (
|
|
3
|
+
const refreshAndPersistUserIdToken = async () => {
|
|
4
4
|
try {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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:
|
|
18
|
-
userIdToken:
|
|
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
|
|
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
|
|
2
|
+
import { tap } from "rxjs/operators";
|
|
3
3
|
import { ofType } from "ts-action-operators";
|
|
4
|
-
import { routeAction, toastAction, updateNewNotificationTokenSuccess
|
|
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;
|
|
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
|
|
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":"
|
|
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.
|
|
6
|
+
"version": "0.7.2",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"module": "./dist/index.js",
|
|
9
9
|
"types": "./dist/index.d.ts",
|