@infrab4a/connect-angular 3.6.0-beta.3 → 3.6.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.
- package/bundles/infrab4a-connect-angular.umd.js +115 -89
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
- package/esm2015/angular-connect.module.js +5 -5
- package/esm2015/angular-firestore.module.js +17 -31
- package/esm2015/angular-hasura-graphql.module.js +74 -8
- package/esm2015/services/coupon.service.js +26 -41
- package/esm2015/services/shipping.service.js +7 -8
- package/fesm2015/infrab4a-connect-angular.js +119 -83
- package/fesm2015/infrab4a-connect-angular.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@ import { of, combineLatest, from, throwError, Subject, iif, forkJoin } from 'rxj
|
|
|
6
6
|
import { catchError, map, mergeMap, concatMap, tap } from 'rxjs/operators';
|
|
7
7
|
import { __awaiter } from 'tslib';
|
|
8
8
|
import * as i1$1 from '@infrab4a/connect';
|
|
9
|
-
import { Coupon, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities,
|
|
9
|
+
import { Coupon, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, CheckoutSubscription, Category, Product, RequiredArgumentError, add, Order, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ProductsIndex, AxiosAdapter, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository } from '@infrab4a/connect';
|
|
10
10
|
import cookie from 'js-cookie';
|
|
11
11
|
import { CustomError } from 'ts-custom-error';
|
|
12
12
|
import * as i1$2 from '@angular/fire/firestore';
|
|
@@ -164,7 +164,7 @@ class CouponService {
|
|
|
164
164
|
// Verifica o limite de uso geral por usuario
|
|
165
165
|
if (coupon.useLimit && orders.data.length >= coupon.useLimit)
|
|
166
166
|
throw new InvalidCouponError('Limite de uso atingido.');
|
|
167
|
-
const validUser =
|
|
167
|
+
const validUser = this.userValidationAndSubscriptionStatus(coupon, checkout.user);
|
|
168
168
|
if (!validUser)
|
|
169
169
|
throw new InvalidCouponError('Usuário não elegível.');
|
|
170
170
|
const hasProductCategories = yield this.hasProductCategories(coupon, checkout);
|
|
@@ -209,7 +209,7 @@ class CouponService {
|
|
|
209
209
|
lineItensDiscount = (_a = checkout.lineItems) === null || _a === void 0 ? void 0 : _a.filter((i) => {
|
|
210
210
|
var _a;
|
|
211
211
|
if ((_a = i.categories) === null || _a === void 0 ? void 0 : _a.length) {
|
|
212
|
-
return i.categories.some((c) => couponCategories.some(cat =>
|
|
212
|
+
return i.categories.some((c) => couponCategories.some((cat) => cat.id == c || cat.firestoreId == c));
|
|
213
213
|
}
|
|
214
214
|
return true;
|
|
215
215
|
});
|
|
@@ -249,56 +249,41 @@ class CouponService {
|
|
|
249
249
|
return true;
|
|
250
250
|
}
|
|
251
251
|
const couponCategories = yield this.getCouponCategoriesId(coupon);
|
|
252
|
-
const hasCategories = (_a = checkout.lineItems) === null || _a === void 0 ? void 0 : _a.filter(i => {
|
|
252
|
+
const hasCategories = (_a = checkout.lineItems) === null || _a === void 0 ? void 0 : _a.filter((i) => {
|
|
253
253
|
var _a;
|
|
254
254
|
if (!i.categories || !((_a = i.categories) === null || _a === void 0 ? void 0 : _a.length))
|
|
255
255
|
return true;
|
|
256
|
-
return i.categories.some((c) => couponCategories.some(cat =>
|
|
256
|
+
return i.categories.some((c) => couponCategories.some((cat) => cat.id == c || cat.firestoreId == c));
|
|
257
257
|
});
|
|
258
258
|
return hasCategories.length ? true : false;
|
|
259
259
|
});
|
|
260
260
|
}
|
|
261
|
-
userValidationAndSubscriptionStatus(coupon,
|
|
262
|
-
|
|
263
|
-
// Verifica se o email do usuário é coorporativo
|
|
264
|
-
if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)
|
|
265
|
-
throw new InvalidCouponError('Você não é colaborador.');
|
|
266
|
-
// Verifica se o email do usuário é associado ao cupom de uso por usuario
|
|
267
|
-
if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== userEmail)
|
|
268
|
-
throw new InvalidCouponError('Cupom não é válido para este usuário.');
|
|
269
|
-
const couponRuleSubscription = coupon.exclusivityType === Exclusivities.ACTIVE_SUBSCRIBER ||
|
|
270
|
-
coupon.exclusivityType === Exclusivities.INACTIVE_SUBSCRIBER ||
|
|
271
|
-
coupon.exclusivityType === Exclusivities.NON_SUBSCRIBER;
|
|
272
|
-
if (couponRuleSubscription && userEmail) {
|
|
273
|
-
const sub = yield this.subscriptionRepository
|
|
274
|
-
.find({
|
|
275
|
-
filters: {
|
|
276
|
-
user: {
|
|
277
|
-
email: { operator: Where.EQUALS, value: userEmail },
|
|
278
|
-
},
|
|
279
|
-
},
|
|
280
|
-
})
|
|
281
|
-
.then((sub) => sub.data);
|
|
282
|
-
const activeSubs = sub === null || sub === void 0 ? void 0 : sub.filter((s) => s.status === Status.ACTIVE);
|
|
283
|
-
switch (coupon.exclusivityType) {
|
|
284
|
-
case Exclusivities.ACTIVE_SUBSCRIBER:
|
|
285
|
-
return activeSubs.length > 0;
|
|
286
|
-
case Exclusivities.INACTIVE_SUBSCRIBER:
|
|
287
|
-
return activeSubs.length === 0;
|
|
288
|
-
case Exclusivities.NON_SUBSCRIBER:
|
|
289
|
-
return sub.length === 0;
|
|
290
|
-
default:
|
|
291
|
-
return false;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
261
|
+
userValidationAndSubscriptionStatus(coupon, user) {
|
|
262
|
+
if (coupon.exclusivityType === Exclusivities.ALL_USERS)
|
|
294
263
|
return true;
|
|
295
|
-
|
|
264
|
+
// Verifica se o email do usuário é coorporativo
|
|
265
|
+
if (!this.emailIsFromCollaborator(user.email) && coupon.exclusivityType === Exclusivities.COLLABORATORS)
|
|
266
|
+
throw new InvalidCouponError('Você não é colaborador.');
|
|
267
|
+
// Verifica se o email do usuário é associado ao cupom de uso por usuario
|
|
268
|
+
if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== user.email)
|
|
269
|
+
throw new InvalidCouponError('Cupom não é válido para este usuário.');
|
|
270
|
+
switch (coupon.exclusivityType) {
|
|
271
|
+
case Exclusivities.ACTIVE_SUBSCRIBER:
|
|
272
|
+
return user.isSubscriber ? true : false;
|
|
273
|
+
case Exclusivities.INACTIVE_SUBSCRIBER:
|
|
274
|
+
return user.isSubscriber ? false : true;
|
|
275
|
+
case Exclusivities.NON_SUBSCRIBER:
|
|
276
|
+
return user.isSubscriber ? false : true;
|
|
277
|
+
}
|
|
278
|
+
return true;
|
|
296
279
|
}
|
|
297
280
|
getCouponCategoriesId(coupon) {
|
|
298
281
|
return __awaiter(this, void 0, void 0, function* () {
|
|
299
282
|
let couponCategories = [];
|
|
300
283
|
for (let index = 0; index < coupon.productsCategories.length; index++) {
|
|
301
|
-
let c = yield this.categoryRepository.get({
|
|
284
|
+
let c = yield this.categoryRepository.get({
|
|
285
|
+
id: coupon.productsCategories[index],
|
|
286
|
+
});
|
|
302
287
|
couponCategories.push({ id: c.id, firestoreId: c.firestoreId });
|
|
303
288
|
}
|
|
304
289
|
return couponCategories;
|
|
@@ -713,13 +698,12 @@ class ShippingService {
|
|
|
713
698
|
getShippingMethods(shop, zip, weightGrams, totalPrice, personId, subscriptionPlan) {
|
|
714
699
|
return combineLatest([
|
|
715
700
|
this.homeService.getHomeData(),
|
|
716
|
-
this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)
|
|
717
|
-
])
|
|
718
|
-
.pipe(map(([datas, shippingMethodsResponse]) => {
|
|
701
|
+
this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`),
|
|
702
|
+
]).pipe(map(([datas, shippingMethodsResponse]) => {
|
|
719
703
|
let shippingMethods = shippingMethodsResponse.result;
|
|
720
704
|
if (!shippingMethods.length)
|
|
721
705
|
return [];
|
|
722
|
-
shippingMethods = shippingMethods.map(s => {
|
|
706
|
+
shippingMethods = shippingMethods.map((s) => {
|
|
723
707
|
if (s.ShippingCompanyName == 'Same Day EG')
|
|
724
708
|
s.ShippingCompanyName = 'Same Day';
|
|
725
709
|
else
|
|
@@ -730,7 +714,7 @@ class ShippingService {
|
|
|
730
714
|
shippingMethods = shippingMethods.filter((method) => method.ShippingCompanyName !== 'Same Day');
|
|
731
715
|
}
|
|
732
716
|
if (totalPrice >= 200) {
|
|
733
|
-
shippingMethods = shippingMethods.map(s => {
|
|
717
|
+
shippingMethods = shippingMethods.map((s) => {
|
|
734
718
|
if (s.serviceName !== 'Same Day')
|
|
735
719
|
return Object.assign(Object.assign({}, s), { totalPrice: 0 });
|
|
736
720
|
else
|
|
@@ -740,7 +724,7 @@ class ShippingService {
|
|
|
740
724
|
if (shop == Shops.GLAMSHOP)
|
|
741
725
|
return shippingMethods;
|
|
742
726
|
if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {
|
|
743
|
-
shippingMethods = shippingMethods.map(s => {
|
|
727
|
+
shippingMethods = shippingMethods.map((s) => {
|
|
744
728
|
if (s.serviceName == 'Same Day')
|
|
745
729
|
return Object.assign(Object.assign({}, s), { totalPrice: s.totalPrice / 2 });
|
|
746
730
|
else
|
|
@@ -748,7 +732,7 @@ class ShippingService {
|
|
|
748
732
|
});
|
|
749
733
|
}
|
|
750
734
|
if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {
|
|
751
|
-
shippingMethods = shippingMethods.map(s => {
|
|
735
|
+
shippingMethods = shippingMethods.map((s) => {
|
|
752
736
|
return Object.assign(Object.assign({}, s), { totalPrice: s.totalPrice / 2 });
|
|
753
737
|
});
|
|
754
738
|
}
|
|
@@ -992,20 +976,6 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
992
976
|
},
|
|
993
977
|
deps: [AngularFirestore],
|
|
994
978
|
},
|
|
995
|
-
{
|
|
996
|
-
provide: 'CampaignHashtagRepository',
|
|
997
|
-
useFactory: (firestore) => {
|
|
998
|
-
return new CampaignHashtagFirestoreRepository(firestore.firestore);
|
|
999
|
-
},
|
|
1000
|
-
deps: [AngularFirestore],
|
|
1001
|
-
},
|
|
1002
|
-
{
|
|
1003
|
-
provide: 'CampaignDashboardRepository',
|
|
1004
|
-
useFactory: (firestore) => {
|
|
1005
|
-
return new CampaignDashboardFirestoreRepository(firestore.firestore);
|
|
1006
|
-
},
|
|
1007
|
-
deps: [AngularFirestore],
|
|
1008
|
-
},
|
|
1009
979
|
{
|
|
1010
980
|
provide: 'EditionRepository',
|
|
1011
981
|
useFactory: (firestore, subscriptionRepository) => {
|
|
@@ -1062,6 +1032,13 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
1062
1032
|
},
|
|
1063
1033
|
deps: [AngularFirestore],
|
|
1064
1034
|
},
|
|
1035
|
+
{
|
|
1036
|
+
provide: 'ShopSettingsRepository',
|
|
1037
|
+
useFactory: (firestore) => {
|
|
1038
|
+
return new ShopSettingsFirestoreRepository(firestore.firestore);
|
|
1039
|
+
},
|
|
1040
|
+
deps: [AngularFirestore],
|
|
1041
|
+
},
|
|
1065
1042
|
{
|
|
1066
1043
|
provide: 'SubscriptionPaymentRepository',
|
|
1067
1044
|
useFactory: (firestore, subscriptionRepository) => {
|
|
@@ -1172,20 +1149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
1172
1149
|
},
|
|
1173
1150
|
deps: [AngularFirestore],
|
|
1174
1151
|
},
|
|
1175
|
-
{
|
|
1176
|
-
provide: 'CampaignHashtagRepository',
|
|
1177
|
-
useFactory: (firestore) => {
|
|
1178
|
-
return new CampaignHashtagFirestoreRepository(firestore.firestore);
|
|
1179
|
-
},
|
|
1180
|
-
deps: [AngularFirestore],
|
|
1181
|
-
},
|
|
1182
|
-
{
|
|
1183
|
-
provide: 'CampaignDashboardRepository',
|
|
1184
|
-
useFactory: (firestore) => {
|
|
1185
|
-
return new CampaignDashboardFirestoreRepository(firestore.firestore);
|
|
1186
|
-
},
|
|
1187
|
-
deps: [AngularFirestore],
|
|
1188
|
-
},
|
|
1189
1152
|
{
|
|
1190
1153
|
provide: 'EditionRepository',
|
|
1191
1154
|
useFactory: (firestore, subscriptionRepository) => {
|
|
@@ -1242,6 +1205,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
1242
1205
|
},
|
|
1243
1206
|
deps: [AngularFirestore],
|
|
1244
1207
|
},
|
|
1208
|
+
{
|
|
1209
|
+
provide: 'ShopSettingsRepository',
|
|
1210
|
+
useFactory: (firestore) => {
|
|
1211
|
+
return new ShopSettingsFirestoreRepository(firestore.firestore);
|
|
1212
|
+
},
|
|
1213
|
+
deps: [AngularFirestore],
|
|
1214
|
+
},
|
|
1245
1215
|
{
|
|
1246
1216
|
provide: 'SubscriptionPaymentRepository',
|
|
1247
1217
|
useFactory: (firestore, subscriptionRepository) => {
|
|
@@ -1325,10 +1295,10 @@ AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
|
|
|
1325
1295
|
},
|
|
1326
1296
|
{
|
|
1327
1297
|
provide: CategoryHasuraGraphQLRepository,
|
|
1328
|
-
useFactory: (options, productRepository) => {
|
|
1329
|
-
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository);
|
|
1298
|
+
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
1299
|
+
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository, categoryFilterRepository);
|
|
1330
1300
|
},
|
|
1331
|
-
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],
|
|
1301
|
+
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
1332
1302
|
},
|
|
1333
1303
|
{
|
|
1334
1304
|
provide: 'ProductRepository',
|
|
@@ -1352,6 +1322,39 @@ AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
|
|
|
1352
1322
|
},
|
|
1353
1323
|
deps: [HASURA_OPTIONS],
|
|
1354
1324
|
},
|
|
1325
|
+
{
|
|
1326
|
+
provide: 'CategoryFilterRepository',
|
|
1327
|
+
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
provide: CategoryFilterHasuraGraphQLRepository,
|
|
1331
|
+
useFactory: (options) => {
|
|
1332
|
+
return new CategoryFilterHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
1333
|
+
},
|
|
1334
|
+
deps: [HASURA_OPTIONS],
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
provide: 'FilterOptionRepository',
|
|
1338
|
+
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
1339
|
+
},
|
|
1340
|
+
{
|
|
1341
|
+
provide: FilterOptionHasuraGraphQLRepository,
|
|
1342
|
+
useFactory: (options) => {
|
|
1343
|
+
return new FilterOptionHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
1344
|
+
},
|
|
1345
|
+
deps: [HASURA_OPTIONS],
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
provide: 'FilterRepository',
|
|
1349
|
+
useExisting: FilterHasuraGraphQLRepository,
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
provide: FilterHasuraGraphQLRepository,
|
|
1353
|
+
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
1354
|
+
return new FilterHasuraGraphQLRepository(options.endpoint, options.credentials, filterOptionRepository, categoryFilterRepository);
|
|
1355
|
+
},
|
|
1356
|
+
deps: [HASURA_OPTIONS, FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
1357
|
+
},
|
|
1355
1358
|
] });
|
|
1356
1359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
|
|
1357
1360
|
type: NgModule,
|
|
@@ -1363,10 +1366,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
1363
1366
|
},
|
|
1364
1367
|
{
|
|
1365
1368
|
provide: CategoryHasuraGraphQLRepository,
|
|
1366
|
-
useFactory: (options, productRepository) => {
|
|
1367
|
-
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository);
|
|
1369
|
+
useFactory: (options, productRepository, categoryFilterRepository) => {
|
|
1370
|
+
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository, categoryFilterRepository);
|
|
1368
1371
|
},
|
|
1369
|
-
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],
|
|
1372
|
+
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
1370
1373
|
},
|
|
1371
1374
|
{
|
|
1372
1375
|
provide: 'ProductRepository',
|
|
@@ -1390,6 +1393,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
1390
1393
|
},
|
|
1391
1394
|
deps: [HASURA_OPTIONS],
|
|
1392
1395
|
},
|
|
1396
|
+
{
|
|
1397
|
+
provide: 'CategoryFilterRepository',
|
|
1398
|
+
useExisting: CategoryFilterHasuraGraphQLRepository,
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
provide: CategoryFilterHasuraGraphQLRepository,
|
|
1402
|
+
useFactory: (options) => {
|
|
1403
|
+
return new CategoryFilterHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
1404
|
+
},
|
|
1405
|
+
deps: [HASURA_OPTIONS],
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
provide: 'FilterOptionRepository',
|
|
1409
|
+
useExisting: FilterOptionHasuraGraphQLRepository,
|
|
1410
|
+
},
|
|
1411
|
+
{
|
|
1412
|
+
provide: FilterOptionHasuraGraphQLRepository,
|
|
1413
|
+
useFactory: (options) => {
|
|
1414
|
+
return new FilterOptionHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
1415
|
+
},
|
|
1416
|
+
deps: [HASURA_OPTIONS],
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
provide: 'FilterRepository',
|
|
1420
|
+
useExisting: FilterHasuraGraphQLRepository,
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
provide: FilterHasuraGraphQLRepository,
|
|
1424
|
+
useFactory: (options, filterOptionRepository, categoryFilterRepository) => {
|
|
1425
|
+
return new FilterHasuraGraphQLRepository(options.endpoint, options.credentials, filterOptionRepository, categoryFilterRepository);
|
|
1426
|
+
},
|
|
1427
|
+
deps: [HASURA_OPTIONS, FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
|
|
1428
|
+
},
|
|
1393
1429
|
],
|
|
1394
1430
|
}]
|
|
1395
1431
|
}] });
|
|
@@ -1419,7 +1455,7 @@ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
1419
1455
|
CouponService,
|
|
1420
1456
|
HomeShopService,
|
|
1421
1457
|
OrderService,
|
|
1422
|
-
ShippingService
|
|
1458
|
+
ShippingService,
|
|
1423
1459
|
], imports: [[AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule]] });
|
|
1424
1460
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularConnectModule, decorators: [{
|
|
1425
1461
|
type: NgModule,
|
|
@@ -1433,7 +1469,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
|
|
|
1433
1469
|
CouponService,
|
|
1434
1470
|
HomeShopService,
|
|
1435
1471
|
OrderService,
|
|
1436
|
-
ShippingService
|
|
1472
|
+
ShippingService,
|
|
1437
1473
|
],
|
|
1438
1474
|
}]
|
|
1439
1475
|
}] });
|