@infrab4a/connect-angular 5.0.0-beta.96 → 5.0.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 (211) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/eslint.config.js +18 -0
  3. package/index.ts +1 -0
  4. package/karma.conf.js +32 -0
  5. package/ng-package.json +8 -0
  6. package/package.json +10 -22
  7. package/project.json +37 -0
  8. package/src/angular-connect.module.ts +256 -0
  9. package/src/angular-elastic-search.module.ts +23 -0
  10. package/src/angular-firebase-auth.module.ts +101 -0
  11. package/src/angular-firestore.module.ts +371 -0
  12. package/src/angular-hasura-graphql.module.ts +219 -0
  13. package/src/angular-vertex-search.module.ts +23 -0
  14. package/src/consts/backend-url.const.ts +1 -0
  15. package/src/consts/category-structure.ts +1 -0
  16. package/src/consts/default-shop.const.ts +1 -0
  17. package/src/consts/es-config.const.ts +1 -0
  18. package/src/consts/firebase-const.ts +5 -0
  19. package/src/consts/hasura-options.const.ts +1 -0
  20. package/src/consts/index.ts +8 -0
  21. package/src/consts/persistence.const.ts +1 -0
  22. package/src/consts/storage-base-url.const.ts +1 -0
  23. package/src/consts/vertex-config.const.ts +1 -0
  24. package/src/helpers/index.ts +1 -0
  25. package/src/helpers/mobile-operation-system-checker.helper.ts +10 -0
  26. package/src/index.ts +6 -0
  27. package/src/interfaces/catalog-strategies.interface.ts +36 -0
  28. package/src/interfaces/category-facades.interface.ts +7 -0
  29. package/src/interfaces/index.ts +2 -0
  30. package/src/persistence/cookie-data-persistence.ts +21 -0
  31. package/src/persistence/data-persistence.ts +7 -0
  32. package/src/persistence/index.ts +2 -0
  33. package/src/services/auth.service.ts +39 -0
  34. package/src/services/cart/cart-services.facade.ts +14 -0
  35. package/src/services/cart/index.ts +1 -0
  36. package/src/services/cart.service.ts +124 -0
  37. package/src/services/catalog/adapters/category-structure.adapter.ts +5 -0
  38. package/src/services/catalog/adapters/index.ts +3 -0
  39. package/src/services/catalog/adapters/new-category-structure.adapter.ts +42 -0
  40. package/src/services/catalog/adapters/old-category-structure.adapter.ts +17 -0
  41. package/src/services/catalog/catalog.service.ts +153 -0
  42. package/src/services/catalog/category.service.ts +52 -0
  43. package/src/services/catalog/context/catalog-search.context.ts +61 -0
  44. package/src/services/catalog/enums/index.ts +1 -0
  45. package/src/services/catalog/enums/product-sorts.enum.ts +9 -0
  46. package/src/services/catalog/facades/catalog-service.facade.ts +32 -0
  47. package/src/services/catalog/facades/catalog-strategies.facade.ts +12 -0
  48. package/src/services/catalog/facades/category-repository.facade.ts +10 -0
  49. package/src/services/catalog/facades/category-service.facade.ts +25 -0
  50. package/src/services/catalog/facades/index.ts +5 -0
  51. package/src/services/catalog/facades/product-catalog.facade.ts +13 -0
  52. package/src/services/catalog/helpers/brand-manager.helper.ts +63 -0
  53. package/src/services/catalog/helpers/catalog-filter.helper.ts +50 -0
  54. package/src/services/catalog/helpers/catalog-sort.helper.ts +54 -0
  55. package/src/services/catalog/helpers/index.ts +4 -0
  56. package/src/services/catalog/helpers/product-fields.helper.ts +35 -0
  57. package/src/services/catalog/index.ts +7 -0
  58. package/src/services/catalog/models/category-with-tree.model.ts +7 -0
  59. package/src/services/catalog/models/index.ts +1 -0
  60. package/src/services/catalog/services/catalog-helpers.service.ts +35 -0
  61. package/src/services/catalog/services/catalog-operations.facade.ts +24 -0
  62. package/src/services/catalog/services/catalog-repository.service.ts +20 -0
  63. package/src/services/catalog/services/index.ts +4 -0
  64. package/src/services/catalog/services/product-management.facade.ts +20 -0
  65. package/src/services/catalog/strategies/category-search.strategy.ts +172 -0
  66. package/src/services/catalog/strategies/index.ts +3 -0
  67. package/src/services/catalog/strategies/profile-search.strategy.ts +51 -0
  68. package/src/services/catalog/strategies/term-search.strategy.ts +178 -0
  69. package/src/services/catalog/strategies/types/strategy-params.type.ts +58 -0
  70. package/src/services/catalog/types/fetch-products-options.type.ts +10 -0
  71. package/src/services/catalog/types/fetch-products-params.type.ts +27 -0
  72. package/src/services/catalog/types/fetch-products-response.type.ts +11 -0
  73. package/src/services/catalog/types/index.ts +5 -0
  74. package/src/services/catalog/types/method-params.type.ts +21 -0
  75. package/src/services/catalog/types/product-sort.type.ts +3 -0
  76. package/src/services/catalog/wishlist.service.ts +368 -0
  77. package/src/services/checkout/checkout-dependencies.facade.ts +13 -0
  78. package/src/services/checkout/checkout-repositories.facade.ts +10 -0
  79. package/src/services/checkout/index.ts +2 -0
  80. package/src/services/checkout-subscription.service.ts +76 -0
  81. package/src/services/checkout.service.ts +196 -0
  82. package/src/services/coupon/coupon-repositories.facade.ts +11 -0
  83. package/src/services/coupon/index.ts +1 -0
  84. package/src/services/coupon/types/coupon-params.type.ts +15 -0
  85. package/src/services/coupon.service.ts +347 -0
  86. package/src/services/errors/group-invalid-coupon.error.ts +9 -0
  87. package/src/services/errors/index.ts +2 -0
  88. package/src/services/errors/invalid-coupon.error.ts +7 -0
  89. package/src/services/helpers/index.ts +1 -0
  90. package/src/services/helpers/util.helper.ts +17 -0
  91. package/src/services/home-shop/home-shop-repositories.facade.ts +11 -0
  92. package/src/services/home-shop/index.ts +1 -0
  93. package/src/services/home-shop.service.ts +196 -0
  94. package/src/services/index.ts +9 -0
  95. package/src/services/order.service.ts +23 -0
  96. package/src/services/shared/configuration.facade.ts +21 -0
  97. package/src/services/shared/index.ts +1 -0
  98. package/src/services/types/index.ts +2 -0
  99. package/src/services/types/required-checkout-data.type.ts +3 -0
  100. package/src/services/types/required-checkout-subscription-data.type.ts +3 -0
  101. package/src/types/firebase-app-config.type.ts +1 -0
  102. package/src/types/index.ts +1 -0
  103. package/tsconfig.json +17 -0
  104. package/tsconfig.lib.json +13 -0
  105. package/tsconfig.lib.prod.json +13 -0
  106. package/tsconfig.spec.json +17 -0
  107. package/angular-connect.module.d.ts +0 -32
  108. package/angular-elastic-search.module.d.ts +0 -9
  109. package/angular-firebase-auth.module.d.ts +0 -11
  110. package/angular-firestore.module.d.ts +0 -17
  111. package/angular-hasura-graphql.module.d.ts +0 -14
  112. package/angular-vertex-search.module.d.ts +0 -9
  113. package/consts/backend-url.const.d.ts +0 -1
  114. package/consts/category-structure.d.ts +0 -1
  115. package/consts/default-shop.const.d.ts +0 -1
  116. package/consts/es-config.const.d.ts +0 -1
  117. package/consts/firebase-const.d.ts +0 -4
  118. package/consts/hasura-options.const.d.ts +0 -1
  119. package/consts/index.d.ts +0 -8
  120. package/consts/persistence.const.d.ts +0 -1
  121. package/consts/storage-base-url.const.d.ts +0 -1
  122. package/consts/vertex-config.const.d.ts +0 -1
  123. package/esm2022/angular-connect.module.mjs +0 -187
  124. package/esm2022/angular-elastic-search.module.mjs +0 -34
  125. package/esm2022/angular-firebase-auth.module.mjs +0 -141
  126. package/esm2022/angular-firestore.module.mjs +0 -541
  127. package/esm2022/angular-hasura-graphql.module.mjs +0 -333
  128. package/esm2022/angular-vertex-search.module.mjs +0 -34
  129. package/esm2022/consts/backend-url.const.mjs +0 -2
  130. package/esm2022/consts/category-structure.mjs +0 -2
  131. package/esm2022/consts/default-shop.const.mjs +0 -2
  132. package/esm2022/consts/es-config.const.mjs +0 -2
  133. package/esm2022/consts/firebase-const.mjs +0 -5
  134. package/esm2022/consts/hasura-options.const.mjs +0 -2
  135. package/esm2022/consts/index.mjs +0 -9
  136. package/esm2022/consts/persistence.const.mjs +0 -2
  137. package/esm2022/consts/storage-base-url.const.mjs +0 -2
  138. package/esm2022/consts/vertex-config.const.mjs +0 -2
  139. package/esm2022/helpers/index.mjs +0 -2
  140. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +0 -7
  141. package/esm2022/index.mjs +0 -7
  142. package/esm2022/infrab4a-connect-angular.mjs +0 -5
  143. package/esm2022/persistence/cookie-data-persistence.mjs +0 -22
  144. package/esm2022/persistence/data-persistence.mjs +0 -2
  145. package/esm2022/persistence/index.mjs +0 -3
  146. package/esm2022/services/auth.service.mjs +0 -37
  147. package/esm2022/services/cart.service.mjs +0 -86
  148. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +0 -2
  149. package/esm2022/services/catalog/adapters/index.mjs +0 -4
  150. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +0 -43
  151. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +0 -23
  152. package/esm2022/services/catalog/catalog.service.mjs +0 -325
  153. package/esm2022/services/catalog/category.service.mjs +0 -51
  154. package/esm2022/services/catalog/enums/index.mjs +0 -2
  155. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +0 -11
  156. package/esm2022/services/catalog/index.mjs +0 -8
  157. package/esm2022/services/catalog/models/category-with-tree.model.mjs +0 -10
  158. package/esm2022/services/catalog/models/index.mjs +0 -2
  159. package/esm2022/services/catalog/types/index.mjs +0 -2
  160. package/esm2022/services/catalog/types/product-sort.type.mjs +0 -2
  161. package/esm2022/services/catalog/wishlist.service.mjs +0 -235
  162. package/esm2022/services/checkout-subscription.service.mjs +0 -50
  163. package/esm2022/services/checkout.service.mjs +0 -122
  164. package/esm2022/services/coupon.service.mjs +0 -228
  165. package/esm2022/services/helpers/index.mjs +0 -2
  166. package/esm2022/services/helpers/util.helper.mjs +0 -18
  167. package/esm2022/services/home-shop.service.mjs +0 -125
  168. package/esm2022/services/index.mjs +0 -10
  169. package/esm2022/services/order.service.mjs +0 -30
  170. package/esm2022/services/types/index.mjs +0 -3
  171. package/esm2022/services/types/required-checkout-data.type.mjs +0 -2
  172. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +0 -2
  173. package/esm2022/types/firebase-app-config.type.mjs +0 -2
  174. package/esm2022/types/index.mjs +0 -2
  175. package/fesm2022/infrab4a-connect-angular.mjs +0 -2603
  176. package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
  177. package/helpers/index.d.ts +0 -1
  178. package/helpers/mobile-operation-system-checker.helper.d.ts +0 -3
  179. package/index.d.ts +0 -6
  180. package/persistence/cookie-data-persistence.d.ts +0 -10
  181. package/persistence/data-persistence.d.ts +0 -6
  182. package/persistence/index.d.ts +0 -2
  183. package/services/auth.service.d.ts +0 -18
  184. package/services/cart.service.d.ts +0 -31
  185. package/services/catalog/adapters/category-structure.adapter.d.ts +0 -4
  186. package/services/catalog/adapters/index.d.ts +0 -3
  187. package/services/catalog/adapters/new-category-structure.adapter.d.ts +0 -12
  188. package/services/catalog/adapters/old-category-structure.adapter.d.ts +0 -10
  189. package/services/catalog/catalog.service.d.ts +0 -96
  190. package/services/catalog/category.service.d.ts +0 -24
  191. package/services/catalog/enums/index.d.ts +0 -1
  192. package/services/catalog/enums/product-sorts.enum.d.ts +0 -9
  193. package/services/catalog/index.d.ts +0 -7
  194. package/services/catalog/models/category-with-tree.model.d.ts +0 -4
  195. package/services/catalog/models/index.d.ts +0 -1
  196. package/services/catalog/types/index.d.ts +0 -1
  197. package/services/catalog/types/product-sort.type.d.ts +0 -2
  198. package/services/catalog/wishlist.service.d.ts +0 -50
  199. package/services/checkout-subscription.service.d.ts +0 -19
  200. package/services/checkout.service.d.ts +0 -34
  201. package/services/coupon.service.d.ts +0 -27
  202. package/services/helpers/index.d.ts +0 -1
  203. package/services/helpers/util.helper.d.ts +0 -3
  204. package/services/home-shop.service.d.ts +0 -26
  205. package/services/index.d.ts +0 -9
  206. package/services/order.service.d.ts +0 -13
  207. package/services/types/index.d.ts +0 -2
  208. package/services/types/required-checkout-data.type.d.ts +0 -2
  209. package/services/types/required-checkout-subscription-data.type.d.ts +0 -2
  210. package/types/firebase-app-config.type.d.ts +0 -1
  211. package/types/index.d.ts +0 -1
@@ -1,96 +0,0 @@
1
- import { Category, CategoryRepository, Product, ProductGender, ProductRepository, ProductSearchIndex, ProductStockNotificationRepository, RepositoryCacheOptions, Shops } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './adapters';
3
- import { ProductSort } from './types/product-sort.type';
4
- import * as i0 from "@angular/core";
5
- type FetchProductsFilters = {
6
- clubDiscount?: number[];
7
- brands?: string[];
8
- prices?: {
9
- min?: number;
10
- max?: number;
11
- subscriberPrice?: boolean;
12
- };
13
- gender?: ProductGender[];
14
- rate?: number;
15
- customOptions?: string[];
16
- tags?: string[];
17
- };
18
- type FetchProductsOptions = {
19
- page?: number;
20
- perPage?: number;
21
- sort?: ProductSort;
22
- mainGender?: ProductGender;
23
- };
24
- type FetchProductsMainParams<T extends Category> = {
25
- category?: T;
26
- profile?: string[];
27
- term?: string;
28
- };
29
- type FetchProductsParams<T extends Category> = FetchProductsOptions & ({
30
- category: FetchProductsMainParams<T>['category'];
31
- filters?: FetchProductsFilters & {
32
- customOptions?: never;
33
- };
34
- } | {
35
- profile: FetchProductsMainParams<T>['profile'];
36
- filters?: FetchProductsFilters & {
37
- customOptions?: never;
38
- tags?: never;
39
- };
40
- } | {
41
- term: FetchProductsMainParams<T>['term'];
42
- filters?: FetchProductsFilters & {
43
- customOptions?: never;
44
- };
45
- });
46
- type FetchProductsResponse = {
47
- products: {
48
- data: Product[];
49
- total: number;
50
- };
51
- pages: number;
52
- prices: {
53
- price: {
54
- min: number;
55
- max: number;
56
- };
57
- subscriberPrice: {
58
- min: number;
59
- max: number;
60
- };
61
- };
62
- brands?: string[];
63
- };
64
- export declare class CatalogService<T extends Category = Category> {
65
- private readonly productRepository;
66
- private readonly productStockNotificationRepository;
67
- private readonly categoryRepository;
68
- private readonly categoryStructureAdapter;
69
- private readonly shop;
70
- private readonly productSearch;
71
- private productsByTerm;
72
- private brandsList;
73
- private fields;
74
- constructor(productRepository: ProductRepository, productStockNotificationRepository: ProductStockNotificationRepository, categoryRepository: CategoryRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops, productSearch: ProductSearchIndex);
75
- fetchProducts(options: FetchProductsParams<T>, optionsCache?: {
76
- cache?: RepositoryCacheOptions;
77
- }): Promise<FetchProductsResponse>;
78
- addCustomerToStockNotification(shop: Shops, productId: string, name: string, email: string): Promise<void>;
79
- private findCatalog;
80
- private buildMainFilter;
81
- private findCatalogAndSortByMostRevelant;
82
- private findCatalogAndSortByMostRevelantByTerm;
83
- private findCatalogIdsBySearch;
84
- private fetchBrandsOnly;
85
- private setBrandsList;
86
- private buildFilterQuery;
87
- private buildSortQuery;
88
- private buildLimitQuery;
89
- private hasProfile;
90
- private hasTerm;
91
- private hasCategory;
92
- private buildIndexBrands;
93
- static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService<any>, never>;
94
- static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService<any>>;
95
- }
96
- export {};
@@ -1,24 +0,0 @@
1
- import { Category, CategoryFilterRepository, CategoryRepository, Filter, ProductGender, ProductRepository, RepositoryCacheOptions, Shops } from '@infrab4a/connect';
2
- import { CategoryStructureAdapter } from './adapters';
3
- import * as i0 from "@angular/core";
4
- type FetchBrandsOptions = {
5
- mainGender?: ProductGender;
6
- shop?: Shops;
7
- };
8
- export declare class CategoryService {
9
- private readonly productRepository;
10
- private readonly categoryRepository;
11
- private readonly categoryFilterRepository;
12
- private readonly categoryStructureAdapter;
13
- private readonly shop;
14
- constructor(productRepository: ProductRepository, categoryRepository: CategoryRepository, categoryFilterRepository: CategoryFilterRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops);
15
- fetchBrands(category: Category, options?: FetchBrandsOptions, optionsCache?: {
16
- cache?: RepositoryCacheOptions;
17
- }): Promise<Category[]>;
18
- fetchFilterOptions(category: Category, optionsCache?: {
19
- cache?: RepositoryCacheOptions;
20
- }): Promise<Filter[]>;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<CategoryService, never>;
22
- static ɵprov: i0.ɵɵInjectableDeclaration<CategoryService>;
23
- }
24
- export {};
@@ -1 +0,0 @@
1
- export * from './product-sorts.enum';
@@ -1,9 +0,0 @@
1
- export declare enum ProductSorts {
2
- MOST_RELEVANT = "most-relevant",
3
- BEST_SELLER = "best-sellers",
4
- BIGGEST_PRICE = "biggest-price",
5
- LOWEST_PRICE = "lowest-price",
6
- BIGGEST_DISCOUNT = "biggest-discount",
7
- BEST_RATING = "best-rating",
8
- NEWS = "news"
9
- }
@@ -1,7 +0,0 @@
1
- export * from './adapters';
2
- export * from './catalog.service';
3
- export * from './category.service';
4
- export * from './enums';
5
- export * from './models';
6
- export * from './types';
7
- export * from './wishlist.service';
@@ -1,4 +0,0 @@
1
- import { Category } from '@infrab4a/connect';
2
- export declare class CategoryWithTree extends Category {
3
- children?: CategoryWithTree[];
4
- }
@@ -1 +0,0 @@
1
- export * from './category-with-tree.model';
@@ -1 +0,0 @@
1
- export * from './product-sort.type';
@@ -1,2 +0,0 @@
1
- import { ProductSorts } from '../enums';
2
- export type ProductSort = `${ProductSorts}`;
@@ -1,50 +0,0 @@
1
- import { CategoryFilterRepository, CategoryRepository, LogRepository, PersonType, ProductRepository, ProductSearchIndex, ProductStockNotificationRepository, Shops, Wishlist, WishlistRepository } from '@infrab4a/connect';
2
- import { CatalogService } from './catalog.service';
3
- import { CategoryService } from './category.service';
4
- import * as i0 from "@angular/core";
5
- export declare class WishlistService {
6
- private readonly wishlistRepository;
7
- private readonly shop;
8
- productRepository: ProductRepository;
9
- private readonly productSearch;
10
- private readonly logRepository;
11
- private catalogService;
12
- private categoryService;
13
- constructor(wishlistRepository: WishlistRepository, shop: Shops, productRepository: ProductRepository, categoryFilterRepository: CategoryFilterRepository, categoryRepository: CategoryRepository, productStockNotificationRepository: ProductStockNotificationRepository, productSearch: ProductSearchIndex, logRepository: LogRepository);
14
- getCatalogService(): CatalogService<import("@infrab4a/connect").Category>;
15
- getCategoryService(): CategoryService;
16
- create({ personId, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
17
- personId: string;
18
- title: string;
19
- description: string;
20
- published: boolean;
21
- userFullName: string;
22
- userPhoto?: string;
23
- theme?: string;
24
- bannerUrl?: string;
25
- personType?: PersonType;
26
- personIsSubscriber?: boolean;
27
- }): Promise<Wishlist>;
28
- update({ id, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
29
- id: string;
30
- title: string;
31
- description: string;
32
- published: boolean;
33
- userFullName: string;
34
- userPhoto?: string;
35
- theme?: string;
36
- bannerUrl?: string;
37
- personType?: PersonType;
38
- personIsSubscriber?: boolean;
39
- }): Promise<Wishlist>;
40
- delete(wishlistId: string): Promise<void>;
41
- getWishlistBySlug(slug: string): Promise<Wishlist>;
42
- getWishlistsByPerson(personId: string): Promise<Wishlist[]>;
43
- addProduct(wishlistId: string, productId: string): Promise<Wishlist>;
44
- removeProduct(wishlistId: string, productId: string): Promise<Wishlist>;
45
- private findById;
46
- private findProductById;
47
- private createWishlistLog;
48
- static ɵfac: i0.ɵɵFactoryDeclaration<WishlistService, never>;
49
- static ɵprov: i0.ɵɵInjectableDeclaration<WishlistService>;
50
- }
@@ -1,19 +0,0 @@
1
- import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import { RequiredCheckoutSubscriptionData } from './types';
4
- import { DataPersistence } from '../persistence';
5
- import { CouponService } from './coupon.service';
6
- import * as i0 from "@angular/core";
7
- export declare class CheckoutSubscriptionService {
8
- private readonly checkoutSubscriptionRepository;
9
- private readonly dataPersistence;
10
- private readonly couponService;
11
- constructor(checkoutSubscriptionRepository: CheckoutSubscriptionRepository, dataPersistence: DataPersistence, couponService: CouponService);
12
- getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription>;
13
- clearCheckoutSubscriptionFromSession(): Observable<void>;
14
- checkCoupon(nickname: string, userEmail: string): Observable<Coupon>;
15
- calcDiscountSubscription(coupon: Coupon): Observable<number>;
16
- private createCheckoutSubscription;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutSubscriptionService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutSubscriptionService>;
19
- }
@@ -1,34 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { FirebaseOptions } from '@angular/fire/app';
3
- import { Checkout, CheckoutPayloadRequest, CheckoutRepository, CheckoutResponse, CheckoutStockValidation, CheckoutTypes, Coupon, ShippingMethodResponse, ShippingProductRequest, Shops, User, UserAddress, UserRepository } from '@infrab4a/connect';
4
- import { Observable } from 'rxjs';
5
- import { DataPersistence } from '../persistence';
6
- import { RequiredCheckoutData } from './types';
7
- import * as i0 from "@angular/core";
8
- export declare class CheckoutService {
9
- private readonly checkoutRepository;
10
- private readonly userRepository;
11
- private readonly defaultShop;
12
- private readonly dataPersistence;
13
- private readonly firebaseOptions;
14
- private http;
15
- private checkoutUrl;
16
- constructor(checkoutRepository: CheckoutRepository, userRepository: UserRepository, defaultShop: Shops, dataPersistence: DataPersistence, firebaseOptions: FirebaseOptions, http: HttpClient);
17
- getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
18
- getUserByCheckout(checkoutId: string): Observable<User>;
19
- updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
20
- updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
21
- clearCheckoutFromSession(): Observable<void>;
22
- resetCheckoutValues(): Observable<Checkout>;
23
- applyCouponDiscount(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
24
- removeCouponDiscount(): Observable<Checkout>;
25
- validateStockProducts(): Observable<CheckoutStockValidation>;
26
- selectShippingAddress(address: UserAddress): Observable<Checkout>;
27
- getAvailableShippingForProduct(productShipping: ShippingProductRequest): Observable<ShippingMethodResponse[]>;
28
- getAvailableShippingForCheckout(): Observable<ShippingMethodResponse[]>;
29
- selectShipping(option: string): Observable<Checkout>;
30
- createOrder(checkoutPayload: CheckoutPayloadRequest, paymentProvider: string, applicationVersion: string): Observable<CheckoutResponse>;
31
- private createCheckout;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
33
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
34
- }
@@ -1,27 +0,0 @@
1
- import { CategoryRepository, Checkout, CheckoutSubscription, CheckoutTypes, Coupon, CouponRepository, OrderRepository, Shops } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class CouponService {
5
- private readonly couponRepository;
6
- private readonly defaultShop;
7
- private readonly orderRepository;
8
- private readonly categoryRepository;
9
- constructor(couponRepository: CouponRepository, defaultShop: Shops, orderRepository: OrderRepository, categoryRepository: CategoryRepository);
10
- checkCoupon(nickname: string, checkoutType: CheckoutTypes, checkout: Partial<Checkout>, plan: string): Observable<Coupon>;
11
- private couponValidation;
12
- private couponRulesValidation;
13
- calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
14
- private hasMinSubTotal;
15
- private hasProductCategories;
16
- private coupomUserValidation;
17
- private getCouponCategoriesId;
18
- private emailIsFromCollaborator;
19
- private getLineItensEligebleForDiscount;
20
- private calcCheckoutSubtotal;
21
- private getOrdersWithCoupon;
22
- private getOrdersFromUser;
23
- private countOrdersWithUser;
24
- private getCouponUseLimits;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
26
- static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
27
- }
@@ -1 +0,0 @@
1
- export * from './util.helper';
@@ -1,3 +0,0 @@
1
- export declare class UtilHelper {
2
- static createSlug(name: string): string;
3
- }
@@ -1,26 +0,0 @@
1
- import { Banner, CategoryRepository, Home, HomeRepository, ProductRepository, Shops } from '@infrab4a/connect';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- type BannerType = 'brand' | 'buyToWin' | 'block' | 'blog';
5
- export declare class HomeShopService {
6
- private readonly categoryRepository;
7
- private readonly homeRepository;
8
- private readonly productRepository;
9
- private readonly defaultShop;
10
- private homeConfiguration;
11
- private get homeId();
12
- constructor(categoryRepository: CategoryRepository, homeRepository: HomeRepository, productRepository: ProductRepository, defaultShop: Shops);
13
- getHomeData(): Observable<Home>;
14
- getBanners(type: BannerType): Observable<Banner[]>;
15
- getMinValueForFreeShipping(): Observable<number>;
16
- private getDiscoverProducts;
17
- private getFeaturedProducts;
18
- private getVerticalProducts;
19
- private getHomeConfiguration;
20
- private saveHomeData;
21
- private buildCategoryGroupWithRequiredData;
22
- private get gender();
23
- static ɵfac: i0.ɵɵFactoryDeclaration<HomeShopService, never>;
24
- static ɵprov: i0.ɵɵInjectableDeclaration<HomeShopService>;
25
- }
26
- export {};
@@ -1,9 +0,0 @@
1
- export * from './auth.service';
2
- export * from './cart.service';
3
- export * from './catalog';
4
- export * from './checkout-subscription.service';
5
- export * from './checkout.service';
6
- export * from './coupon.service';
7
- export * from './helpers';
8
- export * from './home-shop.service';
9
- export * from './order.service';
@@ -1,13 +0,0 @@
1
- import { Firestore } from '@angular/fire/firestore';
2
- import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
3
- import { Subject } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class OrderService {
6
- private readonly angularFirestore;
7
- private readonly orderRepository;
8
- orderSubject: Subject<Order>;
9
- constructor(angularFirestore: Firestore, orderRepository: OrderFirestoreRepository);
10
- getOrder(id: string): Subject<Order>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<OrderService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<OrderService>;
13
- }
@@ -1,2 +0,0 @@
1
- export * from './required-checkout-data.type';
2
- export * from './required-checkout-subscription-data.type';
@@ -1,2 +0,0 @@
1
- import { Checkout } from '@infrab4a/connect';
2
- export type RequiredCheckoutData = Partial<Pick<Checkout, 'id' | 'user' | 'shop' | 'lineItems'>>;
@@ -1,2 +0,0 @@
1
- import { CheckoutSubscription } from '@infrab4a/connect';
2
- export type RequiredCheckoutSubscriptionData = Partial<Pick<CheckoutSubscription, 'id'>>;
@@ -1 +0,0 @@
1
- export type FirebaseAppConfig = Record<string, any>;
package/types/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './firebase-app-config.type';