@infrab4a/connect-angular 4.3.1-beta.1 → 4.3.1

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 (62) hide show
  1. package/esm2022/angular-connect.module.mjs +113 -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 +502 -0
  5. package/esm2022/angular-hasura-graphql.module.mjs +265 -0
  6. package/{esm2020 → esm2022}/services/auth.service.mjs +6 -6
  7. package/{esm2020 → esm2022}/services/cart.service.mjs +6 -6
  8. package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +6 -6
  9. package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +6 -6
  10. package/esm2022/services/catalog/catalog.service.mjs +174 -0
  11. package/{esm2020 → esm2022}/services/catalog/category.service.mjs +6 -6
  12. package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +1 -1
  13. package/{esm2020 → esm2022}/services/catalog/wishlist.service.mjs +6 -6
  14. package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +6 -6
  15. package/{esm2020 → esm2022}/services/checkout.service.mjs +6 -6
  16. package/{esm2020 → esm2022}/services/coupon.service.mjs +6 -6
  17. package/esm2022/services/home-shop.service.mjs +125 -0
  18. package/{esm2020 → esm2022}/services/order.service.mjs +6 -6
  19. package/{esm2020 → esm2022}/services/shipping.service.mjs +6 -6
  20. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +546 -532
  21. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  22. package/package.json +6 -12
  23. package/services/home-shop.service.d.ts +1 -0
  24. package/esm2020/angular-connect.module.mjs +0 -113
  25. package/esm2020/angular-elastic-search.module.mjs +0 -34
  26. package/esm2020/angular-firebase-auth.module.mjs +0 -115
  27. package/esm2020/angular-firestore.module.mjs +0 -502
  28. package/esm2020/angular-hasura-graphql.module.mjs +0 -265
  29. package/esm2020/services/catalog/catalog.service.mjs +0 -170
  30. package/esm2020/services/home-shop.service.mjs +0 -115
  31. package/fesm2015/infrab4a-connect-angular.mjs +0 -2350
  32. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  33. package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
  34. /package/{esm2020 → esm2022}/consts/backend-url.const.mjs +0 -0
  35. /package/{esm2020 → esm2022}/consts/category-structure.mjs +0 -0
  36. /package/{esm2020 → esm2022}/consts/default-shop.const.mjs +0 -0
  37. /package/{esm2020 → esm2022}/consts/es-config.const.mjs +0 -0
  38. /package/{esm2020 → esm2022}/consts/firebase-const.mjs +0 -0
  39. /package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +0 -0
  40. /package/{esm2020 → esm2022}/consts/index.mjs +0 -0
  41. /package/{esm2020 → esm2022}/consts/storage-base-url.const.mjs +0 -0
  42. /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
  43. /package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +0 -0
  44. /package/{esm2020 → esm2022}/index.mjs +0 -0
  45. /package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +0 -0
  46. /package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +0 -0
  47. /package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +0 -0
  48. /package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +0 -0
  49. /package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +0 -0
  50. /package/{esm2020 → esm2022}/services/catalog/index.mjs +0 -0
  51. /package/{esm2020 → esm2022}/services/catalog/models/index.mjs +0 -0
  52. /package/{esm2020 → esm2022}/services/catalog/types/index.mjs +0 -0
  53. /package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +0 -0
  54. /package/{esm2020 → esm2022}/services/helpers/index.mjs +0 -0
  55. /package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +0 -0
  56. /package/{esm2020 → esm2022}/services/index.mjs +0 -0
  57. /package/{esm2020 → esm2022}/services/types/index.mjs +0 -0
  58. /package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +0 -0
  59. /package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +0 -0
  60. /package/{esm2020 → esm2022}/services/types/shipping-methods.type.mjs +0 -0
  61. /package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +0 -0
  62. /package/{esm2020 → esm2022}/types/index.mjs +0 -0
@@ -1,20 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, InjectionToken, PLATFORM_ID, Injectable, Inject } from '@angular/core';
3
3
  import * as i1$4 from '@angular/fire/app';
4
- import { FirebaseApp, provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
4
+ import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
5
5
  import * as i1$2 from '@infrab4a/connect';
6
6
  import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, 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';
7
7
  import * as i1 from '@angular/fire/auth';
8
- import { Auth, provideAuth, getAuth, getIdToken, authState } from '@angular/fire/auth';
8
+ import { Auth, getAuth, provideAuth, getIdToken, authState } from '@angular/fire/auth';
9
9
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
10
10
  import * as i1$1 from '@angular/fire/firestore';
11
- import { Firestore, provideFirestore, getFirestore, initializeFirestore, memoryLocalCache, docSnapshots, doc } from '@angular/fire/firestore';
11
+ import { Firestore, getFirestore, memoryLocalCache, initializeFirestore, provideFirestore, doc, docSnapshots } from '@angular/fire/firestore';
12
12
  import * as i2 from '@angular/fire/storage';
13
- import { Storage, provideStorage, getStorage } from '@angular/fire/storage';
14
- import { combineLatest, from, of, throwError, Subject, iif, forkJoin } from 'rxjs';
15
- import { map, mergeMap, catchError, concatMap, tap } from 'rxjs/operators';
13
+ import { Storage, getStorage, provideStorage } from '@angular/fire/storage';
14
+ import { combineLatest, of, from, throwError, Subject, iif, forkJoin } from 'rxjs';
15
+ import { map, catchError, mergeMap, concatMap, tap } from 'rxjs/operators';
16
16
  import cookie from 'js-cookie';
17
- import { __decorate, __metadata } from 'tslib';
17
+ import { __metadata, __decorate } from 'tslib';
18
18
  import { Type } from 'class-transformer';
19
19
  import * as i1$3 from '@angular/common/http';
20
20
 
@@ -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: [
@@ -71,54 +71,54 @@ class AngularFirebaseAuthModule {
71
71
  ],
72
72
  };
73
73
  }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
75
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] }); }
76
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
77
+ {
78
+ provide: 'Authentication',
79
+ useFactory: (authenticationService, userRepository) => {
80
+ return new Authentication(authenticationService, userRepository);
81
+ },
82
+ deps: ['AuthenticationService', 'UserRepository'],
83
+ },
84
+ {
85
+ provide: 'AuthenticationService',
86
+ useFactory: (angularFireAuth) => {
87
+ return new AuthenticationFirebaseAuthService(angularFireAuth);
88
+ },
89
+ deps: [Auth],
90
+ },
91
+ {
92
+ provide: 'Register',
93
+ useFactory: (registerService, userRepository) => {
94
+ return new Register(registerService, userRepository);
95
+ },
96
+ deps: ['RegisterService', 'UserRepository'],
97
+ },
98
+ {
99
+ provide: 'RegisterService',
100
+ useFactory: (angularFireAuth) => {
101
+ return new RegisterFirebaseAuthService(angularFireAuth);
102
+ },
103
+ deps: [Auth],
104
+ },
105
+ {
106
+ provide: 'SignOut',
107
+ useFactory: (authenticationService) => {
108
+ return new SignOut(authenticationService);
109
+ },
110
+ deps: ['AuthenticationService'],
111
+ },
112
+ {
113
+ provide: 'RecoveryPassword',
114
+ useFactory: (authenticationService) => {
115
+ return new RecoveryPassword(authenticationService);
116
+ },
117
+ deps: ['AuthenticationService'],
118
+ },
119
+ ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] }); }
74
120
  }
75
- AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
76
- AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] });
77
- AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
78
- {
79
- provide: 'Authentication',
80
- useFactory: (authenticationService, userRepository) => {
81
- return new Authentication(authenticationService, userRepository);
82
- },
83
- deps: ['AuthenticationService', 'UserRepository'],
84
- },
85
- {
86
- provide: 'AuthenticationService',
87
- useFactory: (angularFireAuth) => {
88
- return new AuthenticationFirebaseAuthService(angularFireAuth);
89
- },
90
- deps: [Auth],
91
- },
92
- {
93
- provide: 'Register',
94
- useFactory: (registerService, userRepository) => {
95
- return new Register(registerService, userRepository);
96
- },
97
- deps: ['RegisterService', 'UserRepository'],
98
- },
99
- {
100
- provide: 'RegisterService',
101
- useFactory: (angularFireAuth) => {
102
- return new RegisterFirebaseAuthService(angularFireAuth);
103
- },
104
- deps: [Auth],
105
- },
106
- {
107
- provide: 'SignOut',
108
- useFactory: (authenticationService) => {
109
- return new SignOut(authenticationService);
110
- },
111
- deps: ['AuthenticationService'],
112
- },
113
- {
114
- provide: 'RecoveryPassword',
115
- useFactory: (authenticationService) => {
116
- return new RecoveryPassword(authenticationService);
117
- },
118
- deps: ['AuthenticationService'],
119
- },
120
- ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
122
122
  type: NgModule,
123
123
  args: [{
124
124
  imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
@@ -189,243 +189,243 @@ class AngularFirestoreModule {
189
189
  ],
190
190
  };
191
191
  }
192
- }
193
- AngularFirestoreModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
194
- AngularFirestoreModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule, i2.StorageModule] });
195
- AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, providers: [
196
- {
197
- provide: 'FirestoreOptions',
198
- useFactory: (firestore, platformId) => ({
199
- firestore,
200
- interceptors: {
201
- request: (request) => {
202
- if (isPlatformBrowser(platformId))
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
193
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule, i2.StorageModule] }); }
194
+ static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, providers: [
195
+ {
196
+ provide: 'FirestoreOptions',
197
+ useFactory: (firestore, platformId) => ({
198
+ firestore,
199
+ interceptors: {
200
+ request: (request) => {
201
+ if (isPlatformBrowser(platformId))
202
+ return request;
203
+ const interval = setInterval(() => { }, 100);
204
+ request.interval = interval;
203
205
  return request;
204
- const interval = setInterval(() => { }, 100);
205
- request.interval = interval;
206
- return request;
207
- },
208
- response: (response, request) => {
209
- if (isPlatformBrowser(platformId))
206
+ },
207
+ response: (response, request) => {
208
+ if (isPlatformBrowser(platformId))
209
+ return response;
210
+ clearInterval(request.interval);
210
211
  return response;
211
- clearInterval(request.interval);
212
- return response;
212
+ },
213
213
  },
214
+ }),
215
+ deps: [Firestore, PLATFORM_ID],
216
+ },
217
+ {
218
+ provide: 'BeautyProfileRepository',
219
+ useFactory: (config, userRepository) => {
220
+ return new UserBeautyProfileFirestoreRepository(config, userRepository);
221
+ },
222
+ deps: ['FirestoreOptions', 'UserRepository'],
223
+ },
224
+ {
225
+ provide: 'Buy2WinRepository',
226
+ useFactory: (options) => {
227
+ return new Buy2WinFirestoreRepository(options);
228
+ },
229
+ deps: ['FirestoreOptions'],
230
+ },
231
+ {
232
+ provide: CategoryFirestoreRepository,
233
+ useFactory: (options) => {
234
+ return new CategoryFirestoreRepository(options);
235
+ },
236
+ deps: ['FirestoreOptions'],
237
+ },
238
+ {
239
+ provide: 'CheckoutRepository',
240
+ useFactory: (options) => {
241
+ return new CheckoutFirestoreRepository(options);
242
+ },
243
+ deps: ['FirestoreOptions'],
244
+ },
245
+ {
246
+ provide: 'CheckoutSubscriptionRepository',
247
+ useFactory: (options) => {
248
+ return new CheckoutSubscriptionFirestoreRepository(options);
249
+ },
250
+ deps: ['FirestoreOptions'],
251
+ },
252
+ {
253
+ provide: 'CouponRepository',
254
+ useFactory: (options) => {
255
+ return new CouponFirestoreRepository(options);
256
+ },
257
+ deps: ['FirestoreOptions'],
258
+ },
259
+ {
260
+ provide: 'CampaignHashtagRepository',
261
+ useFactory: (options) => {
262
+ return new CampaignHashtagFirestoreRepository(options);
263
+ },
264
+ deps: ['FirestoreOptions'],
265
+ },
266
+ {
267
+ provide: 'CampaignDashboardRepository',
268
+ useFactory: (options) => {
269
+ return new CampaignDashboardFirestoreRepository(options);
270
+ },
271
+ deps: ['FirestoreOptions'],
272
+ },
273
+ {
274
+ provide: 'EditionRepository',
275
+ useFactory: (options, subscriptionRepository) => {
276
+ return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository);
277
+ },
278
+ deps: ['FirestoreOptions', 'SubscriptionRepository'],
279
+ },
280
+ {
281
+ provide: 'HomeRepository',
282
+ useFactory: (options) => {
283
+ return new HomeFirestoreRepository(options);
284
+ },
285
+ deps: ['FirestoreOptions'],
286
+ },
287
+ {
288
+ provide: 'LeadRepository',
289
+ useFactory: (options) => {
290
+ return new LeadFirestoreRepository(options);
291
+ },
292
+ deps: ['FirestoreOptions'],
293
+ },
294
+ {
295
+ provide: 'LegacyOrderRepository',
296
+ useFactory: (options) => {
297
+ return new LegacyOrderFirestoreRepository(options);
298
+ },
299
+ deps: ['FirestoreOptions'],
300
+ },
301
+ {
302
+ provide: 'ShopMenuRepository',
303
+ useFactory: (options) => {
304
+ return new ShopMenuFirestoreRepository(options);
305
+ },
306
+ deps: ['FirestoreOptions'],
307
+ },
308
+ {
309
+ provide: 'OrderRepository',
310
+ useFactory: (options) => {
311
+ return new OrderFirestoreRepository(options);
312
+ },
313
+ deps: ['FirestoreOptions'],
314
+ },
315
+ {
316
+ provide: 'PaymentRepository',
317
+ useFactory: (options) => {
318
+ return new PaymentFirestoreRepository(options);
319
+ },
320
+ deps: ['FirestoreOptions'],
321
+ },
322
+ {
323
+ provide: ProductFirestoreRepository,
324
+ useFactory: (options) => {
325
+ return new ProductFirestoreRepository(options);
326
+ },
327
+ deps: ['FirestoreOptions'],
328
+ },
329
+ {
330
+ provide: 'ShopSettingsRepository',
331
+ useFactory: (options) => {
332
+ return new ShopSettingsFirestoreRepository(options);
333
+ },
334
+ deps: ['FirestoreOptions'],
335
+ },
336
+ {
337
+ provide: 'SubscriptionPaymentRepository',
338
+ useFactory: (options, subscriptionRepository) => {
339
+ return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository);
340
+ },
341
+ deps: ['FirestoreOptions', 'SubscriptionRepository'],
342
+ },
343
+ {
344
+ provide: 'SubscriptionPlanRepository',
345
+ useFactory: (options) => {
346
+ return new SubscriptionPlanFirestoreRepository(options);
347
+ },
348
+ deps: ['FirestoreOptions'],
349
+ },
350
+ {
351
+ provide: 'SubscriptionProductRepository',
352
+ useFactory: (options) => {
353
+ return new SubscriptionProductFirestoreRepository(options);
354
+ },
355
+ deps: ['FirestoreOptions'],
356
+ },
357
+ {
358
+ provide: 'SubscriptionRepository',
359
+ useFactory: (options) => {
360
+ return new SubscriptionFirestoreRepository(options);
361
+ },
362
+ deps: ['FirestoreOptions'],
363
+ },
364
+ {
365
+ provide: 'UserRepository',
366
+ useFactory: (options) => {
367
+ return new UserFirestoreRepository(options);
368
+ },
369
+ deps: ['FirestoreOptions'],
370
+ },
371
+ {
372
+ provide: 'UserAddressRepository',
373
+ useFactory: (options, userRepository) => {
374
+ return new UserAddressFirestoreRepository(options, userRepository);
375
+ },
376
+ deps: ['FirestoreOptions', 'UserRepository'],
377
+ },
378
+ {
379
+ provide: 'UserPaymentMethodRepository',
380
+ useFactory: (options, userRepository) => {
381
+ return new UserPaymentMethodFirestoreRepository(options, userRepository);
382
+ },
383
+ deps: ['FirestoreOptions', 'UserRepository'],
384
+ },
385
+ {
386
+ provide: 'SubscriptionMaterializationRepository',
387
+ useFactory: (options) => {
388
+ return new SubscriptionMaterializationFirestoreRepository(options);
214
389
  },
390
+ deps: ['FirestoreOptions'],
391
+ },
392
+ {
393
+ provide: 'SubscriptionSummaryRepository',
394
+ useFactory: (options) => {
395
+ return new SubscriptionSummaryFirestoreRepository(options);
396
+ },
397
+ deps: ['FirestoreOptions'],
398
+ },
399
+ {
400
+ provide: ProductVariantFirestoreRepository,
401
+ useFactory: (options, productRepository) => {
402
+ return new ProductVariantFirestoreRepository(options, productRepository);
403
+ },
404
+ deps: ['FirestoreOptions', ProductFirestoreRepository],
405
+ },
406
+ {
407
+ provide: 'FileUploaderService',
408
+ useFactory: (storage, baseUrl) => {
409
+ return new FirebaseFileUploaderService(storage, baseUrl);
410
+ },
411
+ deps: [Storage, STORAGE_BASE_URL],
412
+ },
413
+ ], imports: [AngularElasticSeachModule,
414
+ provideFirestore((injector) => {
415
+ const platformId = injector.get(PLATFORM_ID);
416
+ if (isPlatformServer(platformId))
417
+ return getFirestore(injector.get(FirebaseApp));
418
+ if (!MobileOperationSystemCheckerHelper.isAppleDevice())
419
+ return getFirestore(injector.get(FirebaseApp));
420
+ const firestore = initializeFirestore(injector.get(FirebaseApp), {
421
+ experimentalForceLongPolling: true,
422
+ localCache: memoryLocalCache(),
423
+ });
424
+ return firestore;
215
425
  }),
216
- deps: [Firestore, PLATFORM_ID],
217
- },
218
- {
219
- provide: 'BeautyProfileRepository',
220
- useFactory: (config, userRepository) => {
221
- return new UserBeautyProfileFirestoreRepository(config, userRepository);
222
- },
223
- deps: ['FirestoreOptions', 'UserRepository'],
224
- },
225
- {
226
- provide: 'Buy2WinRepository',
227
- useFactory: (options) => {
228
- return new Buy2WinFirestoreRepository(options);
229
- },
230
- deps: ['FirestoreOptions'],
231
- },
232
- {
233
- provide: CategoryFirestoreRepository,
234
- useFactory: (options) => {
235
- return new CategoryFirestoreRepository(options);
236
- },
237
- deps: ['FirestoreOptions'],
238
- },
239
- {
240
- provide: 'CheckoutRepository',
241
- useFactory: (options) => {
242
- return new CheckoutFirestoreRepository(options);
243
- },
244
- deps: ['FirestoreOptions'],
245
- },
246
- {
247
- provide: 'CheckoutSubscriptionRepository',
248
- useFactory: (options) => {
249
- return new CheckoutSubscriptionFirestoreRepository(options);
250
- },
251
- deps: ['FirestoreOptions'],
252
- },
253
- {
254
- provide: 'CouponRepository',
255
- useFactory: (options) => {
256
- return new CouponFirestoreRepository(options);
257
- },
258
- deps: ['FirestoreOptions'],
259
- },
260
- {
261
- provide: 'CampaignHashtagRepository',
262
- useFactory: (options) => {
263
- return new CampaignHashtagFirestoreRepository(options);
264
- },
265
- deps: ['FirestoreOptions'],
266
- },
267
- {
268
- provide: 'CampaignDashboardRepository',
269
- useFactory: (options) => {
270
- return new CampaignDashboardFirestoreRepository(options);
271
- },
272
- deps: ['FirestoreOptions'],
273
- },
274
- {
275
- provide: 'EditionRepository',
276
- useFactory: (options, subscriptionRepository) => {
277
- return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository);
278
- },
279
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
280
- },
281
- {
282
- provide: 'HomeRepository',
283
- useFactory: (options) => {
284
- return new HomeFirestoreRepository(options);
285
- },
286
- deps: ['FirestoreOptions'],
287
- },
288
- {
289
- provide: 'LeadRepository',
290
- useFactory: (options) => {
291
- return new LeadFirestoreRepository(options);
292
- },
293
- deps: ['FirestoreOptions'],
294
- },
295
- {
296
- provide: 'LegacyOrderRepository',
297
- useFactory: (options) => {
298
- return new LegacyOrderFirestoreRepository(options);
299
- },
300
- deps: ['FirestoreOptions'],
301
- },
302
- {
303
- provide: 'ShopMenuRepository',
304
- useFactory: (options) => {
305
- return new ShopMenuFirestoreRepository(options);
306
- },
307
- deps: ['FirestoreOptions'],
308
- },
309
- {
310
- provide: 'OrderRepository',
311
- useFactory: (options) => {
312
- return new OrderFirestoreRepository(options);
313
- },
314
- deps: ['FirestoreOptions'],
315
- },
316
- {
317
- provide: 'PaymentRepository',
318
- useFactory: (options) => {
319
- return new PaymentFirestoreRepository(options);
320
- },
321
- deps: ['FirestoreOptions'],
322
- },
323
- {
324
- provide: ProductFirestoreRepository,
325
- useFactory: (options) => {
326
- return new ProductFirestoreRepository(options);
327
- },
328
- deps: ['FirestoreOptions'],
329
- },
330
- {
331
- provide: 'ShopSettingsRepository',
332
- useFactory: (options) => {
333
- return new ShopSettingsFirestoreRepository(options);
334
- },
335
- deps: ['FirestoreOptions'],
336
- },
337
- {
338
- provide: 'SubscriptionPaymentRepository',
339
- useFactory: (options, subscriptionRepository) => {
340
- return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository);
341
- },
342
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
343
- },
344
- {
345
- provide: 'SubscriptionPlanRepository',
346
- useFactory: (options) => {
347
- return new SubscriptionPlanFirestoreRepository(options);
348
- },
349
- deps: ['FirestoreOptions'],
350
- },
351
- {
352
- provide: 'SubscriptionProductRepository',
353
- useFactory: (options) => {
354
- return new SubscriptionProductFirestoreRepository(options);
355
- },
356
- deps: ['FirestoreOptions'],
357
- },
358
- {
359
- provide: 'SubscriptionRepository',
360
- useFactory: (options) => {
361
- return new SubscriptionFirestoreRepository(options);
362
- },
363
- deps: ['FirestoreOptions'],
364
- },
365
- {
366
- provide: 'UserRepository',
367
- useFactory: (options) => {
368
- return new UserFirestoreRepository(options);
369
- },
370
- deps: ['FirestoreOptions'],
371
- },
372
- {
373
- provide: 'UserAddressRepository',
374
- useFactory: (options, userRepository) => {
375
- return new UserAddressFirestoreRepository(options, userRepository);
376
- },
377
- deps: ['FirestoreOptions', 'UserRepository'],
378
- },
379
- {
380
- provide: 'UserPaymentMethodRepository',
381
- useFactory: (options, userRepository) => {
382
- return new UserPaymentMethodFirestoreRepository(options, userRepository);
383
- },
384
- deps: ['FirestoreOptions', 'UserRepository'],
385
- },
386
- {
387
- provide: 'SubscriptionMaterializationRepository',
388
- useFactory: (options) => {
389
- return new SubscriptionMaterializationFirestoreRepository(options);
390
- },
391
- deps: ['FirestoreOptions'],
392
- },
393
- {
394
- provide: 'SubscriptionSummaryRepository',
395
- useFactory: (options) => {
396
- return new SubscriptionSummaryFirestoreRepository(options);
397
- },
398
- deps: ['FirestoreOptions'],
399
- },
400
- {
401
- provide: ProductVariantFirestoreRepository,
402
- useFactory: (options, productRepository) => {
403
- return new ProductVariantFirestoreRepository(options, productRepository);
404
- },
405
- deps: ['FirestoreOptions', ProductFirestoreRepository],
406
- },
407
- {
408
- provide: 'FileUploaderService',
409
- useFactory: (storage, baseUrl) => {
410
- return new FirebaseFileUploaderService(storage, baseUrl);
411
- },
412
- deps: [Storage, STORAGE_BASE_URL],
413
- },
414
- ], imports: [AngularElasticSeachModule,
415
- provideFirestore((injector) => {
416
- const platformId = injector.get(PLATFORM_ID);
417
- if (isPlatformServer(platformId))
418
- return getFirestore(injector.get(FirebaseApp));
419
- if (!MobileOperationSystemCheckerHelper.isAppleDevice())
420
- return getFirestore(injector.get(FirebaseApp));
421
- const firestore = initializeFirestore(injector.get(FirebaseApp), {
422
- experimentalForceLongPolling: true,
423
- localCache: memoryLocalCache(),
424
- });
425
- return firestore;
426
- }),
427
- provideStorage(() => getStorage())] });
428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, decorators: [{
426
+ provideStorage(() => getStorage())] }); }
427
+ }
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, decorators: [{
429
429
  type: NgModule,
430
430
  args: [{
431
431
  imports: [
@@ -674,132 +674,132 @@ class AngularHasuraGraphQLModule {
674
674
  providers: [{ provide: HASURA_OPTIONS, useValue: options }],
675
675
  };
676
676
  }
677
- }
678
- AngularHasuraGraphQLModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
679
- AngularHasuraGraphQLModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule });
680
- AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
681
- {
682
- provide: 'HasuraConfig',
683
- useFactory: (options, platformId) => ({
684
- endpoint: options.endpoint,
685
- authOptions: options.credentials,
686
- interceptors: {
687
- request: (request) => {
688
- if (isPlatformBrowser(platformId))
677
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
678
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule }); }
679
+ static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
680
+ {
681
+ provide: 'HasuraConfig',
682
+ useFactory: (options, platformId) => ({
683
+ endpoint: options.endpoint,
684
+ authOptions: options.credentials,
685
+ interceptors: {
686
+ request: (request) => {
687
+ if (isPlatformBrowser(platformId))
688
+ return request;
689
+ const interval = setInterval(() => { }, 100);
690
+ request.interval = interval;
689
691
  return request;
690
- const interval = setInterval(() => { }, 100);
691
- request.interval = interval;
692
- return request;
693
- },
694
- response: (response, request) => {
695
- if (isPlatformBrowser(platformId))
692
+ },
693
+ response: (response, request) => {
694
+ if (isPlatformBrowser(platformId))
695
+ return response;
696
+ clearInterval(request.interval);
696
697
  return response;
697
- clearInterval(request.interval);
698
- return response;
698
+ },
699
699
  },
700
+ }),
701
+ deps: [HASURA_OPTIONS, PLATFORM_ID],
702
+ },
703
+ {
704
+ provide: 'CategoryRepository',
705
+ useExisting: CategoryHasuraGraphQLRepository,
706
+ },
707
+ {
708
+ provide: CategoryHasuraGraphQLRepository,
709
+ useFactory: (options, productRepository, categoryFilterRepository) => {
710
+ return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
700
711
  },
701
- }),
702
- deps: [HASURA_OPTIONS, PLATFORM_ID],
703
- },
704
- {
705
- provide: 'CategoryRepository',
706
- useExisting: CategoryHasuraGraphQLRepository,
707
- },
708
- {
709
- provide: CategoryHasuraGraphQLRepository,
710
- useFactory: (options, productRepository, categoryFilterRepository) => {
711
- return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
712
- },
713
- deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
714
- },
715
- {
716
- provide: 'ProductRepository',
717
- useExisting: ProductHasuraGraphQLRepository,
718
- },
719
- {
720
- provide: ProductHasuraGraphQLRepository,
721
- useFactory: (hasuraConfig) => {
722
- return new ProductHasuraGraphQLRepository(hasuraConfig);
723
- },
724
- deps: ['HasuraConfig'],
725
- },
726
- {
727
- provide: 'ProductReviewsRepository',
728
- useExisting: ProductReviewsHasuraGraphQLRepository,
729
- },
730
- {
731
- provide: ProductReviewsHasuraGraphQLRepository,
732
- useFactory: (hasuraConfig) => {
733
- return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
734
- },
735
- deps: ['HasuraConfig'],
736
- },
737
- {
738
- provide: 'VariantRepository',
739
- useExisting: VariantHasuraGraphQLRepository,
740
- },
741
- {
742
- provide: VariantHasuraGraphQLRepository,
743
- useFactory: (hasuraConfig) => {
744
- return new VariantHasuraGraphQLRepository(hasuraConfig);
745
- },
746
- deps: ['HasuraConfig'],
747
- },
748
- {
749
- provide: 'CategoryFilterRepository',
750
- useExisting: CategoryFilterHasuraGraphQLRepository,
751
- },
752
- {
753
- provide: CategoryFilterHasuraGraphQLRepository,
754
- useFactory: (options) => {
755
- return new CategoryFilterHasuraGraphQLRepository(options);
756
- },
757
- deps: ['HasuraConfig'],
758
- },
759
- {
760
- provide: 'FilterOptionRepository',
761
- useExisting: FilterOptionHasuraGraphQLRepository,
762
- },
763
- {
764
- provide: FilterOptionHasuraGraphQLRepository,
765
- useFactory: (options) => {
766
- return new FilterOptionHasuraGraphQLRepository(options);
767
- },
768
- deps: ['HasuraConfig'],
769
- },
770
- {
771
- provide: 'FilterRepository',
772
- useExisting: FilterHasuraGraphQLRepository,
773
- },
774
- {
775
- provide: FilterHasuraGraphQLRepository,
776
- useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
777
- return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
778
- },
779
- deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
780
- },
781
- {
782
- provide: CategoryCollectionChildrenHasuraGraphQLRepository,
783
- useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
784
- deps: ['HasuraConfig'],
785
- },
786
- {
787
- provide: 'CategoryCollectionChildrenRepository',
788
- useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
789
- },
790
- {
791
- provide: WishlistHasuraGraphQLRepository,
792
- useFactory: (options, categoryFilterRepository) => {
793
- return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
794
- },
795
- deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
796
- },
797
- {
798
- provide: 'WishlistRepository',
799
- useExisting: WishlistHasuraGraphQLRepository,
800
- },
801
- ] });
802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
712
+ deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
713
+ },
714
+ {
715
+ provide: 'ProductRepository',
716
+ useExisting: ProductHasuraGraphQLRepository,
717
+ },
718
+ {
719
+ provide: ProductHasuraGraphQLRepository,
720
+ useFactory: (hasuraConfig) => {
721
+ return new ProductHasuraGraphQLRepository(hasuraConfig);
722
+ },
723
+ deps: ['HasuraConfig'],
724
+ },
725
+ {
726
+ provide: 'ProductReviewsRepository',
727
+ useExisting: ProductReviewsHasuraGraphQLRepository,
728
+ },
729
+ {
730
+ provide: ProductReviewsHasuraGraphQLRepository,
731
+ useFactory: (hasuraConfig) => {
732
+ return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
733
+ },
734
+ deps: ['HasuraConfig'],
735
+ },
736
+ {
737
+ provide: 'VariantRepository',
738
+ useExisting: VariantHasuraGraphQLRepository,
739
+ },
740
+ {
741
+ provide: VariantHasuraGraphQLRepository,
742
+ useFactory: (hasuraConfig) => {
743
+ return new VariantHasuraGraphQLRepository(hasuraConfig);
744
+ },
745
+ deps: ['HasuraConfig'],
746
+ },
747
+ {
748
+ provide: 'CategoryFilterRepository',
749
+ useExisting: CategoryFilterHasuraGraphQLRepository,
750
+ },
751
+ {
752
+ provide: CategoryFilterHasuraGraphQLRepository,
753
+ useFactory: (options) => {
754
+ return new CategoryFilterHasuraGraphQLRepository(options);
755
+ },
756
+ deps: ['HasuraConfig'],
757
+ },
758
+ {
759
+ provide: 'FilterOptionRepository',
760
+ useExisting: FilterOptionHasuraGraphQLRepository,
761
+ },
762
+ {
763
+ provide: FilterOptionHasuraGraphQLRepository,
764
+ useFactory: (options) => {
765
+ return new FilterOptionHasuraGraphQLRepository(options);
766
+ },
767
+ deps: ['HasuraConfig'],
768
+ },
769
+ {
770
+ provide: 'FilterRepository',
771
+ useExisting: FilterHasuraGraphQLRepository,
772
+ },
773
+ {
774
+ provide: FilterHasuraGraphQLRepository,
775
+ useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
776
+ return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
777
+ },
778
+ deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
779
+ },
780
+ {
781
+ provide: CategoryCollectionChildrenHasuraGraphQLRepository,
782
+ useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
783
+ deps: ['HasuraConfig'],
784
+ },
785
+ {
786
+ provide: 'CategoryCollectionChildrenRepository',
787
+ useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
788
+ },
789
+ {
790
+ provide: WishlistHasuraGraphQLRepository,
791
+ useFactory: (options, categoryFilterRepository) => {
792
+ return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
793
+ },
794
+ deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
795
+ },
796
+ {
797
+ provide: 'WishlistRepository',
798
+ useExisting: WishlistHasuraGraphQLRepository,
799
+ },
800
+ ] }); }
801
+ }
802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
803
803
  type: NgModule,
804
804
  args: [{
805
805
  providers: [
@@ -948,15 +948,15 @@ class AuthService {
948
948
  getFireUser() {
949
949
  return authState(this.angularFireAuth).pipe(catchError(() => of(null)));
950
950
  }
951
+ 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 }); }
952
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService }); }
951
953
  }
952
- 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 });
953
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AuthService });
954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AuthService, decorators: [{
954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService, decorators: [{
955
955
  type: Injectable
956
- }], ctorParameters: function () { return [{ type: i1.Auth }, { type: undefined, decorators: [{
956
+ }], ctorParameters: () => [{ type: i1.Auth }, { type: undefined, decorators: [{
957
957
  type: Inject,
958
958
  args: ['UserRepository']
959
- }] }]; } });
959
+ }] }] });
960
960
 
961
961
  class CouponService {
962
962
  constructor(couponRepository, defaultShop, orderRepository, categoryRepository) {
@@ -1147,15 +1147,15 @@ class CouponService {
1147
1147
  }
1148
1148
  return couponUseLimits;
1149
1149
  }
1150
+ 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 }); }
1151
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, providedIn: 'root' }); }
1150
1152
  }
1151
- 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 });
1152
- CouponService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CouponService, providedIn: 'root' });
1153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CouponService, decorators: [{
1153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, decorators: [{
1154
1154
  type: Injectable,
1155
1155
  args: [{
1156
1156
  providedIn: 'root',
1157
1157
  }]
1158
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1158
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1159
1159
  type: Inject,
1160
1160
  args: ['CouponRepository']
1161
1161
  }] }, { type: i1$2.Shops, decorators: [{
@@ -1167,7 +1167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1167
1167
  }] }, { type: undefined, decorators: [{
1168
1168
  type: Inject,
1169
1169
  args: ['CategoryRepository']
1170
- }] }]; } });
1170
+ }] }] });
1171
1171
 
1172
1172
  class CheckoutService {
1173
1173
  constructor(couponService, checkoutRepository, orderRepository, userRepository, defaultShop) {
@@ -1211,12 +1211,12 @@ class CheckoutService {
1211
1211
  cookie.set('checkoutId', checkout.id);
1212
1212
  return checkout;
1213
1213
  }
1214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, deps: [{ token: CouponService }, { token: 'CheckoutRepository' }, { token: 'OrderRepository' }, { token: 'UserRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
1215
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService }); }
1214
1216
  }
1215
- CheckoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService, deps: [{ token: CouponService }, { token: 'CheckoutRepository' }, { token: 'OrderRepository' }, { token: 'UserRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
1216
- CheckoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService });
1217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutService, decorators: [{
1217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, decorators: [{
1218
1218
  type: Injectable
1219
- }], ctorParameters: function () { return [{ type: CouponService }, { type: undefined, decorators: [{
1219
+ }], ctorParameters: () => [{ type: CouponService }, { type: undefined, decorators: [{
1220
1220
  type: Inject,
1221
1221
  args: ['CheckoutRepository']
1222
1222
  }] }, { type: undefined, decorators: [{
@@ -1228,7 +1228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1228
1228
  }] }, { type: i1$2.Shops, decorators: [{
1229
1229
  type: Inject,
1230
1230
  args: [DEFAULT_SHOP]
1231
- }] }]; } });
1231
+ }] }] });
1232
1232
 
1233
1233
  class CartService {
1234
1234
  constructor(authService, checkoutService, defaultShop, productRepository, categoryRepository, variantRepository, buy2WinRepository) {
@@ -1478,12 +1478,12 @@ class CartService {
1478
1478
  });
1479
1479
  });
1480
1480
  }
1481
+ 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 }); }
1482
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService }); }
1481
1483
  }
1482
- 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 });
1483
- CartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService });
1484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CartService, decorators: [{
1484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService, decorators: [{
1485
1485
  type: Injectable
1486
- }], ctorParameters: function () { return [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1486
+ }], ctorParameters: () => [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1487
1487
  type: Inject,
1488
1488
  args: [DEFAULT_SHOP]
1489
1489
  }] }, { type: undefined, decorators: [{
@@ -1498,7 +1498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1498
1498
  }] }, { type: i1$2.Buy2WinFirestoreRepository, decorators: [{
1499
1499
  type: Inject,
1500
1500
  args: ['Buy2WinRepository']
1501
- }] }]; } });
1501
+ }] }] });
1502
1502
 
1503
1503
  class NewCategoryStructureAdapter {
1504
1504
  constructor(categoryRepository) {
@@ -1528,15 +1528,15 @@ class NewCategoryStructureAdapter {
1528
1528
  ? this.categoryRepository.get({ id: category.id })
1529
1529
  : category;
1530
1530
  }
1531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1532
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
1531
1533
  }
1532
- NewCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1533
- NewCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter });
1534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1535
1535
  type: Injectable
1536
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1536
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1537
1537
  type: Inject,
1538
1538
  args: ['CategoryRepository']
1539
- }] }]; } });
1539
+ }] }] });
1540
1540
 
1541
1541
  class OldCategoryStructureAdapter {
1542
1542
  constructor(categoryRepository) {
@@ -1548,15 +1548,15 @@ class OldCategoryStructureAdapter {
1548
1548
  : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1549
1549
  return { id: { operator: Where.IN, value: productsIds } };
1550
1550
  }
1551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1552
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
1551
1553
  }
1552
- OldCategoryStructureAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
1553
- OldCategoryStructureAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter });
1554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1555
1555
  type: Injectable
1556
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1556
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1557
1557
  type: Inject,
1558
1558
  args: ['CategoryRepository']
1559
- }] }]; } });
1559
+ }] }] });
1560
1560
 
1561
1561
  class CatalogService {
1562
1562
  constructor(productRepository, categoryStructureAdapter, shop, productIndex) {
@@ -1667,7 +1667,7 @@ class CatalogService {
1667
1667
  async findCatalogByTermAndSortByMostRevelant(options, limits) {
1668
1668
  const productIds = await this.findCatalogIdsByElasticSearch(options.term);
1669
1669
  const totalResult = await this.productRepository.findCatalog({
1670
- fields: ['id'],
1670
+ fields: ['id', 'stock'],
1671
1671
  filters: {
1672
1672
  id: { operator: Where.IN, value: productIds },
1673
1673
  ...this.buildFilterQuery(options?.filters || {}),
@@ -1678,9 +1678,13 @@ class CatalogService {
1678
1678
  distinct: ['brand'],
1679
1679
  },
1680
1680
  }, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female');
1681
- const limitedProductId = totalResult.data
1682
- .slice(limits.offset, limits.offset + limits.limit)
1683
- .map((product) => product.id);
1681
+ const stockData = totalResult.data.filter((product) => product.stock.quantity > 0);
1682
+ const stockOut = totalResult.data.filter((product) => product.stock.quantity <= 0);
1683
+ const productIdsStock = productIds.filter((product) => stockData.some((result) => result.id == product));
1684
+ const productIdsStockOut = productIds.filter((product) => stockOut.some((result) => result.id == product));
1685
+ const limitedProductId = productIdsStock
1686
+ .concat(productIdsStockOut)
1687
+ .slice(limits.offset, limits.offset + limits.limit);
1684
1688
  const orderedId = productIds.filter((product) => limitedProductId.includes(product));
1685
1689
  const productResult = await this.productRepository.findCatalog({
1686
1690
  filters: {
@@ -1707,12 +1711,12 @@ class CatalogService {
1707
1711
  return [...new Set(sorted.map(({ _source }) => _source.id))];
1708
1712
  }));
1709
1713
  }
1714
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1715
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService }); }
1710
1716
  }
1711
- CatalogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, deps: [{ token: 'ProductRepository' }, { token: CATEGORY_STRUCTURE }, { token: DEFAULT_SHOP }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable });
1712
- CatalogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService });
1713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogService, decorators: [{
1717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, decorators: [{
1714
1718
  type: Injectable
1715
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1719
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1716
1720
  type: Inject,
1717
1721
  args: ['ProductRepository']
1718
1722
  }] }, { type: undefined, decorators: [{
@@ -1721,7 +1725,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1721
1725
  }] }, { type: i1$2.Shops, decorators: [{
1722
1726
  type: Inject,
1723
1727
  args: [DEFAULT_SHOP]
1724
- }] }, { type: i1$2.ProductsIndex }]; } });
1728
+ }] }, { type: i1$2.ProductsIndex }] });
1725
1729
 
1726
1730
  class CategoryService {
1727
1731
  constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
@@ -1747,12 +1751,12 @@ class CategoryService {
1747
1751
  .find({ filters: { categoryId: +category.id } })
1748
1752
  .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
1749
1753
  }
1754
+ 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 }); }
1755
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService }); }
1750
1756
  }
1751
- 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 });
1752
- CategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService });
1753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategoryService, decorators: [{
1757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService, decorators: [{
1754
1758
  type: Injectable
1755
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1759
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1756
1760
  type: Inject,
1757
1761
  args: ['ProductRepository']
1758
1762
  }] }, { type: undefined, decorators: [{
@@ -1767,7 +1771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1767
1771
  }] }, { type: i1$2.Shops, decorators: [{
1768
1772
  type: Inject,
1769
1773
  args: [DEFAULT_SHOP]
1770
- }] }]; } });
1774
+ }] }] });
1771
1775
 
1772
1776
  var ProductSorts;
1773
1777
  (function (ProductSorts) {
@@ -1873,12 +1877,12 @@ class WishlistService {
1873
1877
  }
1874
1878
  return wishlist;
1875
1879
  }
1880
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: 'CategoryRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1881
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService }); }
1876
1882
  }
1877
- WishlistService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, deps: [{ token: 'WishlistRepository' }, { token: 'CategoryRepository' }, { token: DEFAULT_SHOP }, { token: 'ProductRepository' }, { token: 'CategoryFilterRepository' }, { token: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable });
1878
- WishlistService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService });
1879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: WishlistService, decorators: [{
1883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, decorators: [{
1880
1884
  type: Injectable
1881
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1885
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1882
1886
  type: Inject,
1883
1887
  args: ['WishlistRepository']
1884
1888
  }] }, { type: undefined, decorators: [{
@@ -1893,7 +1897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
1893
1897
  }] }, { type: undefined, decorators: [{
1894
1898
  type: Inject,
1895
1899
  args: ['CategoryFilterRepository']
1896
- }] }, { type: i1$2.ProductsIndex }]; } });
1900
+ }] }, { type: i1$2.ProductsIndex }] });
1897
1901
 
1898
1902
  class CheckoutSubscriptionService {
1899
1903
  constructor(checkoutSubscriptionRepository, subscriptionRepository, couponService) {
@@ -1927,18 +1931,18 @@ class CheckoutSubscriptionService {
1927
1931
  calcDiscountSubscription(coupon) {
1928
1932
  return this.getCheckoutSubscription().pipe(concatMap((checkout) => this.couponService.calcDiscountSubscription(coupon, checkout).pipe()));
1929
1933
  }
1934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: 'SubscriptionRepository' }, { token: CouponService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1935
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService }); }
1930
1936
  }
1931
- CheckoutSubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService, deps: [{ token: 'CheckoutSubscriptionRepository' }, { token: 'SubscriptionRepository' }, { token: CouponService }], target: i0.ɵɵFactoryTarget.Injectable });
1932
- CheckoutSubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService });
1933
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
1937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
1934
1938
  type: Injectable
1935
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1939
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1936
1940
  type: Inject,
1937
1941
  args: ['CheckoutSubscriptionRepository']
1938
1942
  }] }, { type: undefined, decorators: [{
1939
1943
  type: Inject,
1940
1944
  args: ['SubscriptionRepository']
1941
- }] }, { type: CouponService }]; } });
1945
+ }] }, { type: CouponService }] });
1942
1946
 
1943
1947
  class UtilHelper {
1944
1948
  static createSlug(name) {
@@ -1995,7 +1999,11 @@ class HomeShopService {
1995
1999
  getHomeData() {
1996
2000
  return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
1997
2001
  ? of(home)
1998
- : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
2002
+ : forkJoin([
2003
+ this.getDiscoverProducts(this.gender),
2004
+ this.getFeaturedProducts(this.gender),
2005
+ this.getVerticalProducts(this.gender),
2006
+ ]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
1999
2007
  discoverProducts,
2000
2008
  featuredProducts,
2001
2009
  verticalProducts,
@@ -2017,15 +2025,18 @@ class HomeShopService {
2017
2025
  getMinValueForFreeShipping() {
2018
2026
  return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
2019
2027
  }
2020
- getDiscoverProducts() {
2021
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2028
+ getDiscoverProducts(gender) {
2029
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2022
2030
  }
2023
- getFeaturedProducts() {
2024
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2031
+ getFeaturedProducts(gender) {
2032
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2025
2033
  }
2026
- getVerticalProducts() {
2034
+ getVerticalProducts(gender) {
2027
2035
  return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.filter(Boolean).map((id) => from(this.categoryRepository.get({ id })).pipe(concatMap((category) => from(this.productRepository.find({
2028
- filters: { categories: { operator: Where.IN, value: [category.id] } },
2036
+ filters: {
2037
+ categories: { operator: Where.IN, value: [category.id] },
2038
+ ...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
2039
+ },
2029
2040
  limits: { limit: 12 },
2030
2041
  })).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
2031
2042
  }
@@ -2047,12 +2058,15 @@ class HomeShopService {
2047
2058
  data,
2048
2059
  })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
2049
2060
  }
2061
+ get gender() {
2062
+ return this.homeId === 'mens_market' ? 'masculino' : undefined;
2063
+ }
2064
+ 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 }); }
2065
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService }); }
2050
2066
  }
2051
- 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 });
2052
- HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
2053
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
2067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService, decorators: [{
2054
2068
  type: Injectable
2055
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2069
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2056
2070
  type: Inject,
2057
2071
  args: ['CategoryRepository']
2058
2072
  }] }, { type: undefined, decorators: [{
@@ -2064,7 +2078,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
2064
2078
  }] }, { type: i1$2.Shops, decorators: [{
2065
2079
  type: Inject,
2066
2080
  args: [DEFAULT_SHOP]
2067
- }] }]; } });
2081
+ }] }] });
2068
2082
 
2069
2083
  class OrderService {
2070
2084
  constructor(angularFirestore, orderRepository) {
@@ -2078,15 +2092,15 @@ class OrderService {
2078
2092
  .subscribe((doc) => this.orderSubject.next(doc));
2079
2093
  return this.orderSubject;
2080
2094
  }
2095
+ 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 }); }
2096
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService }); }
2081
2097
  }
2082
- 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 });
2083
- OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
2084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
2098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, decorators: [{
2085
2099
  type: Injectable
2086
- }], ctorParameters: function () { return [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2100
+ }], ctorParameters: () => [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2087
2101
  type: Inject,
2088
2102
  args: ['OrderRepository']
2089
- }] }]; } });
2103
+ }] }] });
2090
2104
 
2091
2105
  class ShippingService {
2092
2106
  constructor(http, apiUrl, homeService) {
@@ -2164,15 +2178,15 @@ class ShippingService {
2164
2178
  }
2165
2179
  return false;
2166
2180
  }
2181
+ 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 }); }
2182
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService }); }
2167
2183
  }
2168
- 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 });
2169
- ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService });
2170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, decorators: [{
2184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, decorators: [{
2171
2185
  type: Injectable
2172
- }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2186
+ }], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2173
2187
  type: Inject,
2174
2188
  args: [BACKEND_URL]
2175
- }] }, { type: HomeShopService }]; } });
2189
+ }] }, { type: HomeShopService }] });
2176
2190
 
2177
2191
  class AngularConnectModule {
2178
2192
  static initializeApp(defaultShop, options, nameOrConfig) {
@@ -2195,45 +2209,45 @@ class AngularConnectModule {
2195
2209
  ],
2196
2210
  };
2197
2211
  }
2212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2213
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2214
+ AngularFirebaseAuthModule,
2215
+ AngularFirestoreModule,
2216
+ AngularHasuraGraphQLModule] }); }
2217
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, providers: [
2218
+ AuthService,
2219
+ CartService,
2220
+ CatalogService,
2221
+ CategoryService,
2222
+ CheckoutService,
2223
+ CheckoutSubscriptionService,
2224
+ CouponService,
2225
+ HomeShopService,
2226
+ OrderService,
2227
+ ShippingService,
2228
+ WishlistService,
2229
+ {
2230
+ provide: UpdateUserImage,
2231
+ useFactory: (userRepository, fileUploader) => {
2232
+ return new UpdateUserImage(userRepository, fileUploader);
2233
+ },
2234
+ deps: ['UserRepository', 'FileUploaderService'],
2235
+ },
2236
+ ], imports: [provideFirebaseApp((injector) => {
2237
+ const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2238
+ try {
2239
+ return getApp(appName);
2240
+ }
2241
+ catch (error) {
2242
+ return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2243
+ }
2244
+ }),
2245
+ AngularElasticSeachModule,
2246
+ AngularFirebaseAuthModule,
2247
+ AngularFirestoreModule,
2248
+ AngularHasuraGraphQLModule] }); }
2198
2249
  }
2199
- AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2200
- AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2201
- AngularFirebaseAuthModule,
2202
- AngularFirestoreModule,
2203
- AngularHasuraGraphQLModule] });
2204
- AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
2205
- AuthService,
2206
- CartService,
2207
- CatalogService,
2208
- CategoryService,
2209
- CheckoutService,
2210
- CheckoutSubscriptionService,
2211
- CouponService,
2212
- HomeShopService,
2213
- OrderService,
2214
- ShippingService,
2215
- WishlistService,
2216
- {
2217
- provide: UpdateUserImage,
2218
- useFactory: (userRepository, fileUploader) => {
2219
- return new UpdateUserImage(userRepository, fileUploader);
2220
- },
2221
- deps: ['UserRepository', 'FileUploaderService'],
2222
- },
2223
- ], imports: [provideFirebaseApp((injector) => {
2224
- const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2225
- try {
2226
- return getApp(appName);
2227
- }
2228
- catch (error) {
2229
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2230
- }
2231
- }),
2232
- AngularElasticSeachModule,
2233
- AngularFirebaseAuthModule,
2234
- AngularFirestoreModule,
2235
- AngularHasuraGraphQLModule] });
2236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
2250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, decorators: [{
2237
2251
  type: NgModule,
2238
2252
  args: [{
2239
2253
  imports: [