@infrab4a/connect-angular 5.0.0 → 5.1.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 (213) hide show
  1. package/angular-connect.module.d.ts +26 -0
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/angular-firebase-auth.module.d.ts +11 -0
  4. package/angular-firestore.module.d.ts +18 -0
  5. package/angular-hasura-graphql.module.d.ts +16 -0
  6. package/consts/backend-url.const.d.ts +1 -0
  7. package/consts/category-structure.d.ts +1 -0
  8. package/consts/default-shop.const.d.ts +1 -0
  9. package/consts/es-config.const.d.ts +1 -0
  10. package/consts/firebase-const.d.ts +3 -0
  11. package/consts/hasura-options.const.d.ts +1 -0
  12. package/consts/index.d.ts +7 -0
  13. package/consts/persistence.const.d.ts +1 -0
  14. package/consts/storage-base-url.const.d.ts +1 -0
  15. package/esm2020/angular-connect.module.mjs +115 -0
  16. package/esm2020/angular-elastic-search.module.mjs +34 -0
  17. package/esm2020/angular-firebase-auth.module.mjs +115 -0
  18. package/esm2020/angular-firestore.module.mjs +504 -0
  19. package/esm2020/angular-hasura-graphql.module.mjs +265 -0
  20. package/esm2020/consts/backend-url.const.mjs +2 -0
  21. package/esm2020/consts/category-structure.mjs +2 -0
  22. package/esm2020/consts/default-shop.const.mjs +2 -0
  23. package/esm2020/consts/es-config.const.mjs +2 -0
  24. package/esm2020/consts/firebase-const.mjs +4 -0
  25. package/esm2020/consts/hasura-options.const.mjs +2 -0
  26. package/esm2020/consts/index.mjs +8 -0
  27. package/esm2020/consts/persistence.const.mjs +2 -0
  28. package/esm2020/consts/storage-base-url.const.mjs +2 -0
  29. package/esm2020/helpers/index.mjs +2 -0
  30. package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -0
  31. package/esm2020/index.mjs +7 -0
  32. package/esm2020/infrab4a-connect-angular.mjs +5 -0
  33. package/esm2020/persistence/cookie-data-persistence.mjs +22 -0
  34. package/esm2020/persistence/data-persistence.mjs +2 -0
  35. package/esm2020/persistence/index.mjs +3 -0
  36. package/esm2020/services/auth.service.mjs +37 -0
  37. package/esm2020/services/cart.service.mjs +281 -0
  38. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -0
  39. package/esm2020/services/catalog/adapters/index.mjs +4 -0
  40. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
  41. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
  42. package/esm2020/services/catalog/catalog.service.mjs +194 -0
  43. package/esm2020/services/catalog/category.service.mjs +51 -0
  44. package/esm2020/services/catalog/enums/index.mjs +2 -0
  45. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -0
  46. package/esm2020/services/catalog/index.mjs +8 -0
  47. package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -0
  48. package/esm2020/services/catalog/models/index.mjs +2 -0
  49. package/esm2020/services/catalog/types/index.mjs +2 -0
  50. package/esm2020/services/catalog/types/product-sort.type.mjs +2 -0
  51. package/esm2020/services/catalog/wishlist.service.mjs +115 -0
  52. package/esm2020/services/checkout-subscription.service.mjs +50 -0
  53. package/esm2020/services/checkout.service.mjs +68 -0
  54. package/esm2020/services/coupon.service.mjs +235 -0
  55. package/esm2020/services/helpers/index.mjs +2 -0
  56. package/esm2020/services/helpers/util.helper.mjs +18 -0
  57. package/esm2020/services/home-shop.service.mjs +125 -0
  58. package/esm2020/services/index.mjs +11 -0
  59. package/esm2020/services/order.service.mjs +30 -0
  60. package/esm2020/services/shipping.service.mjs +96 -0
  61. package/esm2020/services/types/index.mjs +3 -0
  62. package/esm2020/services/types/required-checkout-data.type.mjs +2 -0
  63. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -0
  64. package/esm2020/services/types/shipping-methods.type.mjs +2 -0
  65. package/esm2020/types/firebase-app-config.type.mjs +2 -0
  66. package/esm2020/types/index.mjs +2 -0
  67. package/fesm2015/infrab4a-connect-angular.mjs +2417 -0
  68. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
  69. package/fesm2020/infrab4a-connect-angular.mjs +2352 -0
  70. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
  71. package/helpers/index.d.ts +1 -0
  72. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
  73. package/index.d.ts +6 -0
  74. package/package.json +28 -10
  75. package/persistence/cookie-data-persistence.d.ts +10 -0
  76. package/persistence/data-persistence.d.ts +6 -0
  77. package/persistence/index.d.ts +2 -0
  78. package/services/auth.service.d.ts +18 -0
  79. package/services/cart.service.d.ts +42 -0
  80. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
  81. package/services/catalog/adapters/index.d.ts +3 -0
  82. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
  83. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
  84. package/services/catalog/catalog.service.d.ts +86 -0
  85. package/services/catalog/category.service.d.ts +20 -0
  86. package/services/catalog/enums/index.d.ts +1 -0
  87. package/services/catalog/enums/product-sorts.enum.d.ts +9 -0
  88. package/services/catalog/index.d.ts +7 -0
  89. package/services/catalog/models/category-with-tree.model.d.ts +4 -0
  90. package/services/catalog/models/index.d.ts +1 -0
  91. package/services/catalog/types/index.d.ts +1 -0
  92. package/services/catalog/types/product-sort.type.d.ts +2 -0
  93. package/services/catalog/wishlist.service.d.ts +38 -0
  94. package/services/checkout-subscription.service.d.ts +19 -0
  95. package/services/checkout.service.d.ts +24 -0
  96. package/services/coupon.service.d.ts +29 -0
  97. package/services/helpers/index.d.ts +1 -0
  98. package/services/helpers/util.helper.d.ts +3 -0
  99. package/services/home-shop.service.d.ts +26 -0
  100. package/services/index.d.ts +10 -0
  101. package/services/order.service.d.ts +13 -0
  102. package/services/shipping.service.d.ts +19 -0
  103. package/services/types/index.d.ts +2 -0
  104. package/services/types/required-checkout-data.type.d.ts +2 -0
  105. package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
  106. package/services/types/shipping-methods.type.d.ts +12 -0
  107. package/types/firebase-app-config.type.d.ts +1 -0
  108. package/types/index.d.ts +1 -0
  109. package/CHANGELOG.md +0 -13
  110. package/eslint.config.js +0 -18
  111. package/index.ts +0 -1
  112. package/karma.conf.js +0 -32
  113. package/ng-package.json +0 -8
  114. package/project.json +0 -37
  115. package/src/angular-connect.module.ts +0 -256
  116. package/src/angular-elastic-search.module.ts +0 -23
  117. package/src/angular-firebase-auth.module.ts +0 -101
  118. package/src/angular-firestore.module.ts +0 -371
  119. package/src/angular-hasura-graphql.module.ts +0 -219
  120. package/src/angular-vertex-search.module.ts +0 -23
  121. package/src/consts/backend-url.const.ts +0 -1
  122. package/src/consts/category-structure.ts +0 -1
  123. package/src/consts/default-shop.const.ts +0 -1
  124. package/src/consts/es-config.const.ts +0 -1
  125. package/src/consts/firebase-const.ts +0 -5
  126. package/src/consts/hasura-options.const.ts +0 -1
  127. package/src/consts/index.ts +0 -8
  128. package/src/consts/persistence.const.ts +0 -1
  129. package/src/consts/storage-base-url.const.ts +0 -1
  130. package/src/consts/vertex-config.const.ts +0 -1
  131. package/src/helpers/index.ts +0 -1
  132. package/src/helpers/mobile-operation-system-checker.helper.ts +0 -10
  133. package/src/index.ts +0 -6
  134. package/src/interfaces/catalog-strategies.interface.ts +0 -36
  135. package/src/interfaces/category-facades.interface.ts +0 -7
  136. package/src/interfaces/index.ts +0 -2
  137. package/src/persistence/cookie-data-persistence.ts +0 -21
  138. package/src/persistence/data-persistence.ts +0 -7
  139. package/src/persistence/index.ts +0 -2
  140. package/src/services/auth.service.ts +0 -39
  141. package/src/services/cart/cart-services.facade.ts +0 -14
  142. package/src/services/cart/index.ts +0 -1
  143. package/src/services/cart.service.ts +0 -124
  144. package/src/services/catalog/adapters/category-structure.adapter.ts +0 -5
  145. package/src/services/catalog/adapters/index.ts +0 -3
  146. package/src/services/catalog/adapters/new-category-structure.adapter.ts +0 -42
  147. package/src/services/catalog/adapters/old-category-structure.adapter.ts +0 -17
  148. package/src/services/catalog/catalog.service.ts +0 -153
  149. package/src/services/catalog/category.service.ts +0 -52
  150. package/src/services/catalog/context/catalog-search.context.ts +0 -61
  151. package/src/services/catalog/enums/index.ts +0 -1
  152. package/src/services/catalog/enums/product-sorts.enum.ts +0 -9
  153. package/src/services/catalog/facades/catalog-service.facade.ts +0 -32
  154. package/src/services/catalog/facades/catalog-strategies.facade.ts +0 -12
  155. package/src/services/catalog/facades/category-repository.facade.ts +0 -10
  156. package/src/services/catalog/facades/category-service.facade.ts +0 -25
  157. package/src/services/catalog/facades/index.ts +0 -5
  158. package/src/services/catalog/facades/product-catalog.facade.ts +0 -13
  159. package/src/services/catalog/helpers/brand-manager.helper.ts +0 -63
  160. package/src/services/catalog/helpers/catalog-filter.helper.ts +0 -50
  161. package/src/services/catalog/helpers/catalog-sort.helper.ts +0 -54
  162. package/src/services/catalog/helpers/index.ts +0 -4
  163. package/src/services/catalog/helpers/product-fields.helper.ts +0 -35
  164. package/src/services/catalog/index.ts +0 -7
  165. package/src/services/catalog/models/category-with-tree.model.ts +0 -7
  166. package/src/services/catalog/models/index.ts +0 -1
  167. package/src/services/catalog/services/catalog-helpers.service.ts +0 -35
  168. package/src/services/catalog/services/catalog-operations.facade.ts +0 -24
  169. package/src/services/catalog/services/catalog-repository.service.ts +0 -20
  170. package/src/services/catalog/services/index.ts +0 -4
  171. package/src/services/catalog/services/product-management.facade.ts +0 -20
  172. package/src/services/catalog/strategies/category-search.strategy.ts +0 -172
  173. package/src/services/catalog/strategies/index.ts +0 -3
  174. package/src/services/catalog/strategies/profile-search.strategy.ts +0 -51
  175. package/src/services/catalog/strategies/term-search.strategy.ts +0 -178
  176. package/src/services/catalog/strategies/types/strategy-params.type.ts +0 -58
  177. package/src/services/catalog/types/fetch-products-options.type.ts +0 -10
  178. package/src/services/catalog/types/fetch-products-params.type.ts +0 -27
  179. package/src/services/catalog/types/fetch-products-response.type.ts +0 -11
  180. package/src/services/catalog/types/index.ts +0 -5
  181. package/src/services/catalog/types/method-params.type.ts +0 -21
  182. package/src/services/catalog/types/product-sort.type.ts +0 -3
  183. package/src/services/catalog/wishlist.service.ts +0 -368
  184. package/src/services/checkout/checkout-dependencies.facade.ts +0 -13
  185. package/src/services/checkout/checkout-repositories.facade.ts +0 -10
  186. package/src/services/checkout/index.ts +0 -2
  187. package/src/services/checkout-subscription.service.ts +0 -76
  188. package/src/services/checkout.service.ts +0 -196
  189. package/src/services/coupon/coupon-repositories.facade.ts +0 -11
  190. package/src/services/coupon/index.ts +0 -1
  191. package/src/services/coupon/types/coupon-params.type.ts +0 -15
  192. package/src/services/coupon.service.ts +0 -347
  193. package/src/services/errors/group-invalid-coupon.error.ts +0 -9
  194. package/src/services/errors/index.ts +0 -2
  195. package/src/services/errors/invalid-coupon.error.ts +0 -7
  196. package/src/services/helpers/index.ts +0 -1
  197. package/src/services/helpers/util.helper.ts +0 -17
  198. package/src/services/home-shop/home-shop-repositories.facade.ts +0 -11
  199. package/src/services/home-shop/index.ts +0 -1
  200. package/src/services/home-shop.service.ts +0 -196
  201. package/src/services/index.ts +0 -9
  202. package/src/services/order.service.ts +0 -23
  203. package/src/services/shared/configuration.facade.ts +0 -21
  204. package/src/services/shared/index.ts +0 -1
  205. package/src/services/types/index.ts +0 -2
  206. package/src/services/types/required-checkout-data.type.ts +0 -3
  207. package/src/services/types/required-checkout-subscription-data.type.ts +0 -3
  208. package/src/types/firebase-app-config.type.ts +0 -1
  209. package/src/types/index.ts +0 -1
  210. package/tsconfig.json +0 -17
  211. package/tsconfig.lib.json +0 -13
  212. package/tsconfig.lib.prod.json +0 -13
  213. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,12 @@
1
+ import { Category, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
+ import { CategoryStructureAdapter } from './category-structure.adapter';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NewCategoryStructureAdapter implements CategoryStructureAdapter {
5
+ private readonly categoryRepository;
6
+ constructor(categoryRepository: CategoryRepository);
7
+ buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
8
+ private getAllCategoriesIdFromCategory;
9
+ private getCategory;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewCategoryStructureAdapter, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<NewCategoryStructureAdapter>;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { Category, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
+ import { CategoryStructureAdapter } from './category-structure.adapter';
3
+ import * as i0 from "@angular/core";
4
+ export declare class OldCategoryStructureAdapter implements CategoryStructureAdapter {
5
+ private readonly categoryRepository;
6
+ constructor(categoryRepository: CategoryRepository);
7
+ buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<OldCategoryStructureAdapter, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<OldCategoryStructureAdapter>;
10
+ }
@@ -0,0 +1,86 @@
1
+ import { Category, CategoryRepository, Product, ProductGender, ProductRepository, ProductsIndex, 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 categoryRepository;
67
+ private readonly categoryStructureAdapter;
68
+ private readonly shop;
69
+ private readonly productIndex;
70
+ private productsByTerm;
71
+ constructor(productRepository: ProductRepository, categoryRepository: CategoryRepository, categoryStructureAdapter: CategoryStructureAdapter, shop: Shops, productIndex: ProductsIndex);
72
+ fetchProducts(options: FetchProductsParams<T>): Promise<FetchProductsResponse>;
73
+ private findCatalog;
74
+ private buildMainFilter;
75
+ private findCatalogAndSortByMostRevelant;
76
+ private findCatalogIdsByElasticSearch;
77
+ private buildFilterQuery;
78
+ private buildSortQuery;
79
+ private buildLimitQuery;
80
+ private hasProfile;
81
+ private hasTerm;
82
+ private hasCategory;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService<any>, never>;
84
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService<any>>;
85
+ }
86
+ export {};
@@ -0,0 +1,20 @@
1
+ import { Category, CategoryFilterRepository, CategoryRepository, Filter, ProductGender, ProductRepository, 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): Promise<Category[]>;
16
+ fetchFilterOptions(category: Category): Promise<Filter[]>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoryService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<CategoryService>;
19
+ }
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from './product-sorts.enum';
@@ -0,0 +1,9 @@
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
+ }
@@ -0,0 +1,7 @@
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';
@@ -0,0 +1,4 @@
1
+ import { Category } from '@infrab4a/connect';
2
+ export declare class CategoryWithTree extends Category {
3
+ children?: CategoryWithTree[];
4
+ }
@@ -0,0 +1 @@
1
+ export * from './category-with-tree.model';
@@ -0,0 +1 @@
1
+ export * from './product-sort.type';
@@ -0,0 +1,2 @@
1
+ import { ProductSorts } from '../enums';
2
+ export type ProductSort = `${ProductSorts}`;
@@ -0,0 +1,38 @@
1
+ import { CategoryFilterRepository, CategoryRepository, ProductRepository, ProductsIndex, 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
+ private catalogService;
9
+ private categoryService;
10
+ constructor(wishlistRepository: WishlistRepository, shop: Shops, productRepository: ProductRepository, categoryFilterRepository: CategoryFilterRepository, categoryRepository: CategoryRepository, productIndex: ProductsIndex);
11
+ getCatalogService(): CatalogService<import("@infrab4a/connect").Category>;
12
+ getCategoryService(): CategoryService;
13
+ create({ personId, title, description, userFullName, userPhoto, theme, bannerUrl, }: {
14
+ personId: string;
15
+ title: string;
16
+ description: string;
17
+ userFullName: string;
18
+ userPhoto?: string;
19
+ theme?: string;
20
+ bannerUrl?: string;
21
+ }): Promise<Wishlist>;
22
+ update({ id, title, description, userFullName, userPhoto, theme, bannerUrl, }: {
23
+ id: string;
24
+ title: string;
25
+ description: string;
26
+ userFullName: string;
27
+ userPhoto?: string;
28
+ theme?: string;
29
+ bannerUrl?: string;
30
+ }): Promise<Wishlist>;
31
+ delete(wishlistId: string): Promise<void>;
32
+ getWishlistBySlug(slug: string): Promise<Wishlist>;
33
+ getWishlistsByPerson(personId: string): Promise<Wishlist[]>;
34
+ addProduct(wishlistId: string, productId: string): Promise<Wishlist>;
35
+ removeProduct(wishlistId: string, productId: string): Promise<Wishlist>;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<WishlistService, never>;
37
+ static ɵprov: i0.ɵɵInjectableDeclaration<WishlistService>;
38
+ }
@@ -0,0 +1,19 @@
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
+ }
@@ -0,0 +1,24 @@
1
+ import { Checkout, CheckoutRepository, CheckoutTypes, Coupon, Shops, User, UserRepository } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { DataPersistence } from '../persistence';
4
+ import { CouponService } from './coupon.service';
5
+ import { RequiredCheckoutData } from './types';
6
+ import * as i0 from "@angular/core";
7
+ export declare class CheckoutService {
8
+ private readonly couponService;
9
+ private readonly checkoutRepository;
10
+ private readonly userRepository;
11
+ private readonly defaultShop;
12
+ private readonly dataPersistence;
13
+ constructor(couponService: CouponService, checkoutRepository: CheckoutRepository, userRepository: UserRepository, defaultShop: Shops, dataPersistence: DataPersistence);
14
+ getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
15
+ getUserByCheckout(checkoutId: string): Observable<User>;
16
+ updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
17
+ updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
18
+ clearCheckoutFromSession(): Observable<void>;
19
+ calcDiscount(coupon: Coupon): Observable<number>;
20
+ checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
21
+ private createCheckout;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
24
+ }
@@ -0,0 +1,29 @@
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
+ calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number>;
15
+ private calcDiscountByType;
16
+ private hasMinSubTotal;
17
+ private hasProductCategories;
18
+ private coupomUserValidation;
19
+ private getCouponCategoriesId;
20
+ private emailIsFromCollaborator;
21
+ private getLineItensEligebleForDiscount;
22
+ private calcCheckoutSubtotal;
23
+ private getOrdersWithCoupon;
24
+ private getOrdersFromUser;
25
+ private countOrdersWithUser;
26
+ private getCouponUseLimits;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
28
+ static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
29
+ }
@@ -0,0 +1 @@
1
+ export * from './util.helper';
@@ -0,0 +1,3 @@
1
+ export declare class UtilHelper {
2
+ static createSlug(name: string): string;
3
+ }
@@ -0,0 +1,26 @@
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 {};
@@ -0,0 +1,10 @@
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';
10
+ export * from './shipping.service';
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,19 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { HomeShopService } from './home-shop.service';
4
+ import { ShippingMethodResponse } from './types/shipping-methods.type';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ShippingService {
7
+ private http;
8
+ private apiUrl;
9
+ private homeService;
10
+ constructor(http: HttpClient, apiUrl: string, homeService: HomeShopService);
11
+ getShippingMethods(shop: string, zip: string, weightGrams: number, totalPrice: number, personId: string, subscriptionPlan?: string): Observable<Array<ShippingMethodResponse & {
12
+ ShippingCompanyName?: string;
13
+ }>>;
14
+ private isFreeShippingBySubscription;
15
+ private isHalfShippingBySubscription;
16
+ private isHolidays;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShippingService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShippingService>;
19
+ }
@@ -0,0 +1,2 @@
1
+ export * from './required-checkout-data.type';
2
+ export * from './required-checkout-subscription-data.type';
@@ -0,0 +1,2 @@
1
+ import { Checkout } from '@infrab4a/connect';
2
+ export type RequiredCheckoutData = Partial<Pick<Checkout, 'id' | 'user' | 'shop' | 'lineItems'>>;
@@ -0,0 +1,2 @@
1
+ import { CheckoutSubscription } from '@infrab4a/connect';
2
+ export type RequiredCheckoutSubscriptionData = Partial<Pick<CheckoutSubscription, 'id'>>;
@@ -0,0 +1,12 @@
1
+ export interface ShippingMethodResponse {
2
+ daysToDelivery: number;
3
+ currency: string;
4
+ description: string;
5
+ maxDeliveryDate: string;
6
+ minDeliveryDate: string;
7
+ serviceCode: string;
8
+ serviceName: string;
9
+ totalPrice: number;
10
+ additionalDescription: string;
11
+ cnpj: string;
12
+ }
@@ -0,0 +1 @@
1
+ export type FirebaseAppConfig = Record<string, any>;
@@ -0,0 +1 @@
1
+ export * from './firebase-app-config.type';
package/CHANGELOG.md DELETED
@@ -1,13 +0,0 @@
1
- # @infrab4a/connect-angular
2
-
3
- ## 5.0.0
4
-
5
- ### Patch Changes
6
-
7
- - Alterações automáticas para @infrab4a/connect-angular:
8
-
9
- - chore(github): Correct configuration to build all packages (12aa9ccb)
10
- - chore(changeset): Add to update packages version automatically (e6af20f1)
11
-
12
- - Updated dependencies []:
13
- - @infrab4a/connect@4.30.0
package/eslint.config.js DELETED
@@ -1,18 +0,0 @@
1
- const baseConfig = require('../../eslint.config.js')
2
-
3
- module.exports = [
4
- ...baseConfig,
5
- {
6
- files: ['**/*.ts'],
7
- languageOptions: {
8
- parserOptions: {
9
- project: './tsconfig.json',
10
- },
11
- },
12
- rules: {
13
- // Regras específicas para o projeto connect-angular
14
- // Relaxar algumas regras para componentes Angular
15
- '@typescript-eslint/explicit-member-accessibility': 'off',
16
- },
17
- },
18
- ]
package/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './src'
package/karma.conf.js DELETED
@@ -1,32 +0,0 @@
1
- // Karma configuration file, see link for more information
2
- // https://karma-runner.github.io/1.0/config/configuration-file.html
3
-
4
- module.exports = function (config) {
5
- config.set({
6
- basePath: '',
7
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
- plugins: [
9
- require('karma-jasmine'),
10
- require('karma-chrome-launcher'),
11
- require('karma-jasmine-html-reporter'),
12
- require('karma-coverage-istanbul-reporter'),
13
- require('@angular-devkit/build-angular/plugins/karma'),
14
- ],
15
- client: {
16
- clearContext: false, // leave Jasmine Spec Runner output visible in browser
17
- },
18
- coverageIstanbulReporter: {
19
- dir: require('path').join(__dirname, '../../coverage/connect-angular'),
20
- reports: ['html', 'lcovonly', 'text-summary'],
21
- fixWebpackSourcePaths: true,
22
- },
23
- reporters: ['progress', 'kjhtml'],
24
- port: 9876,
25
- colors: true,
26
- logLevel: config.LOG_INFO,
27
- autoWatch: true,
28
- browsers: ['Chrome'],
29
- singleRun: false,
30
- restartOnFileChange: true,
31
- })
32
- }
package/ng-package.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/connect-angular",
4
- "lib": {
5
- "entryFile": "src/index.ts"
6
- },
7
- "allowedNonPeerDependencies": ["js-cookie", "ts-custom-error", "@infrab4a/connect"]
8
- }
package/project.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
3
- "name": "connect-angular",
4
- "projectType": "library",
5
- "sourceRoot": "projects/connect-angular/src",
6
- "prefix": "infrab4a",
7
- "tags": ["type:lib", "scope:publishable", "framework:angular"],
8
- "targets": {
9
- "build": {
10
- "executor": "@angular-devkit/build-angular:ng-packagr",
11
- "options": {
12
- "tsConfig": "projects/connect-angular/tsconfig.lib.json",
13
- "project": "projects/connect-angular/ng-package.json"
14
- },
15
- "configurations": {
16
- "production": {
17
- "tsConfig": "projects/connect-angular/tsconfig.lib.prod.json"
18
- }
19
- },
20
- "outputs": ["{workspaceRoot}/dist/connect-angular"]
21
- },
22
- "test": {
23
- "executor": "@angular-devkit/build-angular:karma",
24
- "options": {
25
- "main": "projects/connect-angular/src/test.ts",
26
- "tsConfig": "projects/connect-angular/tsconfig.spec.json",
27
- "karmaConfig": "projects/connect-angular/karma.conf.js"
28
- }
29
- },
30
- "lint": {
31
- "executor": "@nx/eslint:lint",
32
- "options": {
33
- "lintFilePatterns": ["projects/connect-angular/**/*.ts"]
34
- }
35
- }
36
- }
37
- }