@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.
Files changed (269) hide show
  1. package/dist/PdSpaHelper.d.ts +83 -0
  2. package/dist/PdSpaHelper.d.ts.map +1 -0
  3. package/dist/PdSpaHelper.js +492 -0
  4. package/dist/defaultpage/default-confirm-popup.d.ts +19 -0
  5. package/dist/defaultpage/default-confirm-popup.d.ts.map +1 -0
  6. package/dist/defaultpage/default-confirm-popup.js +70 -0
  7. package/dist/defaultpage/default-dialog-popup.d.ts +19 -0
  8. package/dist/defaultpage/default-dialog-popup.d.ts.map +1 -0
  9. package/dist/defaultpage/default-dialog-popup.js +103 -0
  10. package/dist/defaultpage/default-login.d.ts +6 -0
  11. package/dist/defaultpage/default-login.d.ts.map +1 -0
  12. package/dist/defaultpage/default-login.js +33 -0
  13. package/dist/defaultpage/default-not-found.d.ts +6 -0
  14. package/dist/defaultpage/default-not-found.d.ts.map +1 -0
  15. package/dist/{components/default-not-found/DefaultNotFound.js → defaultpage/default-not-found.js} +3 -10
  16. package/dist/defaultpage/default-popup.d.ts +7 -0
  17. package/dist/defaultpage/default-popup.d.ts.map +1 -0
  18. package/dist/defaultpage/default-popup.js +24 -0
  19. package/dist/defaultpage/default-step-address.d.ts +14 -0
  20. package/dist/defaultpage/default-step-address.d.ts.map +1 -0
  21. package/dist/defaultpage/default-step-address.js +77 -0
  22. package/dist/defaultpage/default-step-summary.d.ts +28 -0
  23. package/dist/defaultpage/default-step-summary.d.ts.map +1 -0
  24. package/dist/defaultpage/default-step-summary.js +67 -0
  25. package/dist/defaultpage/default-view-page.d.ts +10 -0
  26. package/dist/defaultpage/default-view-page.d.ts.map +1 -0
  27. package/dist/defaultpage/default-view-page.js +70 -0
  28. package/dist/defaultpage/default-wizard.d.ts +37 -0
  29. package/dist/defaultpage/default-wizard.d.ts.map +1 -0
  30. package/dist/defaultpage/default-wizard.js +255 -0
  31. package/dist/defaultpage/pd-default-wizard-step.d.ts +60 -0
  32. package/dist/defaultpage/pd-default-wizard-step.d.ts.map +1 -0
  33. package/dist/defaultpage/pd-default-wizard-step.js +144 -0
  34. package/dist/generated/locale-wrapper/be-wrapper.d.ts +14 -49
  35. package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -1
  36. package/dist/generated/locale-wrapper/de-wrapper.d.ts +14 -49
  37. package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -1
  38. package/dist/generated/locale-wrapper/en-wrapper.d.ts +14 -49
  39. package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -1
  40. package/dist/generated/locales/be.d.ts +15 -1
  41. package/dist/generated/locales/be.d.ts.map +1 -1
  42. package/dist/generated/locales/be.js +15 -1
  43. package/dist/generated/locales/de.d.ts +15 -1
  44. package/dist/generated/locales/de.d.ts.map +1 -1
  45. package/dist/generated/locales/de.js +15 -1
  46. package/dist/generated/locales/en.d.ts +15 -1
  47. package/dist/generated/locales/en.d.ts.map +1 -1
  48. package/dist/generated/locales/en.js +15 -1
  49. package/dist/helper/blob-helper.d.ts +3 -0
  50. package/dist/helper/blob-helper.d.ts.map +1 -0
  51. package/dist/helper/blob-helper.js +35 -0
  52. package/dist/helper/date-helper.d.ts +27 -0
  53. package/dist/helper/date-helper.d.ts.map +1 -0
  54. package/dist/helper/date-helper.js +129 -0
  55. package/dist/helper/locale-format.d.ts +4 -0
  56. package/dist/helper/locale-format.d.ts.map +1 -0
  57. package/dist/helper/locale-format.js +16 -0
  58. package/dist/helper/logger.d.ts +12 -11
  59. package/dist/helper/logger.d.ts.map +1 -1
  60. package/dist/helper/logger.js +49 -10
  61. package/dist/helper/number-helper.d.ts +2 -0
  62. package/dist/helper/number-helper.d.ts.map +1 -0
  63. package/dist/helper/number-helper.js +13 -0
  64. package/dist/helper/price-helper.d.ts +5 -0
  65. package/dist/helper/price-helper.d.ts.map +1 -0
  66. package/dist/helper/price-helper.js +22 -0
  67. package/dist/helper/refresh-id-token.d.ts.map +1 -1
  68. package/dist/helper/refresh-id-token.js +4 -6
  69. package/dist/helper/text-helper.d.ts +3 -0
  70. package/dist/helper/text-helper.d.ts.map +1 -0
  71. package/dist/helper/text-helper.js +4 -0
  72. package/dist/index.d.ts +29 -31
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +50 -27
  75. package/dist/model/spa-model.d.ts +15 -14
  76. package/dist/model/spa-model.d.ts.map +1 -1
  77. package/dist/popup/wizard-close-popup.d.ts +11 -0
  78. package/dist/popup/wizard-close-popup.d.ts.map +1 -0
  79. package/dist/popup/wizard-close-popup.js +63 -0
  80. package/dist/popup/wizard-reload-popup.d.ts +14 -0
  81. package/dist/popup/wizard-reload-popup.d.ts.map +1 -0
  82. package/dist/popup/wizard-reload-popup.js +76 -0
  83. package/dist/router/PdRouterService.d.ts +1 -4
  84. package/dist/router/PdRouterService.d.ts.map +1 -1
  85. package/dist/router/PdRouterService.js +16 -40
  86. package/dist/service-provider/firebase/auth.d.ts +19 -0
  87. package/dist/service-provider/firebase/auth.d.ts.map +1 -0
  88. package/dist/service-provider/firebase/auth.js +62 -0
  89. package/dist/service-provider/firebase/firestorage-client.d.ts +22 -0
  90. package/dist/service-provider/firebase/firestorage-client.d.ts.map +1 -0
  91. package/dist/service-provider/firebase/firestorage-client.js +226 -0
  92. package/dist/service-provider/firebase/firestore-client.d.ts +12 -0
  93. package/dist/service-provider/firebase/firestore-client.d.ts.map +1 -0
  94. package/dist/service-provider/firebase/firestore-client.js +25 -0
  95. package/dist/service-provider/firebase/functions-client.d.ts +10 -0
  96. package/dist/service-provider/firebase/functions-client.d.ts.map +1 -0
  97. package/dist/service-provider/firebase/functions-client.js +63 -0
  98. package/dist/service-provider/firebase/messagingFirebaseClient.d.ts +9 -0
  99. package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +1 -0
  100. package/dist/service-provider/firebase/messagingFirebaseClient.js +69 -0
  101. package/dist/service-provider/mock/auth.d.ts +6 -0
  102. package/dist/service-provider/mock/auth.d.ts.map +1 -0
  103. package/dist/service-provider/mock/auth.js +60 -0
  104. package/dist/service-provider/mock/function-client.d.ts +7 -0
  105. package/dist/service-provider/mock/function-client.d.ts.map +1 -0
  106. package/dist/service-provider/mock/function-client.js +30 -0
  107. package/dist/service-provider/mock/storage-client.d.ts +11 -0
  108. package/dist/service-provider/mock/storage-client.d.ts.map +1 -0
  109. package/dist/service-provider/mock/storage-client.js +106 -0
  110. package/dist/service-provider/service-provider-impl.d.ts +27 -0
  111. package/dist/service-provider/service-provider-impl.d.ts.map +1 -0
  112. package/dist/service-provider/service-provider-impl.js +222 -0
  113. package/dist/service-provider/service-provider-model.d.ts +10 -55
  114. package/dist/service-provider/service-provider-model.d.ts.map +1 -1
  115. package/dist/{db → store}/indexDB.d.ts +9 -9
  116. package/dist/store/indexDB.d.ts.map +1 -0
  117. package/dist/{db → store}/indexDB.js +12 -14
  118. package/dist/store/mini-rx.store.d.ts.map +1 -1
  119. package/dist/store/mini-rx.store.js +3 -1
  120. package/dist/store/spa-app-actions.d.ts +22 -5
  121. package/dist/store/spa-app-actions.d.ts.map +1 -1
  122. package/dist/store/spa-app-actions.js +8 -4
  123. package/dist/store/spa-app-effects.d.ts +17 -0
  124. package/dist/store/spa-app-effects.d.ts.map +1 -1
  125. package/dist/store/spa-app-effects.js +40 -2
  126. package/dist/store/spa-app-reducer.d.ts +10 -5
  127. package/dist/store/spa-app-reducer.d.ts.map +1 -1
  128. package/dist/store/spa-app-reducer.js +8 -13
  129. package/dist/store/spa-app-selector.d.ts +2 -2
  130. package/dist/store/spa-app-selector.d.ts.map +1 -1
  131. package/dist/store/spa-app-selector.js +1 -1
  132. package/dist/stories/address-edit.stories.d.ts +27 -0
  133. package/dist/stories/address-edit.stories.d.ts.map +1 -0
  134. package/dist/stories/address-new.stories.d.ts +33 -0
  135. package/dist/stories/address-new.stories.d.ts.map +1 -0
  136. package/dist/stories/default-confirm-popup.stories.d.ts +24 -0
  137. package/dist/stories/default-confirm-popup.stories.d.ts.map +1 -0
  138. package/dist/stories/default-dialog-popup.stories.d.ts +23 -0
  139. package/dist/stories/default-dialog-popup.stories.d.ts.map +1 -0
  140. package/dist/stories/default-login.stories.d.ts +10 -0
  141. package/dist/stories/default-login.stories.d.ts.map +1 -0
  142. package/dist/stories/default-popup.stories.d.ts +9 -0
  143. package/dist/stories/default-popup.stories.d.ts.map +1 -0
  144. package/dist/stories/pd-loading-state.stories.d.ts +30 -0
  145. package/dist/stories/pd-loading-state.stories.d.ts.map +1 -0
  146. package/dist/stories/pd-toast.stories.d.ts +27 -0
  147. package/dist/stories/pd-toast.stories.d.ts.map +1 -0
  148. package/dist/stories/routing.stories.d.ts +24 -0
  149. package/dist/stories/routing.stories.d.ts.map +1 -0
  150. package/dist/stories/test-impls/address-test.d.ts +6 -0
  151. package/dist/stories/test-impls/address-test.d.ts.map +1 -0
  152. package/dist/stories/test-impls/test-mock-app.d.ts +15 -0
  153. package/dist/stories/test-impls/test-mock-app.d.ts.map +1 -0
  154. package/dist/stories/test-impls/test-pages/test-home-page.d.ts +7 -0
  155. package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +1 -0
  156. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +5 -0
  157. package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +1 -0
  158. package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts +17 -0
  159. package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts.map +1 -0
  160. package/dist/stories/test-impls/test-pages/test-wizard.d.ts +16 -0
  161. package/dist/stories/test-impls/test-pages/test-wizard.d.ts.map +1 -0
  162. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts +8 -0
  163. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts.map +1 -0
  164. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts +8 -0
  165. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts.map +1 -0
  166. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts +8 -0
  167. package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts.map +1 -0
  168. package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts +13 -0
  169. package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts.map +1 -0
  170. package/dist/stories/test-impls/test-popups/default-popup-test.d.ts +5 -0
  171. package/dist/stories/test-impls/test-popups/default-popup-test.d.ts.map +1 -0
  172. package/dist/stories/test-wizard-step.stories.d.ts +11 -0
  173. package/dist/stories/test-wizard-step.stories.d.ts.map +1 -0
  174. package/dist/stories/test-wizard.stories.d.ts +9 -0
  175. package/dist/stories/test-wizard.stories.d.ts.map +1 -0
  176. package/dist/tmpown/pd-loading-state.d.ts +9 -0
  177. package/dist/tmpown/pd-loading-state.d.ts.map +1 -0
  178. package/dist/tmpown/pd-loading-state.js +196 -0
  179. package/dist/tmpown/pd-login.d.ts +13 -0
  180. package/dist/tmpown/pd-login.d.ts.map +1 -0
  181. package/dist/tmpown/pd-login.js +165 -0
  182. package/dist/tmpown/pd-toast.d.ts +13 -0
  183. package/dist/tmpown/pd-toast.d.ts.map +1 -0
  184. package/dist/tmpown/pd-toast.js +127 -0
  185. package/package.json +9 -14
  186. package/dist/auth/AuthController.d.ts +0 -37
  187. package/dist/auth/AuthController.d.ts.map +0 -1
  188. package/dist/auth/AuthController.js +0 -65
  189. package/dist/auth/auth-directives.d.ts +0 -59
  190. package/dist/auth/auth-directives.d.ts.map +0 -1
  191. package/dist/auth/auth-directives.js +0 -81
  192. package/dist/auth/auth-utils.d.ts +0 -45
  193. package/dist/auth/auth-utils.d.ts.map +0 -1
  194. package/dist/auth/auth-utils.js +0 -42
  195. package/dist/auth/index.d.ts +0 -7
  196. package/dist/auth/index.d.ts.map +0 -1
  197. package/dist/components/default-login/DefaultLogin.d.ts +0 -15
  198. package/dist/components/default-login/DefaultLogin.d.ts.map +0 -1
  199. package/dist/components/default-login/DefaultLogin.js +0 -120
  200. package/dist/components/default-not-found/DefaultNotFound.d.ts +0 -6
  201. package/dist/components/default-not-found/DefaultNotFound.d.ts.map +0 -1
  202. package/dist/components/pd-section-page/PdSectionPage.d.ts +0 -55
  203. package/dist/components/pd-section-page/PdSectionPage.d.ts.map +0 -1
  204. package/dist/components/pd-section-page/PdSectionPage.js +0 -37
  205. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +0 -196
  206. package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +0 -1
  207. package/dist/components/pd-spa-helper/PdSpaHelper.js +0 -603
  208. package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts +0 -77
  209. package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts.map +0 -1
  210. package/dist/components/pd-spa-helper/controllers/ScrollController.js +0 -102
  211. package/dist/components/pd-spa-helper/spa-config.d.ts +0 -95
  212. package/dist/components/pd-spa-helper/spa-config.d.ts.map +0 -1
  213. package/dist/components/pd-spa-helper/spa-config.js +0 -175
  214. package/dist/components/pd-spa-helper/spa-events.d.ts +0 -132
  215. package/dist/components/pd-spa-helper/spa-events.d.ts.map +0 -1
  216. package/dist/components/pd-spa-helper/spa-events.js +0 -18
  217. package/dist/db/index.d.ts +0 -3
  218. package/dist/db/index.d.ts.map +0 -1
  219. package/dist/db/indexDB.d.ts.map +0 -1
  220. package/dist/model/index.d.ts +0 -4
  221. package/dist/model/index.d.ts.map +0 -1
  222. package/dist/router/index.d.ts +0 -3
  223. package/dist/router/index.d.ts.map +0 -1
  224. package/dist/screen-size/ScreenSizeController.d.ts +0 -34
  225. package/dist/screen-size/ScreenSizeController.d.ts.map +0 -1
  226. package/dist/screen-size/ScreenSizeController.js +0 -58
  227. package/dist/screen-size/ScreenSizeService.d.ts +0 -49
  228. package/dist/screen-size/ScreenSizeService.d.ts.map +0 -1
  229. package/dist/screen-size/ScreenSizeService.js +0 -107
  230. package/dist/screen-size/index.d.ts +0 -13
  231. package/dist/screen-size/index.d.ts.map +0 -1
  232. package/dist/screen-size/responsive-directives.d.ts +0 -59
  233. package/dist/screen-size/responsive-directives.d.ts.map +0 -1
  234. package/dist/screen-size/responsive-directives.js +0 -71
  235. package/dist/screen-size/types.d.ts +0 -44
  236. package/dist/screen-size/types.d.ts.map +0 -1
  237. package/dist/service-provider/ServiceRegistry.d.ts +0 -67
  238. package/dist/service-provider/ServiceRegistry.d.ts.map +0 -1
  239. package/dist/service-provider/ServiceRegistry.js +0 -76
  240. package/dist/service-provider/function-utils.d.ts +0 -55
  241. package/dist/service-provider/function-utils.d.ts.map +0 -1
  242. package/dist/service-provider/function-utils.js +0 -30
  243. package/dist/service-provider/index.d.ts +0 -10
  244. package/dist/service-provider/index.d.ts.map +0 -1
  245. package/dist/service-provider/interfaces/IAuthProvider.d.ts +0 -68
  246. package/dist/service-provider/interfaces/IAuthProvider.d.ts.map +0 -1
  247. package/dist/service-provider/interfaces/IDatabaseProvider.d.ts +0 -75
  248. package/dist/service-provider/interfaces/IDatabaseProvider.d.ts.map +0 -1
  249. package/dist/service-provider/interfaces/IFunctionProvider.d.ts +0 -49
  250. package/dist/service-provider/interfaces/IFunctionProvider.d.ts.map +0 -1
  251. package/dist/service-provider/interfaces/IStorageProvider.d.ts +0 -118
  252. package/dist/service-provider/interfaces/IStorageProvider.d.ts.map +0 -1
  253. package/dist/service-provider/interfaces/ServiceProvider.d.ts +0 -24
  254. package/dist/service-provider/interfaces/ServiceProvider.d.ts.map +0 -1
  255. package/dist/service-provider/interfaces/common.d.ts +0 -5
  256. package/dist/service-provider/interfaces/common.d.ts.map +0 -1
  257. package/dist/services/fire-once-service.d.ts +0 -35
  258. package/dist/services/fire-once-service.d.ts.map +0 -1
  259. package/dist/services/fire-once-service.js +0 -61
  260. package/dist/store/async-action-effects.d.ts +0 -179
  261. package/dist/store/async-action-effects.d.ts.map +0 -1
  262. package/dist/store/async-action-effects.js +0 -98
  263. package/dist/store/async-action-utils.d.ts +0 -154
  264. package/dist/store/async-action-utils.d.ts.map +0 -1
  265. package/dist/store/async-action-utils.js +0 -42
  266. package/dist/store/index.d.ts +0 -9
  267. package/dist/store/index.d.ts.map +0 -1
  268. package/dist/stories/introduction.stories.d.ts +0 -11
  269. package/dist/stories/introduction.stories.d.ts.map +0 -1
@@ -0,0 +1,22 @@
1
+ import { FirebaseApp } from 'firebase/app';
2
+ import { UploadResult } from 'firebase/storage';
3
+ import { FileStorageConfig, StorageDocument, UploadFile } from '../service-provider-model.js';
4
+ /**
5
+ * During start/load application, initialize functions.
6
+ *
7
+ * @param {*} app - initialized app.
8
+ */
9
+ export declare const initFirestorage: (app: FirebaseApp, defaultStorage?: string, storageConfig?: FileStorageConfig) => void;
10
+ export declare const getFirestorageConf: () => FileStorageConfig | undefined;
11
+ export declare const uploadFirestorageFile: (file: UploadFile) => Promise<UploadResult>;
12
+ export declare const getFirestorageFile: (storageName: string, refKey: string, storageURI: string, includeMetaData?: boolean) => Promise<StorageDocument>;
13
+ export declare const getFirestorageFileList: (storageName: string, refKey: string, subFolder?: string, includeMetaData?: boolean) => Promise<StorageDocument[]>;
14
+ export declare const downloadFileFirestorage: (file: StorageDocument) => Promise<string>;
15
+ /**
16
+ * Löscht eine Datei in Firebase Storage basierend auf den Informationen im StorageDocument.
17
+ *
18
+ * @param deleteFile - Das StorageDocument-Objekt, das die zu löschende Datei beschreibt.
19
+ * @returns Ein Promise, das erfüllt wird, wenn die Datei gelöscht wurde, oder abgelehnt wird, wenn ein Fehler auftritt.
20
+ */
21
+ export declare function deleteFirestorageDocument(deleteFile: StorageDocument): Promise<void>;
22
+ //# sourceMappingURL=firestorage-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestorage-client.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/firestorage-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAKL,YAAY,EAQb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAqBtC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,WAAW,EAChB,iBAAiB,MAAM,EACvB,gBAAgB,iBAAiB,SAkClC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,iBAAiB,GAAG,SAC7C,CAAC;AAEd,eAAO,MAAM,qBAAqB,GAChC,MAAM,UAAU,KACf,OAAO,CAAC,YAAY,CA8CtB,CAAC;AAsFF,eAAO,MAAM,kBAAkB,GAC7B,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,yBAAuB,KACtB,OAAO,CAAC,eAAe,CA2CzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,kBAAkB,OAAO,KACxB,OAAO,CAAC,eAAe,EAAE,CAoC3B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,eAAe,oBAY5D,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -0,0 +1,226 @@
1
+ import { getStorage, ref, uploadString, getMetadata, getDownloadURL, deleteObject, listAll } from 'firebase/storage';
2
+ import { getUser } from '../service-provider-impl.js';
3
+ import { createLogger } from '../../helper/logger.js';
4
+
5
+ const storageLogger = createLogger("PdStorage");
6
+ const DEFAULT_STORAGE = "default_storage";
7
+ let storageConf;
8
+ const storageMap = /* @__PURE__ */ new Map();
9
+ const initFirestorage = (app, defaultStorage, storageConfig) => {
10
+ try {
11
+ storageConf = storageConfig;
12
+ if (defaultStorage) {
13
+ storageMap.set(DEFAULT_STORAGE, {
14
+ storage: getStorage(app)
15
+ });
16
+ }
17
+ storageConfig?.storage.forEach((storeConfig) => {
18
+ const storage = getStorage(app, storeConfig.name);
19
+ const storageRootRef = ref(storage);
20
+ storageMap.set(storeConfig.name, {
21
+ storage,
22
+ references: [
23
+ {
24
+ key: "ROOT",
25
+ storageRef: storageRootRef
26
+ },
27
+ ...storeConfig.references.map((refConfigString) => ({
28
+ key: refConfigString,
29
+ storageRef: ref(storageRootRef, refConfigString)
30
+ }))
31
+ ]
32
+ });
33
+ });
34
+ } catch (error) {
35
+ storageLogger.error("Init error", error);
36
+ }
37
+ };
38
+ const getFirestorageConf = () => storageConf;
39
+ const uploadFirestorageFile = (file) => {
40
+ if (!storageMap || storageMap.size === 0) {
41
+ throw new Error("No storage is configured");
42
+ }
43
+ const { storageName, referenceKey, subFolderName, fileName } = file;
44
+ const storageConf2 = storageMap.get(storageName || DEFAULT_STORAGE);
45
+ if (!storageConf2) {
46
+ throw new Error(`Invalid storage name: ${storageName || DEFAULT_STORAGE}`);
47
+ }
48
+ if (!storageConf2.references || storageConf2.references.length === 0) {
49
+ throw new Error(
50
+ `No references configured for storage: ${storageName || DEFAULT_STORAGE}`
51
+ );
52
+ }
53
+ const uploadRefConf = referenceKey ? storageConf2.references.filter(
54
+ (filterRef) => filterRef.key === referenceKey
55
+ )[0] : storageConf2.references[0];
56
+ if (!uploadRefConf || !uploadRefConf.storageRef) {
57
+ throw new Error(`No valid reference for key: ${referenceKey}`);
58
+ }
59
+ const fileRef = ref(
60
+ uploadRefConf.storageRef,
61
+ subFolderName ? `${subFolderName}/${fileName}` : fileName
62
+ );
63
+ const metadata = {
64
+ customMetadata: {
65
+ creator: getUser()?.displayName,
66
+ comment: file.description,
67
+ name: file.descriptionName,
68
+ readonly: file.readonly ? "true" : "false"
69
+ }
70
+ };
71
+ return uploadString(fileRef, file.base64DataURL, "data_url", metadata);
72
+ };
73
+ const fetchItemsAndFolders = async (usedRef, storageName, refKey, includeMetaData = false, includeFolder = false) => {
74
+ try {
75
+ const itemRefs = [];
76
+ const metaPromises = [];
77
+ const res = await listAll(usedRef);
78
+ const processMetadata = (item, metadata) => ({
79
+ ...item,
80
+ creation: new Date(metadata.timeCreated),
81
+ documentType: metadata.contentType,
82
+ creator: metadata.customMetadata?.creator,
83
+ descriptionName: metadata.customMetadata?.name,
84
+ description: metadata.customMetadata?.comment,
85
+ size: metadata.size,
86
+ readonly: metadata.customMetadata?.readonly === "true",
87
+ metaData: metadata
88
+ });
89
+ res.items.forEach((itemRef) => {
90
+ itemRefs.push({
91
+ fileName: itemRef.name,
92
+ filePath: itemRef.fullPath,
93
+ storageName,
94
+ refKey
95
+ });
96
+ if (includeMetaData) {
97
+ metaPromises.push(getMetadata(itemRef));
98
+ }
99
+ });
100
+ if (includeFolder) {
101
+ await Promise.all(
102
+ res.prefixes.map(async (folderRef) => {
103
+ const folderRes = await listAll(folderRef);
104
+ folderRes.items.forEach((subItemRef) => {
105
+ itemRefs.push({
106
+ fileName: subItemRef.name,
107
+ filePath: subItemRef.fullPath,
108
+ storageName,
109
+ refKey,
110
+ subFolderName: folderRef.name
111
+ });
112
+ if (includeMetaData) {
113
+ metaPromises.push(getMetadata(subItemRef));
114
+ }
115
+ });
116
+ })
117
+ );
118
+ }
119
+ if (includeMetaData) {
120
+ const metaResults = await Promise.all(metaPromises);
121
+ return itemRefs.map(
122
+ (item, index) => processMetadata(item, metaResults[index])
123
+ );
124
+ }
125
+ return itemRefs;
126
+ } catch (error) {
127
+ storageLogger.error("Error during file and folder listing:", error);
128
+ throw error;
129
+ }
130
+ };
131
+ const getFirestorageFile = async (storageName, refKey, storageURI, includeMetaData = false) => {
132
+ try {
133
+ if (!storageMap || storageMap.size === 0) {
134
+ throw new Error("No storage is configured");
135
+ }
136
+ const storageConf2 = storageMap.get(storageName);
137
+ if (!storageConf2) {
138
+ throw new Error(`Invalid storage name: ${storageName}`);
139
+ }
140
+ const storageRef = ref(storageConf2.storage, storageURI);
141
+ const storageDocument = {
142
+ fileName: storageRef.name,
143
+ filePath: storageRef.fullPath,
144
+ storageName,
145
+ refKey
146
+ };
147
+ if (includeMetaData) {
148
+ const metadata = await getMetadata(storageRef);
149
+ return {
150
+ ...storageDocument,
151
+ creation: new Date(metadata.timeCreated),
152
+ documentType: metadata.contentType,
153
+ creator: metadata.customMetadata?.creator,
154
+ descriptionName: metadata.customMetadata?.name,
155
+ description: metadata.customMetadata?.comment,
156
+ size: metadata.size,
157
+ readonly: metadata.customMetadata?.readonly === "true",
158
+ metaData: metadata
159
+ };
160
+ }
161
+ return storageDocument;
162
+ } catch (error) {
163
+ storageLogger.error("Error creating StorageDocument:", error);
164
+ throw error;
165
+ }
166
+ };
167
+ const getFirestorageFileList = (storageName, refKey, subFolder, includeMetaData) => {
168
+ if (!storageMap || storageMap.size === 0) {
169
+ throw new Error("No storage is configured");
170
+ }
171
+ const storageConf2 = storageMap.get(storageName);
172
+ if (!storageConf2) {
173
+ throw new Error(`Invalid storage name: ${storageName}`);
174
+ }
175
+ if (!storageConf2.references || storageConf2.references.length === 0) {
176
+ throw new Error(
177
+ `No references configured for storage: ${storageName || DEFAULT_STORAGE}`
178
+ );
179
+ }
180
+ const storageRef = storageConf2.references.filter(
181
+ (refIt) => refIt.key === refKey
182
+ )[0];
183
+ if (!storageRef) {
184
+ throw new Error(
185
+ `No reference available for storage: ${storageName || DEFAULT_STORAGE} and ref: ${refKey}`
186
+ );
187
+ }
188
+ const usedRef = subFolder ? ref(storageRef.storageRef, subFolder) : storageRef.storageRef;
189
+ return fetchItemsAndFolders(
190
+ usedRef,
191
+ storageName,
192
+ refKey,
193
+ includeMetaData,
194
+ true
195
+ );
196
+ };
197
+ const downloadFileFirestorage = (file) => {
198
+ if (!storageMap || storageMap.size === 0) {
199
+ throw new Error("No storage is configured");
200
+ }
201
+ const storageConf2 = storageMap.get(file.storageName);
202
+ if (!storageConf2) {
203
+ throw new Error(`Invalid storage name: ${file.storageName}`);
204
+ }
205
+ const usedRef = ref(storageConf2.storage, file.filePath);
206
+ return getDownloadURL(usedRef);
207
+ };
208
+ async function deleteFirestorageDocument(deleteFile) {
209
+ if (!deleteFile.filePath) {
210
+ throw new Error("File path is required to delete a document.");
211
+ }
212
+ const storageConf2 = storageMap.get(deleteFile.storageName);
213
+ if (!storageConf2) {
214
+ throw new Error(`Invalid storage name: ${deleteFile.storageName}`);
215
+ }
216
+ const deleteRef = ref(storageConf2.storage, deleteFile.filePath);
217
+ try {
218
+ await deleteObject(deleteRef);
219
+ storageLogger.info(`File ${deleteFile.fileName} successfully deleted.`);
220
+ } catch (error) {
221
+ storageLogger.error("Error deleting file:", error);
222
+ throw error;
223
+ }
224
+ }
225
+
226
+ export { deleteFirestorageDocument, downloadFileFirestorage, getFirestorageConf, getFirestorageFile, getFirestorageFileList, initFirestorage, uploadFirestorageFile };
@@ -0,0 +1,12 @@
1
+ import { FirebaseApp } from 'firebase/app';
2
+ import { Firestore } from 'firebase/firestore';
3
+ import { CollectionContraint } from '../service-provider-model';
4
+ /**
5
+ * During start/load application, initialize functions.
6
+ *
7
+ * @param {*} app - initialized app.
8
+ */
9
+ export declare const initFirestore: (app: FirebaseApp) => void;
10
+ export declare const getDB: () => Firestore;
11
+ export declare const getFirebaseCollectionListener: (callback: (query: any) => void, col: string, constraints?: CollectionContraint[]) => import('firebase/firestore').Unsubscribe;
12
+ //# sourceMappingURL=firestore-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore-client.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/firestore-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEL,SAAS,EAMV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMhE;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,SAO7C,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,SAAe,CAAC;AAEzC,eAAO,MAAM,6BAA6B,GACxC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAC9B,KAAK,MAAM,EACX,cAAc,mBAAmB,EAAE,6CAYpC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { getFirestore, where, query, collection, onSnapshot } from 'firebase/firestore';
2
+ import { defaultLogger } from '../../helper/logger.js';
3
+
4
+ let db;
5
+ const initFirestore = (app) => {
6
+ try {
7
+ db = getFirestore(app);
8
+ } catch (error) {
9
+ defaultLogger.error("Error during firestore init", error);
10
+ }
11
+ };
12
+ const getFirebaseCollectionListener = (callback, col, constraints) => {
13
+ const queryConstraints = (constraints || []).map(
14
+ (constraint) => {
15
+ if (constraint.type === "where") {
16
+ return where(constraint.field, constraint.operator, constraint.value);
17
+ }
18
+ throw new Error(`Unkown constraint type: ${constraint.type}`);
19
+ }
20
+ );
21
+ const q = query(collection(db, col), ...queryConstraints);
22
+ return onSnapshot(q, (querySnapshot) => callback(querySnapshot));
23
+ };
24
+
25
+ export { getFirebaseCollectionListener, initFirestore };
@@ -0,0 +1,10 @@
1
+ import { FirebaseApp } from 'firebase/app';
2
+ import { FunctionDefinition, FunctionResult, FunctionsConfig } from '../service-provider-model.js';
3
+ /**
4
+ * During start/load application, initialize functions.
5
+ *
6
+ * @param {*} app - initialized app.
7
+ */
8
+ export declare const initFunctions: (app: FirebaseApp, functionsConfig: FunctionsConfig) => void;
9
+ export declare const callFunction: (def: FunctionDefinition, functionInput: any) => Promise<FunctionResult>;
10
+ //# sourceMappingURL=functions-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions-client.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/functions-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AAUtC;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,WAAW,EAChB,iBAAiB,eAAe,SAajC,CAAC;AAgGF,eAAO,MAAM,YAAY,GACvB,KAAK,kBAAkB,EACvB,eAAe,GAAG,KACjB,OAAO,CAAC,cAAc,CAA6C,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { msg } from '@lit/localize';
2
+ import { getFunctions, httpsCallable } from 'firebase/functions';
3
+ import { SC_INVALID_USER, BusinessError } from '../service-provider-model.js';
4
+ import { pdStore } from '../../store/mini-rx.store.js';
5
+ import { toastAction } from '../../store/spa-app-actions.js';
6
+ import { createLogger } from '../../helper/logger.js';
7
+
8
+ const functionLogger = createLogger("PdFunctions");
9
+ const functionMap = /* @__PURE__ */ new Map();
10
+ const initFunctions = (app, functionsConfig) => {
11
+ try {
12
+ const functions = getFunctions(app, functionsConfig.region);
13
+ functionsConfig.functions.forEach((func) => {
14
+ functionMap.set(func, httpsCallable(functions, func.name));
15
+ });
16
+ } catch (error) {
17
+ functionLogger.error("error during function result", error);
18
+ }
19
+ };
20
+ const internalCallFunction = async (def, functionInput) => {
21
+ const funcRef = functionMap.get(def);
22
+ if (!funcRef) {
23
+ functionLogger.error("No function available for ", def.name);
24
+ throw new Error("Illegal state, no function available");
25
+ }
26
+ try {
27
+ const funcResult = await funcRef(functionInput);
28
+ if (!funcResult || !funcResult.data) {
29
+ throw new Error("Illegal state, no valid response received");
30
+ }
31
+ const { statusCode, resultData } = funcResult.data;
32
+ if (def.successCodes.includes(statusCode)) {
33
+ return funcResult.data;
34
+ }
35
+ if (statusCode === SC_INVALID_USER) {
36
+ handleInvalidUser();
37
+ throw new BusinessError("Unauthorized access", statusCode);
38
+ }
39
+ if (statusCode && resultData) {
40
+ throw new BusinessError(resultData, statusCode);
41
+ }
42
+ throw new Error(`Unexpected error: ${statusCode} - ${resultData}`);
43
+ } catch (error) {
44
+ functionLogger.error("Error in internalCallFunction:", error);
45
+ throw error;
46
+ }
47
+ };
48
+ const handleInvalidUser = () => {
49
+ pdStore().dispatch(
50
+ toastAction({
51
+ txt: msg(
52
+ "Sie haben nicht die erforderlichen Berechtigungen, um diese Aktion auszuführen. Wenden Sie sich an Ihren Administrator.",
53
+ { id: "spaH.toast.error.user.invalid" }
54
+ ),
55
+ isError: true,
56
+ isSuccess: false,
57
+ duration: -1
58
+ })
59
+ );
60
+ };
61
+ const callFunction = async (def, functionInput) => internalCallFunction(def, functionInput);
62
+
63
+ export { callFunction, initFunctions };
@@ -0,0 +1,9 @@
1
+ import { FirebaseApp } from 'firebase/app';
2
+ import { Messaging } from 'firebase/messaging';
3
+ import { MessagingConfig } from '../service-provider-model.js';
4
+ export declare const NOTIFICATION_TOKEN = "pd.spa.helper.notification.token";
5
+ export declare function prepareMessaging(app: FirebaseApp, messageConfig: MessagingConfig): void;
6
+ export declare const activateTokenChangeHandler: (appName: string) => void;
7
+ export declare const registerDevice: (registration: ServiceWorkerRegistration) => Promise<void>;
8
+ export declare const getFirebaseMessaging: () => Messaging;
9
+ //# sourceMappingURL=messagingFirebaseClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messagingFirebaseClient.d.ts","sourceRoot":"","sources":["../../../src/service-provider/firebase/messagingFirebaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAA0B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQ/D,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AAOrE,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,eAAe,QAI/B;AAED,eAAO,MAAM,0BAA0B,GAAI,SAAS,MAAM,SAczD,CAAC;AA8BF,eAAO,MAAM,cAAc,GACzB,cAAc,yBAAyB,kBAoBxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAkB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { getMessaging, getToken } from 'firebase/messaging';
2
+ import { update, USER_COLLECTION } from '../../store/indexDB.js';
3
+ import { pdStore } from '../../store/mini-rx.store.js';
4
+ import { updateNewNotificationToken } from '../../store/spa-app-actions.js';
5
+ import { authIdTokenStateChanged } from './auth.js';
6
+ import { createLogger } from '../../helper/logger.js';
7
+
8
+ const NOTIFICATION_TOKEN = "pd.spa.helper.notification.token";
9
+ const messagingLogger = createLogger("PdMessaging");
10
+ let messaging;
11
+ let firebaseMessagingAppConfigKey;
12
+ function prepareMessaging(app, messageConfig) {
13
+ messaging = getMessaging(app);
14
+ firebaseMessagingAppConfigKey = messageConfig;
15
+ }
16
+ const activateTokenChangeHandler = (appName) => {
17
+ authIdTokenStateChanged(async (user) => {
18
+ if (user) {
19
+ const token = await user.getIdToken();
20
+ if (token) {
21
+ await update(USER_COLLECTION, {
22
+ id: appName,
23
+ userNameToken: user.displayName,
24
+ userIdToken: token
25
+ });
26
+ messagingLogger.info("UserToken stored in local db");
27
+ }
28
+ }
29
+ });
30
+ };
31
+ const initMessageToken = async (registration) => {
32
+ if (!messaging || !firebaseMessagingAppConfigKey || !registration) {
33
+ throw new Error("Messaging, Registration or Key not available");
34
+ }
35
+ const currentToken = await getToken(messaging, {
36
+ vapidKey: firebaseMessagingAppConfigKey.apidKey,
37
+ serviceWorkerRegistration: registration
38
+ });
39
+ if (currentToken) {
40
+ const storedToken = localStorage.getItem(NOTIFICATION_TOKEN);
41
+ if (storedToken !== currentToken) {
42
+ messagingLogger.info("Update new token in Backend");
43
+ pdStore().dispatch(
44
+ updateNewNotificationToken({
45
+ messagingToken: currentToken
46
+ })
47
+ );
48
+ } else {
49
+ messagingLogger.info("RegisterDevice: Stored token is valid");
50
+ }
51
+ } else {
52
+ messagingLogger.warn("No token received - no new token was generated.");
53
+ }
54
+ };
55
+ const registerDevice = async (registration) => {
56
+ messagingLogger.info("Start registering app for messages and notifications");
57
+ if (Notification.permission === "default") {
58
+ await Notification.requestPermission();
59
+ }
60
+ if (Notification.permission === "granted") {
61
+ await initMessageToken(registration);
62
+ }
63
+ if (Notification.permission === "denied") {
64
+ messagingLogger.warn("Messaging not possible, missing rights");
65
+ }
66
+ };
67
+ const getFirebaseMessaging = () => messaging;
68
+
69
+ export { NOTIFICATION_TOKEN, activateTokenChangeHandler, getFirebaseMessaging, prepareMessaging, registerDevice };
@@ -0,0 +1,6 @@
1
+ export declare const logoutMock: () => Promise<boolean>;
2
+ export declare const isAuthenticatedMock: () => boolean;
3
+ export declare const getAuthUserMock: () => unknown;
4
+ export declare const authStateChangedMock: (callback: (user: any) => void) => void;
5
+ export declare const loginMock: (user: string, sec: string) => Promise<unknown>;
6
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/service-provider/mock/auth.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,OAAO,CAOlD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,OAMtC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,OAMpB,CAAC;AAGhB,eAAO,MAAM,oBAAoB,GAAI,UAAU,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,SAMjE,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EACZ,KAAK,MAAM,KACV,OAAO,CAAC,OAAO,CA2BjB,CAAC"}
@@ -0,0 +1,60 @@
1
+ const LOCALSTORE_ITEM_KEY = "pdUserLogin";
2
+ const HARDCODED_USER = "mock@pd-spa-helper.com";
3
+ const HARDCODED_PWD = "mock";
4
+ let loginAvailable;
5
+ const checkLocalStore = () => {
6
+ const userItem = localStorage.getItem(LOCALSTORE_ITEM_KEY);
7
+ return userItem === "true";
8
+ };
9
+ const logoutMock = async () => {
10
+ console.log("Do MOCK logout");
11
+ loginAvailable = void 0;
12
+ {
13
+ localStorage.removeItem(LOCALSTORE_ITEM_KEY);
14
+ }
15
+ return Promise.resolve(true);
16
+ };
17
+ const isAuthenticatedMock = () => {
18
+ if (loginAvailable === void 0) {
19
+ console.log("MOCK: check authentication");
20
+ loginAvailable = checkLocalStore() ;
21
+ }
22
+ return loginAvailable;
23
+ };
24
+ const getAuthUserMock = () => isAuthenticatedMock() ? {
25
+ uid: "34234234",
26
+ displayName: "userMockName"
27
+ } : void 0;
28
+ let callbackLogin;
29
+ const authStateChangedMock = (callback) => {
30
+ callbackLogin = callback;
31
+ console.log("Not implemented for MOCK, do call once if authenticated");
32
+ if (isAuthenticatedMock()) {
33
+ callbackLogin(getAuthUserMock());
34
+ }
35
+ };
36
+ const loginMock = async (user, sec) => {
37
+ console.log("MOCK: do authentication for user: ", user);
38
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
39
+ let valid = false;
40
+ if (user === HARDCODED_USER && sec === HARDCODED_PWD) {
41
+ {
42
+ localStorage.setItem(LOCALSTORE_ITEM_KEY, "true");
43
+ }
44
+ valid = true;
45
+ loginAvailable = true;
46
+ }
47
+ if (valid) {
48
+ const userMock = getAuthUserMock();
49
+ if (callbackLogin) {
50
+ callbackLogin(userMock);
51
+ }
52
+ return user;
53
+ }
54
+ const err = new Error("Invalid login");
55
+ const error = err;
56
+ error.code = "auth/wrong-password";
57
+ throw error;
58
+ };
59
+
60
+ export { authStateChangedMock, getAuthUserMock, isAuthenticatedMock, loginMock, logoutMock };
@@ -0,0 +1,7 @@
1
+ import { FunctionDefinition, FunctionResult } from '../service-provider-model.js';
2
+ export declare const callFunctionMock: (def: FunctionDefinition, functionInput: any) => Promise<FunctionResult>;
3
+ export declare const initMockResponse: (mock?: {
4
+ mockResponse?: Map<string, (functionInput: any) => FunctionResult>;
5
+ mockWaitTime?: number;
6
+ }) => void;
7
+ //# sourceMappingURL=function-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-client.d.ts","sourceRoot":"","sources":["../../../src/service-provider/mock/function-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAOtC,eAAO,MAAM,gBAAgB,GAC3B,KAAK,kBAAkB,EACvB,eAAe,GAAG,KACjB,OAAO,CAAC,cAAc,CAwBxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO;IACtC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,SAGA,CAAC"}
@@ -0,0 +1,30 @@
1
+ const DEFAULT_TIMEOUT = 2e3;
2
+ let mockResponse;
3
+ let mockTimeout = DEFAULT_TIMEOUT;
4
+ const callFunctionMock = async (def, functionInput) => {
5
+ let key;
6
+ if (functionInput?.detailsId) {
7
+ key = `${def.name}_${functionInput?.object}_detailsId`;
8
+ } else if (functionInput?.type) {
9
+ key = `${def.name}_${functionInput.object}_${functionInput.type}`;
10
+ } else {
11
+ key = `${def.name}_${functionInput?.object}`;
12
+ }
13
+ console.log("Mock function call", def, functionInput, key);
14
+ const timeout = () => new Promise((resolve) => {
15
+ window.setTimeout(() => {
16
+ resolve("Done");
17
+ }, mockTimeout);
18
+ });
19
+ await timeout();
20
+ if (mockResponse && mockResponse.has(key)) {
21
+ return Promise.resolve(mockResponse.get(key)(functionInput));
22
+ }
23
+ throw new Error("No data with right state available");
24
+ };
25
+ const initMockResponse = (mock) => {
26
+ mockResponse = mock?.mockResponse || /* @__PURE__ */ new Map();
27
+ mockTimeout = mock?.mockWaitTime || DEFAULT_TIMEOUT;
28
+ };
29
+
30
+ export { callFunctionMock, initMockResponse };
@@ -0,0 +1,11 @@
1
+ import { FileStorageConfig, StorageDocument, UploadFile } from '../service-provider-model.js';
2
+ /**
3
+ * During start/load application, initialize functions.
4
+ *
5
+ * @param {*} app - initialized app.
6
+ */
7
+ export declare const initStorageMock: (defaultStorage?: string, storageConfig?: FileStorageConfig) => void;
8
+ export declare const uploadStorageFileMock: (file: UploadFile) => Promise<any>;
9
+ export declare const downloadFileMock: (file: StorageDocument) => Promise<string>;
10
+ export declare const getMockFileList: (storageName: string, refKey: string, subFolder?: string, includeMetadata?: boolean) => Promise<StorageDocument[]>;
11
+ //# sourceMappingURL=storage-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-client.d.ts","sourceRoot":"","sources":["../../../src/service-provider/mock/storage-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAmDtC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,iBAAiB,MAAM,EACvB,gBAAgB,iBAAiB,SAiClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,UAAU,KAAG,OAAO,CAAC,GAAG,CA8BnE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,eAAe,oBAGrD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,kBAAkB,OAAO,KACxB,OAAO,CAAC,eAAe,EAAE,CAiB3B,CAAC"}