@infrab4a/connect-angular 6.0.0-alpha.0 → 6.0.0-beta.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 (293) hide show
  1. package/angular-connect.module.d.ts +36 -0
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/angular-firebase-auth.module.d.ts +11 -0
  4. package/angular-firestore.module.d.ts +17 -0
  5. package/angular-hasura-graphql.module.d.ts +14 -0
  6. package/angular-vertex-search.module.d.ts +9 -0
  7. package/consts/backend-url.const.d.ts +1 -0
  8. package/consts/category-structure.d.ts +1 -0
  9. package/consts/default-shop.const.d.ts +1 -0
  10. package/consts/es-config.const.d.ts +1 -0
  11. package/consts/firebase-const.d.ts +4 -0
  12. package/consts/hasura-options.const.d.ts +1 -0
  13. package/consts/index.d.ts +8 -0
  14. package/consts/persistence.const.d.ts +1 -0
  15. package/consts/storage-base-url.const.d.ts +1 -0
  16. package/consts/vertex-config.const.d.ts +1 -0
  17. package/esm2022/angular-connect.module.mjs +291 -0
  18. package/esm2022/angular-elastic-search.module.mjs +34 -0
  19. package/esm2022/angular-firebase-auth.module.mjs +141 -0
  20. package/esm2022/angular-firestore.module.mjs +541 -0
  21. package/esm2022/angular-hasura-graphql.module.mjs +333 -0
  22. package/esm2022/angular-vertex-search.module.mjs +34 -0
  23. package/esm2022/consts/backend-url.const.mjs +2 -0
  24. package/esm2022/consts/category-structure.mjs +2 -0
  25. package/esm2022/consts/default-shop.const.mjs +2 -0
  26. package/esm2022/consts/es-config.const.mjs +2 -0
  27. package/esm2022/consts/firebase-const.mjs +5 -0
  28. package/esm2022/consts/hasura-options.const.mjs +2 -0
  29. package/esm2022/consts/index.mjs +9 -0
  30. package/esm2022/consts/persistence.const.mjs +2 -0
  31. package/esm2022/consts/storage-base-url.const.mjs +2 -0
  32. package/esm2022/consts/vertex-config.const.mjs +2 -0
  33. package/esm2022/helpers/index.mjs +2 -0
  34. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +7 -0
  35. package/esm2022/index.mjs +7 -0
  36. package/esm2022/infrab4a-connect-angular.mjs +5 -0
  37. package/esm2022/interfaces/catalog-strategies.interface.mjs +2 -0
  38. package/esm2022/interfaces/category-facades.interface.mjs +2 -0
  39. package/esm2022/interfaces/index.mjs +3 -0
  40. package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
  41. package/esm2022/persistence/data-persistence.mjs +2 -0
  42. package/esm2022/persistence/index.mjs +3 -0
  43. package/esm2022/services/auth.service.mjs +37 -0
  44. package/esm2022/services/cart/cart-services.facade.mjs +21 -0
  45. package/esm2022/services/cart/index.mjs +2 -0
  46. package/esm2022/services/cart.service.mjs +73 -0
  47. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +2 -0
  48. package/esm2022/services/catalog/adapters/index.mjs +4 -0
  49. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
  50. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
  51. package/esm2022/services/catalog/catalog.service.mjs +111 -0
  52. package/esm2022/services/catalog/category.service.mjs +39 -0
  53. package/esm2022/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/esm2022/services/catalog/enums/index.mjs +2 -0
  55. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +11 -0
  56. package/esm2022/services/catalog/facades/catalog-service.facade.mjs +32 -0
  57. package/esm2022/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2022/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/esm2022/services/catalog/facades/category-service.facade.mjs +30 -0
  60. package/esm2022/services/catalog/facades/index.mjs +6 -0
  61. package/esm2022/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2022/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2022/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2022/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/esm2022/services/catalog/helpers/index.mjs +5 -0
  66. package/esm2022/services/catalog/helpers/product-fields.helper.mjs +39 -0
  67. package/esm2022/services/catalog/index.mjs +8 -0
  68. package/esm2022/services/catalog/models/category-with-tree.model.mjs +10 -0
  69. package/esm2022/services/catalog/models/index.mjs +2 -0
  70. package/esm2022/services/catalog/services/catalog-helpers.service.mjs +33 -0
  71. package/esm2022/services/catalog/services/catalog-operations.facade.mjs +26 -0
  72. package/esm2022/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/esm2022/services/catalog/services/index.mjs +5 -0
  74. package/esm2022/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2022/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/esm2022/services/catalog/strategies/index.mjs +4 -0
  77. package/esm2022/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2022/services/catalog/strategies/term-search.strategy.mjs +123 -0
  79. package/esm2022/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/esm2022/services/catalog/types/fetch-products-options.type.mjs +2 -0
  81. package/esm2022/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/esm2022/services/catalog/types/fetch-products-response.type.mjs +2 -0
  83. package/esm2022/services/catalog/types/index.mjs +6 -0
  84. package/esm2022/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2022/services/catalog/types/product-sort.type.mjs +2 -0
  86. package/esm2022/services/catalog/wishlist.service.mjs +254 -0
  87. package/esm2022/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2022/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/esm2022/services/checkout/index.mjs +3 -0
  90. package/esm2022/services/checkout-subscription.service.mjs +55 -0
  91. package/esm2022/services/checkout.service.mjs +106 -0
  92. package/esm2022/services/coupon/coupon-repositories.facade.mjs +24 -0
  93. package/esm2022/services/coupon/index.mjs +2 -0
  94. package/esm2022/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2022/services/coupon.service.mjs +248 -0
  96. package/esm2022/services/helpers/index.mjs +2 -0
  97. package/esm2022/services/helpers/util.helper.mjs +18 -0
  98. package/esm2022/services/home-shop/home-shop-repositories.facade.mjs +24 -0
  99. package/esm2022/services/home-shop/index.mjs +2 -0
  100. package/esm2022/services/home-shop.service.mjs +119 -0
  101. package/esm2022/services/index.mjs +11 -0
  102. package/esm2022/services/order-product-review.service.mjs +81 -0
  103. package/esm2022/services/order.service.mjs +30 -0
  104. package/esm2022/services/shared/configuration.facade.mjs +29 -0
  105. package/esm2022/services/shared/index.mjs +2 -0
  106. package/esm2022/services/types/index.mjs +5 -0
  107. package/esm2022/services/types/pending-product-review.type.mjs +2 -0
  108. package/esm2022/services/types/product-review-create.type.mjs +2 -0
  109. package/esm2022/services/types/required-checkout-data.type.mjs +2 -0
  110. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +2 -0
  111. package/esm2022/types/firebase-app-config.type.mjs +2 -0
  112. package/esm2022/types/index.mjs +2 -0
  113. package/fesm2022/infrab4a-connect-angular.mjs +3352 -0
  114. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  115. package/helpers/index.d.ts +1 -0
  116. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
  117. package/index.d.ts +6 -0
  118. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  119. package/interfaces/category-facades.interface.d.ts +6 -0
  120. package/interfaces/index.d.ts +2 -0
  121. package/package.json +23 -9
  122. package/persistence/cookie-data-persistence.d.ts +10 -0
  123. package/persistence/data-persistence.d.ts +6 -0
  124. package/persistence/index.d.ts +2 -0
  125. package/services/auth.service.d.ts +18 -0
  126. package/services/cart/cart-services.facade.d.ts +12 -0
  127. package/services/cart/index.d.ts +1 -0
  128. package/services/cart.service.d.ts +26 -0
  129. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
  130. package/services/catalog/adapters/index.d.ts +3 -0
  131. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
  132. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
  133. package/services/catalog/catalog.service.d.ts +24 -0
  134. package/services/catalog/category.service.d.ts +22 -0
  135. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  136. package/services/catalog/enums/index.d.ts +1 -0
  137. package/services/catalog/enums/product-sorts.enum.d.ts +9 -0
  138. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  139. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  140. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  141. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  142. package/{src/services/catalog/facades/index.ts → services/catalog/facades/index.d.ts} +5 -5
  143. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  144. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  145. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  146. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  147. package/services/catalog/helpers/index.d.ts +4 -0
  148. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  149. package/services/catalog/index.d.ts +7 -0
  150. package/services/catalog/models/category-with-tree.model.d.ts +4 -0
  151. package/services/catalog/models/index.d.ts +1 -0
  152. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  153. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  154. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  155. package/{src/services/catalog/services/index.ts → services/catalog/services/index.d.ts} +4 -4
  156. package/services/catalog/services/product-management.facade.d.ts +12 -0
  157. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  158. package/services/catalog/strategies/index.d.ts +3 -0
  159. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  160. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  161. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  162. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  163. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  164. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  165. package/services/catalog/types/index.d.ts +5 -0
  166. package/services/catalog/types/method-params.type.d.ts +17 -0
  167. package/services/catalog/types/product-sort.type.d.ts +2 -0
  168. package/services/catalog/wishlist.service.d.ts +59 -0
  169. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  170. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  171. package/{src/services/checkout/index.ts → services/checkout/index.d.ts} +2 -2
  172. package/services/checkout-subscription.service.d.ts +19 -0
  173. package/services/checkout.service.d.ts +30 -0
  174. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  175. package/{src/services/coupon/index.ts → services/coupon/index.d.ts} +1 -1
  176. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  177. package/services/coupon.service.d.ts +36 -0
  178. package/services/helpers/index.d.ts +1 -0
  179. package/services/helpers/util.helper.d.ts +3 -0
  180. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  181. package/{src/services/home-shop/index.ts → services/home-shop/index.d.ts} +1 -1
  182. package/services/home-shop.service.d.ts +26 -0
  183. package/services/index.d.ts +10 -0
  184. package/services/order-product-review.service.d.ts +13 -0
  185. package/services/order.service.d.ts +13 -0
  186. package/services/shared/configuration.facade.d.ts +12 -0
  187. package/services/shared/index.d.ts +1 -0
  188. package/services/types/index.d.ts +4 -0
  189. package/services/types/pending-product-review.type.d.ts +10 -0
  190. package/services/types/product-review-create.type.d.ts +14 -0
  191. package/services/types/required-checkout-data.type.d.ts +2 -0
  192. package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
  193. package/types/firebase-app-config.type.d.ts +1 -0
  194. package/types/index.d.ts +1 -0
  195. package/eslint.config.js +0 -18
  196. package/index.ts +0 -1
  197. package/karma.conf.js +0 -32
  198. package/ng-package.json +0 -8
  199. package/project.json +0 -37
  200. package/src/angular-connect.module.ts +0 -256
  201. package/src/angular-elastic-search.module.ts +0 -23
  202. package/src/angular-firebase-auth.module.ts +0 -101
  203. package/src/angular-firestore.module.ts +0 -371
  204. package/src/angular-hasura-graphql.module.ts +0 -219
  205. package/src/angular-vertex-search.module.ts +0 -23
  206. package/src/consts/backend-url.const.ts +0 -1
  207. package/src/consts/category-structure.ts +0 -1
  208. package/src/consts/default-shop.const.ts +0 -1
  209. package/src/consts/es-config.const.ts +0 -1
  210. package/src/consts/firebase-const.ts +0 -5
  211. package/src/consts/hasura-options.const.ts +0 -1
  212. package/src/consts/index.ts +0 -8
  213. package/src/consts/persistence.const.ts +0 -1
  214. package/src/consts/storage-base-url.const.ts +0 -1
  215. package/src/consts/vertex-config.const.ts +0 -1
  216. package/src/helpers/index.ts +0 -1
  217. package/src/helpers/mobile-operation-system-checker.helper.ts +0 -10
  218. package/src/index.ts +0 -6
  219. package/src/interfaces/catalog-strategies.interface.ts +0 -36
  220. package/src/interfaces/category-facades.interface.ts +0 -7
  221. package/src/interfaces/index.ts +0 -2
  222. package/src/persistence/cookie-data-persistence.ts +0 -21
  223. package/src/persistence/data-persistence.ts +0 -7
  224. package/src/persistence/index.ts +0 -2
  225. package/src/services/auth.service.ts +0 -39
  226. package/src/services/cart/cart-services.facade.ts +0 -14
  227. package/src/services/cart/index.ts +0 -1
  228. package/src/services/cart.service.ts +0 -124
  229. package/src/services/catalog/adapters/category-structure.adapter.ts +0 -5
  230. package/src/services/catalog/adapters/index.ts +0 -3
  231. package/src/services/catalog/adapters/new-category-structure.adapter.ts +0 -42
  232. package/src/services/catalog/adapters/old-category-structure.adapter.ts +0 -17
  233. package/src/services/catalog/catalog.service.ts +0 -153
  234. package/src/services/catalog/category.service.ts +0 -52
  235. package/src/services/catalog/context/catalog-search.context.ts +0 -61
  236. package/src/services/catalog/enums/index.ts +0 -1
  237. package/src/services/catalog/enums/product-sorts.enum.ts +0 -9
  238. package/src/services/catalog/facades/catalog-service.facade.ts +0 -32
  239. package/src/services/catalog/facades/catalog-strategies.facade.ts +0 -12
  240. package/src/services/catalog/facades/category-repository.facade.ts +0 -10
  241. package/src/services/catalog/facades/category-service.facade.ts +0 -25
  242. package/src/services/catalog/facades/product-catalog.facade.ts +0 -13
  243. package/src/services/catalog/helpers/brand-manager.helper.ts +0 -63
  244. package/src/services/catalog/helpers/catalog-filter.helper.ts +0 -50
  245. package/src/services/catalog/helpers/catalog-sort.helper.ts +0 -54
  246. package/src/services/catalog/helpers/index.ts +0 -4
  247. package/src/services/catalog/helpers/product-fields.helper.ts +0 -35
  248. package/src/services/catalog/index.ts +0 -7
  249. package/src/services/catalog/models/category-with-tree.model.ts +0 -7
  250. package/src/services/catalog/models/index.ts +0 -1
  251. package/src/services/catalog/services/catalog-helpers.service.ts +0 -35
  252. package/src/services/catalog/services/catalog-operations.facade.ts +0 -24
  253. package/src/services/catalog/services/catalog-repository.service.ts +0 -20
  254. package/src/services/catalog/services/product-management.facade.ts +0 -20
  255. package/src/services/catalog/strategies/category-search.strategy.ts +0 -172
  256. package/src/services/catalog/strategies/index.ts +0 -3
  257. package/src/services/catalog/strategies/profile-search.strategy.ts +0 -51
  258. package/src/services/catalog/strategies/term-search.strategy.ts +0 -178
  259. package/src/services/catalog/strategies/types/strategy-params.type.ts +0 -58
  260. package/src/services/catalog/types/fetch-products-options.type.ts +0 -10
  261. package/src/services/catalog/types/fetch-products-params.type.ts +0 -27
  262. package/src/services/catalog/types/fetch-products-response.type.ts +0 -11
  263. package/src/services/catalog/types/index.ts +0 -5
  264. package/src/services/catalog/types/method-params.type.ts +0 -21
  265. package/src/services/catalog/types/product-sort.type.ts +0 -3
  266. package/src/services/catalog/wishlist.service.ts +0 -368
  267. package/src/services/checkout/checkout-dependencies.facade.ts +0 -13
  268. package/src/services/checkout/checkout-repositories.facade.ts +0 -10
  269. package/src/services/checkout-subscription.service.ts +0 -76
  270. package/src/services/checkout.service.ts +0 -196
  271. package/src/services/coupon/coupon-repositories.facade.ts +0 -11
  272. package/src/services/coupon/types/coupon-params.type.ts +0 -15
  273. package/src/services/coupon.service.ts +0 -347
  274. package/src/services/errors/group-invalid-coupon.error.ts +0 -9
  275. package/src/services/errors/index.ts +0 -2
  276. package/src/services/errors/invalid-coupon.error.ts +0 -7
  277. package/src/services/helpers/index.ts +0 -1
  278. package/src/services/helpers/util.helper.ts +0 -17
  279. package/src/services/home-shop/home-shop-repositories.facade.ts +0 -11
  280. package/src/services/home-shop.service.ts +0 -196
  281. package/src/services/index.ts +0 -9
  282. package/src/services/order.service.ts +0 -23
  283. package/src/services/shared/configuration.facade.ts +0 -21
  284. package/src/services/shared/index.ts +0 -1
  285. package/src/services/types/index.ts +0 -2
  286. package/src/services/types/required-checkout-data.type.ts +0 -3
  287. package/src/services/types/required-checkout-subscription-data.type.ts +0 -3
  288. package/src/types/firebase-app-config.type.ts +0 -1
  289. package/src/types/index.ts +0 -1
  290. package/tsconfig.json +0 -17
  291. package/tsconfig.lib.json +0 -13
  292. package/tsconfig.lib.prod.json +0 -13
  293. package/tsconfig.spec.json +0 -17
@@ -1,256 +0,0 @@
1
- import { Injector, ModuleWithProviders, NgModule, Type } from '@angular/core'
2
- import { FirebaseApp, FirebaseOptions, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app'
3
- import { AppCheckOptions, initializeAppCheck, provideAppCheck } from '@angular/fire/app-check'
4
- import { getStorage, provideStorage, Storage } from '@angular/fire/storage'
5
- import {
6
- AxiosElasticSearchConfig,
7
- FileUploaderService,
8
- FirebaseFileUploaderService,
9
- isNil,
10
- ProductsVertexSearch,
11
- Shops,
12
- UpdateUserImage,
13
- UserRepository,
14
- VertexSearchConfig,
15
- } from '@infrab4a/connect'
16
-
17
- import { AngularElasticSeachModule } from './angular-elastic-search.module'
18
- import { AngularFirebaseAuthModule } from './angular-firebase-auth.module'
19
- import { AngularFirestoreModule } from './angular-firestore.module'
20
- import { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'
21
- import { AngularVertexSeachModule } from './angular-vertex-search.module'
22
- import {
23
- APP_CHECK_PROVIDER,
24
- BACKEND_URL,
25
- CATEGORY_STRUCTURE,
26
- DEFAULT_SHOP,
27
- ES_CONFIG,
28
- FIREBASE_APP_NAME,
29
- FIREBASE_OPTIONS,
30
- HASURA_OPTIONS,
31
- PERSISTENCE_PROVIDER,
32
- VERTEX_CONFIG,
33
- } from './consts'
34
- import { STORAGE_BASE_URL } from './consts/storage-base-url.const'
35
- import { CookieDataPersistence, DataPersistence } from './persistence'
36
- import {
37
- AuthService,
38
- CartService,
39
- CatalogService,
40
- CategoryService,
41
- CheckoutService,
42
- CheckoutSubscriptionService,
43
- CouponService,
44
- HomeShopService,
45
- OrderService,
46
- WishlistService,
47
- } from './services'
48
- import { CartServicesFacade } from './services/cart'
49
- import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters'
50
- import { CatalogSearchContext } from './services/catalog/context/catalog-search.context'
51
- import {
52
- CatalogServiceFacade,
53
- CatalogStrategiesFacade,
54
- CategoryRepositoryFacade,
55
- CategoryServiceFacade,
56
- ProductCatalogFacade,
57
- } from './services/catalog/facades'
58
- import {
59
- BrandManagerHelper,
60
- CatalogFilterHelper,
61
- CatalogSortHelper,
62
- ProductFieldsHelper,
63
- } from './services/catalog/helpers'
64
- import {
65
- CatalogHelpersService,
66
- CatalogOperationsFacade,
67
- CatalogRepositoryService,
68
- ProductManagementFacade,
69
- } from './services/catalog/services'
70
- import { CategorySearchStrategy, ProfileSearchStrategy, TermSearchStrategy } from './services/catalog/strategies'
71
- import { CheckoutDependenciesFacade, CheckoutRepositoriesFacade } from './services/checkout'
72
- import { CouponRepositoriesFacade } from './services/coupon'
73
- import { HomeShopRepositoriesFacade } from './services/home-shop'
74
- import { ConfigurationFacade } from './services/shared'
75
- import { FirebaseAppConfig } from './types'
76
-
77
- @NgModule({
78
- imports: [
79
- provideFirebaseApp((injector: Injector) => {
80
- const appName = injector.get<string>(FIREBASE_APP_NAME)
81
-
82
- try {
83
- const app = appName ? getApp(appName) : getApp()
84
-
85
- return app
86
- } catch (error) {
87
- console.warn('Firebase app not found, initializing new app')
88
-
89
- if (error instanceof Error) console.error(error.message)
90
-
91
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName)
92
- }
93
- }),
94
- provideAppCheck((injector: Injector) => {
95
- const app = injector.get(FirebaseApp)
96
-
97
- try {
98
- const provider = injector.get<AppCheckOptions['provider']>(APP_CHECK_PROVIDER)
99
-
100
- if (provider)
101
- return initializeAppCheck(app, {
102
- provider,
103
- isTokenAutoRefreshEnabled: true,
104
- })
105
- } catch (error) {
106
- if (error instanceof Error) console.error(error.message)
107
-
108
- return
109
- }
110
- }),
111
- provideStorage((injector: Injector) => getStorage(injector.get(FirebaseApp))),
112
- AngularElasticSeachModule,
113
- AngularVertexSeachModule,
114
- AngularFirebaseAuthModule,
115
- AngularFirestoreModule,
116
- AngularHasuraGraphQLModule,
117
- ],
118
- providers: [
119
- AuthService,
120
- CartService,
121
- CatalogService,
122
- CategoryService,
123
- CheckoutService,
124
- CheckoutSubscriptionService,
125
- CouponService,
126
- HomeShopService,
127
- OrderService,
128
- WishlistService,
129
- ConfigurationFacade,
130
- CartServicesFacade,
131
- CheckoutRepositoriesFacade,
132
- CheckoutDependenciesFacade,
133
- CategoryRepositoryFacade,
134
- ProductCatalogFacade,
135
- CatalogServiceFacade,
136
- CategoryServiceFacade,
137
- CatalogStrategiesFacade,
138
- CatalogOperationsFacade,
139
- ProductManagementFacade,
140
- {
141
- provide: 'ProductServicesFacade',
142
- useFactory: (productStockNotificationRepository: any, categoryRepository: any, productSearch: any) => ({
143
- productStockNotificationRepository,
144
- categoryRepository,
145
- productSearch,
146
- }),
147
- deps: ['ProductStockNotificationRepository', 'CategoryRepository', 'ProductSearch'],
148
- },
149
- CatalogFilterHelper,
150
- CatalogSortHelper,
151
- ProductFieldsHelper,
152
- BrandManagerHelper,
153
- CatalogRepositoryService,
154
- CatalogHelpersService,
155
- CategorySearchStrategy,
156
- TermSearchStrategy,
157
- ProfileSearchStrategy,
158
- CatalogSearchContext,
159
- {
160
- provide: UpdateUserImage,
161
- useFactory: (userRepository: UserRepository, fileUploader: FileUploaderService) => {
162
- return new UpdateUserImage(userRepository, fileUploader)
163
- },
164
- deps: ['UserRepository', 'FileUploaderService'],
165
- },
166
- {
167
- provide: 'FileUploaderService',
168
- useFactory: (storage: Storage, baseUrl: string) => {
169
- return new FirebaseFileUploaderService(storage, baseUrl)
170
- },
171
- deps: [Storage, STORAGE_BASE_URL],
172
- },
173
- {
174
- provide: 'ProductSearch',
175
- useExisting: ProductsVertexSearch,
176
- },
177
- CouponRepositoriesFacade,
178
- HomeShopRepositoriesFacade,
179
- ],
180
- })
181
- export class AngularConnectModule {
182
- static initializeApp(
183
- defaultShop: Shops,
184
- options: {
185
- firebase?: FirebaseOptions
186
- elasticSearch?: AxiosElasticSearchConfig
187
- vertexConfig?: VertexSearchConfig
188
- hasura: HasuraGraphQLOptions
189
- backendUrl: string
190
- oldCategoryStructure?: boolean
191
- storageBaseUrl?: string
192
- persistenceProvider?: Type<DataPersistence>
193
- appCheckProvider?: AppCheckOptions['provider']
194
- },
195
- nameOrConfig?: string | FirebaseAppConfig,
196
- ): ModuleWithProviders<AngularConnectModule> {
197
- return {
198
- ngModule: AngularConnectModule,
199
- providers: [
200
- ...this.buildCoreProviders(nameOrConfig, options),
201
- ...this.buildConditionalProviders(defaultShop, options),
202
- ],
203
- }
204
- }
205
-
206
- private static buildCoreProviders(
207
- nameOrConfig: string | FirebaseAppConfig,
208
- options: {
209
- appCheckProvider?: AppCheckOptions['provider']
210
- oldCategoryStructure?: boolean
211
- persistenceProvider?: Type<DataPersistence>
212
- },
213
- ) {
214
- return [
215
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
216
- { provide: APP_CHECK_PROVIDER, useValue: options.appCheckProvider },
217
- {
218
- provide: CATEGORY_STRUCTURE,
219
- useClass: this.selectCategoryStructureAdapter(options.oldCategoryStructure),
220
- },
221
- { provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
222
- ]
223
- }
224
-
225
- private static buildConditionalProviders(
226
- defaultShop: Shops,
227
- options: {
228
- firebase?: FirebaseOptions
229
- elasticSearch?: AxiosElasticSearchConfig
230
- vertexConfig?: VertexSearchConfig
231
- hasura: HasuraGraphQLOptions
232
- backendUrl: string
233
- storageBaseUrl?: string
234
- },
235
- ) {
236
- return [
237
- ...this.createProviderIfExists(DEFAULT_SHOP, defaultShop),
238
- ...this.createProviderIfExists(FIREBASE_OPTIONS, options.firebase),
239
- ...this.createProviderIfExists(ES_CONFIG, options.elasticSearch),
240
- ...this.createProviderIfExists(VERTEX_CONFIG, options.vertexConfig),
241
- ...this.createProviderIfExists(HASURA_OPTIONS, options.hasura),
242
- ...this.createProviderIfExists(BACKEND_URL, options.backendUrl),
243
- ...this.createProviderIfExists(STORAGE_BASE_URL, options.storageBaseUrl),
244
- ]
245
- }
246
-
247
- private static selectCategoryStructureAdapter(oldCategoryStructure?: boolean) {
248
- return isNil(oldCategoryStructure) || oldCategoryStructure
249
- ? OldCategoryStructureAdapter
250
- : NewCategoryStructureAdapter
251
- }
252
-
253
- private static createProviderIfExists(token: any, value: any) {
254
- return isNil(value) ? [] : [{ provide: token, useValue: value }]
255
- }
256
- }
@@ -1,23 +0,0 @@
1
- import { ModuleWithProviders, NgModule } from '@angular/core'
2
- import { AxiosAdapter, AxiosElasticSearchConfig, ProductsIndex } from '@infrab4a/connect'
3
-
4
- import { ES_CONFIG } from './consts/es-config.const'
5
-
6
- @NgModule({
7
- providers: [
8
- {
9
- provide: ProductsIndex,
10
- useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex =>
11
- new ProductsIndex(new AxiosAdapter(configuration)),
12
- deps: [ES_CONFIG],
13
- },
14
- ],
15
- })
16
- export class AngularElasticSeachModule {
17
- static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {
18
- return {
19
- ngModule: AngularElasticSeachModule,
20
- providers: [{ provide: ES_CONFIG, useValue: options }],
21
- }
22
- }
23
- }
@@ -1,101 +0,0 @@
1
- import { Injector, ModuleWithProviders, NgModule } from '@angular/core'
2
- import { FirebaseApp, FirebaseOptions } from '@angular/fire/app'
3
- import {
4
- Auth,
5
- browserLocalPersistence,
6
- browserSessionPersistence,
7
- getAuth,
8
- indexedDBLocalPersistence,
9
- initializeAuth,
10
- provideAuth,
11
- } from '@angular/fire/auth'
12
- import {
13
- Authentication,
14
- AuthenticationFirebaseAuthService,
15
- AuthenticationService,
16
- RecoveryPassword,
17
- Register,
18
- RegisterFirebaseAuthService,
19
- RegisterService,
20
- SignOut,
21
- UserRepository,
22
- } from '@infrab4a/connect'
23
-
24
- import { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts'
25
- import { FirebaseAppConfig } from './types'
26
-
27
- @NgModule({
28
- imports: [
29
- provideAuth((injector: Injector) => {
30
- const app = injector.get(FirebaseApp)
31
-
32
- try {
33
- return initializeAuth(app, {
34
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
35
- })
36
- } catch (error) {
37
- if (error instanceof Error) console.error('Error initializing auth', error.message)
38
-
39
- return getAuth(app)
40
- }
41
- }),
42
- ],
43
- providers: [
44
- {
45
- provide: 'Authentication',
46
- useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {
47
- return new Authentication(authenticationService, userRepository)
48
- },
49
- deps: ['AuthenticationService', 'UserRepository'],
50
- },
51
- {
52
- provide: 'AuthenticationService',
53
- useFactory: (angularFireAuth: Auth): AuthenticationService => {
54
- return new AuthenticationFirebaseAuthService(angularFireAuth)
55
- },
56
- deps: [Auth],
57
- },
58
- {
59
- provide: 'Register',
60
- useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {
61
- return new Register(registerService, userRepository)
62
- },
63
- deps: ['RegisterService', 'UserRepository'],
64
- },
65
- {
66
- provide: 'RegisterService',
67
- useFactory: (angularFireAuth: Auth): RegisterService => {
68
- return new RegisterFirebaseAuthService(angularFireAuth)
69
- },
70
- deps: [Auth],
71
- },
72
- {
73
- provide: 'SignOut',
74
- useFactory: (authenticationService: AuthenticationService): SignOut => {
75
- return new SignOut(authenticationService)
76
- },
77
- deps: ['AuthenticationService'],
78
- },
79
- {
80
- provide: 'RecoveryPassword',
81
- useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {
82
- return new RecoveryPassword(authenticationService)
83
- },
84
- deps: ['AuthenticationService'],
85
- },
86
- ],
87
- })
88
- export class AngularFirebaseAuthModule {
89
- static initializeApp(
90
- options: FirebaseOptions,
91
- nameOrConfig?: string | FirebaseAppConfig,
92
- ): ModuleWithProviders<AngularFirebaseAuthModule> {
93
- return {
94
- ngModule: AngularFirebaseAuthModule,
95
- providers: [
96
- { provide: FIREBASE_OPTIONS, useValue: options },
97
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
98
- ],
99
- }
100
- }
101
- }