@infrab4a/connect-angular 4.3.1-beta.1 → 4.3.2
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.
- package/esm2022/angular-connect.module.mjs +113 -0
- package/esm2022/angular-elastic-search.module.mjs +34 -0
- package/esm2022/angular-firebase-auth.module.mjs +115 -0
- package/esm2022/angular-firestore.module.mjs +502 -0
- package/esm2022/angular-hasura-graphql.module.mjs +265 -0
- package/{esm2020 → esm2022}/services/auth.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/cart.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +6 -6
- package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +6 -6
- package/esm2022/services/catalog/catalog.service.mjs +174 -0
- package/{esm2020 → esm2022}/services/catalog/category.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/wishlist.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/checkout.service.mjs +6 -6
- package/esm2022/services/coupon.service.mjs +235 -0
- package/esm2022/services/home-shop.service.mjs +125 -0
- package/{esm2020 → esm2022}/services/order.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/shipping.service.mjs +6 -6
- package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +565 -534
- package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
- package/package.json +6 -12
- package/services/coupon.service.d.ts +1 -0
- package/services/home-shop.service.d.ts +1 -0
- package/esm2020/angular-connect.module.mjs +0 -113
- package/esm2020/angular-elastic-search.module.mjs +0 -34
- package/esm2020/angular-firebase-auth.module.mjs +0 -115
- package/esm2020/angular-firestore.module.mjs +0 -502
- package/esm2020/angular-hasura-graphql.module.mjs +0 -265
- package/esm2020/services/catalog/catalog.service.mjs +0 -170
- package/esm2020/services/coupon.service.mjs +0 -218
- package/esm2020/services/home-shop.service.mjs +0 -115
- package/fesm2015/infrab4a-connect-angular.mjs +0 -2350
- package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
- package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/consts/backend-url.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/category-structure.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/default-shop.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/es-config.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/firebase-const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/consts/storage-base-url.const.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +0 -0
- /package/{esm2020 → esm2022}/services/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +0 -0
- /package/{esm2020 → esm2022}/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +0 -0
- /package/{esm2020 → esm2022}/services/types/shipping-methods.type.mjs +0 -0
- /package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +0 -0
- /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,
|
|
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,
|
|
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,
|
|
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,
|
|
14
|
-
import { combineLatest,
|
|
15
|
-
import { map,
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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 { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1$1.FirestoreModule, i2.StorageModule] }); }
|
|
194
|
+
static { this.ɵinj = 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
|
-
|
|
205
|
-
request
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
-
|
|
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);
|
|
214
382
|
},
|
|
383
|
+
deps: ['FirestoreOptions', 'UserRepository'],
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
provide: 'SubscriptionMaterializationRepository',
|
|
387
|
+
useFactory: (options) => {
|
|
388
|
+
return new SubscriptionMaterializationFirestoreRepository(options);
|
|
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
|
-
|
|
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
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
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 { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularHasuraGraphQLModule }); }
|
|
679
|
+
static { this.ɵinj = 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
|
-
|
|
691
|
-
request
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
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
|
-
|
|
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
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
}
|
|
790
|
-
|
|
791
|
-
|
|
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
|
-
|
|
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:
|
|
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) {
|
|
@@ -1001,6 +1001,11 @@ class CouponService {
|
|
|
1001
1001
|
if (!validUser)
|
|
1002
1002
|
throw 'Usuário não elegível.';
|
|
1003
1003
|
const couponUseLimits = this.getCouponUseLimits(coupon, checkoutType, checkout.user);
|
|
1004
|
+
if (couponUseLimits.firstOrder) {
|
|
1005
|
+
const ordersUser = await this.getOrdersFromUser(checkout.user.email.toLocaleLowerCase());
|
|
1006
|
+
if (couponUseLimits.firstOrder && ordersUser.length >= 1)
|
|
1007
|
+
throw 'Limite de uso atingido';
|
|
1008
|
+
}
|
|
1004
1009
|
if (!couponUseLimits.unlimited || couponUseLimits.limitedPerUser) {
|
|
1005
1010
|
const orders = await this.getOrdersWithCoupon(coupon);
|
|
1006
1011
|
if (!couponUseLimits.unlimited && couponUseLimits.total && orders.length >= couponUseLimits.total)
|
|
@@ -1074,9 +1079,11 @@ class CouponService {
|
|
|
1074
1079
|
if (!user || coupon.exclusivityType.includes(Exclusivities.ALL_USERS))
|
|
1075
1080
|
return true;
|
|
1076
1081
|
let userTypes = [];
|
|
1077
|
-
if (coupon.exclusivityType.includes(Exclusivities.COLLABORATORS) &&
|
|
1082
|
+
if (coupon.exclusivityType.includes(Exclusivities.COLLABORATORS) &&
|
|
1083
|
+
this.emailIsFromCollaborator(user.email.toLocaleLowerCase()))
|
|
1078
1084
|
userTypes.push(Exclusivities.COLLABORATORS);
|
|
1079
|
-
if (coupon.exclusivityType.includes(Exclusivities.SPECIFIC_USER) &&
|
|
1085
|
+
if (coupon.exclusivityType.includes(Exclusivities.SPECIFIC_USER) &&
|
|
1086
|
+
coupon.userExclusiveEmail.includes(user.email.toLocaleLowerCase()))
|
|
1080
1087
|
userTypes.push(Exclusivities.SPECIFIC_USER);
|
|
1081
1088
|
if (coupon.exclusivityType.includes(Exclusivities.ACTIVE_SUBSCRIBER) &&
|
|
1082
1089
|
user.isSubscriber &&
|
|
@@ -1134,6 +1141,16 @@ class CouponService {
|
|
|
1134
1141
|
})
|
|
1135
1142
|
.then((result) => result.data);
|
|
1136
1143
|
}
|
|
1144
|
+
async getOrdersFromUser(email) {
|
|
1145
|
+
return await this.orderRepository
|
|
1146
|
+
.find({
|
|
1147
|
+
filters: {
|
|
1148
|
+
user: { email: { operator: Where.EQUALS, value: email } },
|
|
1149
|
+
payment: { status: 'paid' },
|
|
1150
|
+
},
|
|
1151
|
+
})
|
|
1152
|
+
.then((result) => result.data);
|
|
1153
|
+
}
|
|
1137
1154
|
countOrdersWithUser(orders, email) {
|
|
1138
1155
|
return orders.filter((o) => o.user.email == email).length;
|
|
1139
1156
|
}
|
|
@@ -1147,15 +1164,15 @@ class CouponService {
|
|
|
1147
1164
|
}
|
|
1148
1165
|
return couponUseLimits;
|
|
1149
1166
|
}
|
|
1167
|
+
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 }); }
|
|
1168
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, providedIn: 'root' }); }
|
|
1150
1169
|
}
|
|
1151
|
-
|
|
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: [{
|
|
1170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CouponService, decorators: [{
|
|
1154
1171
|
type: Injectable,
|
|
1155
1172
|
args: [{
|
|
1156
1173
|
providedIn: 'root',
|
|
1157
1174
|
}]
|
|
1158
|
-
}], ctorParameters:
|
|
1175
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1159
1176
|
type: Inject,
|
|
1160
1177
|
args: ['CouponRepository']
|
|
1161
1178
|
}] }, { type: i1$2.Shops, decorators: [{
|
|
@@ -1167,7 +1184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1167
1184
|
}] }, { type: undefined, decorators: [{
|
|
1168
1185
|
type: Inject,
|
|
1169
1186
|
args: ['CategoryRepository']
|
|
1170
|
-
}] }]
|
|
1187
|
+
}] }] });
|
|
1171
1188
|
|
|
1172
1189
|
class CheckoutService {
|
|
1173
1190
|
constructor(couponService, checkoutRepository, orderRepository, userRepository, defaultShop) {
|
|
@@ -1211,12 +1228,12 @@ class CheckoutService {
|
|
|
1211
1228
|
cookie.set('checkoutId', checkout.id);
|
|
1212
1229
|
return checkout;
|
|
1213
1230
|
}
|
|
1231
|
+
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 }); }
|
|
1232
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService }); }
|
|
1214
1233
|
}
|
|
1215
|
-
|
|
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: [{
|
|
1234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutService, decorators: [{
|
|
1218
1235
|
type: Injectable
|
|
1219
|
-
}], ctorParameters:
|
|
1236
|
+
}], ctorParameters: () => [{ type: CouponService }, { type: undefined, decorators: [{
|
|
1220
1237
|
type: Inject,
|
|
1221
1238
|
args: ['CheckoutRepository']
|
|
1222
1239
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1228,7 +1245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1228
1245
|
}] }, { type: i1$2.Shops, decorators: [{
|
|
1229
1246
|
type: Inject,
|
|
1230
1247
|
args: [DEFAULT_SHOP]
|
|
1231
|
-
}] }]
|
|
1248
|
+
}] }] });
|
|
1232
1249
|
|
|
1233
1250
|
class CartService {
|
|
1234
1251
|
constructor(authService, checkoutService, defaultShop, productRepository, categoryRepository, variantRepository, buy2WinRepository) {
|
|
@@ -1478,12 +1495,12 @@ class CartService {
|
|
|
1478
1495
|
});
|
|
1479
1496
|
});
|
|
1480
1497
|
}
|
|
1498
|
+
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 }); }
|
|
1499
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService }); }
|
|
1481
1500
|
}
|
|
1482
|
-
|
|
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: [{
|
|
1501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CartService, decorators: [{
|
|
1485
1502
|
type: Injectable
|
|
1486
|
-
}], ctorParameters:
|
|
1503
|
+
}], ctorParameters: () => [{ type: AuthService }, { type: CheckoutService }, { type: i1$2.Shops, decorators: [{
|
|
1487
1504
|
type: Inject,
|
|
1488
1505
|
args: [DEFAULT_SHOP]
|
|
1489
1506
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1498,7 +1515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1498
1515
|
}] }, { type: i1$2.Buy2WinFirestoreRepository, decorators: [{
|
|
1499
1516
|
type: Inject,
|
|
1500
1517
|
args: ['Buy2WinRepository']
|
|
1501
|
-
}] }]
|
|
1518
|
+
}] }] });
|
|
1502
1519
|
|
|
1503
1520
|
class NewCategoryStructureAdapter {
|
|
1504
1521
|
constructor(categoryRepository) {
|
|
@@ -1528,15 +1545,15 @@ class NewCategoryStructureAdapter {
|
|
|
1528
1545
|
? this.categoryRepository.get({ id: category.id })
|
|
1529
1546
|
: category;
|
|
1530
1547
|
}
|
|
1548
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1549
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter }); }
|
|
1531
1550
|
}
|
|
1532
|
-
|
|
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: [{
|
|
1551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NewCategoryStructureAdapter, decorators: [{
|
|
1535
1552
|
type: Injectable
|
|
1536
|
-
}], ctorParameters:
|
|
1553
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1537
1554
|
type: Inject,
|
|
1538
1555
|
args: ['CategoryRepository']
|
|
1539
|
-
}] }]
|
|
1556
|
+
}] }] });
|
|
1540
1557
|
|
|
1541
1558
|
class OldCategoryStructureAdapter {
|
|
1542
1559
|
constructor(categoryRepository) {
|
|
@@ -1548,15 +1565,15 @@ class OldCategoryStructureAdapter {
|
|
|
1548
1565
|
: await this.categoryRepository.get({ id: category.id }).then((categoryFound) => categoryFound.products);
|
|
1549
1566
|
return { id: { operator: Where.IN, value: productsIds } };
|
|
1550
1567
|
}
|
|
1568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, deps: [{ token: 'CategoryRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1569
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter }); }
|
|
1551
1570
|
}
|
|
1552
|
-
|
|
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: [{
|
|
1571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OldCategoryStructureAdapter, decorators: [{
|
|
1555
1572
|
type: Injectable
|
|
1556
|
-
}], ctorParameters:
|
|
1573
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1557
1574
|
type: Inject,
|
|
1558
1575
|
args: ['CategoryRepository']
|
|
1559
|
-
}] }]
|
|
1576
|
+
}] }] });
|
|
1560
1577
|
|
|
1561
1578
|
class CatalogService {
|
|
1562
1579
|
constructor(productRepository, categoryStructureAdapter, shop, productIndex) {
|
|
@@ -1667,7 +1684,7 @@ class CatalogService {
|
|
|
1667
1684
|
async findCatalogByTermAndSortByMostRevelant(options, limits) {
|
|
1668
1685
|
const productIds = await this.findCatalogIdsByElasticSearch(options.term);
|
|
1669
1686
|
const totalResult = await this.productRepository.findCatalog({
|
|
1670
|
-
fields: ['id'],
|
|
1687
|
+
fields: ['id', 'stock'],
|
|
1671
1688
|
filters: {
|
|
1672
1689
|
id: { operator: Where.IN, value: productIds },
|
|
1673
1690
|
...this.buildFilterQuery(options?.filters || {}),
|
|
@@ -1678,9 +1695,13 @@ class CatalogService {
|
|
|
1678
1695
|
distinct: ['brand'],
|
|
1679
1696
|
},
|
|
1680
1697
|
}, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female');
|
|
1681
|
-
const
|
|
1682
|
-
|
|
1683
|
-
|
|
1698
|
+
const stockData = totalResult.data.filter((product) => product.stock.quantity > 0);
|
|
1699
|
+
const stockOut = totalResult.data.filter((product) => product.stock.quantity <= 0);
|
|
1700
|
+
const productIdsStock = productIds.filter((product) => stockData.some((result) => result.id == product));
|
|
1701
|
+
const productIdsStockOut = productIds.filter((product) => stockOut.some((result) => result.id == product));
|
|
1702
|
+
const limitedProductId = productIdsStock
|
|
1703
|
+
.concat(productIdsStockOut)
|
|
1704
|
+
.slice(limits.offset, limits.offset + limits.limit);
|
|
1684
1705
|
const orderedId = productIds.filter((product) => limitedProductId.includes(product));
|
|
1685
1706
|
const productResult = await this.productRepository.findCatalog({
|
|
1686
1707
|
filters: {
|
|
@@ -1707,12 +1728,12 @@ class CatalogService {
|
|
|
1707
1728
|
return [...new Set(sorted.map(({ _source }) => _source.id))];
|
|
1708
1729
|
}));
|
|
1709
1730
|
}
|
|
1731
|
+
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 }); }
|
|
1732
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService }); }
|
|
1710
1733
|
}
|
|
1711
|
-
|
|
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: [{
|
|
1734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CatalogService, decorators: [{
|
|
1714
1735
|
type: Injectable
|
|
1715
|
-
}], ctorParameters:
|
|
1736
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1716
1737
|
type: Inject,
|
|
1717
1738
|
args: ['ProductRepository']
|
|
1718
1739
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1721,7 +1742,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1721
1742
|
}] }, { type: i1$2.Shops, decorators: [{
|
|
1722
1743
|
type: Inject,
|
|
1723
1744
|
args: [DEFAULT_SHOP]
|
|
1724
|
-
}] }, { type: i1$2.ProductsIndex }]
|
|
1745
|
+
}] }, { type: i1$2.ProductsIndex }] });
|
|
1725
1746
|
|
|
1726
1747
|
class CategoryService {
|
|
1727
1748
|
constructor(productRepository, categoryRepository, categoryFilterRepository, categoryStructureAdapter, shop) {
|
|
@@ -1747,12 +1768,12 @@ class CategoryService {
|
|
|
1747
1768
|
.find({ filters: { categoryId: +category.id } })
|
|
1748
1769
|
.then(({ data }) => data.map((categoryFilter) => categoryFilter.filter));
|
|
1749
1770
|
}
|
|
1771
|
+
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 }); }
|
|
1772
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService }); }
|
|
1750
1773
|
}
|
|
1751
|
-
|
|
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: [{
|
|
1774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CategoryService, decorators: [{
|
|
1754
1775
|
type: Injectable
|
|
1755
|
-
}], ctorParameters:
|
|
1776
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1756
1777
|
type: Inject,
|
|
1757
1778
|
args: ['ProductRepository']
|
|
1758
1779
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1767,7 +1788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1767
1788
|
}] }, { type: i1$2.Shops, decorators: [{
|
|
1768
1789
|
type: Inject,
|
|
1769
1790
|
args: [DEFAULT_SHOP]
|
|
1770
|
-
}] }]
|
|
1791
|
+
}] }] });
|
|
1771
1792
|
|
|
1772
1793
|
var ProductSorts;
|
|
1773
1794
|
(function (ProductSorts) {
|
|
@@ -1873,12 +1894,12 @@ class WishlistService {
|
|
|
1873
1894
|
}
|
|
1874
1895
|
return wishlist;
|
|
1875
1896
|
}
|
|
1897
|
+
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 }); }
|
|
1898
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService }); }
|
|
1876
1899
|
}
|
|
1877
|
-
|
|
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: [{
|
|
1900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WishlistService, decorators: [{
|
|
1880
1901
|
type: Injectable
|
|
1881
|
-
}], ctorParameters:
|
|
1902
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1882
1903
|
type: Inject,
|
|
1883
1904
|
args: ['WishlistRepository']
|
|
1884
1905
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1893,7 +1914,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
1893
1914
|
}] }, { type: undefined, decorators: [{
|
|
1894
1915
|
type: Inject,
|
|
1895
1916
|
args: ['CategoryFilterRepository']
|
|
1896
|
-
}] }, { type: i1$2.ProductsIndex }]
|
|
1917
|
+
}] }, { type: i1$2.ProductsIndex }] });
|
|
1897
1918
|
|
|
1898
1919
|
class CheckoutSubscriptionService {
|
|
1899
1920
|
constructor(checkoutSubscriptionRepository, subscriptionRepository, couponService) {
|
|
@@ -1927,18 +1948,18 @@ class CheckoutSubscriptionService {
|
|
|
1927
1948
|
calcDiscountSubscription(coupon) {
|
|
1928
1949
|
return this.getCheckoutSubscription().pipe(concatMap((checkout) => this.couponService.calcDiscountSubscription(coupon, checkout).pipe()));
|
|
1929
1950
|
}
|
|
1951
|
+
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 }); }
|
|
1952
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService }); }
|
|
1930
1953
|
}
|
|
1931
|
-
|
|
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: [{
|
|
1954
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: CheckoutSubscriptionService, decorators: [{
|
|
1934
1955
|
type: Injectable
|
|
1935
|
-
}], ctorParameters:
|
|
1956
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1936
1957
|
type: Inject,
|
|
1937
1958
|
args: ['CheckoutSubscriptionRepository']
|
|
1938
1959
|
}] }, { type: undefined, decorators: [{
|
|
1939
1960
|
type: Inject,
|
|
1940
1961
|
args: ['SubscriptionRepository']
|
|
1941
|
-
}] }, { type: CouponService }]
|
|
1962
|
+
}] }, { type: CouponService }] });
|
|
1942
1963
|
|
|
1943
1964
|
class UtilHelper {
|
|
1944
1965
|
static createSlug(name) {
|
|
@@ -1995,7 +2016,11 @@ class HomeShopService {
|
|
|
1995
2016
|
getHomeData() {
|
|
1996
2017
|
return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
|
|
1997
2018
|
? of(home)
|
|
1998
|
-
: forkJoin([
|
|
2019
|
+
: forkJoin([
|
|
2020
|
+
this.getDiscoverProducts(this.gender),
|
|
2021
|
+
this.getFeaturedProducts(this.gender),
|
|
2022
|
+
this.getVerticalProducts(this.gender),
|
|
2023
|
+
]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
|
|
1999
2024
|
discoverProducts,
|
|
2000
2025
|
featuredProducts,
|
|
2001
2026
|
verticalProducts,
|
|
@@ -2017,15 +2042,18 @@ class HomeShopService {
|
|
|
2017
2042
|
getMinValueForFreeShipping() {
|
|
2018
2043
|
return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
|
|
2019
2044
|
}
|
|
2020
|
-
getDiscoverProducts() {
|
|
2021
|
-
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
2045
|
+
getDiscoverProducts(gender) {
|
|
2046
|
+
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
2022
2047
|
}
|
|
2023
|
-
getFeaturedProducts() {
|
|
2024
|
-
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
2048
|
+
getFeaturedProducts(gender) {
|
|
2049
|
+
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories, undefined, gender)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
2025
2050
|
}
|
|
2026
|
-
getVerticalProducts() {
|
|
2051
|
+
getVerticalProducts(gender) {
|
|
2027
2052
|
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: {
|
|
2053
|
+
filters: {
|
|
2054
|
+
categories: { operator: Where.IN, value: [category.id] },
|
|
2055
|
+
...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
|
|
2056
|
+
},
|
|
2029
2057
|
limits: { limit: 12 },
|
|
2030
2058
|
})).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
|
|
2031
2059
|
}
|
|
@@ -2047,12 +2075,15 @@ class HomeShopService {
|
|
|
2047
2075
|
data,
|
|
2048
2076
|
})).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
|
|
2049
2077
|
}
|
|
2078
|
+
get gender() {
|
|
2079
|
+
return this.homeId === 'mens_market' ? 'masculino' : undefined;
|
|
2080
|
+
}
|
|
2081
|
+
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 }); }
|
|
2082
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService }); }
|
|
2050
2083
|
}
|
|
2051
|
-
|
|
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: [{
|
|
2084
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HomeShopService, decorators: [{
|
|
2054
2085
|
type: Injectable
|
|
2055
|
-
}], ctorParameters:
|
|
2086
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2056
2087
|
type: Inject,
|
|
2057
2088
|
args: ['CategoryRepository']
|
|
2058
2089
|
}] }, { type: undefined, decorators: [{
|
|
@@ -2064,7 +2095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
2064
2095
|
}] }, { type: i1$2.Shops, decorators: [{
|
|
2065
2096
|
type: Inject,
|
|
2066
2097
|
args: [DEFAULT_SHOP]
|
|
2067
|
-
}] }]
|
|
2098
|
+
}] }] });
|
|
2068
2099
|
|
|
2069
2100
|
class OrderService {
|
|
2070
2101
|
constructor(angularFirestore, orderRepository) {
|
|
@@ -2078,15 +2109,15 @@ class OrderService {
|
|
|
2078
2109
|
.subscribe((doc) => this.orderSubject.next(doc));
|
|
2079
2110
|
return this.orderSubject;
|
|
2080
2111
|
}
|
|
2112
|
+
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 }); }
|
|
2113
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService }); }
|
|
2081
2114
|
}
|
|
2082
|
-
|
|
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: [{
|
|
2115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, decorators: [{
|
|
2085
2116
|
type: Injectable
|
|
2086
|
-
}], ctorParameters:
|
|
2117
|
+
}], ctorParameters: () => [{ type: i1$1.Firestore }, { type: i1$2.OrderFirestoreRepository, decorators: [{
|
|
2087
2118
|
type: Inject,
|
|
2088
2119
|
args: ['OrderRepository']
|
|
2089
|
-
}] }]
|
|
2120
|
+
}] }] });
|
|
2090
2121
|
|
|
2091
2122
|
class ShippingService {
|
|
2092
2123
|
constructor(http, apiUrl, homeService) {
|
|
@@ -2164,15 +2195,15 @@ class ShippingService {
|
|
|
2164
2195
|
}
|
|
2165
2196
|
return false;
|
|
2166
2197
|
}
|
|
2198
|
+
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 }); }
|
|
2199
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService }); }
|
|
2167
2200
|
}
|
|
2168
|
-
|
|
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: [{
|
|
2201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ShippingService, decorators: [{
|
|
2171
2202
|
type: Injectable
|
|
2172
|
-
}], ctorParameters:
|
|
2203
|
+
}], ctorParameters: () => [{ type: i1$3.HttpClient }, { type: undefined, decorators: [{
|
|
2173
2204
|
type: Inject,
|
|
2174
2205
|
args: [BACKEND_URL]
|
|
2175
|
-
}] }, { type: HomeShopService }]
|
|
2206
|
+
}] }, { type: HomeShopService }] });
|
|
2176
2207
|
|
|
2177
2208
|
class AngularConnectModule {
|
|
2178
2209
|
static initializeApp(defaultShop, options, nameOrConfig) {
|
|
@@ -2195,45 +2226,45 @@ class AngularConnectModule {
|
|
|
2195
2226
|
],
|
|
2196
2227
|
};
|
|
2197
2228
|
}
|
|
2229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2230
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, imports: [i1$4.FirebaseAppModule, AngularElasticSeachModule,
|
|
2231
|
+
AngularFirebaseAuthModule,
|
|
2232
|
+
AngularFirestoreModule,
|
|
2233
|
+
AngularHasuraGraphQLModule] }); }
|
|
2234
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, providers: [
|
|
2235
|
+
AuthService,
|
|
2236
|
+
CartService,
|
|
2237
|
+
CatalogService,
|
|
2238
|
+
CategoryService,
|
|
2239
|
+
CheckoutService,
|
|
2240
|
+
CheckoutSubscriptionService,
|
|
2241
|
+
CouponService,
|
|
2242
|
+
HomeShopService,
|
|
2243
|
+
OrderService,
|
|
2244
|
+
ShippingService,
|
|
2245
|
+
WishlistService,
|
|
2246
|
+
{
|
|
2247
|
+
provide: UpdateUserImage,
|
|
2248
|
+
useFactory: (userRepository, fileUploader) => {
|
|
2249
|
+
return new UpdateUserImage(userRepository, fileUploader);
|
|
2250
|
+
},
|
|
2251
|
+
deps: ['UserRepository', 'FileUploaderService'],
|
|
2252
|
+
},
|
|
2253
|
+
], imports: [provideFirebaseApp((injector) => {
|
|
2254
|
+
const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
|
|
2255
|
+
try {
|
|
2256
|
+
return getApp(appName);
|
|
2257
|
+
}
|
|
2258
|
+
catch (error) {
|
|
2259
|
+
return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
|
|
2260
|
+
}
|
|
2261
|
+
}),
|
|
2262
|
+
AngularElasticSeachModule,
|
|
2263
|
+
AngularFirebaseAuthModule,
|
|
2264
|
+
AngularFirestoreModule,
|
|
2265
|
+
AngularHasuraGraphQLModule] }); }
|
|
2198
2266
|
}
|
|
2199
|
-
|
|
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: [{
|
|
2267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularConnectModule, decorators: [{
|
|
2237
2268
|
type: NgModule,
|
|
2238
2269
|
args: [{
|
|
2239
2270
|
imports: [
|