@infrab4a/connect-angular 4.3.0-beta.9 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/angular-connect.module.d.ts +1 -0
  2. package/angular-firestore.module.d.ts +2 -1
  3. package/consts/storage-base-url.const.d.ts +1 -0
  4. package/esm2020/angular-connect.module.mjs +113 -0
  5. package/esm2020/angular-elastic-search.module.mjs +34 -0
  6. package/esm2020/angular-firebase-auth.module.mjs +115 -0
  7. package/esm2020/angular-firestore.module.mjs +502 -0
  8. package/esm2020/angular-hasura-graphql.module.mjs +265 -0
  9. package/{esm2022 → esm2020}/consts/category-structure.mjs +1 -1
  10. package/{esm2022 → esm2020}/consts/default-shop.const.mjs +1 -1
  11. package/{esm2022 → esm2020}/consts/es-config.const.mjs +1 -1
  12. package/{esm2022 → esm2020}/consts/firebase-const.mjs +1 -1
  13. package/{esm2022 → esm2020}/consts/hasura-options.const.mjs +1 -1
  14. package/{esm2022 → esm2020}/consts/index.mjs +1 -1
  15. package/esm2020/consts/storage-base-url.const.mjs +2 -0
  16. package/{esm2022 → esm2020}/helpers/index.mjs +1 -1
  17. package/{esm2022 → esm2020}/helpers/mobile-operation-system-checker.helper.mjs +1 -1
  18. package/{esm2022 → esm2020}/index.mjs +1 -1
  19. package/{esm2022 → esm2020}/services/auth.service.mjs +6 -6
  20. package/{esm2022 → esm2020}/services/cart.service.mjs +6 -6
  21. package/{esm2022 → esm2020}/services/catalog/adapters/category-structure.adapter.mjs +1 -1
  22. package/{esm2022 → esm2020}/services/catalog/adapters/index.mjs +1 -1
  23. package/{esm2022 → esm2020}/services/catalog/adapters/new-category-structure.adapter.mjs +6 -6
  24. package/{esm2022 → esm2020}/services/catalog/adapters/old-category-structure.adapter.mjs +6 -6
  25. package/{esm2022 → esm2020}/services/catalog/catalog.service.mjs +6 -6
  26. package/{esm2022 → esm2020}/services/catalog/category.service.mjs +6 -6
  27. package/{esm2022 → esm2020}/services/catalog/enums/index.mjs +1 -1
  28. package/{esm2022 → esm2020}/services/catalog/enums/product-sorts.enum.mjs +1 -1
  29. package/esm2020/services/catalog/index.mjs +8 -0
  30. package/{esm2022 → esm2020}/services/catalog/models/category-with-tree.model.mjs +1 -1
  31. package/{esm2022 → esm2020}/services/catalog/models/index.mjs +1 -1
  32. package/{esm2022 → esm2020}/services/catalog/types/index.mjs +1 -1
  33. package/{esm2022 → esm2020}/services/catalog/types/product-sort.type.mjs +1 -1
  34. package/esm2020/services/catalog/wishlist.service.mjs +116 -0
  35. package/{esm2022 → esm2020}/services/checkout-subscription.service.mjs +6 -6
  36. package/{esm2022 → esm2020}/services/checkout.service.mjs +6 -6
  37. package/{esm2022 → esm2020}/services/coupon.service.mjs +6 -6
  38. package/{esm2022 → esm2020}/services/helpers/index.mjs +1 -1
  39. package/{esm2022 → esm2020}/services/helpers/util.helper.mjs +1 -1
  40. package/esm2020/services/home-shop.service.mjs +125 -0
  41. package/{esm2022 → esm2020}/services/index.mjs +1 -1
  42. package/{esm2022 → esm2020}/services/order.service.mjs +6 -6
  43. package/{esm2022 → esm2020}/services/shipping.service.mjs +6 -6
  44. package/{esm2022 → esm2020}/services/types/index.mjs +1 -1
  45. package/{esm2022 → esm2020}/services/types/required-checkout-data.type.mjs +1 -1
  46. package/{esm2022 → esm2020}/services/types/required-checkout-subscription-data.type.mjs +1 -1
  47. package/esm2020/services/types/shipping-methods.type.mjs +2 -0
  48. package/{esm2022 → esm2020}/types/firebase-app-config.type.mjs +1 -1
  49. package/{esm2022 → esm2020}/types/index.mjs +1 -1
  50. package/fesm2015/infrab4a-connect-angular.mjs +2357 -0
  51. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
  52. package/{fesm2022 → fesm2020}/infrab4a-connect-angular.mjs +623 -568
  53. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
  54. package/package.json +16 -10
  55. package/services/catalog/index.d.ts +1 -0
  56. package/services/catalog/wishlist.service.d.ts +21 -4
  57. package/services/home-shop.service.d.ts +1 -0
  58. package/esm2022/angular-connect.module.mjs +0 -97
  59. package/esm2022/angular-elastic-search.module.mjs +0 -34
  60. package/esm2022/angular-firebase-auth.module.mjs +0 -115
  61. package/esm2022/angular-firestore.module.mjs +0 -483
  62. package/esm2022/angular-hasura-graphql.module.mjs +0 -265
  63. package/esm2022/services/catalog/index.mjs +0 -7
  64. package/esm2022/services/catalog/wishlist.service.mjs +0 -107
  65. package/esm2022/services/home-shop.service.mjs +0 -114
  66. package/esm2022/services/types/shipping-methods.type.mjs +0 -2
  67. package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
  68. /package/{esm2022 → esm2020}/consts/backend-url.const.mjs +0 -0
  69. /package/{esm2022 → esm2020}/infrab4a-connect-angular.mjs +0 -0
@@ -1,18 +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, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
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, 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, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
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, getAuth, provideAuth, getIdToken, authState } from '@angular/fire/auth';
8
+ import { Auth, provideAuth, getAuth, 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, getFirestore, memoryLocalCache, initializeFirestore, provideFirestore, doc, docSnapshots } from '@angular/fire/firestore';
12
- import { combineLatest, of, from, throwError, Subject, iif, forkJoin } from 'rxjs';
13
- import { map, catchError, mergeMap, concatMap, tap } from 'rxjs/operators';
11
+ import { Firestore, provideFirestore, getFirestore, initializeFirestore, memoryLocalCache, docSnapshots, doc } from '@angular/fire/firestore';
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';
14
16
  import cookie from 'js-cookie';
15
- import { __metadata, __decorate } from 'tslib';
17
+ import { __decorate, __metadata } from 'tslib';
16
18
  import { Type } from 'class-transformer';
17
19
  import * as i1$3 from '@angular/common/http';
18
20
 
@@ -25,17 +27,17 @@ class AngularElasticSeachModule {
25
27
  providers: [{ provide: ES_CONFIG, useValue: options }],
26
28
  };
27
29
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, providers: [
31
- {
32
- provide: ProductsIndex,
33
- useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
34
- deps: [ES_CONFIG],
35
- },
36
- ] }); }
37
30
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
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: [{
39
41
  type: NgModule,
40
42
  args: [{
41
43
  providers: [
@@ -69,54 +71,54 @@ class AngularFirebaseAuthModule {
69
71
  ],
70
72
  };
71
73
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
73
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] }); }
74
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
75
- {
76
- provide: 'Authentication',
77
- useFactory: (authenticationService, userRepository) => {
78
- return new Authentication(authenticationService, userRepository);
79
- },
80
- deps: ['AuthenticationService', 'UserRepository'],
81
- },
82
- {
83
- provide: 'AuthenticationService',
84
- useFactory: (angularFireAuth) => {
85
- return new AuthenticationFirebaseAuthService(angularFireAuth);
86
- },
87
- deps: [Auth],
88
- },
89
- {
90
- provide: 'Register',
91
- useFactory: (registerService, userRepository) => {
92
- return new Register(registerService, userRepository);
93
- },
94
- deps: ['RegisterService', 'UserRepository'],
95
- },
96
- {
97
- provide: 'RegisterService',
98
- useFactory: (angularFireAuth) => {
99
- return new RegisterFirebaseAuthService(angularFireAuth);
100
- },
101
- deps: [Auth],
102
- },
103
- {
104
- provide: 'SignOut',
105
- useFactory: (authenticationService) => {
106
- return new SignOut(authenticationService);
107
- },
108
- deps: ['AuthenticationService'],
109
- },
110
- {
111
- provide: 'RecoveryPassword',
112
- useFactory: (authenticationService) => {
113
- return new RecoveryPassword(authenticationService);
114
- },
115
- deps: ['AuthenticationService'],
116
- },
117
- ], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] }); }
118
74
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
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: [{
120
122
  type: NgModule,
121
123
  args: [{
122
124
  imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
@@ -167,6 +169,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
167
169
  }]
168
170
  }] });
169
171
 
172
+ const STORAGE_BASE_URL = 'STORAGE_BASE_URL';
173
+
170
174
  class MobileOperationSystemCheckerHelper {
171
175
  static isAppleDevice() {
172
176
  return (['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator?.platform) ||
@@ -185,235 +189,243 @@ class AngularFirestoreModule {
185
189
  ],
186
190
  };
187
191
  }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
189
- static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule] }); }
190
- static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, providers: [
191
- {
192
- provide: 'FirestoreOptions',
193
- useFactory: (firestore, platformId) => ({
194
- firestore,
195
- interceptors: {
196
- request: (request) => {
197
- if (isPlatformBrowser(platformId))
198
- return request;
199
- const interval = setInterval(() => { }, 100);
200
- request.interval = interval;
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))
201
203
  return request;
202
- },
203
- response: (response, request) => {
204
- if (isPlatformBrowser(platformId))
205
- return response;
206
- clearInterval(request.interval);
204
+ const interval = setInterval(() => { }, 100);
205
+ request.interval = interval;
206
+ return request;
207
+ },
208
+ response: (response, request) => {
209
+ if (isPlatformBrowser(platformId))
207
210
  return response;
208
- },
211
+ clearInterval(request.interval);
212
+ return response;
209
213
  },
210
- }),
211
- deps: [Firestore, PLATFORM_ID],
212
- },
213
- {
214
- provide: 'BeautyProfileRepository',
215
- useFactory: (config, userRepository) => {
216
- return new UserBeautyProfileFirestoreRepository(config, userRepository);
217
- },
218
- deps: ['FirestoreOptions', 'UserRepository'],
219
- },
220
- {
221
- provide: 'Buy2WinRepository',
222
- useFactory: (options) => {
223
- return new Buy2WinFirestoreRepository(options);
224
- },
225
- deps: ['FirestoreOptions'],
226
- },
227
- {
228
- provide: CategoryFirestoreRepository,
229
- useFactory: (options) => {
230
- return new CategoryFirestoreRepository(options);
231
- },
232
- deps: ['FirestoreOptions'],
233
- },
234
- {
235
- provide: 'CheckoutRepository',
236
- useFactory: (options) => {
237
- return new CheckoutFirestoreRepository(options);
238
- },
239
- deps: ['FirestoreOptions'],
240
- },
241
- {
242
- provide: 'CheckoutSubscriptionRepository',
243
- useFactory: (options) => {
244
- return new CheckoutSubscriptionFirestoreRepository(options);
245
- },
246
- deps: ['FirestoreOptions'],
247
- },
248
- {
249
- provide: 'CouponRepository',
250
- useFactory: (options) => {
251
- return new CouponFirestoreRepository(options);
252
- },
253
- deps: ['FirestoreOptions'],
254
- },
255
- {
256
- provide: 'CampaignHashtagRepository',
257
- useFactory: (options) => {
258
- return new CampaignHashtagFirestoreRepository(options);
259
- },
260
- deps: ['FirestoreOptions'],
261
- },
262
- {
263
- provide: 'CampaignDashboardRepository',
264
- useFactory: (options) => {
265
- return new CampaignDashboardFirestoreRepository(options);
266
- },
267
- deps: ['FirestoreOptions'],
268
- },
269
- {
270
- provide: 'EditionRepository',
271
- useFactory: (options, subscriptionRepository) => {
272
- return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository);
273
- },
274
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
275
- },
276
- {
277
- provide: 'HomeRepository',
278
- useFactory: (options) => {
279
- return new HomeFirestoreRepository(options);
280
- },
281
- deps: ['FirestoreOptions'],
282
- },
283
- {
284
- provide: 'LeadRepository',
285
- useFactory: (options) => {
286
- return new LeadFirestoreRepository(options);
287
- },
288
- deps: ['FirestoreOptions'],
289
- },
290
- {
291
- provide: 'LegacyOrderRepository',
292
- useFactory: (options) => {
293
- return new LegacyOrderFirestoreRepository(options);
294
- },
295
- deps: ['FirestoreOptions'],
296
- },
297
- {
298
- provide: 'ShopMenuRepository',
299
- useFactory: (options) => {
300
- return new ShopMenuFirestoreRepository(options);
301
- },
302
- deps: ['FirestoreOptions'],
303
- },
304
- {
305
- provide: 'OrderRepository',
306
- useFactory: (options) => {
307
- return new OrderFirestoreRepository(options);
308
- },
309
- deps: ['FirestoreOptions'],
310
- },
311
- {
312
- provide: 'PaymentRepository',
313
- useFactory: (options) => {
314
- return new PaymentFirestoreRepository(options);
315
- },
316
- deps: ['FirestoreOptions'],
317
- },
318
- {
319
- provide: ProductFirestoreRepository,
320
- useFactory: (options) => {
321
- return new ProductFirestoreRepository(options);
322
- },
323
- deps: ['FirestoreOptions'],
324
- },
325
- {
326
- provide: 'ShopSettingsRepository',
327
- useFactory: (options) => {
328
- return new ShopSettingsFirestoreRepository(options);
329
- },
330
- deps: ['FirestoreOptions'],
331
- },
332
- {
333
- provide: 'SubscriptionPaymentRepository',
334
- useFactory: (options, subscriptionRepository) => {
335
- return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository);
336
- },
337
- deps: ['FirestoreOptions', 'SubscriptionRepository'],
338
- },
339
- {
340
- provide: 'SubscriptionPlanRepository',
341
- useFactory: (options) => {
342
- return new SubscriptionPlanFirestoreRepository(options);
343
214
  },
344
- deps: ['FirestoreOptions'],
345
- },
346
- {
347
- provide: 'SubscriptionProductRepository',
348
- useFactory: (options) => {
349
- return new SubscriptionProductFirestoreRepository(options);
350
- },
351
- deps: ['FirestoreOptions'],
352
- },
353
- {
354
- provide: 'SubscriptionRepository',
355
- useFactory: (options) => {
356
- return new SubscriptionFirestoreRepository(options);
357
- },
358
- deps: ['FirestoreOptions'],
359
- },
360
- {
361
- provide: 'UserRepository',
362
- useFactory: (options) => {
363
- return new UserFirestoreRepository(options);
364
- },
365
- deps: ['FirestoreOptions'],
366
- },
367
- {
368
- provide: 'UserAddressRepository',
369
- useFactory: (options, userRepository) => {
370
- return new UserAddressFirestoreRepository(options, userRepository);
371
- },
372
- deps: ['FirestoreOptions', 'UserRepository'],
373
- },
374
- {
375
- provide: 'UserPaymentMethodRepository',
376
- useFactory: (options, userRepository) => {
377
- return new UserPaymentMethodFirestoreRepository(options, userRepository);
378
- },
379
- deps: ['FirestoreOptions', 'UserRepository'],
380
- },
381
- {
382
- provide: 'SubscriptionMaterializationRepository',
383
- useFactory: (options) => {
384
- return new SubscriptionMaterializationFirestoreRepository(options);
385
- },
386
- deps: ['FirestoreOptions'],
387
- },
388
- {
389
- provide: 'SubscriptionSummaryRepository',
390
- useFactory: (options) => {
391
- return new SubscriptionSummaryFirestoreRepository(options);
392
- },
393
- deps: ['FirestoreOptions'],
394
- },
395
- {
396
- provide: ProductVariantFirestoreRepository,
397
- useFactory: (options, productRepository) => {
398
- return new ProductVariantFirestoreRepository(options, productRepository);
399
- },
400
- deps: ['FirestoreOptions', ProductFirestoreRepository],
401
- },
402
- ], imports: [AngularElasticSeachModule,
403
- provideFirestore((injector) => {
404
- const platformId = injector.get(PLATFORM_ID);
405
- if (isPlatformServer(platformId))
406
- return getFirestore(injector.get(FirebaseApp));
407
- if (!MobileOperationSystemCheckerHelper.isAppleDevice())
408
- return getFirestore(injector.get(FirebaseApp));
409
- const firestore = initializeFirestore(injector.get(FirebaseApp), {
410
- experimentalForceLongPolling: true,
411
- localCache: memoryLocalCache(),
412
- });
413
- return firestore;
414
- })] }); }
415
- }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, decorators: [{
215
+ }),
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: [{
417
429
  type: NgModule,
418
430
  args: [{
419
431
  imports: [
@@ -430,6 +442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
430
442
  });
431
443
  return firestore;
432
444
  }),
445
+ provideStorage(() => getStorage()),
433
446
  ],
434
447
  providers: [
435
448
  {
@@ -643,6 +656,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
643
656
  },
644
657
  deps: ['FirestoreOptions', ProductFirestoreRepository],
645
658
  },
659
+ {
660
+ provide: 'FileUploaderService',
661
+ useFactory: (storage, baseUrl) => {
662
+ return new FirebaseFileUploaderService(storage, baseUrl);
663
+ },
664
+ deps: [Storage, STORAGE_BASE_URL],
665
+ },
646
666
  ],
647
667
  }]
648
668
  }] });
@@ -654,132 +674,132 @@ class AngularHasuraGraphQLModule {
654
674
  providers: [{ provide: HASURA_OPTIONS, useValue: options }],
655
675
  };
656
676
  }
657
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
658
- static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule }); }
659
- static { thisinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
660
- {
661
- provide: 'HasuraConfig',
662
- useFactory: (options, platformId) => ({
663
- endpoint: options.endpoint,
664
- authOptions: options.credentials,
665
- interceptors: {
666
- request: (request) => {
667
- if (isPlatformBrowser(platformId))
668
- return request;
669
- const interval = setInterval(() => { }, 100);
670
- request.interval = interval;
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))
671
689
  return request;
672
- },
673
- response: (response, request) => {
674
- if (isPlatformBrowser(platformId))
675
- return response;
676
- clearInterval(request.interval);
690
+ const interval = setInterval(() => { }, 100);
691
+ request.interval = interval;
692
+ return request;
693
+ },
694
+ response: (response, request) => {
695
+ if (isPlatformBrowser(platformId))
677
696
  return response;
678
- },
697
+ clearInterval(request.interval);
698
+ return response;
679
699
  },
680
- }),
681
- deps: [HASURA_OPTIONS, PLATFORM_ID],
682
- },
683
- {
684
- provide: 'CategoryRepository',
685
- useExisting: CategoryHasuraGraphQLRepository,
686
- },
687
- {
688
- provide: CategoryHasuraGraphQLRepository,
689
- useFactory: (options, productRepository, categoryFilterRepository) => {
690
- return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository);
691
- },
692
- deps: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
693
- },
694
- {
695
- provide: 'ProductRepository',
696
- useExisting: ProductHasuraGraphQLRepository,
697
- },
698
- {
699
- provide: ProductHasuraGraphQLRepository,
700
- useFactory: (hasuraConfig) => {
701
- return new ProductHasuraGraphQLRepository(hasuraConfig);
702
- },
703
- deps: ['HasuraConfig'],
704
- },
705
- {
706
- provide: 'ProductReviewsRepository',
707
- useExisting: ProductReviewsHasuraGraphQLRepository,
708
- },
709
- {
710
- provide: ProductReviewsHasuraGraphQLRepository,
711
- useFactory: (hasuraConfig) => {
712
- return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
713
- },
714
- deps: ['HasuraConfig'],
715
- },
716
- {
717
- provide: 'VariantRepository',
718
- useExisting: VariantHasuraGraphQLRepository,
719
- },
720
- {
721
- provide: VariantHasuraGraphQLRepository,
722
- useFactory: (hasuraConfig) => {
723
- return new VariantHasuraGraphQLRepository(hasuraConfig);
724
- },
725
- deps: ['HasuraConfig'],
726
- },
727
- {
728
- provide: 'CategoryFilterRepository',
729
- useExisting: CategoryFilterHasuraGraphQLRepository,
730
- },
731
- {
732
- provide: CategoryFilterHasuraGraphQLRepository,
733
- useFactory: (options) => {
734
- return new CategoryFilterHasuraGraphQLRepository(options);
735
- },
736
- deps: ['HasuraConfig'],
737
- },
738
- {
739
- provide: 'FilterOptionRepository',
740
- useExisting: FilterOptionHasuraGraphQLRepository,
741
- },
742
- {
743
- provide: FilterOptionHasuraGraphQLRepository,
744
- useFactory: (options) => {
745
- return new FilterOptionHasuraGraphQLRepository(options);
746
- },
747
- deps: ['HasuraConfig'],
748
- },
749
- {
750
- provide: 'FilterRepository',
751
- useExisting: FilterHasuraGraphQLRepository,
752
- },
753
- {
754
- provide: FilterHasuraGraphQLRepository,
755
- useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
756
- return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository);
757
700
  },
758
- deps: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
759
- },
760
- {
761
- provide: CategoryCollectionChildrenHasuraGraphQLRepository,
762
- useFactory: (options) => new CategoryCollectionChildrenHasuraGraphQLRepository(options),
763
- deps: ['HasuraConfig'],
764
- },
765
- {
766
- provide: 'CategoryCollectionChildrenRepository',
767
- useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
768
- },
769
- {
770
- provide: WishlistHasuraGraphQLRepository,
771
- useFactory: (options, categoryFilterRepository) => {
772
- return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
773
- },
774
- deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
775
- },
776
- {
777
- provide: 'WishlistRepository',
778
- useExisting: WishlistHasuraGraphQLRepository,
779
- },
780
- ] }); }
781
- }
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
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: [{
783
803
  type: NgModule,
784
804
  args: [{
785
805
  providers: [
@@ -928,15 +948,15 @@ class AuthService {
928
948
  getFireUser() {
929
949
  return authState(this.angularFireAuth).pipe(catchError(() => of(null)));
930
950
  }
931
- 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 }); }
932
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService }); }
933
951
  }
934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AuthService, decorators: [{
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: [{
935
955
  type: Injectable
936
- }], ctorParameters: () => [{ type: i1.Auth }, { type: undefined, decorators: [{
956
+ }], ctorParameters: function () { return [{ type: i1.Auth }, { type: undefined, decorators: [{
937
957
  type: Inject,
938
958
  args: ['UserRepository']
939
- }] }] });
959
+ }] }]; } });
940
960
 
941
961
  class CouponService {
942
962
  constructor(couponRepository, defaultShop, orderRepository, categoryRepository) {
@@ -1127,15 +1147,15 @@ class CouponService {
1127
1147
  }
1128
1148
  return couponUseLimits;
1129
1149
  }
1130
- 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 }); }
1131
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, providedIn: 'root' }); }
1132
1150
  }
1133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, decorators: [{
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: [{
1134
1154
  type: Injectable,
1135
1155
  args: [{
1136
1156
  providedIn: 'root',
1137
1157
  }]
1138
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1158
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1139
1159
  type: Inject,
1140
1160
  args: ['CouponRepository']
1141
1161
  }] }, { type: i1$2.Shops, decorators: [{
@@ -1147,7 +1167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1147
1167
  }] }, { type: undefined, decorators: [{
1148
1168
  type: Inject,
1149
1169
  args: ['CategoryRepository']
1150
- }] }] });
1170
+ }] }]; } });
1151
1171
 
1152
1172
  class CheckoutService {
1153
1173
  constructor(couponService, checkoutRepository, orderRepository, userRepository, defaultShop) {
@@ -1191,12 +1211,12 @@ class CheckoutService {
1191
1211
  cookie.set('checkoutId', checkout.id);
1192
1212
  return checkout;
1193
1213
  }
1194
- 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 }); }
1195
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService }); }
1196
1214
  }
1197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, decorators: [{
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: [{
1198
1218
  type: Injectable
1199
- }], ctorParameters: () => [{ type: CouponService }, { type: undefined, decorators: [{
1219
+ }], ctorParameters: function () { return [{ type: CouponService }, { type: undefined, decorators: [{
1200
1220
  type: Inject,
1201
1221
  args: ['CheckoutRepository']
1202
1222
  }] }, { type: undefined, decorators: [{
@@ -1208,7 +1228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1208
1228
  }] }, { type: i1$2.Shops, decorators: [{
1209
1229
  type: Inject,
1210
1230
  args: [DEFAULT_SHOP]
1211
- }] }] });
1231
+ }] }]; } });
1212
1232
 
1213
1233
  class CartService {
1214
1234
  constructor(authService, checkoutService, defaultShop, productRepository, categoryRepository, variantRepository, buy2WinRepository) {
@@ -1458,12 +1478,12 @@ class CartService {
1458
1478
  });
1459
1479
  });
1460
1480
  }
1461
- 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 }); }
1462
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService }); }
1463
1481
  }
1464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService, decorators: [{
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: [{
1465
1485
  type: Injectable
1466
- }], ctorParameters: () => [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1486
+ }], ctorParameters: function () { return [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
1467
1487
  type: Inject,
1468
1488
  args: [DEFAULT_SHOP]
1469
1489
  }] }, { type: undefined, decorators: [{
@@ -1478,7 +1498,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1478
1498
  }] }, { type: i1$2.Buy2WinFirestoreRepository, decorators: [{
1479
1499
  type: Inject,
1480
1500
  args: ['Buy2WinRepository']
1481
- }] }] });
1501
+ }] }]; } });
1502
+
1503
+ class NewCategoryStructureAdapter {
1504
+ constructor(categoryRepository) {
1505
+ this.categoryRepository = categoryRepository;
1506
+ }
1507
+ async buildProductFilterByCategory(category) {
1508
+ const loadedCategory = await this.getCategory(category);
1509
+ if (loadedCategory.isCollection)
1510
+ return { id: { operator: Where.IN, value: loadedCategory.products } };
1511
+ const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
1512
+ return {
1513
+ category: {
1514
+ id: {
1515
+ operator: Where.IN,
1516
+ value: categoryIds,
1517
+ },
1518
+ },
1519
+ };
1520
+ }
1521
+ async getAllCategoriesIdFromCategory(category) {
1522
+ return this.categoryRepository
1523
+ .getChildren(+category.id)
1524
+ .then((categories) => categories.map((category) => category.id.toString()));
1525
+ }
1526
+ async getCategory(category) {
1527
+ return isNil(category.isCollection) || (category.isCollection && !category.products?.length)
1528
+ ? this.categoryRepository.get({ id: category.id })
1529
+ : category;
1530
+ }
1531
+ }
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: [{
1535
+ type: Injectable
1536
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1537
+ type: Inject,
1538
+ args: ['CategoryRepository']
1539
+ }] }]; } });
1540
+
1541
+ class OldCategoryStructureAdapter {
1542
+ constructor(categoryRepository) {
1543
+ this.categoryRepository = categoryRepository;
1544
+ }
1545
+ async buildProductFilterByCategory(category) {
1546
+ const productsIds = category.products?.length
1547
+ ? category.products
1548
+ : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1549
+ return { id: { operator: Where.IN, value: productsIds } };
1550
+ }
1551
+ }
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: [{
1555
+ type: Injectable
1556
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1557
+ type: Inject,
1558
+ args: ['CategoryRepository']
1559
+ }] }]; } });
1482
1560
 
1483
1561
  class CatalogService {
1484
1562
  constructor(productRepository, categoryStructureAdapter, shop, productIndex) {
@@ -1629,12 +1707,12 @@ class CatalogService {
1629
1707
  return [...new Set(sorted.map(({ _source }) => _source.id))];
1630
1708
  }));
1631
1709
  }
1632
- 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 }); }
1633
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService }); }
1634
1710
  }
1635
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, decorators: [{
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: [{
1636
1714
  type: Injectable
1637
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1715
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1638
1716
  type: Inject,
1639
1717
  args: ['ProductRepository']
1640
1718
  }] }, { type: undefined, decorators: [{
@@ -1643,7 +1721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1643
1721
  }] }, { type: i1$2.Shops, decorators: [{
1644
1722
  type: Inject,
1645
1723
  args: [DEFAULT_SHOP]
1646
- }] }, { type: i1$2.ProductsIndex }] });
1724
+ }] }, { type: i1$2.ProductsIndex }]; } });
1647
1725
 
1648
1726
  class CategoryService {
1649
1727
  constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
@@ -1669,12 +1747,12 @@ class CategoryService {
1669
1747
  .find({ filters: { categoryId: +category.id } })
1670
1748
  .then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
1671
1749
  }
1672
- 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 }); }
1673
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService }); }
1674
1750
  }
1675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService, decorators: [{
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: [{
1676
1754
  type: Injectable
1677
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1755
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1678
1756
  type: Inject,
1679
1757
  args: ['ProductRepository']
1680
1758
  }] }, { type: undefined, decorators: [{
@@ -1689,7 +1767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1689
1767
  }] }, { type: i1$2.Shops, decorators: [{
1690
1768
  type: Inject,
1691
1769
  args: [DEFAULT_SHOP]
1692
- }] }] });
1770
+ }] }]; } });
1693
1771
 
1694
1772
  var ProductSorts;
1695
1773
  (function (ProductSorts) {
@@ -1709,71 +1787,14 @@ __decorate([
1709
1787
  __metadata("design:type", Array)
1710
1788
  ], CategoryWithTree.prototype, "children", void 0);
1711
1789
 
1712
- class NewCategoryStructureAdapter {
1713
- constructor(categoryRepository) {
1714
- this.categoryRepository = categoryRepository;
1715
- }
1716
- async buildProductFilterByCategory(category) {
1717
- const loadedCategory = await this.getCategory(category);
1718
- if (loadedCategory.isCollection)
1719
- return { id: { operator: Where.IN, value: loadedCategory.products } };
1720
- const categoryIds = [...(await this.getAllCategoriesIdFromCategory(category)), category.id.toString()];
1721
- return {
1722
- category: {
1723
- id: {
1724
- operator: Where.IN,
1725
- value: categoryIds,
1726
- },
1727
- },
1728
- };
1729
- }
1730
- async getAllCategoriesIdFromCategory(category) {
1731
- return this.categoryRepository
1732
- .getChildren(+category.id)
1733
- .then((categories) => categories.map((category) => category.id.toString()));
1734
- }
1735
- async getCategory(category) {
1736
- return isNil(category.isCollection) || (category.isCollection && !category.products?.length)
1737
- ? this.categoryRepository.get({ id: category.id })
1738
- : category;
1739
- }
1740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1741
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
1742
- }
1743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
1744
- type: Injectable
1745
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1746
- type: Inject,
1747
- args: ['CategoryRepository']
1748
- }] }] });
1749
-
1750
- class OldCategoryStructureAdapter {
1751
- constructor(categoryRepository) {
1752
- this.categoryRepository = categoryRepository;
1753
- }
1754
- async buildProductFilterByCategory(category) {
1755
- const productsIds = category.products?.length
1756
- ? category.products
1757
- : await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
1758
- return { id: { operator: Where.IN, value: productsIds } };
1759
- }
1760
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
1761
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
1762
- }
1763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
1764
- type: Injectable
1765
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1766
- type: Inject,
1767
- args: ['CategoryRepository']
1768
- }] }] });
1769
-
1770
1790
  class WishlistService {
1771
- constructor(wishlistRepository, shop, productRepository, categoryFilterRepository, productIndex) {
1791
+ constructor(wishlistRepository, categoryRepository, shop, productRepository, categoryFilterRepository, productIndex) {
1772
1792
  this.wishlistRepository = wishlistRepository;
1793
+ this.categoryRepository = categoryRepository;
1773
1794
  this.shop = shop;
1774
1795
  const categoryStructureAdapter = new NewCategoryStructureAdapter(wishlistRepository);
1775
1796
  this.catalogService = new CatalogService(productRepository, categoryStructureAdapter, shop, productIndex);
1776
- this.categoryService = new CategoryService(productRepository, wishlistRepository, categoryFilterRepository, categoryStructureAdapter, shop);
1797
+ this.categoryService = new CategoryService(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop);
1777
1798
  }
1778
1799
  getCatalogService() {
1779
1800
  return this.catalogService;
@@ -1781,7 +1802,7 @@ class WishlistService {
1781
1802
  getCategoryService() {
1782
1803
  return this.categoryService;
1783
1804
  }
1784
- async create(personId, title, description, userFullName, userPhoto) {
1805
+ async create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1785
1806
  const data = {
1786
1807
  slug: '',
1787
1808
  name: title,
@@ -1797,11 +1818,14 @@ class WishlistService {
1797
1818
  personPhoto: userPhoto,
1798
1819
  brandCategory: false,
1799
1820
  published: true,
1821
+ theme,
1822
+ bannerUrl,
1800
1823
  };
1801
1824
  const newWishlist = await this.wishlistRepository.create(data);
1802
- return this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1825
+ await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1826
+ return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });
1803
1827
  }
1804
- update(id, title, description, userFullName, userPhoto) {
1828
+ update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }) {
1805
1829
  const data = {
1806
1830
  id,
1807
1831
  name: title,
@@ -1812,6 +1836,8 @@ class WishlistService {
1812
1836
  },
1813
1837
  personName: userFullName,
1814
1838
  personPhoto: userPhoto,
1839
+ theme,
1840
+ bannerUrl,
1815
1841
  };
1816
1842
  return this.wishlistRepository.update(data);
1817
1843
  }
@@ -1847,14 +1873,17 @@ class WishlistService {
1847
1873
  }
1848
1874
  return wishlist;
1849
1875
  }
1850
- 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: i1$2.ProductsIndex }], target: i0.ɵɵFactoryTarget.Injectable }); }
1851
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService }); }
1852
1876
  }
1853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, decorators: [{
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: [{
1854
1880
  type: Injectable
1855
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1881
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1856
1882
  type: Inject,
1857
1883
  args: ['WishlistRepository']
1884
+ }] }, { type: undefined, decorators: [{
1885
+ type: Inject,
1886
+ args: ['CategoryRepository']
1858
1887
  }] }, { type: i1$2.Shops, decorators: [{
1859
1888
  type: Inject,
1860
1889
  args: [DEFAULT_SHOP]
@@ -1864,7 +1893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
1864
1893
  }] }, { type: undefined, decorators: [{
1865
1894
  type: Inject,
1866
1895
  args: ['CategoryFilterRepository']
1867
- }] }, { type: i1$2.ProductsIndex }] });
1896
+ }] }, { type: i1$2.ProductsIndex }]; } });
1868
1897
 
1869
1898
  class CheckoutSubscriptionService {
1870
1899
  constructor(checkoutSubscriptionRepository, subscriptionRepository, couponService) {
@@ -1898,18 +1927,18 @@ class CheckoutSubscriptionService {
1898
1927
  calcDiscountSubscription(coupon) {
1899
1928
  return this.getCheckoutSubscription().pipe(concatMap((checkout) => this.couponService.calcDiscountSubscription(coupon, checkout).pipe()));
1900
1929
  }
1901
- 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 }); }
1902
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService }); }
1903
1930
  }
1904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
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: [{
1905
1934
  type: Injectable
1906
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1935
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1907
1936
  type: Inject,
1908
1937
  args: ['CheckoutSubscriptionRepository']
1909
1938
  }] }, { type: undefined, decorators: [{
1910
1939
  type: Inject,
1911
1940
  args: ['SubscriptionRepository']
1912
- }] }, { type: CouponService }] });
1941
+ }] }, { type: CouponService }]; } });
1913
1942
 
1914
1943
  class UtilHelper {
1915
1944
  static createSlug(name) {
@@ -1959,13 +1988,18 @@ class HomeShopService {
1959
1988
  'weight',
1960
1989
  'rate',
1961
1990
  'type',
1991
+ 'brand',
1962
1992
  ]))) || [],
1963
1993
  });
1964
1994
  }
1965
1995
  getHomeData() {
1966
1996
  return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
1967
1997
  ? of(home)
1968
- : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
1998
+ : forkJoin([
1999
+ this.getDiscoverProducts(this.gender),
2000
+ this.getFeaturedProducts(this.gender),
2001
+ this.getVerticalProducts(this.gender),
2002
+ ]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
1969
2003
  discoverProducts,
1970
2004
  featuredProducts,
1971
2005
  verticalProducts,
@@ -1987,15 +2021,18 @@ class HomeShopService {
1987
2021
  getMinValueForFreeShipping() {
1988
2022
  return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
1989
2023
  }
1990
- getDiscoverProducts() {
1991
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2024
+ getDiscoverProducts(gender) {
2025
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
1992
2026
  }
1993
- getFeaturedProducts() {
1994
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
2027
+ getFeaturedProducts(gender) {
2028
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
1995
2029
  }
1996
- getVerticalProducts() {
2030
+ getVerticalProducts(gender) {
1997
2031
  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({
1998
- filters: { categories: { operator: Where.IN, value: [category.id] } },
2032
+ filters: {
2033
+ categories: { operator: Where.IN, value: [category.id] },
2034
+ ...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
2035
+ },
1999
2036
  limits: { limit: 12 },
2000
2037
  })).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
2001
2038
  }
@@ -2017,12 +2054,15 @@ class HomeShopService {
2017
2054
  data,
2018
2055
  })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
2019
2056
  }
2020
- 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 }); }
2021
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService }); }
2057
+ get gender() {
2058
+ return this.homeId === 'mens_market' ? 'masculino' : undefined;
2059
+ }
2022
2060
  }
2023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService, decorators: [{
2061
+ 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 });
2062
+ HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
2063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
2024
2064
  type: Injectable
2025
- }], ctorParameters: () => [{ type: undefined, decorators: [{
2065
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2026
2066
  type: Inject,
2027
2067
  args: ['CategoryRepository']
2028
2068
  }] }, { type: undefined, decorators: [{
@@ -2034,7 +2074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
2034
2074
  }] }, { type: i1$2.Shops, decorators: [{
2035
2075
  type: Inject,
2036
2076
  args: [DEFAULT_SHOP]
2037
- }] }] });
2077
+ }] }]; } });
2038
2078
 
2039
2079
  class OrderService {
2040
2080
  constructor(angularFirestore, orderRepository) {
@@ -2048,15 +2088,15 @@ class OrderService {
2048
2088
  .subscribe((doc) => this.orderSubject.next(doc));
2049
2089
  return this.orderSubject;
2050
2090
  }
2051
- 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 }); }
2052
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService }); }
2053
2091
  }
2054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, decorators: [{
2092
+ 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 });
2093
+ OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
2094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
2055
2095
  type: Injectable
2056
- }], ctorParameters: () => [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2096
+ }], ctorParameters: function () { return [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
2057
2097
  type: Inject,
2058
2098
  args: ['OrderRepository']
2059
- }] }] });
2099
+ }] }]; } });
2060
2100
 
2061
2101
  class ShippingService {
2062
2102
  constructor(http, apiUrl, homeService) {
@@ -2134,15 +2174,15 @@ class ShippingService {
2134
2174
  }
2135
2175
  return false;
2136
2176
  }
2137
- 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 }); }
2138
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService }); }
2139
2177
  }
2140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, decorators: [{
2178
+ 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 });
2179
+ ShippingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService });
2180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ShippingService, decorators: [{
2141
2181
  type: Injectable
2142
- }], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2182
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
2143
2183
  type: Inject,
2144
2184
  args: [BACKEND_URL]
2145
- }] }, { type: HomeShopService }] });
2185
+ }] }, { type: HomeShopService }]; } });
2146
2186
 
2147
2187
  class AngularConnectModule {
2148
2188
  static initializeApp(defaultShop, options, nameOrConfig) {
@@ -2161,41 +2201,49 @@ class AngularConnectModule {
2161
2201
  ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
2162
2202
  ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),
2163
2203
  ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),
2204
+ ...(isNil(options?.storageBaseUrl) ? [] : [{ provide: STORAGE_BASE_URL, useValue: options.storageBaseUrl }]),
2164
2205
  ],
2165
2206
  };
2166
2207
  }
2167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2168
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2169
- AngularFirebaseAuthModule,
2170
- AngularFirestoreModule,
2171
- AngularHasuraGraphQLModule] }); }
2172
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, providers: [
2173
- AuthService,
2174
- CartService,
2175
- CatalogService,
2176
- CategoryService,
2177
- CheckoutService,
2178
- CheckoutSubscriptionService,
2179
- CouponService,
2180
- HomeShopService,
2181
- OrderService,
2182
- ShippingService,
2183
- WishlistService,
2184
- ], imports: [provideFirebaseApp((injector) => {
2185
- const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2186
- try {
2187
- return getApp(appName);
2188
- }
2189
- catch (error) {
2190
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2191
- }
2192
- }),
2193
- AngularElasticSeachModule,
2194
- AngularFirebaseAuthModule,
2195
- AngularFirestoreModule,
2196
- AngularHasuraGraphQLModule] }); }
2197
2208
  }
2198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, decorators: [{
2209
+ AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2210
+ AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
2211
+ AngularFirebaseAuthModule,
2212
+ AngularFirestoreModule,
2213
+ AngularHasuraGraphQLModule] });
2214
+ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
2215
+ AuthService,
2216
+ CartService,
2217
+ CatalogService,
2218
+ CategoryService,
2219
+ CheckoutService,
2220
+ CheckoutSubscriptionService,
2221
+ CouponService,
2222
+ HomeShopService,
2223
+ OrderService,
2224
+ ShippingService,
2225
+ WishlistService,
2226
+ {
2227
+ provide: UpdateUserImage,
2228
+ useFactory: (userRepository, fileUploader) => {
2229
+ return new UpdateUserImage(userRepository, fileUploader);
2230
+ },
2231
+ deps: ['UserRepository', 'FileUploaderService'],
2232
+ },
2233
+ ], imports: [provideFirebaseApp((injector) => {
2234
+ const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
2235
+ try {
2236
+ return getApp(appName);
2237
+ }
2238
+ catch (error) {
2239
+ return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
2240
+ }
2241
+ }),
2242
+ AngularElasticSeachModule,
2243
+ AngularFirebaseAuthModule,
2244
+ AngularFirestoreModule,
2245
+ AngularHasuraGraphQLModule] });
2246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
2199
2247
  type: NgModule,
2200
2248
  args: [{
2201
2249
  imports: [
@@ -2225,6 +2273,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
2225
2273
  OrderService,
2226
2274
  ShippingService,
2227
2275
  WishlistService,
2276
+ {
2277
+ provide: UpdateUserImage,
2278
+ useFactory: (userRepository, fileUploader) => {
2279
+ return new UpdateUserImage(userRepository, fileUploader);
2280
+ },
2281
+ deps: ['UserRepository', 'FileUploaderService'],
2282
+ },
2228
2283
  ],
2229
2284
  }]
2230
2285
  }] });
@@ -2233,5 +2288,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
2233
2288
  * Generated bundle index. Do not edit.
2234
2289
  */
2235
2290
 
2236
- export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ProductSorts, ShippingService, UtilHelper, WishlistService };
2291
+ export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, NewCategoryStructureAdapter, OldCategoryStructureAdapter, OrderService, ProductSorts, ShippingService, UtilHelper, WishlistService };
2237
2292
  //# sourceMappingURL=infrab4a-connect-angular.mjs.map