@infrab4a/connect-angular 5.0.0-beta.17 → 5.0.0-beta.19

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 (71) hide show
  1. package/esm2022/angular-connect.module.mjs +115 -0
  2. package/esm2022/angular-elastic-search.module.mjs +34 -0
  3. package/esm2022/angular-firebase-auth.module.mjs +115 -0
  4. package/esm2022/angular-firestore.module.mjs +504 -0
  5. package/esm2022/angular-hasura-graphql.module.mjs +287 -0
  6. package/{esm2020 → esm2022}/persistence/cookie-data-persistence.mjs +4 -4
  7. package/{esm2020 → esm2022}/services/auth.service.mjs +6 -6
  8. package/esm2022/services/cart.service.mjs +282 -0
  9. package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +6 -6
  10. package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +6 -6
  11. package/esm2022/services/catalog/catalog.service.mjs +201 -0
  12. package/{esm2020 → esm2022}/services/catalog/category.service.mjs +6 -6
  13. package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +1 -1
  14. package/esm2022/services/catalog/wishlist.service.mjs +119 -0
  15. package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +6 -6
  16. package/{esm2020 → esm2022}/services/checkout.service.mjs +6 -6
  17. package/esm2022/services/coupon.service.mjs +260 -0
  18. package/{esm2020 → esm2022}/services/home-shop.service.mjs +6 -6
  19. package/{esm2020 → esm2022}/services/order.service.mjs +6 -6
  20. package/{esm2020 → esm2022}/services/shipping.service.mjs +6 -6
  21. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +592 -533
  22. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  23. package/package.json +6 -12
  24. package/services/catalog/catalog.service.d.ts +4 -2
  25. package/services/catalog/wishlist.service.d.ts +6 -4
  26. package/services/checkout.service.d.ts +4 -1
  27. package/services/coupon.service.d.ts +6 -2
  28. package/esm2020/angular-connect.module.mjs +0 -115
  29. package/esm2020/angular-elastic-search.module.mjs +0 -34
  30. package/esm2020/angular-firebase-auth.module.mjs +0 -115
  31. package/esm2020/angular-firestore.module.mjs +0 -504
  32. package/esm2020/angular-hasura-graphql.module.mjs +0 -265
  33. package/esm2020/services/cart.service.mjs +0 -281
  34. package/esm2020/services/catalog/catalog.service.mjs +0 -194
  35. package/esm2020/services/catalog/wishlist.service.mjs +0 -115
  36. package/esm2020/services/coupon.service.mjs +0 -235
  37. package/fesm2015/infrab4a-connect-angular.mjs +0 -2417
  38. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  39. package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
  40. /package/{esm2020 → esm2022}/consts/backend-url.const.mjs +0 -0
  41. /package/{esm2020 → esm2022}/consts/category-structure.mjs +0 -0
  42. /package/{esm2020 → esm2022}/consts/default-shop.const.mjs +0 -0
  43. /package/{esm2020 → esm2022}/consts/es-config.const.mjs +0 -0
  44. /package/{esm2020 → esm2022}/consts/firebase-const.mjs +0 -0
  45. /package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +0 -0
  46. /package/{esm2020 → esm2022}/consts/index.mjs +0 -0
  47. /package/{esm2020 → esm2022}/consts/persistence.const.mjs +0 -0
  48. /package/{esm2020 → esm2022}/consts/storage-base-url.const.mjs +0 -0
  49. /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
  50. /package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +0 -0
  51. /package/{esm2020 → esm2022}/index.mjs +0 -0
  52. /package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +0 -0
  53. /package/{esm2020 → esm2022}/persistence/data-persistence.mjs +0 -0
  54. /package/{esm2020 → esm2022}/persistence/index.mjs +0 -0
  55. /package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +0 -0
  56. /package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +0 -0
  57. /package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +0 -0
  58. /package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +0 -0
  59. /package/{esm2020 → esm2022}/services/catalog/index.mjs +0 -0
  60. /package/{esm2020 → esm2022}/services/catalog/models/index.mjs +0 -0
  61. /package/{esm2020 → esm2022}/services/catalog/types/index.mjs +0 -0
  62. /package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +0 -0
  63. /package/{esm2020 → esm2022}/services/helpers/index.mjs +0 -0
  64. /package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +0 -0
  65. /package/{esm2020 → esm2022}/services/index.mjs +0 -0
  66. /package/{esm2020 → esm2022}/services/types/index.mjs +0 -0
  67. /package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +0 -0
  68. /package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +0 -0
  69. /package/{esm2020 → esm2022}/services/types/shipping-methods.type.mjs +0 -0
  70. /package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +0 -0
  71. /package/{esm2020 → esm2022}/types/index.mjs +0 -0
@@ -3,7 +3,7 @@ import { NgModule, InjectionToken, PLATFORM_ID, Injectable, Inject } from '@angu
3
3
  import * as i1$4 from '@angular/fire/app';
4
4
  import { FirebaseApp, provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
5
5
  import * as i1$2 from '@infrab4a/connect';
6
- import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, FirebaseFileUploaderService, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage } from '@infrab4a/connect';
6
+ import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, FirebaseFileUploaderService, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage } from '@infrab4a/connect';
7
7
  import * as i1 from '@angular/fire/auth';
8
8
  import { Auth, provideAuth, getAuth, getIdToken, authState } from '@angular/fire/auth';
9
9
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
@@ -27,17 +27,17 @@ class AngularElasticSeachModule {
27
27
  providers: [{ provide: ES_CONFIG, useValue: options }],
28
28
  };
29
29
  }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule }); }
32
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, providers: [
33
+ {
34
+ provide: ProductsIndex,
35
+ useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
36
+ deps: [ES_CONFIG],
37
+ },
38
+ ] }); }
30
39
  }
31
- AngularElasticSeachModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- AngularElasticSeachModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule });
33
- AngularElasticSeachModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, providers: [
34
- {
35
- provide: ProductsIndex,
36
- useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
37
- deps: [ES_CONFIG],
38
- },
39
- ] });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
41
41
  type: NgModule,
42
42
  args: [{
43
43
  providers: [
@@ -73,54 +73,54 @@ class AngularFirebaseAuthModule {
73
73
  ],
74
74
  };
75
75
  }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
77
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] }); }
78
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
79
+ {
80
+ provide: 'Authentication',
81
+ useFactory: (authenticationService, userRepository) => {
82
+ return new Authentication(authenticationService, userRepository);
83
+ },
84
+ deps: ['AuthenticationService', 'UserRepository'],
85
+ },
86
+ {
87
+ provide: 'AuthenticationService',
88
+ useFactory: (angularFireAuth) => {
89
+ return new AuthenticationFirebaseAuthService(angularFireAuth);
90
+ },
91
+ deps: [Auth],
92
+ },
93
+ {
94
+ provide: 'Register',
95
+ useFactory: (registerService, userRepository) => {
96
+ return new Register(registerService, userRepository);
97
+ },
98
+ deps: ['RegisterService', 'UserRepository'],
99
+ },
100
+ {
101
+ provide: 'RegisterService',
102
+ useFactory: (angularFireAuth) => {
103
+ return new RegisterFirebaseAuthService(angularFireAuth);
104
+ },
105
+ deps: [Auth],
106
+ },
107
+ {
108
+ provide: 'SignOut',
109
+ useFactory: (authenticationService) => {
110
+ return new SignOut(authenticationService);
111
+ },
112
+ deps: ['AuthenticationService'],
113
+ },
114
+ {
115
+ provide: 'RecoveryPassword',
116
+ useFactory: (authenticationService) => {
117
+ return new RecoveryPassword(authenticationService);
118
+ },
119
+ deps: ['AuthenticationService'],
120
+ },
121
+ ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] }); }
76
122
  }
77
- AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
78
- AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] });
79
- AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
80
- {
81
- provide: 'Authentication',
82
- useFactory: (authenticationService, userRepository) => {
83
- return new Authentication(authenticationService, userRepository);
84
- },
85
- deps: ['AuthenticationService', 'UserRepository'],
86
- },
87
- {
88
- provide: 'AuthenticationService',
89
- useFactory: (angularFireAuth) => {
90
- return new AuthenticationFirebaseAuthService(angularFireAuth);
91
- },
92
- deps: [Auth],
93
- },
94
- {
95
- provide: 'Register',
96
- useFactory: (registerService, userRepository) => {
97
- return new Register(registerService, userRepository);
98
- },
99
- deps: ['RegisterService', 'UserRepository'],
100
- },
101
- {
102
- provide: 'RegisterService',
103
- useFactory: (angularFireAuth) => {
104
- return new RegisterFirebaseAuthService(angularFireAuth);
105
- },
106
- deps: [Auth],
107
- },
108
- {
109
- provide: 'SignOut',
110
- useFactory: (authenticationService) => {
111
- return new SignOut(authenticationService);
112
- },
113
- deps: ['AuthenticationService'],
114
- },
115
- {
116
- provide: 'RecoveryPassword',
117
- useFactory: (authenticationService) => {
118
- return new RecoveryPassword(authenticationService);
119
- },
120
- deps: ['AuthenticationService'],
121
- },
122
- ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
124
124
  type: NgModule,
125
125
  args: [{
126
126
  imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
@@ -191,244 +191,244 @@ class AngularFirestoreModule {
191
191
  ],
192
192
  };
193
193
  }
194
- }
195
- AngularFirestoreModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
196
- AngularFirestoreModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule, i2.StorageModule] });
197
- AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, providers: [
198
- {
199
- provide: 'FirestoreOptions',
200
- useFactory: (firestore, platformId) => ({
201
- firestore: new ConnectFirestoreService(firestore),
202
- interceptors: {
203
- request: (request) => {
204
- if (isPlatformBrowser(platformId))
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
195
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule, i2.StorageModule] }); }
196
+ static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, providers: [
197
+ {
198
+ provide: 'FirestoreOptions',
199
+ useFactory: (firestore, platformId) => ({
200
+ firestore: new ConnectFirestoreService(firestore),
201
+ interceptors: {
202
+ request: (request) => {
203
+ if (isPlatformBrowser(platformId))
204
+ return request;
205
+ const interval = setInterval(() => { }, 100);
206
+ request.interval = interval;
205
207
  return request;
206
- const interval = setInterval(() => { }, 100);
207
- request.interval = interval;
208
- return request;
209
- },
210
- response: (response, request) => {
211
- if (isPlatformBrowser(platformId))
208
+ },
209
+ response: (response, request) => {
210
+ if (isPlatformBrowser(platformId))
211
+ return response;
212
+ clearInterval(request.interval);
212
213
  return response;
213
- clearInterval(request.interval);
214
- return response;
214
+ },
215
215
  },
216
+ }),
217
+ deps: [Firestore, PLATFORM_ID],
218
+ },
219
+ {
220
+ provide: 'BeautyProfileRepository',
221
+ useFactory: (config, userRepository) => {
222
+ return new UserBeautyProfileFirestoreRepository(config, userRepository);
216
223
  },
217
- }),
218
- deps: [Firestore, PLATFORM_ID],
219
- },
220
- {
221
- provide: 'BeautyProfileRepository',
222
- useFactory: (config, userRepository) => {
223
- return new UserBeautyProfileFirestoreRepository(config, userRepository);
224
- },
225
- deps: ['FirestoreOptions', 'UserRepository'],
226
- },
227
- {
228
- provide: 'Buy2WinRepository',
229
- useFactory: (options) => {
230
- return new Buy2WinFirestoreRepository(options);
231
- },
232
- deps: ['FirestoreOptions'],
233
- },
234
- {
235
- provide: CategoryFirestoreRepository,
236
- useFactory: (options) => {
237
- return new CategoryFirestoreRepository(options);
238
- },
239
- deps: ['FirestoreOptions'],
240
- },
241
- {
242
- provide: 'CheckoutRepository',
243
- useFactory: (options) => {
244
- return new CheckoutFirestoreRepository(options);
245
- },
246
- deps: ['FirestoreOptions'],
247
- },
248
- {
249
- provide: 'CheckoutSubscriptionRepository',
250
- useFactory: (options) => {
251
- return new CheckoutSubscriptionFirestoreRepository(options);
252
- },
253
- deps: ['FirestoreOptions'],
254
- },
255
- {
256
- provide: 'CouponRepository',
257
- useFactory: (options) => {
258
- return new CouponFirestoreRepository(options);
259
- },
260
- deps: ['FirestoreOptions'],
261
- },
262
- {
263
- provide: 'CampaignHashtagRepository',
264
- useFactory: (options) => {
265
- return new CampaignHashtagFirestoreRepository(options);
266
- },
267
- deps: ['FirestoreOptions'],
268
- },
269
- {
270
- provide: 'CampaignDashboardRepository',
271
- useFactory: (options) => {
272
- return new CampaignDashboardFirestoreRepository(options);
273
- },
274
- deps: ['FirestoreOptions'],
275
- },
276
- {
277
- provide: 'EditionRepository',
278
- useFactory: (options, subscriptionRepository) => {
279
- return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository);
280
- },
281
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
282
- },
283
- {
284
- provide: 'HomeRepository',
285
- useFactory: (options) => {
286
- return new HomeFirestoreRepository(options);
287
- },
288
- deps: ['FirestoreOptions'],
289
- },
290
- {
291
- provide: 'LeadRepository',
292
- useFactory: (options) => {
293
- return new LeadFirestoreRepository(options);
294
- },
295
- deps: ['FirestoreOptions'],
296
- },
297
- {
298
- provide: 'LegacyOrderRepository',
299
- useFactory: (options) => {
300
- return new LegacyOrderFirestoreRepository(options);
301
- },
302
- deps: ['FirestoreOptions'],
303
- },
304
- {
305
- provide: 'ShopMenuRepository',
306
- useFactory: (options) => {
307
- return new ShopMenuFirestoreRepository(options);
308
- },
309
- deps: ['FirestoreOptions'],
310
- },
311
- {
312
- provide: 'OrderRepository',
313
- useFactory: (options) => {
314
- return new OrderFirestoreRepository(options);
315
- },
316
- deps: ['FirestoreOptions'],
317
- },
318
- {
319
- provide: 'PaymentRepository',
320
- useFactory: (options) => {
321
- return new PaymentFirestoreRepository(options);
322
- },
323
- deps: ['FirestoreOptions'],
324
- },
325
- {
326
- provide: ProductFirestoreRepository,
327
- useFactory: (options) => {
328
- return new ProductFirestoreRepository(options);
329
- },
330
- deps: ['FirestoreOptions'],
331
- },
332
- {
333
- provide: 'ShopSettingsRepository',
334
- useFactory: (options) => {
335
- return new ShopSettingsFirestoreRepository(options);
336
- },
337
- deps: ['FirestoreOptions'],
338
- },
339
- {
340
- provide: 'SubscriptionPaymentRepository',
341
- useFactory: (options, subscriptionRepository) => {
342
- return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository);
343
- },
344
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
345
- },
346
- {
347
- provide: 'SubscriptionPlanRepository',
348
- useFactory: (options) => {
349
- return new SubscriptionPlanFirestoreRepository(options);
350
- },
351
- deps: ['FirestoreOptions'],
352
- },
353
- {
354
- provide: 'SubscriptionProductRepository',
355
- useFactory: (options) => {
356
- return new SubscriptionProductFirestoreRepository(options);
357
- },
358
- deps: ['FirestoreOptions'],
359
- },
360
- {
361
- provide: 'SubscriptionRepository',
362
- useFactory: (options) => {
363
- return new SubscriptionFirestoreRepository(options);
364
- },
365
- deps: ['FirestoreOptions'],
366
- },
367
- {
368
- provide: 'UserRepository',
369
- useFactory: (options) => {
370
- return new UserFirestoreRepository(options);
371
- },
372
- deps: ['FirestoreOptions'],
373
- },
374
- {
375
- provide: 'UserAddressRepository',
376
- useFactory: (options, userRepository) => {
377
- return new UserAddressFirestoreRepository(options, userRepository);
378
- },
379
- deps: ['FirestoreOptions', 'UserRepository'],
380
- },
381
- {
382
- provide: 'UserPaymentMethodRepository',
383
- useFactory: (options, userRepository) => {
384
- return new UserPaymentMethodFirestoreRepository(options, userRepository);
385
- },
386
- deps: ['FirestoreOptions', 'UserRepository'],
387
- },
388
- {
389
- provide: 'SubscriptionMaterializationRepository',
390
- useFactory: (options) => {
391
- return new SubscriptionMaterializationFirestoreRepository(options);
392
- },
393
- deps: ['FirestoreOptions'],
394
- },
395
- {
396
- provide: 'SubscriptionSummaryRepository',
397
- useFactory: (options) => {
398
- return new SubscriptionSummaryFirestoreRepository(options);
399
- },
400
- deps: ['FirestoreOptions'],
401
- },
402
- {
403
- provide: ProductVariantFirestoreRepository,
404
- useFactory: (options, productRepository) => {
405
- return new ProductVariantFirestoreRepository(options, productRepository);
406
- },
407
- deps: ['FirestoreOptions', ProductFirestoreRepository],
408
- },
409
- {
410
- provide: 'FileUploaderService',
411
- useFactory: (storage, baseUrl) => {
412
- return new FirebaseFileUploaderService(storage, baseUrl);
413
- },
414
- deps: [Storage, STORAGE_BASE_URL],
415
- },
416
- ], imports: [AngularElasticSeachModule,
417
- provideFirestore((injector) => {
418
- const platformId = injector.get(PLATFORM_ID);
419
- if (isPlatformServer(platformId) || !MobileOperationSystemCheckerHelper.isAppleDevice())
420
- return initializeFirestore(injector.get(FirebaseApp), {
224
+ deps: ['FirestoreOptions', 'UserRepository'],
225
+ },
226
+ {
227
+ provide: 'Buy2WinRepository',
228
+ useFactory: (options) => {
229
+ return new Buy2WinFirestoreRepository(options);
230
+ },
231
+ deps: ['FirestoreOptions'],
232
+ },
233
+ {
234
+ provide: CategoryFirestoreRepository,
235
+ useFactory: (options) => {
236
+ return new CategoryFirestoreRepository(options);
237
+ },
238
+ deps: ['FirestoreOptions'],
239
+ },
240
+ {
241
+ provide: 'CheckoutRepository',
242
+ useFactory: (options) => {
243
+ return new CheckoutFirestoreRepository(options);
244
+ },
245
+ deps: ['FirestoreOptions'],
246
+ },
247
+ {
248
+ provide: 'CheckoutSubscriptionRepository',
249
+ useFactory: (options) => {
250
+ return new CheckoutSubscriptionFirestoreRepository(options);
251
+ },
252
+ deps: ['FirestoreOptions'],
253
+ },
254
+ {
255
+ provide: 'CouponRepository',
256
+ useFactory: (options) => {
257
+ return new CouponFirestoreRepository(options);
258
+ },
259
+ deps: ['FirestoreOptions'],
260
+ },
261
+ {
262
+ provide: 'CampaignHashtagRepository',
263
+ useFactory: (options) => {
264
+ return new CampaignHashtagFirestoreRepository(options);
265
+ },
266
+ deps: ['FirestoreOptions'],
267
+ },
268
+ {
269
+ provide: 'CampaignDashboardRepository',
270
+ useFactory: (options) => {
271
+ return new CampaignDashboardFirestoreRepository(options);
272
+ },
273
+ deps: ['FirestoreOptions'],
274
+ },
275
+ {
276
+ provide: 'EditionRepository',
277
+ useFactory: (options, subscriptionRepository) => {
278
+ return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository);
279
+ },
280
+ deps: ['FirestoreOptions', 'SubscriptionRepository'],
281
+ },
282
+ {
283
+ provide: 'HomeRepository',
284
+ useFactory: (options) => {
285
+ return new HomeFirestoreRepository(options);
286
+ },
287
+ deps: ['FirestoreOptions'],
288
+ },
289
+ {
290
+ provide: 'LeadRepository',
291
+ useFactory: (options) => {
292
+ return new LeadFirestoreRepository(options);
293
+ },
294
+ deps: ['FirestoreOptions'],
295
+ },
296
+ {
297
+ provide: 'LegacyOrderRepository',
298
+ useFactory: (options) => {
299
+ return new LegacyOrderFirestoreRepository(options);
300
+ },
301
+ deps: ['FirestoreOptions'],
302
+ },
303
+ {
304
+ provide: 'ShopMenuRepository',
305
+ useFactory: (options) => {
306
+ return new ShopMenuFirestoreRepository(options);
307
+ },
308
+ deps: ['FirestoreOptions'],
309
+ },
310
+ {
311
+ provide: 'OrderRepository',
312
+ useFactory: (options) => {
313
+ return new OrderFirestoreRepository(options);
314
+ },
315
+ deps: ['FirestoreOptions'],
316
+ },
317
+ {
318
+ provide: 'PaymentRepository',
319
+ useFactory: (options) => {
320
+ return new PaymentFirestoreRepository(options);
321
+ },
322
+ deps: ['FirestoreOptions'],
323
+ },
324
+ {
325
+ provide: ProductFirestoreRepository,
326
+ useFactory: (options) => {
327
+ return new ProductFirestoreRepository(options);
328
+ },
329
+ deps: ['FirestoreOptions'],
330
+ },
331
+ {
332
+ provide: 'ShopSettingsRepository',
333
+ useFactory: (options) => {
334
+ return new ShopSettingsFirestoreRepository(options);
335
+ },
336
+ deps: ['FirestoreOptions'],
337
+ },
338
+ {
339
+ provide: 'SubscriptionPaymentRepository',
340
+ useFactory: (options, subscriptionRepository) => {
341
+ return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository);
342
+ },
343
+ deps: ['FirestoreOptions', 'SubscriptionRepository'],
344
+ },
345
+ {
346
+ provide: 'SubscriptionPlanRepository',
347
+ useFactory: (options) => {
348
+ return new SubscriptionPlanFirestoreRepository(options);
349
+ },
350
+ deps: ['FirestoreOptions'],
351
+ },
352
+ {
353
+ provide: 'SubscriptionProductRepository',
354
+ useFactory: (options) => {
355
+ return new SubscriptionProductFirestoreRepository(options);
356
+ },
357
+ deps: ['FirestoreOptions'],
358
+ },
359
+ {
360
+ provide: 'SubscriptionRepository',
361
+ useFactory: (options) => {
362
+ return new SubscriptionFirestoreRepository(options);
363
+ },
364
+ deps: ['FirestoreOptions'],
365
+ },
366
+ {
367
+ provide: 'UserRepository',
368
+ useFactory: (options) => {
369
+ return new UserFirestoreRepository(options);
370
+ },
371
+ deps: ['FirestoreOptions'],
372
+ },
373
+ {
374
+ provide: 'UserAddressRepository',
375
+ useFactory: (options, userRepository) => {
376
+ return new UserAddressFirestoreRepository(options, userRepository);
377
+ },
378
+ deps: ['FirestoreOptions', 'UserRepository'],
379
+ },
380
+ {
381
+ provide: 'UserPaymentMethodRepository',
382
+ useFactory: (options, userRepository) => {
383
+ return new UserPaymentMethodFirestoreRepository(options, userRepository);
384
+ },
385
+ deps: ['FirestoreOptions', 'UserRepository'],
386
+ },
387
+ {
388
+ provide: 'SubscriptionMaterializationRepository',
389
+ useFactory: (options) => {
390
+ return new SubscriptionMaterializationFirestoreRepository(options);
391
+ },
392
+ deps: ['FirestoreOptions'],
393
+ },
394
+ {
395
+ provide: 'SubscriptionSummaryRepository',
396
+ useFactory: (options) => {
397
+ return new SubscriptionSummaryFirestoreRepository(options);
398
+ },
399
+ deps: ['FirestoreOptions'],
400
+ },
401
+ {
402
+ provide: ProductVariantFirestoreRepository,
403
+ useFactory: (options, productRepository) => {
404
+ return new ProductVariantFirestoreRepository(options, productRepository);
405
+ },
406
+ deps: ['FirestoreOptions', ProductFirestoreRepository],
407
+ },
408
+ {
409
+ provide: 'FileUploaderService',
410
+ useFactory: (storage, baseUrl) => {
411
+ return new FirebaseFileUploaderService(storage, baseUrl);
412
+ },
413
+ deps: [Storage, STORAGE_BASE_URL],
414
+ },
415
+ ], imports: [AngularElasticSeachModule,
416
+ provideFirestore((injector) => {
417
+ const platformId = injector.get(PLATFORM_ID);
418
+ if (isPlatformServer(platformId) || !MobileOperationSystemCheckerHelper.isAppleDevice())
419
+ return initializeFirestore(injector.get(FirebaseApp), {
420
+ ignoreUndefinedProperties: true,
421
+ });
422
+ const firestore = initializeFirestore(injector.get(FirebaseApp), {
423
+ experimentalForceLongPolling: true,
421
424
  ignoreUndefinedProperties: true,
425
+ localCache: memoryLocalCache(),
422
426
  });
423
- const firestore = initializeFirestore(injector.get(FirebaseApp), {
424
- experimentalForceLongPolling: true,
425
- ignoreUndefinedProperties: true,
426
- localCache: memoryLocalCache(),
427
- });
428
- return firestore;
429
- }),
430
- provideStorage(() => getStorage())] });
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, decorators: [{
427
+ return firestore;
428
+ }),
429
+ provideStorage(() => getStorage())] }); }
430
+ }
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, decorators: [{
432
432
  type: NgModule,
433
433
  args: [{
434
434
  imports: [
@@ -678,132 +678,143 @@ class AngularHasuraGraphQLModule {
678
678
  providers: [{ provide: HASURA_OPTIONS, useValue: options }],
679
679
  };
680
680
  }
681
- }
682
- AngularHasuraGraphQLModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
683
- AngularHasuraGraphQLModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule });
684
- AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
685
- {
686
- provide: 'HasuraConfig',
687
- useFactory: (options, platformId) => ({
688
- endpoint: options.endpoint,
689
- authOptions: options.credentials,
690
- interceptors: {
691
- request: (request) => {
692
- if (isPlatformBrowser(platformId))
681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
682
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule }); }
683
+ static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
684
+ {
685
+ provide: 'HasuraConfig',
686
+ useFactory: (options, platformId) => ({
687
+ endpoint: options.endpoint,
688
+ authOptions: options.credentials,
689
+ interceptors: {
690
+ request: (request) => {
691
+ if (isPlatformBrowser(platformId))
692
+ return request;
693
+ const interval = setInterval(() => { }, 100);
694
+ request.interval = interval;
693
695
  return request;
694
- const interval = setInterval(() => { }, 100);
695
- request.interval = interval;
696
- return request;
697
- },
698
- response: (response, request) => {
699
- if (isPlatformBrowser(platformId))
696
+ },
697
+ response: (response, request) => {
698
+ if (isPlatformBrowser(platformId))
699
+ return response;
700
+ clearInterval(request.interval);
700
701
  return response;
701
- clearInterval(request.interval);
702
- return response;
702
+ },
703
703
  },
704
+ }),
705
+ deps: [HASURA_OPTIONS, PLATFORM_ID],
706
+ },
707
+ {
708
+ provide: 'CategoryRepository',
709
+ useExisting: CategoryHasuraGraphQLRepository,
710
+ },
711
+ {
712
+ provide: CategoryHasuraGraphQLRepository,
713
+ useFactory: (options, productRepository, categoryFilterRepository) => {
714
+ return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
704
715
  },
705
- }),
706
- deps: [HASURA_OPTIONS, PLATFORM_ID],
707
- },
708
- {
709
- provide: 'CategoryRepository',
710
- useExisting: CategoryHasuraGraphQLRepository,
711
- },
712
- {
713
- provide: CategoryHasuraGraphQLRepository,
714
- useFactory: (options, productRepository, categoryFilterRepository) => {
715
- return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
716
- },
717
- deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
718
- },
719
- {
720
- provide: 'ProductRepository',
721
- useExisting: ProductHasuraGraphQLRepository,
722
- },
723
- {
724
- provide: ProductHasuraGraphQLRepository,
725
- useFactory: (hasuraConfig) => {
726
- return new ProductHasuraGraphQLRepository(hasuraConfig);
727
- },
728
- deps: ['HasuraConfig'],
729
- },
730
- {
731
- provide: 'ProductReviewsRepository',
732
- useExisting: ProductReviewsHasuraGraphQLRepository,
733
- },
734
- {
735
- provide: ProductReviewsHasuraGraphQLRepository,
736
- useFactory: (hasuraConfig) => {
737
- return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
738
- },
739
- deps: ['HasuraConfig'],
740
- },
741
- {
742
- provide: 'VariantRepository',
743
- useExisting: VariantHasuraGraphQLRepository,
744
- },
745
- {
746
- provide: VariantHasuraGraphQLRepository,
747
- useFactory: (hasuraConfig) => {
748
- return new VariantHasuraGraphQLRepository(hasuraConfig);
749
- },
750
- deps: ['HasuraConfig'],
751
- },
752
- {
753
- provide: 'CategoryFilterRepository',
754
- useExisting: CategoryFilterHasuraGraphQLRepository,
755
- },
756
- {
757
- provide: CategoryFilterHasuraGraphQLRepository,
758
- useFactory: (options) => {
759
- return new CategoryFilterHasuraGraphQLRepository(options);
760
- },
761
- deps: ['HasuraConfig'],
762
- },
763
- {
764
- provide: 'FilterOptionRepository',
765
- useExisting: FilterOptionHasuraGraphQLRepository,
766
- },
767
- {
768
- provide: FilterOptionHasuraGraphQLRepository,
769
- useFactory: (options) => {
770
- return new FilterOptionHasuraGraphQLRepository(options);
771
- },
772
- deps: ['HasuraConfig'],
773
- },
774
- {
775
- provide: 'FilterRepository',
776
- useExisting: FilterHasuraGraphQLRepository,
777
- },
778
- {
779
- provide: FilterHasuraGraphQLRepository,
780
- useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
781
- return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
782
- },
783
- deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
784
- },
785
- {
786
- provide: CategoryCollectionChildrenHasuraGraphQLRepository,
787
- useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
788
- deps: ['HasuraConfig'],
789
- },
790
- {
791
- provide: 'CategoryCollectionChildrenRepository',
792
- useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
793
- },
794
- {
795
- provide: WishlistHasuraGraphQLRepository,
796
- useFactory: (options, categoryFilterRepository) => {
797
- return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
798
- },
799
- deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
800
- },
801
- {
802
- provide: 'WishlistRepository',
803
- useExisting: WishlistHasuraGraphQLRepository,
804
- },
805
- ] });
806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
716
+ deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
717
+ },
718
+ {
719
+ provide: 'ProductRepository',
720
+ useExisting: ProductHasuraGraphQLRepository,
721
+ },
722
+ {
723
+ provide: ProductHasuraGraphQLRepository,
724
+ useFactory: (hasuraConfig) => {
725
+ return new ProductHasuraGraphQLRepository(hasuraConfig);
726
+ },
727
+ deps: ['HasuraConfig'],
728
+ },
729
+ {
730
+ provide: 'ProductReviewsRepository',
731
+ useExisting: ProductReviewsHasuraGraphQLRepository,
732
+ },
733
+ {
734
+ provide: ProductReviewsHasuraGraphQLRepository,
735
+ useFactory: (hasuraConfig) => {
736
+ return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
737
+ },
738
+ deps: ['HasuraConfig'],
739
+ },
740
+ {
741
+ provide: 'VariantRepository',
742
+ useExisting: VariantHasuraGraphQLRepository,
743
+ },
744
+ {
745
+ provide: VariantHasuraGraphQLRepository,
746
+ useFactory: (hasuraConfig) => {
747
+ return new VariantHasuraGraphQLRepository(hasuraConfig);
748
+ },
749
+ deps: ['HasuraConfig'],
750
+ },
751
+ {
752
+ provide: 'ProductStockNotificationRepository',
753
+ useExisting: ProductStockNotificationHasuraGraphQLRepository,
754
+ },
755
+ {
756
+ provide: ProductStockNotificationHasuraGraphQLRepository,
757
+ useFactory: (hasuraConfig) => {
758
+ return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
759
+ },
760
+ deps: ['HasuraConfig'],
761
+ },
762
+ {
763
+ provide: 'CategoryFilterRepository',
764
+ useExisting: CategoryFilterHasuraGraphQLRepository,
765
+ },
766
+ {
767
+ provide: CategoryFilterHasuraGraphQLRepository,
768
+ useFactory: (options) => {
769
+ return new CategoryFilterHasuraGraphQLRepository(options);
770
+ },
771
+ deps: ['HasuraConfig'],
772
+ },
773
+ {
774
+ provide: 'FilterOptionRepository',
775
+ useExisting: FilterOptionHasuraGraphQLRepository,
776
+ },
777
+ {
778
+ provide: FilterOptionHasuraGraphQLRepository,
779
+ useFactory: (options) => {
780
+ return new FilterOptionHasuraGraphQLRepository(options);
781
+ },
782
+ deps: ['HasuraConfig'],
783
+ },
784
+ {
785
+ provide: 'FilterRepository',
786
+ useExisting: FilterHasuraGraphQLRepository,
787
+ },
788
+ {
789
+ provide: FilterHasuraGraphQLRepository,
790
+ useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
791
+ return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
792
+ },
793
+ deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
794
+ },
795
+ {
796
+ provide: CategoryCollectionChildrenHasuraGraphQLRepository,
797
+ useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
798
+ deps: ['HasuraConfig'],
799
+ },
800
+ {
801
+ provide: 'CategoryCollectionChildrenRepository',
802
+ useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
803
+ },
804
+ {
805
+ provide: WishlistHasuraGraphQLRepository,
806
+ useFactory: (options, categoryFilterRepository) => {
807
+ return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
808
+ },
809
+ deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
810
+ },
811
+ {
812
+ provide: 'WishlistRepository',
813
+ useExisting: WishlistHasuraGraphQLRepository,
814
+ },
815
+ ] }); }
816
+ }
817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
807
818
  type: NgModule,
808
819
  args: [{
809
820
  providers: [
@@ -874,6 +885,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
874
885
  },
875
886
  deps: ['HasuraConfig'],
876
887
  },
888
+ {
889
+ provide: 'ProductStockNotificationRepository',
890
+ useExisting: ProductStockNotificationHasuraGraphQLRepository,
891
+ },
892
+ {
893
+ provide: ProductStockNotificationHasuraGraphQLRepository,
894
+ useFactory: (hasuraConfig) => {
895
+ return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig);
896
+ },
897
+ deps: ['HasuraConfig'],
898
+ },
877
899
  {
878
900
  provide: 'CategoryFilterRepository',
879
901
  useExisting: CategoryFilterHasuraGraphQLRepository,
@@ -941,10 +963,10 @@ class CookieDataPersistence {
941
963
  set(key, value) {
942
964
  return from(cookie.set(key, value)).pipe(map(() => { }));
943
965
  }
966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CookieDataPersistence, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
967
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CookieDataPersistence }); }
944
968
  }
945
- CookieDataPersistence.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CookieDataPersistence, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
946
- CookieDataPersistence.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CookieDataPersistence });
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CookieDataPersistence, decorators: [{
969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CookieDataPersistence, decorators: [{
948
970
  type: Injectable
949
971
  }] });
950
972
 
@@ -969,15 +991,15 @@ class AuthService {
969
991
  getFireUser() {
970
992
  return authState(this.angularFireAuth).pipe(catchError(() => of(null)));
971
993
  }
994
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService, deps: [{ token: i1.Auth }, { token: 'UserRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
995
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService }); }
972
996
  }
973
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AuthService, deps: [{ token: i1.Auth }, { token: 'UserRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
974
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AuthService });
975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AuthService, decorators: [{
997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService, decorators: [{
976
998
  type: Injectable
977
- }], ctorParameters: function () { return [{ type: i1.Auth }, { type: undefined, decorators: [{
999
+ }], ctorParameters: () => [{ type: i1.Auth }, { type: undefined, decorators: [{
978
1000
  type: Inject,
979
1001
  args: ['UserRepository']
980
- }] }]; } });
1002
+ }] }] });
981
1003
 
982
1004
  class CouponService {
983
1005
  constructor(couponRepository, defaultShop, orderRepository, categoryRepository) {
@@ -1054,32 +1076,33 @@ class CouponService {
1054
1076
  return of(discount);
1055
1077
  }
1056
1078
  async calcDiscountShopping(coupon, checkout) {
1057
- let discount = 0;
1079
+ let discountInfo = null;
1058
1080
  if (checkout.user.isSubscriber && coupon.discount.subscriber.value) {
1059
- discount = await this.calcDiscountByType(coupon.discount.subscriber.type, coupon.discount.subscriber.value, coupon.productsCategories, checkout);
1081
+ discountInfo = await this.calcDiscountByType(coupon.discount.subscriber.type, coupon.discount.subscriber.value, coupon.productsCategories, checkout);
1060
1082
  }
1061
1083
  else {
1062
- discount = await this.calcDiscountByType(coupon.discount.non_subscriber.type, coupon.discount.non_subscriber.value, coupon.productsCategories, checkout);
1084
+ discountInfo = await this.calcDiscountByType(coupon.discount.non_subscriber.type, coupon.discount.non_subscriber.value, coupon.productsCategories, checkout);
1063
1085
  }
1064
- return discount;
1086
+ return { discount: discountInfo.discount, lineItems: discountInfo.lineItems };
1065
1087
  }
1066
1088
  async calcDiscountByType(type, value, categories, checkout) {
1067
1089
  let discount = 0;
1068
- let lineItensDiscount = await this.getLineItensEligebleForDiscount(categories, checkout);
1069
- const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop);
1090
+ let lineItensElegibleForDiscount = await this.getLineItensEligebleForDiscount(categories, checkout);
1091
+ const subTotal = this.calcCheckoutSubtotal(lineItensElegibleForDiscount, checkout.user);
1070
1092
  if (type == CouponTypes.ABSOLUTE) {
1071
1093
  discount = value > subTotal ? subTotal : value;
1072
1094
  }
1073
1095
  else {
1074
1096
  discount = subTotal * (value / 100);
1075
1097
  }
1076
- return discount;
1098
+ const lineItems = this.calcLineItenDiscount(type, lineItensElegibleForDiscount, value, subTotal);
1099
+ return { discount, lineItems };
1077
1100
  }
1078
1101
  async hasMinSubTotal(coupon, checkout) {
1079
1102
  if (!coupon.minSubTotalValue)
1080
1103
  return true;
1081
1104
  let lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout);
1082
- const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user, checkout.shop);
1105
+ const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user);
1083
1106
  if (coupon.minSubTotalValue <= subTotal)
1084
1107
  return true;
1085
1108
  return false;
@@ -1147,7 +1170,7 @@ class CouponService {
1147
1170
  }
1148
1171
  return lineItensDiscount;
1149
1172
  }
1150
- calcCheckoutSubtotal(lineItens, user, shop) {
1173
+ calcCheckoutSubtotal(lineItens, user) {
1151
1174
  return (lineItens?.reduce((acc, curr) => user?.isSubscriber && curr.price.subscriberPrice
1152
1175
  ? acc + curr.price?.subscriberPrice * curr.quantity
1153
1176
  : acc + curr.pricePaid * curr.quantity, 0) || 0);
@@ -1185,15 +1208,39 @@ class CouponService {
1185
1208
  }
1186
1209
  return couponUseLimits;
1187
1210
  }
1211
+ calcLineItenDiscount(type, lineItems, couponDiscount, subTotal) {
1212
+ let lineItemsDiscount = [];
1213
+ if (type === CouponTypes.ABSOLUTE) {
1214
+ const couponDiscountMax = couponDiscount > subTotal ? subTotal : couponDiscount;
1215
+ lineItemsDiscount = lineItems.map((item) => {
1216
+ const totalItemPercentage = item.pricePaid / subTotal;
1217
+ const discountItem = couponDiscountMax * totalItemPercentage;
1218
+ return {
1219
+ ...item,
1220
+ discount: Number(discountItem.toFixed(2)),
1221
+ };
1222
+ });
1223
+ }
1224
+ else {
1225
+ lineItemsDiscount = lineItems.map((item) => {
1226
+ const discountItem = item.pricePaid * (couponDiscount / 100);
1227
+ return {
1228
+ ...item,
1229
+ discount: Number(discountItem.toFixed(2)),
1230
+ };
1231
+ });
1232
+ }
1233
+ return lineItemsDiscount;
1234
+ }
1235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, deps: [{ token: 'CouponRepository' }, { token: DEFAULT_SHOP }, { token: 'OrderRepository' }, { token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1236
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, providedIn: 'root' }); }
1188
1237
  }
1189
- CouponService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CouponService, deps: [{ token: 'CouponRepository' }, { token: DEFAULT_SHOP }, { token: 'OrderRepository' }, { token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1190
- CouponService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CouponService, providedIn: 'root' });
1191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CouponService, decorators: [{
1238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, decorators: [{
1192
1239
  type: Injectable,
1193
1240
  args: [{
1194
1241
  providedIn: 'root',
1195
1242
  }]
1196
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1243
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1197
1244
  type: Inject,
1198
1245
  args: ['CouponRepository']
1199
1246
  }] }, { type: i1$2.Shops, decorators: [{
@@ -1205,7 +1252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1205
1252
  }] }, { type: undefined, decorators: [{
1206
1253
  type: Inject,
1207
1254
  args: ['CategoryRepository']
1208
- }] }]; } });
1255
+ }] }] });
1209
1256
 
1210
1257
  class CheckoutService {
1211
1258
  constructor(couponService, checkoutRepository, userRepository, defaultShop, dataPersistence) {
@@ -1247,12 +1294,12 @@ class CheckoutService {
1247
1294
  await this.dataPersistence.set('checkoutId', checkout.id).toPromise();
1248
1295
  return checkout;
1249
1296
  }
1297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, deps: [{ token: CouponService }, { token: 'CheckoutRepository' }, { token: 'UserRepository' }, { token: DEFAULT_SHOP }, { token: PERSISTENCE_PROVIDER }], target: i0.ɵɵFactoryTarget.Injectable }); }
1298
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService }); }
1250
1299
  }
1251
- CheckoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService, deps: [{ token: CouponService }, { token: 'CheckoutRepository' }, { token: 'UserRepository' }, { token: DEFAULT_SHOP }, { token: PERSISTENCE_PROVIDER }], target: i0.ɵɵFactoryTarget.Injectable });
1252
- CheckoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService });
1253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService, decorators: [{
1300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, decorators: [{
1254
1301
  type: Injectable
1255
- }], ctorParameters: function () { return [{ type: CouponService }, { type: undefined, decorators: [{
1302
+ }], ctorParameters: () => [{ type: CouponService }, { type: undefined, decorators: [{
1256
1303
  type: Inject,
1257
1304
  args: ['CheckoutRepository']
1258
1305
  }] }, { type: undefined, decorators: [{
@@ -1264,7 +1311,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1264
1311
  }] }, { type: undefined, decorators: [{
1265
1312
  type: Inject,
1266
1313
  args: [PERSISTENCE_PROVIDER]
1267
- }] }]; } });
1314
+ }] }] });
1268
1315
 
1269
1316
  class CartService {
1270
1317
  constructor(authService, checkoutService, defaultShop, productRepository, categoryRepository, variantRepository, buy2WinRepository) {
@@ -1325,6 +1372,7 @@ class CartService {
1325
1372
  weight: weight ?? product.weight,
1326
1373
  quantity: (item.quantity || 0) + (quantity || 0),
1327
1374
  pricePaid,
1375
+ discount: 0,
1328
1376
  categories: product.categories ?? [],
1329
1377
  isGift: isGift ?? null,
1330
1378
  costPrice: product.costPrice ?? 0,
@@ -1514,12 +1562,12 @@ class CartService {
1514
1562
  });
1515
1563
  });
1516
1564
  }
1565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService, deps: [{ token: AuthService }, { token: CheckoutService }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'VariantRepository' }, { token: 'Buy2WinRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1566
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService }); }
1517
1567
  }
1518
- CartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, deps: [{ token: AuthService }, { token: CheckoutService }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'VariantRepository' }, { token: 'Buy2WinRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1519
- CartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService });
1520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, decorators: [{
1568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService, decorators: [{
1521
1569
  type: Injectable
1522
- }], ctorParameters: function () { return [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1570
+ }], ctorParameters: () => [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1523
1571
  type: Inject,
1524
1572
  args: [DEFAULT_SHOP]
1525
1573
  }] }, { type: undefined, decorators: [{
@@ -1534,7 +1582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1534
1582
  }] }, { type: i1$2.Buy2WinFirestoreRepository, decorators: [{
1535
1583
  type: Inject,
1536
1584
  args: ['Buy2WinRepository']
1537
- }] }]; } });
1585
+ }] }] });
1538
1586
 
1539
1587
  class NewCategoryStructureAdapter {
1540
1588
  constructor(categoryRepository) {
@@ -1566,15 +1614,15 @@ class NewCategoryStructureAdapter {
1566
1614
  category.brandCategory;
1567
1615
  return collectionCategory ? this.categoryRepository.get({ id: category.id }) : category;
1568
1616
  }
1617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1618
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
1569
1619
  }
1570
- NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1571
- NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter });
1572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1573
1621
  type: Injectable
1574
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1622
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1575
1623
  type: Inject,
1576
1624
  args: ['CategoryRepository']
1577
- }] }]; } });
1625
+ }] }] });
1578
1626
 
1579
1627
  class OldCategoryStructureAdapter {
1580
1628
  constructor(categoryRepository) {
@@ -1586,19 +1634,20 @@ class OldCategoryStructureAdapter {
1586
1634
  : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1587
1635
  return { id: { operator: Where.IN, value: productsIds } };
1588
1636
  }
1637
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1638
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
1589
1639
  }
1590
- OldCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1591
- OldCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter });
1592
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1640
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1593
1641
  type: Injectable
1594
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1642
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1595
1643
  type: Inject,
1596
1644
  args: ['CategoryRepository']
1597
- }] }]; } });
1645
+ }] }] });
1598
1646
 
1599
1647
  class CatalogService {
1600
- constructor(productRepository, categoryRepository, categoryStructureAdapter, shop, productIndex) {
1648
+ constructor(productRepository, productStockNotificationRepository, categoryRepository, categoryStructureAdapter, shop, productIndex) {
1601
1649
  this.productRepository = productRepository;
1650
+ this.productStockNotificationRepository = productStockNotificationRepository;
1602
1651
  this.categoryRepository = categoryRepository;
1603
1652
  this.categoryStructureAdapter = categoryStructureAdapter;
1604
1653
  this.shop = shop;
@@ -1678,6 +1727,9 @@ class CatalogService {
1678
1727
  brands: distinct?.brand,
1679
1728
  }));
1680
1729
  }
1730
+ async addCustomerToStockNotification(shop, productId, name, email) {
1731
+ return this.productStockNotificationRepository.addCustomerEmail(shop, productId, name, email);
1732
+ }
1681
1733
  async findCatalog(options, limits) {
1682
1734
  if (this.hasTerm(options) && options.sort === 'most-relevant') {
1683
1735
  const productsIds = await this.findCatalogIdsByElasticSearch(options.term);
@@ -1766,14 +1818,17 @@ class CatalogService {
1766
1818
  return [...new Set(sorted.map(({ _source }) => _source.id))];
1767
1819
  }));
1768
1820
  }
1821
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: 'ProductStockNotificationRepository' }, { token: 'CategoryRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1822
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService }); }
1769
1823
  }
1770
- CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable });
1771
- CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
1772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
1824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, decorators: [{
1773
1825
  type: Injectable
1774
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1826
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1775
1827
  type: Inject,
1776
1828
  args: ['ProductRepository']
1829
+ }] }, { type: undefined, decorators: [{
1830
+ type: Inject,
1831
+ args: ['ProductStockNotificationRepository']
1777
1832
  }] }, { type: undefined, decorators: [{
1778
1833
  type: Inject,
1779
1834
  args: ['CategoryRepository']
@@ -1783,7 +1838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1783
1838
  }] }, { type: i1$2.Shops, decorators: [{
1784
1839
  type: Inject,
1785
1840
  args: [DEFAULT_SHOP]
1786
- }] }, { type: i1$2.ProductsIndex }]; } });
1841
+ }] }, { type: i1$2.ProductsIndex }] });
1787
1842
 
1788
1843
  class CategoryService {
1789
1844
  constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
@@ -1809,12 +1864,12 @@ class CategoryService {
1809
1864
  .find({ filters: { categoryId: +category.id } })
1810
1865
  .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
1811
1866
  }
1867
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
1868
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService }); }
1812
1869
  }
1813
- CategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, deps: [{ token: 'ProductRepository' }, { token: 'CategoryRepository' }, { token: 'CategoryFilterRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
1814
- CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
1815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
1870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService, decorators: [{
1816
1871
  type: Injectable
1817
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1872
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1818
1873
  type: Inject,
1819
1874
  args: ['ProductRepository']
1820
1875
  }] }, { type: undefined, decorators: [{
@@ -1829,7 +1884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1829
1884
  }] }, { type: i1$2.Shops, decorators: [{
1830
1885
  type: Inject,
1831
1886
  args: [DEFAULT_SHOP]
1832
- }] }]; } });
1887
+ }] }] });
1833
1888
 
1834
1889
  var ProductSorts;
1835
1890
  (function (ProductSorts) {
@@ -1850,11 +1905,11 @@ __decorate([
1850
1905
  ], CategoryWithTree.prototype, "children", void 0);
1851
1906
 
1852
1907
  class WishlistService {
1853
- constructor(wishlistRepository, shop, productRepository, categoryFilterRepository, categoryRepository, productIndex) {
1908
+ constructor(wishlistRepository, shop, productRepository, categoryFilterRepository, categoryRepository, productStockNotificationRepository, productIndex) {
1854
1909
  this.wishlistRepository = wishlistRepository;
1855
1910
  this.shop = shop;
1856
1911
  const categoryStructureAdapter = new NewCategoryStructureAdapter(wishlistRepository);
1857
- this.catalogService = new CatalogService(productRepository, categoryRepository, categoryStructureAdapter, shop, productIndex);
1912
+ this.catalogService = new CatalogService(productRepository, productStockNotificationRepository, categoryRepository, categoryStructureAdapter, shop, productIndex);
1858
1913
  this.categoryService = new CategoryService(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop);
1859
1914
  }
1860
1915
  getCatalogService() {
@@ -1863,7 +1918,7 @@ class WishlistService {
1863
1918
  getCategoryService() {
1864
1919
  return this.categoryService;
1865
1920
  }
1866
- async create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1921
+ async create({ personId, title, description, published, userFullName, userPhoto, theme, bannerUrl, }) {
1867
1922
  const data = {
1868
1923
  slug: '',
1869
1924
  name: title,
@@ -1878,7 +1933,7 @@ class WishlistService {
1878
1933
  personName: userFullName,
1879
1934
  personPhoto: userPhoto,
1880
1935
  brandCategory: false,
1881
- published: true,
1936
+ published,
1882
1937
  theme,
1883
1938
  bannerUrl,
1884
1939
  };
@@ -1886,11 +1941,12 @@ class WishlistService {
1886
1941
  await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1887
1942
  return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });
1888
1943
  }
1889
- update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1944
+ update({ id, title, description, published, userFullName, userPhoto, theme, bannerUrl, }) {
1890
1945
  const data = {
1891
1946
  id,
1892
1947
  name: title,
1893
1948
  description,
1949
+ published,
1894
1950
  metadata: {
1895
1951
  title: `${userFullName} - ${title}`,
1896
1952
  description: `${userFullName} - ${description}`,
@@ -1934,12 +1990,12 @@ class WishlistService {
1934
1990
  }
1935
1991
  return wishlist;
1936
1992
  }
1993
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: 'CategoryRepository' }, { token: 'ProductStockNotificationRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1994
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService }); }
1937
1995
  }
1938
- WishlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: 'CategoryRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable });
1939
- WishlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService });
1940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, decorators: [{
1996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, decorators: [{
1941
1997
  type: Injectable
1942
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1998
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1943
1999
  type: Inject,
1944
2000
  args: ['WishlistRepository']
1945
2001
  }] }, { type: i1$2.Shops, decorators: [{
@@ -1954,7 +2010,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1954
2010
  }] }, { type: undefined, decorators: [{
1955
2011
  type: Inject,
1956
2012
  args: ['CategoryRepository']
1957
- }] }, { type: i1$2.ProductsIndex }]; } });
2013
+ }] }, { type: undefined, decorators: [{
2014
+ type: Inject,
2015
+ args: ['ProductStockNotificationRepository']
2016
+ }] }, { type: i1$2.ProductsIndex }] });
1958
2017
 
1959
2018
  class CheckoutSubscriptionService {
1960
2019
  constructor(checkoutSubscriptionRepository, dataPersistence, couponService) {
@@ -1986,18 +2045,18 @@ class CheckoutSubscriptionService {
1986
2045
  await this.dataPersistence.set('checkoutSubscriptionId', checkout.id).toPromise();
1987
2046
  return checkout;
1988
2047
  }
2048
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: PERSISTENCE_PROVIDER }, { token: CouponService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2049
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService }); }
1989
2050
  }
1990
- CheckoutSubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: PERSISTENCE_PROVIDER }, { token: CouponService }], target: i0.ɵɵFactoryTarget.Injectable });
1991
- CheckoutSubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService });
1992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
2051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
1993
2052
  type: Injectable
1994
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2053
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1995
2054
  type: Inject,
1996
2055
  args: ['CheckoutSubscriptionRepository']
1997
2056
  }] }, { type: undefined, decorators: [{
1998
2057
  type: Inject,
1999
2058
  args: [PERSISTENCE_PROVIDER]
2000
- }] }, { type: CouponService }]; } });
2059
+ }] }, { type: CouponService }] });
2001
2060
 
2002
2061
  class UtilHelper {
2003
2062
  static createSlug(name) {
@@ -2116,12 +2175,12 @@ class HomeShopService {
2116
2175
  get gender() {
2117
2176
  return this.homeId === 'mens_market' ? 'masculino' : undefined;
2118
2177
  }
2178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
2179
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService }); }
2119
2180
  }
2120
- HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
2121
- HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
2122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
2181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService, decorators: [{
2123
2182
  type: Injectable
2124
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2183
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2125
2184
  type: Inject,
2126
2185
  args: ['CategoryRepository']
2127
2186
  }] }, { type: undefined, decorators: [{
@@ -2133,7 +2192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
2133
2192
  }] }, { type: i1$2.Shops, decorators: [{
2134
2193
  type: Inject,
2135
2194
  args: [DEFAULT_SHOP]
2136
- }] }]; } });
2195
+ }] }] });
2137
2196
 
2138
2197
  class OrderService {
2139
2198
  constructor(angularFirestore, orderRepository) {
@@ -2147,15 +2206,15 @@ class OrderService {
2147
2206
  .subscribe((doc) => this.orderSubject.next(doc));
2148
2207
  return this.orderSubject;
2149
2208
  }
2209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, deps: [{ token: i1$1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
2210
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService }); }
2150
2211
  }
2151
- OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, deps: [{ token: i1$1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
2152
- OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
2153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
2212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, decorators: [{
2154
2213
  type: Injectable
2155
- }], ctorParameters: function () { return [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2214
+ }], ctorParameters: () => [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2156
2215
  type: Inject,
2157
2216
  args: ['OrderRepository']
2158
- }] }]; } });
2217
+ }] }] });
2159
2218
 
2160
2219
  class ShippingService {
2161
2220
  constructor(http, apiUrl, homeService) {
@@ -2233,15 +2292,15 @@ class ShippingService {
2233
2292
  }
2234
2293
  return false;
2235
2294
  }
2295
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, deps: [{ token: i1$3.HttpClient }, { token: BACKEND_URL }, { token: HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2296
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService }); }
2236
2297
  }
2237
- ShippingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, deps: [{ token: i1$3.HttpClient }, { token: BACKEND_URL }, { token: HomeShopService }], target: i0.ɵɵFactoryTarget.Injectable });
2238
- ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService });
2239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, decorators: [{
2298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, decorators: [{
2240
2299
  type: Injectable
2241
- }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2300
+ }], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2242
2301
  type: Inject,
2243
2302
  args: [BACKEND_URL]
2244
- }] }, { type: HomeShopService }]; } });
2303
+ }] }, { type: HomeShopService }] });
2245
2304
 
2246
2305
  class AngularConnectModule {
2247
2306
  static initializeApp(defaultShop, options, nameOrConfig) {
@@ -2265,45 +2324,45 @@ class AngularConnectModule {
2265
2324
  ],
2266
2325
  };
2267
2326
  }
2327
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2328
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2329
+ AngularFirebaseAuthModule,
2330
+ AngularFirestoreModule,
2331
+ AngularHasuraGraphQLModule] }); }
2332
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, providers: [
2333
+ AuthService,
2334
+ CartService,
2335
+ CatalogService,
2336
+ CategoryService,
2337
+ CheckoutService,
2338
+ CheckoutSubscriptionService,
2339
+ CouponService,
2340
+ HomeShopService,
2341
+ OrderService,
2342
+ ShippingService,
2343
+ WishlistService,
2344
+ {
2345
+ provide: UpdateUserImage,
2346
+ useFactory: (userRepository, fileUploader) => {
2347
+ return new UpdateUserImage(userRepository, fileUploader);
2348
+ },
2349
+ deps: ['UserRepository', 'FileUploaderService'],
2350
+ },
2351
+ ], imports: [provideFirebaseApp((injector) => {
2352
+ const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2353
+ try {
2354
+ return getApp(appName);
2355
+ }
2356
+ catch (error) {
2357
+ return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2358
+ }
2359
+ }),
2360
+ AngularElasticSeachModule,
2361
+ AngularFirebaseAuthModule,
2362
+ AngularFirestoreModule,
2363
+ AngularHasuraGraphQLModule] }); }
2268
2364
  }
2269
- AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2270
- AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2271
- AngularFirebaseAuthModule,
2272
- AngularFirestoreModule,
2273
- AngularHasuraGraphQLModule] });
2274
- AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
2275
- AuthService,
2276
- CartService,
2277
- CatalogService,
2278
- CategoryService,
2279
- CheckoutService,
2280
- CheckoutSubscriptionService,
2281
- CouponService,
2282
- HomeShopService,
2283
- OrderService,
2284
- ShippingService,
2285
- WishlistService,
2286
- {
2287
- provide: UpdateUserImage,
2288
- useFactory: (userRepository, fileUploader) => {
2289
- return new UpdateUserImage(userRepository, fileUploader);
2290
- },
2291
- deps: ['UserRepository', 'FileUploaderService'],
2292
- },
2293
- ], imports: [provideFirebaseApp((injector) => {
2294
- const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2295
- try {
2296
- return getApp(appName);
2297
- }
2298
- catch (error) {
2299
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2300
- }
2301
- }),
2302
- AngularElasticSeachModule,
2303
- AngularFirebaseAuthModule,
2304
- AngularFirestoreModule,
2305
- AngularHasuraGraphQLModule] });
2306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
2365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, decorators: [{
2307
2366
  type: NgModule,
2308
2367
  args: [{
2309
2368
  imports: [