@progressive-development/pd-spa-helper 0.9.2 → 1.0.0
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/PdSpaHelper.d.ts +83 -0
- package/dist/PdSpaHelper.d.ts.map +1 -0
- package/dist/PdSpaHelper.js +492 -0
- package/dist/defaultpage/default-confirm-popup.d.ts +19 -0
- package/dist/defaultpage/default-confirm-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-confirm-popup.js +70 -0
- package/dist/defaultpage/default-dialog-popup.d.ts +19 -0
- package/dist/defaultpage/default-dialog-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-dialog-popup.js +103 -0
- package/dist/defaultpage/default-login.d.ts +6 -0
- package/dist/defaultpage/default-login.d.ts.map +1 -0
- package/dist/defaultpage/default-login.js +33 -0
- package/dist/defaultpage/default-not-found.d.ts +6 -0
- package/dist/defaultpage/default-not-found.d.ts.map +1 -0
- package/dist/{components/default-not-found/DefaultNotFound.js → defaultpage/default-not-found.js} +3 -10
- package/dist/defaultpage/default-popup.d.ts +7 -0
- package/dist/defaultpage/default-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-popup.js +24 -0
- package/dist/defaultpage/default-step-address.d.ts +14 -0
- package/dist/defaultpage/default-step-address.d.ts.map +1 -0
- package/dist/defaultpage/default-step-address.js +77 -0
- package/dist/defaultpage/default-step-summary.d.ts +28 -0
- package/dist/defaultpage/default-step-summary.d.ts.map +1 -0
- package/dist/defaultpage/default-step-summary.js +67 -0
- package/dist/defaultpage/default-view-page.d.ts +10 -0
- package/dist/defaultpage/default-view-page.d.ts.map +1 -0
- package/dist/defaultpage/default-view-page.js +70 -0
- package/dist/defaultpage/default-wizard.d.ts +37 -0
- package/dist/defaultpage/default-wizard.d.ts.map +1 -0
- package/dist/defaultpage/default-wizard.js +255 -0
- package/dist/defaultpage/pd-default-wizard-step.d.ts +60 -0
- package/dist/defaultpage/pd-default-wizard-step.d.ts.map +1 -0
- package/dist/defaultpage/pd-default-wizard-step.js +144 -0
- package/dist/generated/locale-wrapper/be-wrapper.d.ts +14 -49
- package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -1
- package/dist/generated/locale-wrapper/de-wrapper.d.ts +14 -49
- package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -1
- package/dist/generated/locale-wrapper/en-wrapper.d.ts +14 -49
- package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -1
- package/dist/generated/locales/be.d.ts +15 -1
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/be.js +15 -1
- package/dist/generated/locales/de.d.ts +15 -1
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/de.js +15 -1
- package/dist/generated/locales/en.d.ts +15 -1
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/generated/locales/en.js +15 -1
- package/dist/helper/blob-helper.d.ts +3 -0
- package/dist/helper/blob-helper.d.ts.map +1 -0
- package/dist/helper/blob-helper.js +35 -0
- package/dist/helper/date-helper.d.ts +27 -0
- package/dist/helper/date-helper.d.ts.map +1 -0
- package/dist/helper/date-helper.js +129 -0
- package/dist/helper/locale-format.d.ts +4 -0
- package/dist/helper/locale-format.d.ts.map +1 -0
- package/dist/helper/locale-format.js +16 -0
- package/dist/helper/logger.d.ts +12 -11
- package/dist/helper/logger.d.ts.map +1 -1
- package/dist/helper/logger.js +49 -10
- package/dist/helper/number-helper.d.ts +2 -0
- package/dist/helper/number-helper.d.ts.map +1 -0
- package/dist/helper/number-helper.js +13 -0
- package/dist/helper/price-helper.d.ts +5 -0
- package/dist/helper/price-helper.d.ts.map +1 -0
- package/dist/helper/price-helper.js +22 -0
- package/dist/helper/refresh-id-token.d.ts.map +1 -1
- package/dist/helper/refresh-id-token.js +4 -6
- package/dist/helper/text-helper.d.ts +3 -0
- package/dist/helper/text-helper.d.ts.map +1 -0
- package/dist/helper/text-helper.js +4 -0
- package/dist/index.d.ts +29 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -27
- package/dist/model/spa-model.d.ts +15 -14
- package/dist/model/spa-model.d.ts.map +1 -1
- package/dist/popup/wizard-close-popup.d.ts +11 -0
- package/dist/popup/wizard-close-popup.d.ts.map +1 -0
- package/dist/popup/wizard-close-popup.js +63 -0
- package/dist/popup/wizard-reload-popup.d.ts +14 -0
- package/dist/popup/wizard-reload-popup.d.ts.map +1 -0
- package/dist/popup/wizard-reload-popup.js +76 -0
- package/dist/router/PdRouterService.d.ts +1 -4
- package/dist/router/PdRouterService.d.ts.map +1 -1
- package/dist/router/PdRouterService.js +16 -40
- package/dist/service-provider/firebase/auth.d.ts +19 -0
- package/dist/service-provider/firebase/auth.d.ts.map +1 -0
- package/dist/service-provider/firebase/auth.js +62 -0
- package/dist/service-provider/firebase/firestorage-client.d.ts +22 -0
- package/dist/service-provider/firebase/firestorage-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/firestorage-client.js +226 -0
- package/dist/service-provider/firebase/firestore-client.d.ts +12 -0
- package/dist/service-provider/firebase/firestore-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/firestore-client.js +25 -0
- package/dist/service-provider/firebase/functions-client.d.ts +10 -0
- package/dist/service-provider/firebase/functions-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/functions-client.js +63 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts +9 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +1 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.js +69 -0
- package/dist/service-provider/mock/auth.d.ts +6 -0
- package/dist/service-provider/mock/auth.d.ts.map +1 -0
- package/dist/service-provider/mock/auth.js +60 -0
- package/dist/service-provider/mock/function-client.d.ts +7 -0
- package/dist/service-provider/mock/function-client.d.ts.map +1 -0
- package/dist/service-provider/mock/function-client.js +30 -0
- package/dist/service-provider/mock/storage-client.d.ts +11 -0
- package/dist/service-provider/mock/storage-client.d.ts.map +1 -0
- package/dist/service-provider/mock/storage-client.js +106 -0
- package/dist/service-provider/service-provider-impl.d.ts +27 -0
- package/dist/service-provider/service-provider-impl.d.ts.map +1 -0
- package/dist/service-provider/service-provider-impl.js +222 -0
- package/dist/service-provider/service-provider-model.d.ts +10 -55
- package/dist/service-provider/service-provider-model.d.ts.map +1 -1
- package/dist/{db → store}/indexDB.d.ts +9 -9
- package/dist/store/indexDB.d.ts.map +1 -0
- package/dist/{db → store}/indexDB.js +12 -14
- package/dist/store/mini-rx.store.d.ts.map +1 -1
- package/dist/store/mini-rx.store.js +3 -1
- package/dist/store/spa-app-actions.d.ts +22 -5
- package/dist/store/spa-app-actions.d.ts.map +1 -1
- package/dist/store/spa-app-actions.js +8 -4
- package/dist/store/spa-app-effects.d.ts +17 -0
- package/dist/store/spa-app-effects.d.ts.map +1 -1
- package/dist/store/spa-app-effects.js +40 -2
- package/dist/store/spa-app-reducer.d.ts +10 -5
- package/dist/store/spa-app-reducer.d.ts.map +1 -1
- package/dist/store/spa-app-reducer.js +8 -13
- package/dist/store/spa-app-selector.d.ts +2 -2
- package/dist/store/spa-app-selector.d.ts.map +1 -1
- package/dist/store/spa-app-selector.js +1 -1
- package/dist/stories/address-edit.stories.d.ts +27 -0
- package/dist/stories/address-edit.stories.d.ts.map +1 -0
- package/dist/stories/address-new.stories.d.ts +33 -0
- package/dist/stories/address-new.stories.d.ts.map +1 -0
- package/dist/stories/default-confirm-popup.stories.d.ts +24 -0
- package/dist/stories/default-confirm-popup.stories.d.ts.map +1 -0
- package/dist/stories/default-dialog-popup.stories.d.ts +23 -0
- package/dist/stories/default-dialog-popup.stories.d.ts.map +1 -0
- package/dist/stories/default-login.stories.d.ts +10 -0
- package/dist/stories/default-login.stories.d.ts.map +1 -0
- package/dist/stories/default-popup.stories.d.ts +9 -0
- package/dist/stories/default-popup.stories.d.ts.map +1 -0
- package/dist/stories/pd-loading-state.stories.d.ts +30 -0
- package/dist/stories/pd-loading-state.stories.d.ts.map +1 -0
- package/dist/stories/pd-toast.stories.d.ts +27 -0
- package/dist/stories/pd-toast.stories.d.ts.map +1 -0
- package/dist/stories/routing.stories.d.ts +24 -0
- package/dist/stories/routing.stories.d.ts.map +1 -0
- package/dist/stories/test-impls/address-test.d.ts +6 -0
- package/dist/stories/test-impls/address-test.d.ts.map +1 -0
- package/dist/stories/test-impls/test-mock-app.d.ts +15 -0
- package/dist/stories/test-impls/test-mock-app.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts +7 -0
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +5 -0
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts +17 -0
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts +16 -0
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts +13 -0
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts +5 -0
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts.map +1 -0
- package/dist/stories/test-wizard-step.stories.d.ts +11 -0
- package/dist/stories/test-wizard-step.stories.d.ts.map +1 -0
- package/dist/stories/test-wizard.stories.d.ts +9 -0
- package/dist/stories/test-wizard.stories.d.ts.map +1 -0
- package/dist/tmpown/pd-loading-state.d.ts +9 -0
- package/dist/tmpown/pd-loading-state.d.ts.map +1 -0
- package/dist/tmpown/pd-loading-state.js +196 -0
- package/dist/tmpown/pd-login.d.ts +13 -0
- package/dist/tmpown/pd-login.d.ts.map +1 -0
- package/dist/tmpown/pd-login.js +165 -0
- package/dist/tmpown/pd-toast.d.ts +13 -0
- package/dist/tmpown/pd-toast.d.ts.map +1 -0
- package/dist/tmpown/pd-toast.js +127 -0
- package/package.json +9 -14
- package/dist/auth/AuthController.d.ts +0 -37
- package/dist/auth/AuthController.d.ts.map +0 -1
- package/dist/auth/AuthController.js +0 -65
- package/dist/auth/auth-directives.d.ts +0 -59
- package/dist/auth/auth-directives.d.ts.map +0 -1
- package/dist/auth/auth-directives.js +0 -81
- package/dist/auth/auth-utils.d.ts +0 -45
- package/dist/auth/auth-utils.d.ts.map +0 -1
- package/dist/auth/auth-utils.js +0 -42
- package/dist/auth/index.d.ts +0 -7
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/components/default-login/DefaultLogin.d.ts +0 -15
- package/dist/components/default-login/DefaultLogin.d.ts.map +0 -1
- package/dist/components/default-login/DefaultLogin.js +0 -120
- package/dist/components/default-not-found/DefaultNotFound.d.ts +0 -6
- package/dist/components/default-not-found/DefaultNotFound.d.ts.map +0 -1
- package/dist/components/pd-section-page/PdSectionPage.d.ts +0 -55
- package/dist/components/pd-section-page/PdSectionPage.d.ts.map +0 -1
- package/dist/components/pd-section-page/PdSectionPage.js +0 -37
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +0 -196
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/PdSpaHelper.js +0 -603
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts +0 -77
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/controllers/ScrollController.js +0 -102
- package/dist/components/pd-spa-helper/spa-config.d.ts +0 -95
- package/dist/components/pd-spa-helper/spa-config.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/spa-config.js +0 -175
- package/dist/components/pd-spa-helper/spa-events.d.ts +0 -132
- package/dist/components/pd-spa-helper/spa-events.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/spa-events.js +0 -18
- package/dist/db/index.d.ts +0 -3
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/indexDB.d.ts.map +0 -1
- package/dist/model/index.d.ts +0 -4
- package/dist/model/index.d.ts.map +0 -1
- package/dist/router/index.d.ts +0 -3
- package/dist/router/index.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeController.d.ts +0 -34
- package/dist/screen-size/ScreenSizeController.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeController.js +0 -58
- package/dist/screen-size/ScreenSizeService.d.ts +0 -49
- package/dist/screen-size/ScreenSizeService.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeService.js +0 -107
- package/dist/screen-size/index.d.ts +0 -13
- package/dist/screen-size/index.d.ts.map +0 -1
- package/dist/screen-size/responsive-directives.d.ts +0 -59
- package/dist/screen-size/responsive-directives.d.ts.map +0 -1
- package/dist/screen-size/responsive-directives.js +0 -71
- package/dist/screen-size/types.d.ts +0 -44
- package/dist/screen-size/types.d.ts.map +0 -1
- package/dist/service-provider/ServiceRegistry.d.ts +0 -67
- package/dist/service-provider/ServiceRegistry.d.ts.map +0 -1
- package/dist/service-provider/ServiceRegistry.js +0 -76
- package/dist/service-provider/function-utils.d.ts +0 -55
- package/dist/service-provider/function-utils.d.ts.map +0 -1
- package/dist/service-provider/function-utils.js +0 -30
- package/dist/service-provider/index.d.ts +0 -10
- package/dist/service-provider/index.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IAuthProvider.d.ts +0 -68
- package/dist/service-provider/interfaces/IAuthProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts +0 -75
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts +0 -49
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IStorageProvider.d.ts +0 -118
- package/dist/service-provider/interfaces/IStorageProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/ServiceProvider.d.ts +0 -24
- package/dist/service-provider/interfaces/ServiceProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/common.d.ts +0 -5
- package/dist/service-provider/interfaces/common.d.ts.map +0 -1
- package/dist/services/fire-once-service.d.ts +0 -35
- package/dist/services/fire-once-service.d.ts.map +0 -1
- package/dist/services/fire-once-service.js +0 -61
- package/dist/store/async-action-effects.d.ts +0 -179
- package/dist/store/async-action-effects.d.ts.map +0 -1
- package/dist/store/async-action-effects.js +0 -98
- package/dist/store/async-action-utils.d.ts +0 -154
- package/dist/store/async-action-utils.d.ts.map +0 -1
- package/dist/store/async-action-utils.js +0 -42
- package/dist/store/index.d.ts +0 -9
- package/dist/store/index.d.ts.map +0 -1
- package/dist/stories/introduction.stories.d.ts +0 -11
- package/dist/stories/introduction.stories.d.ts.map +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const DEFAULT_STORAGE = "default_storage";
|
|
2
|
+
const downloadFile = (buffer) => {
|
|
3
|
+
const data = new Blob([buffer], {
|
|
4
|
+
type: "image/png"
|
|
5
|
+
});
|
|
6
|
+
const url = window.URL.createObjectURL(data);
|
|
7
|
+
window.open(url);
|
|
8
|
+
};
|
|
9
|
+
const base64ToArrayBuffer = (base64) => {
|
|
10
|
+
const test = base64.replace("data:image/png;base64,", "");
|
|
11
|
+
const binaryString = atob(test);
|
|
12
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
13
|
+
for (let i = 0; i < binaryString.length; i += 1) {
|
|
14
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
15
|
+
}
|
|
16
|
+
return bytes.buffer;
|
|
17
|
+
};
|
|
18
|
+
class MockStorage {
|
|
19
|
+
constructor(storageName) {
|
|
20
|
+
this._name = storageName;
|
|
21
|
+
}
|
|
22
|
+
// eslint-disable-next-line class-methods-use-this
|
|
23
|
+
uploadFile(filePath, file) {
|
|
24
|
+
downloadFile(base64ToArrayBuffer(file.base64DataURL));
|
|
25
|
+
return Promise.resolve({
|
|
26
|
+
fullPath: filePath
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const storageMap = /* @__PURE__ */ new Map();
|
|
31
|
+
const initStorageMock = (defaultStorage, storageConfig) => {
|
|
32
|
+
console.log("Init mock Storage");
|
|
33
|
+
try {
|
|
34
|
+
if (defaultStorage) {
|
|
35
|
+
storageMap.set(DEFAULT_STORAGE, {
|
|
36
|
+
storage: new MockStorage(DEFAULT_STORAGE)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
storageConfig?.storage.forEach((storeConfig) => {
|
|
40
|
+
const storage = new MockStorage(storeConfig.name);
|
|
41
|
+
const storageRootRef = "/";
|
|
42
|
+
storageMap.set(storeConfig.name, {
|
|
43
|
+
storage,
|
|
44
|
+
references: [
|
|
45
|
+
{
|
|
46
|
+
key: "ROOT",
|
|
47
|
+
storageRef: storageRootRef
|
|
48
|
+
},
|
|
49
|
+
...storeConfig.references.map((refConfigString) => ({
|
|
50
|
+
key: refConfigString,
|
|
51
|
+
storageRef: `${storageRootRef}/${refConfigString}`
|
|
52
|
+
}))
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error(error);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const uploadStorageFileMock = (file) => {
|
|
61
|
+
if (!storageMap || storageMap.size === 0) {
|
|
62
|
+
throw new Error("No storage is configured");
|
|
63
|
+
}
|
|
64
|
+
const { storageName, referenceKey, subFolderName, fileName } = file;
|
|
65
|
+
const storageConf = storageMap.get(storageName || DEFAULT_STORAGE);
|
|
66
|
+
if (!storageConf) {
|
|
67
|
+
throw new Error(`Invalid storage name: ${storageName || DEFAULT_STORAGE}`);
|
|
68
|
+
}
|
|
69
|
+
if (!storageConf.references || storageConf.references.length === 0) {
|
|
70
|
+
throw new Error(
|
|
71
|
+
`No references configured for storage: ${storageName || DEFAULT_STORAGE}`
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
const uploadRefConf = referenceKey ? storageConf.references.filter(
|
|
75
|
+
(filterRef) => filterRef.key === referenceKey
|
|
76
|
+
)[0] : storageConf.references[0];
|
|
77
|
+
if (!uploadRefConf || !uploadRefConf.storageRef) {
|
|
78
|
+
throw new Error(`No valid reference for key: ${referenceKey}`);
|
|
79
|
+
}
|
|
80
|
+
const fileRef = `${uploadRefConf.storageRef}/${subFolderName ? `${subFolderName}/${fileName}` : fileName}`;
|
|
81
|
+
return storageConf.storage.uploadFile(fileRef, file);
|
|
82
|
+
};
|
|
83
|
+
const downloadFileMock = (file) => {
|
|
84
|
+
alert("Not implemented for mock");
|
|
85
|
+
return Promise.resolve("");
|
|
86
|
+
};
|
|
87
|
+
const getMockFileList = (storageName, refKey, subFolder, includeMetadata) => {
|
|
88
|
+
console.log(
|
|
89
|
+
"Searching for Documents in ",
|
|
90
|
+
storageName,
|
|
91
|
+
refKey,
|
|
92
|
+
subFolder,
|
|
93
|
+
includeMetadata
|
|
94
|
+
);
|
|
95
|
+
return Promise.resolve([
|
|
96
|
+
{
|
|
97
|
+
fileName: "workReport.png",
|
|
98
|
+
filePath: "workReports/1234234f2fswf/workReport.png",
|
|
99
|
+
documentType: "ToDo",
|
|
100
|
+
storageName,
|
|
101
|
+
refKey
|
|
102
|
+
}
|
|
103
|
+
]);
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export { downloadFileMock, getMockFileList, initStorageMock, uploadStorageFileMock };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FirebaseApp } from 'firebase/app';
|
|
2
|
+
import { AppConfiguration, CollectionContraint, FileStorageConfig, FunctionDefinition, FunctionResult, ServiceProviderConfiguration, StorageDocument, UploadFile } from './service-provider-model.js';
|
|
3
|
+
export declare const setServiceProvider: (providerParam?: ServiceProviderConfiguration) => void;
|
|
4
|
+
export declare const initAppImpl: (config: AppConfiguration) => void;
|
|
5
|
+
export declare const callFunctionImpl: (def: FunctionDefinition, functionInput: any) => Promise<FunctionResult>;
|
|
6
|
+
export declare const authStateChangedImpl: (callback: (user: any) => void) => void;
|
|
7
|
+
export declare const isAuthenticatedImpl: () => boolean;
|
|
8
|
+
export declare const isAuthenticatedWithSessionRedirect: (routeName: string) => Promise<boolean>;
|
|
9
|
+
export declare const loginImpl: (user: string, sec: string) => Promise<unknown>;
|
|
10
|
+
export declare const logoutImpl: () => Promise<boolean>;
|
|
11
|
+
export declare const getUser: () => unknown;
|
|
12
|
+
export declare const uploadFile: (file: UploadFile) => Promise<unknown>;
|
|
13
|
+
export declare const getStorageFileList: (storageName: string, keyRef: string, subFolder?: string, includeMetadata?: boolean) => Promise<StorageDocument[]>;
|
|
14
|
+
export declare const getStorageFile: (storageName: string, refKey: string, storageURI: string, includeMetaData: boolean) => Promise<StorageDocument>;
|
|
15
|
+
export declare const downloadFile: (file: StorageDocument) => Promise<unknown>;
|
|
16
|
+
export declare const deleteFile: (file: StorageDocument) => Promise<unknown>;
|
|
17
|
+
export declare const getStorageConfiguration: () => FileStorageConfig | undefined;
|
|
18
|
+
export declare const activateCollectionListener: (callback: (query: any) => void, col: string, constraints?: CollectionContraint[]) => "" | import('firebase/firestore').Unsubscribe;
|
|
19
|
+
export declare const registerAppDeviceForNotification: (registration: ServiceWorkerRegistration) => Promise<void>;
|
|
20
|
+
export declare const getMessagingImpl: () => import('firebase/messaging').Messaging | undefined;
|
|
21
|
+
export declare const getUserIdToken: (refresh: boolean) => Promise<{
|
|
22
|
+
userToken: string;
|
|
23
|
+
userName: string;
|
|
24
|
+
appName: string;
|
|
25
|
+
} | undefined>;
|
|
26
|
+
export declare const getApp: () => FirebaseApp;
|
|
27
|
+
//# sourceMappingURL=service-provider-impl.d.ts.map
|
|
@@ -0,0 +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;AAkB1D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,4BAA4B,EAC5B,eAAe,EACf,UAAU,EACX,MAAM,6BAA6B,CAAC;AA8CrC,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,4BAA4B,SAG7C,CAAC;AAqCF,eAAO,MAAM,WAAW,GAAI,QAAQ,gBAAgB,SAWnD,CAAC;AAKF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,kBAAkB,EACvB,eAAe,GAAG,KACjB,OAAO,CAAC,cAAc,CASxB,CAAC;AAMF,eAAO,MAAM,oBAAoB,GAAI,UAAU,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,SAQjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAQ/B,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAMjB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,qBAiBlD,CAAC;AAEF,eAAO,MAAM,UAAU,wBAQtB,CAAC;AAGF,eAAO,MAAM,OAAO,eAQnB,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,MAAM,UAAU,KAAG,OAAO,CAAC,OAAO,CAQ5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,kBAAkB,OAAO,KACxB,OAAO,CAAC,eAAe,EAAE,CAa3B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,iBAAiB,OAAO,KACvB,OAAO,CAAC,eAAe,CAKzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,eAAe,KAAG,OAAO,CAAC,OAAO,CAQnE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,eAAe,KAAG,OAAO,CAAC,OAAO,CAKjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,iBAAiB,GAAG,SAK9D,CAAC;AAKF,eAAO,MAAM,0BAA0B,GACrC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAC9B,KAAK,MAAM,EACX,cAAc,mBAAmB,EAAE,kDAYpC,CAAC;AAKF,eAAO,MAAM,gCAAgC,GAC3C,cAAc,yBAAyB,kBAYxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,0DAS5B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,KACf,OAAO,CACN;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD,SAAS,CAgBZ,CAAC;AAEF,eAAO,MAAM,MAAM,mBAAY,CAAC"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { initializeApp } from 'firebase/app';
|
|
2
|
+
import { initAuth, authStateChanged, isAuthenticated, login, logout, getAuthUser, getFirebaseUserIdToken } from './firebase/auth.js';
|
|
3
|
+
import { authStateChangedMock, isAuthenticatedMock, loginMock, logoutMock, getAuthUserMock } from './mock/auth.js';
|
|
4
|
+
import { initFunctions, callFunction } from './firebase/functions-client.js';
|
|
5
|
+
import { initFirestore, getFirebaseCollectionListener } from './firebase/firestore-client.js';
|
|
6
|
+
import { initMockResponse, callFunctionMock } from './mock/function-client.js';
|
|
7
|
+
import { initFirestorage, uploadFirestorageFile, getFirestorageFileList, getFirestorageFile, downloadFileFirestorage, deleteFirestorageDocument, getFirestorageConf } from './firebase/firestorage-client.js';
|
|
8
|
+
import { initStorageMock, uploadStorageFileMock, getMockFileList, downloadFileMock } from './mock/storage-client.js';
|
|
9
|
+
import { prepareMessaging, activateTokenChangeHandler, registerDevice, getFirebaseMessaging } from './firebase/messagingFirebaseClient.js';
|
|
10
|
+
import '../PdSpaHelper.js';
|
|
11
|
+
import { createLogger } from '../helper/logger.js';
|
|
12
|
+
|
|
13
|
+
const serviceLogger = createLogger("PdServiceProvider");
|
|
14
|
+
let provider;
|
|
15
|
+
let app;
|
|
16
|
+
const throwUndefinedProviderError = () => {
|
|
17
|
+
throw new Error(
|
|
18
|
+
"Undefined service provider, please check configuration. 'firebase' or 'mock' allowed here."
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
const setServiceProvider = (providerParam) => {
|
|
22
|
+
provider = providerParam;
|
|
23
|
+
};
|
|
24
|
+
const initFirebaseApplicationServices = (firebaseApp, config) => {
|
|
25
|
+
initAuth(firebaseApp);
|
|
26
|
+
initFirestore(firebaseApp);
|
|
27
|
+
if (config.functionsConfig) {
|
|
28
|
+
initFunctions(firebaseApp, config.functionsConfig);
|
|
29
|
+
serviceLogger.debug("Init provider functions");
|
|
30
|
+
}
|
|
31
|
+
if (config.firebaseConfig?.storageBucket && config.storageConfig) {
|
|
32
|
+
initFirestorage(
|
|
33
|
+
firebaseApp,
|
|
34
|
+
config.firebaseConfig?.storageBucket,
|
|
35
|
+
config.storageConfig
|
|
36
|
+
);
|
|
37
|
+
serviceLogger.debug("Init provider storage");
|
|
38
|
+
}
|
|
39
|
+
if (config.messagingConfig) {
|
|
40
|
+
prepareMessaging(firebaseApp, config.messagingConfig);
|
|
41
|
+
serviceLogger.debug("Set firebase app and config for messaging");
|
|
42
|
+
activateTokenChangeHandler(firebaseApp.name);
|
|
43
|
+
serviceLogger.debug(
|
|
44
|
+
`idTokenChangeHandler for messaging and app ${firebaseApp.name} activated`
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
serviceLogger.debug("Firebase initialized");
|
|
48
|
+
};
|
|
49
|
+
const initAppImpl = (config) => {
|
|
50
|
+
if (provider === "firebase" && config.firebaseConfig) {
|
|
51
|
+
app = initializeApp(config.firebaseConfig);
|
|
52
|
+
initFirebaseApplicationServices(app, config);
|
|
53
|
+
} else if (provider === "mock") {
|
|
54
|
+
initMockResponse(config.mock);
|
|
55
|
+
initStorageMock("default", config.storageConfig);
|
|
56
|
+
} else {
|
|
57
|
+
throwUndefinedProviderError();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const callFunctionImpl = async (def, functionInput) => {
|
|
61
|
+
if (provider === "firebase") {
|
|
62
|
+
return callFunction(def, functionInput);
|
|
63
|
+
}
|
|
64
|
+
if (provider === "mock") {
|
|
65
|
+
return callFunctionMock(def, functionInput);
|
|
66
|
+
}
|
|
67
|
+
return throwUndefinedProviderError();
|
|
68
|
+
};
|
|
69
|
+
const authStateChangedImpl = (callback) => {
|
|
70
|
+
if (provider === "firebase") {
|
|
71
|
+
authStateChanged(callback);
|
|
72
|
+
} else if (provider === "mock") {
|
|
73
|
+
authStateChangedMock(callback);
|
|
74
|
+
} else {
|
|
75
|
+
throwUndefinedProviderError();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const isAuthenticatedImpl = () => {
|
|
79
|
+
if (provider === "firebase") {
|
|
80
|
+
return isAuthenticated();
|
|
81
|
+
}
|
|
82
|
+
if (provider === "mock") {
|
|
83
|
+
return isAuthenticatedMock();
|
|
84
|
+
}
|
|
85
|
+
return throwUndefinedProviderError();
|
|
86
|
+
};
|
|
87
|
+
const loginImpl = (user, sec) => {
|
|
88
|
+
if (!user) {
|
|
89
|
+
const returnError = new Error("empty user");
|
|
90
|
+
return Promise.reject(returnError);
|
|
91
|
+
}
|
|
92
|
+
if (!sec) {
|
|
93
|
+
const returnError = new Error("empty password");
|
|
94
|
+
return Promise.reject(returnError);
|
|
95
|
+
}
|
|
96
|
+
if (provider === "firebase") {
|
|
97
|
+
return login(user, sec);
|
|
98
|
+
}
|
|
99
|
+
if (provider === "mock") {
|
|
100
|
+
return loginMock(user, sec);
|
|
101
|
+
}
|
|
102
|
+
return throwUndefinedProviderError();
|
|
103
|
+
};
|
|
104
|
+
const logoutImpl = () => {
|
|
105
|
+
if (provider === "firebase") {
|
|
106
|
+
return logout();
|
|
107
|
+
}
|
|
108
|
+
if (provider === "mock") {
|
|
109
|
+
return logoutMock();
|
|
110
|
+
}
|
|
111
|
+
return throwUndefinedProviderError();
|
|
112
|
+
};
|
|
113
|
+
const getUser = () => {
|
|
114
|
+
if (provider === "firebase") {
|
|
115
|
+
return getAuthUser();
|
|
116
|
+
}
|
|
117
|
+
if (provider === "mock") {
|
|
118
|
+
return getAuthUserMock();
|
|
119
|
+
}
|
|
120
|
+
return throwUndefinedProviderError();
|
|
121
|
+
};
|
|
122
|
+
const uploadFile = (file) => {
|
|
123
|
+
if (provider === "firebase") {
|
|
124
|
+
return uploadFirestorageFile(file);
|
|
125
|
+
}
|
|
126
|
+
if (provider === "mock") {
|
|
127
|
+
return uploadStorageFileMock(file);
|
|
128
|
+
}
|
|
129
|
+
return throwUndefinedProviderError();
|
|
130
|
+
};
|
|
131
|
+
const getStorageFileList = (storageName, keyRef, subFolder, includeMetadata) => {
|
|
132
|
+
if (provider === "firebase") {
|
|
133
|
+
return getFirestorageFileList(
|
|
134
|
+
storageName,
|
|
135
|
+
keyRef,
|
|
136
|
+
subFolder,
|
|
137
|
+
includeMetadata
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
if (provider === "mock") {
|
|
141
|
+
return getMockFileList(storageName, keyRef, subFolder, includeMetadata);
|
|
142
|
+
}
|
|
143
|
+
return throwUndefinedProviderError();
|
|
144
|
+
};
|
|
145
|
+
const getStorageFile = (storageName, refKey, storageURI, includeMetaData) => {
|
|
146
|
+
if (provider === "firebase") {
|
|
147
|
+
return getFirestorageFile(storageName, refKey, storageURI, includeMetaData);
|
|
148
|
+
}
|
|
149
|
+
return throwUndefinedProviderError();
|
|
150
|
+
};
|
|
151
|
+
const downloadFile = (file) => {
|
|
152
|
+
if (provider === "firebase") {
|
|
153
|
+
return downloadFileFirestorage(file);
|
|
154
|
+
}
|
|
155
|
+
if (provider === "mock") {
|
|
156
|
+
return downloadFileMock();
|
|
157
|
+
}
|
|
158
|
+
return throwUndefinedProviderError();
|
|
159
|
+
};
|
|
160
|
+
const deleteFile = (file) => {
|
|
161
|
+
if (provider === "firebase") {
|
|
162
|
+
return deleteFirestorageDocument(file);
|
|
163
|
+
}
|
|
164
|
+
return throwUndefinedProviderError();
|
|
165
|
+
};
|
|
166
|
+
const getStorageConfiguration = () => {
|
|
167
|
+
if (provider === "firebase") {
|
|
168
|
+
return getFirestorageConf();
|
|
169
|
+
}
|
|
170
|
+
return throwUndefinedProviderError();
|
|
171
|
+
};
|
|
172
|
+
const activateCollectionListener = (callback, col, constraints) => {
|
|
173
|
+
if (provider === "firebase") {
|
|
174
|
+
return getFirebaseCollectionListener(callback, col, constraints);
|
|
175
|
+
}
|
|
176
|
+
if (provider === "mock") {
|
|
177
|
+
serviceLogger.warn(
|
|
178
|
+
"getCollectionListener not implemented for MOCK, do noting"
|
|
179
|
+
);
|
|
180
|
+
return "";
|
|
181
|
+
}
|
|
182
|
+
return throwUndefinedProviderError();
|
|
183
|
+
};
|
|
184
|
+
const registerAppDeviceForNotification = async (registration) => {
|
|
185
|
+
if (provider === "firebase") {
|
|
186
|
+
return registerDevice(registration);
|
|
187
|
+
}
|
|
188
|
+
if (provider === "mock") {
|
|
189
|
+
serviceLogger.warn(
|
|
190
|
+
"registerAppDeviceForNotification not implemented for MOCK, do noting"
|
|
191
|
+
);
|
|
192
|
+
return Promise.resolve();
|
|
193
|
+
}
|
|
194
|
+
return throwUndefinedProviderError();
|
|
195
|
+
};
|
|
196
|
+
const getMessagingImpl = () => {
|
|
197
|
+
if (provider === "firebase") {
|
|
198
|
+
return getFirebaseMessaging();
|
|
199
|
+
}
|
|
200
|
+
if (provider === "mock") {
|
|
201
|
+
serviceLogger.warn("getMessagingImpl not implemented for MOCK, do noting");
|
|
202
|
+
return void 0;
|
|
203
|
+
}
|
|
204
|
+
return throwUndefinedProviderError();
|
|
205
|
+
};
|
|
206
|
+
const getUserIdToken = async (refresh) => {
|
|
207
|
+
if (provider === "firebase") {
|
|
208
|
+
const userResult = await getFirebaseUserIdToken(refresh);
|
|
209
|
+
return userResult ? {
|
|
210
|
+
...userResult,
|
|
211
|
+
appName: app.name
|
|
212
|
+
} : void 0;
|
|
213
|
+
}
|
|
214
|
+
if (provider === "mock") {
|
|
215
|
+
serviceLogger.warn("getUserIdToken not implemented for MOCK, do noting");
|
|
216
|
+
return void 0;
|
|
217
|
+
}
|
|
218
|
+
return throwUndefinedProviderError();
|
|
219
|
+
};
|
|
220
|
+
const getApp = () => app;
|
|
221
|
+
|
|
222
|
+
export { activateCollectionListener, authStateChangedImpl, callFunctionImpl, deleteFile, downloadFile, getApp, getMessagingImpl, getStorageConfiguration, getStorageFile, getStorageFileList, getUser, getUserIdToken, initAppImpl, isAuthenticatedImpl, loginImpl, logoutImpl, registerAppDeviceForNotification, setServiceProvider, uploadFile };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FirebaseOptions } from 'firebase/app';
|
|
2
2
|
import { TemplateResult } from 'lit';
|
|
3
|
-
import { BgConfig } from '@progressive-development/pd-model';
|
|
4
3
|
export declare const SC_INVALID_USER = -150;
|
|
5
4
|
export declare const SC_TECHNICAL_FAILURE = -180;
|
|
6
5
|
export declare class BusinessError extends Error {
|
|
@@ -32,14 +31,13 @@ export interface FunctionDefinition {
|
|
|
32
31
|
fadeWindow: boolean;
|
|
33
32
|
successTxt: string | TemplateResult;
|
|
34
33
|
pendingTxt: string | TemplateResult;
|
|
35
|
-
|
|
36
|
-
param?: Record<string, unknown>;
|
|
34
|
+
param?: any;
|
|
37
35
|
redirect?: string;
|
|
38
36
|
logoutOnFail?: boolean;
|
|
39
37
|
}
|
|
40
38
|
export interface FunctionParam {
|
|
41
39
|
func: FunctionDefinition;
|
|
42
|
-
inputData:
|
|
40
|
+
inputData: any;
|
|
43
41
|
}
|
|
44
42
|
export interface FunctionsConfig {
|
|
45
43
|
region: string;
|
|
@@ -54,7 +52,6 @@ export interface MenuElement {
|
|
|
54
52
|
name: string;
|
|
55
53
|
sec?: string;
|
|
56
54
|
route?: string;
|
|
57
|
-
requiredRoles?: string[];
|
|
58
55
|
action?: () => void;
|
|
59
56
|
topItem?: boolean;
|
|
60
57
|
ref?: HTMLElement;
|
|
@@ -66,8 +63,6 @@ export interface NavigationPage {
|
|
|
66
63
|
pattern: Array<string>;
|
|
67
64
|
auth: boolean;
|
|
68
65
|
authFallback?: string;
|
|
69
|
-
/** Required roles (claims) for this page - user must have at least one (OR logic) */
|
|
70
|
-
roles?: string[];
|
|
71
66
|
menu?: Array<MenuElement>;
|
|
72
67
|
topMenu?: Array<MenuElement>;
|
|
73
68
|
withTeaser?: boolean;
|
|
@@ -76,17 +71,11 @@ export interface NavigationPage {
|
|
|
76
71
|
hideTopMenu?: boolean;
|
|
77
72
|
topMenuItems?: Array<MenuElement>;
|
|
78
73
|
menuLogoRoute?: string;
|
|
79
|
-
/** Top menu display mode: "integrated" (shared bg) or "detached" (own bg). Default: "detached" */
|
|
80
|
-
topMenuMode?: "integrated" | "detached";
|
|
81
|
-
/** Background config for pd-site-header (color, gradient, or image with overlay). */
|
|
82
|
-
bgConfig?: BgConfig;
|
|
83
74
|
}
|
|
84
75
|
export interface NavigationConfig {
|
|
85
76
|
pages: Array<NavigationPage>;
|
|
86
77
|
includeLogin: boolean;
|
|
87
78
|
defaultPostLoginRoute?: boolean;
|
|
88
|
-
/** Route to redirect to after logout. Defaults to "/" (home) */
|
|
89
|
-
logoutRedirect?: string;
|
|
90
79
|
}
|
|
91
80
|
export interface LinkObj {
|
|
92
81
|
name: string;
|
|
@@ -94,44 +83,15 @@ export interface LinkObj {
|
|
|
94
83
|
link?: string;
|
|
95
84
|
action?: () => void;
|
|
96
85
|
}
|
|
97
|
-
export interface FooterSection {
|
|
98
|
-
heading: string;
|
|
99
|
-
links: LinkObj[];
|
|
100
|
-
}
|
|
101
|
-
export interface FooterSocialLink {
|
|
102
|
-
providerId: string;
|
|
103
|
-
value: string;
|
|
104
|
-
label?: string;
|
|
105
|
-
}
|
|
106
86
|
export interface Footer {
|
|
107
|
-
|
|
108
|
-
socialLinks?: FooterSocialLink[];
|
|
109
|
-
legalLinks?: LinkObj[];
|
|
87
|
+
version: string;
|
|
110
88
|
copyright?: string;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
madeBy?: {
|
|
114
|
-
txt: string;
|
|
115
|
-
email?: string;
|
|
116
|
-
link?: string;
|
|
117
|
-
};
|
|
118
|
-
/** Background config for pd-footer (color, gradient, or image with overlay). */
|
|
119
|
-
bgConfig?: BgConfig;
|
|
120
|
-
}
|
|
121
|
-
/** mini-rx-store reducer function type */
|
|
122
|
-
export type ReducerFunction<S = unknown> = (state: S, action: {
|
|
123
|
-
type: string;
|
|
124
|
-
payload?: unknown;
|
|
125
|
-
}) => S;
|
|
89
|
+
links: Array<LinkObj>;
|
|
90
|
+
}
|
|
126
91
|
export interface StoreConfig {
|
|
127
92
|
appName: string;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Effect functions for mini-rx-store.
|
|
132
|
-
* Uses unknown[] as mini-rx-store expects Observable<any> internally.
|
|
133
|
-
*/
|
|
134
|
-
effects: unknown[];
|
|
93
|
+
reducer: any;
|
|
94
|
+
effects: Array<any>;
|
|
135
95
|
}
|
|
136
96
|
export interface FileStorage {
|
|
137
97
|
name: string;
|
|
@@ -146,7 +106,7 @@ export interface MessagingConfig {
|
|
|
146
106
|
export interface AppConfiguration {
|
|
147
107
|
serviceProvider?: ServiceProviderConfiguration;
|
|
148
108
|
mock?: {
|
|
149
|
-
mockResponse?: Map<string, (functionInput:
|
|
109
|
+
mockResponse?: Map<string, (functionInput: any) => FunctionResult>;
|
|
150
110
|
mockWaitTime?: number;
|
|
151
111
|
};
|
|
152
112
|
navigationConfigParam: NavigationConfig;
|
|
@@ -155,8 +115,6 @@ export interface AppConfiguration {
|
|
|
155
115
|
storageConfig?: FileStorageConfig;
|
|
156
116
|
functionsConfig?: FunctionsConfig;
|
|
157
117
|
messagingConfig?: MessagingConfig;
|
|
158
|
-
/** Default loader style for pd-loading-state. Default: "spinner" */
|
|
159
|
-
defaultLoaderStyle?: "spinner" | "dots" | "pulse" | "logo";
|
|
160
118
|
}
|
|
161
119
|
export interface UploadFile {
|
|
162
120
|
fileName: string;
|
|
@@ -181,15 +139,12 @@ export interface StorageDocument {
|
|
|
181
139
|
creator?: string;
|
|
182
140
|
size?: number;
|
|
183
141
|
readonly?: boolean;
|
|
184
|
-
|
|
185
|
-
metaData?: unknown;
|
|
142
|
+
metaData?: any;
|
|
186
143
|
}
|
|
187
|
-
/** Firestore query constraint value types */
|
|
188
|
-
export type FirestoreValueType = string | number | boolean | null | Date | FirestoreValueType[];
|
|
189
144
|
export interface CollectionContraint {
|
|
190
145
|
type: "where";
|
|
191
146
|
field: string;
|
|
192
147
|
operator: "<" | ">" | ">=" | "<=" | "==" | "!=" | "array-contains" | "array-contains-any" | "in" | "not-in";
|
|
193
|
-
value:
|
|
148
|
+
value: any;
|
|
194
149
|
}
|
|
195
150
|
//# sourceMappingURL=service-provider-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-provider-model.d.ts","sourceRoot":"","sources":["../../src/service-provider/service-provider-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"service-provider-model.d.ts","sourceRoot":"","sources":["../../src/service-provider/service-provider-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,16 @@ export declare const addAll: <T>(table: string, elArray: T[], ignoreDuplicates:
|
|
|
6
6
|
export declare const deleteAllEl: (table: string, elIdArray: string[]) => Promise<unknown>;
|
|
7
7
|
export declare const get: <T>(table: string, id: string) => Promise<T>;
|
|
8
8
|
export declare const getAll: <T>(table: string, index?: string) => Promise<T[]>;
|
|
9
|
-
export declare const getAllIds: (table: string) => Promise<unknown
|
|
9
|
+
export declare const getAllIds: (table: string) => Promise<unknown>;
|
|
10
10
|
export declare const deleteAll: (table: string) => Promise<unknown>;
|
|
11
11
|
export declare const removeDatabase: (dbName: string) => Promise<unknown>;
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Init indexDB for application.
|
|
14
|
+
*
|
|
15
|
+
* @param config - config for index db
|
|
16
|
+
* @param successCallback - callback function after db is successfully initialized
|
|
17
|
+
*/
|
|
18
|
+
export declare const initDB: (config: {
|
|
13
19
|
dbName: string;
|
|
14
20
|
dbVersion: number;
|
|
15
21
|
collections: {
|
|
@@ -18,11 +24,5 @@ export interface IndexDBConfig {
|
|
|
18
24
|
keyPath?: string;
|
|
19
25
|
};
|
|
20
26
|
}[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Init indexDB for application.
|
|
24
|
-
*
|
|
25
|
-
* @param config - config for index db
|
|
26
|
-
*/
|
|
27
|
-
export declare const initDB: (config: IndexDBConfig) => void;
|
|
27
|
+
}) => void;
|
|
28
28
|
//# sourceMappingURL=indexDB.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexDB.d.ts","sourceRoot":"","sources":["../../src/store/indexDB.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAmBhD,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,OAAO,qBAclE,CAAC;AAEL,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,MAAM,EAAE,IAAI,CAAC,qBAW1C,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,MAAM,EAAE,SAAS,CAAC,EAAE,qBAUpD,CAAC;AAEL,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,OAAO,MAAM,EACb,SAAS,CAAC,EAAE,EACZ,kBAAkB,OAAO,qBAWvB,CAAC;AAaL,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,WAAW,MAAM,EAAE,qBAU1D,CAAC;AAEL,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,CAAC,CAKxD,CAAC;AAEL,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,CAAC,EAAE,CAwBjE,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,qBAqBnC,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,qBASnC,CAAC;AAEL,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,qBAMzC,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,EAAE,CAAC;CACL,SAgDA,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '../helper/logger.js';
|
|
2
|
-
import { pdStore } from '
|
|
3
|
-
import {
|
|
2
|
+
import { pdStore } from './mini-rx.store.js';
|
|
3
|
+
import { initIndexDBSucess } from './spa-app-actions.js';
|
|
4
4
|
|
|
5
5
|
const dbLogger = createLogger("PdIndexDB");
|
|
6
6
|
const USER_COLLECTION = "dcInternalUser";
|
|
@@ -10,21 +10,19 @@ const add = (table, el, ignoreDuplicates) => new Promise((resolve, reject) => {
|
|
|
10
10
|
const request = db.transaction([table], "readwrite").objectStore(table).add(el);
|
|
11
11
|
request.onsuccess = () => resolve(request.result);
|
|
12
12
|
request.onerror = (event) => {
|
|
13
|
-
|
|
14
|
-
if (target.error?.name === "ConstraintError" && ignoreDuplicates) {
|
|
13
|
+
if (event.target.error.code === 0 && ignoreDuplicates) {
|
|
15
14
|
return resolve("duplicate");
|
|
16
15
|
}
|
|
17
16
|
dbLogger.warn("Unable to add data!", event, el);
|
|
18
|
-
return reject(target.error);
|
|
17
|
+
return reject(event.target.error);
|
|
19
18
|
};
|
|
20
19
|
});
|
|
21
20
|
const update = (table, el) => new Promise((resolve, reject) => {
|
|
22
21
|
const request = db.transaction([table], "readwrite").objectStore(table).put(el);
|
|
23
22
|
request.onsuccess = () => resolve(request.result);
|
|
24
23
|
request.onerror = (event) => {
|
|
25
|
-
const target = event.target;
|
|
26
24
|
dbLogger.warn("Unable to put data!", event, el);
|
|
27
|
-
return reject(target.error);
|
|
25
|
+
return reject(event.target.error);
|
|
28
26
|
};
|
|
29
27
|
});
|
|
30
28
|
const updateAll = (table, elArray) => new Promise((resolve, reject) => {
|
|
@@ -44,7 +42,7 @@ const addAll = (table, elArray, ignoreDuplicates) => new Promise((resolve, rejec
|
|
|
44
42
|
const deleteEl = (table, id) => new Promise((resolve, reject) => {
|
|
45
43
|
const request = db.transaction([table], "readwrite").objectStore(table).delete(id);
|
|
46
44
|
request.onsuccess = () => resolve(request.result);
|
|
47
|
-
request.onerror = (e) => reject(e
|
|
45
|
+
request.onerror = (e) => reject(e);
|
|
48
46
|
});
|
|
49
47
|
const deleteAllEl = (table, elIdArray) => new Promise((resolve, reject) => {
|
|
50
48
|
const promises = [];
|
|
@@ -56,7 +54,7 @@ const deleteAllEl = (table, elIdArray) => new Promise((resolve, reject) => {
|
|
|
56
54
|
const get = (table, id) => new Promise((resolve, reject) => {
|
|
57
55
|
const request = db.transaction([table]).objectStore(table).get(id);
|
|
58
56
|
request.onsuccess = () => resolve(request.result);
|
|
59
|
-
request.onerror = (e) => reject(e
|
|
57
|
+
request.onerror = (e) => reject(e);
|
|
60
58
|
});
|
|
61
59
|
const getAll = (table, index) => new Promise((resolve, reject) => {
|
|
62
60
|
const request = index ? db.transaction([table], "readonly").objectStore(table).index(index).openCursor() : db.transaction([table], "readonly").objectStore(table).openCursor();
|
|
@@ -70,7 +68,7 @@ const getAll = (table, index) => new Promise((resolve, reject) => {
|
|
|
70
68
|
resolve(res);
|
|
71
69
|
}
|
|
72
70
|
};
|
|
73
|
-
request.onerror = (e) => reject(e
|
|
71
|
+
request.onerror = (e) => reject(e);
|
|
74
72
|
});
|
|
75
73
|
const getAllIds = (table) => new Promise((resolve, reject) => {
|
|
76
74
|
const request = db.transaction([table], "readonly").objectStore(table).openCursor();
|
|
@@ -84,18 +82,18 @@ const getAllIds = (table) => new Promise((resolve, reject) => {
|
|
|
84
82
|
resolve(res);
|
|
85
83
|
}
|
|
86
84
|
};
|
|
87
|
-
request.onerror = (e) => reject(e
|
|
85
|
+
request.onerror = (e) => reject(e);
|
|
88
86
|
});
|
|
89
87
|
const deleteAll = (table) => new Promise((resolve, reject) => {
|
|
90
88
|
const request = db.transaction([table], "readwrite").objectStore(table).clear();
|
|
91
89
|
request.onsuccess = () => resolve(request.result);
|
|
92
|
-
request.onerror = (e) => reject(e
|
|
90
|
+
request.onerror = (e) => reject(e);
|
|
93
91
|
});
|
|
94
92
|
const removeDatabase = (dbName) => new Promise((resolve, reject) => {
|
|
95
93
|
db.close();
|
|
96
94
|
const request = indexedDB.deleteDatabase(dbName);
|
|
97
95
|
request.onsuccess = () => resolve(request.result);
|
|
98
|
-
request.onerror = (e) => reject(e
|
|
96
|
+
request.onerror = (e) => reject(e);
|
|
99
97
|
});
|
|
100
98
|
const initDB = (config) => {
|
|
101
99
|
if (!indexedDB) {
|
|
@@ -109,7 +107,7 @@ const initDB = (config) => {
|
|
|
109
107
|
request.onsuccess = () => {
|
|
110
108
|
db = request.result;
|
|
111
109
|
dbLogger.debug(`init success: ${db}`);
|
|
112
|
-
pdStore().dispatch(
|
|
110
|
+
pdStore().dispatch(initIndexDBSucess());
|
|
113
111
|
};
|
|
114
112
|
request.onupgradeneeded = (event) => {
|
|
115
113
|
dbLogger.info("Upgrade needed", event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini-rx.store.d.ts","sourceRoot":"","sources":["../../src/store/mini-rx.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,eAAe,CAAC;AACvB,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,EAEL,KAAK,EAIN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAyB5E,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,SA0BjD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,KAAc,CAAC"}
|