@infrab4a/connect-angular 6.0.0-alpha.0 → 6.0.0-beta.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 (293) hide show
  1. package/angular-connect.module.d.ts +36 -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 +17 -0
  5. package/angular-hasura-graphql.module.d.ts +14 -0
  6. package/angular-vertex-search.module.d.ts +9 -0
  7. package/consts/backend-url.const.d.ts +1 -0
  8. package/consts/category-structure.d.ts +1 -0
  9. package/consts/default-shop.const.d.ts +1 -0
  10. package/consts/es-config.const.d.ts +1 -0
  11. package/consts/firebase-const.d.ts +4 -0
  12. package/consts/hasura-options.const.d.ts +1 -0
  13. package/consts/index.d.ts +8 -0
  14. package/consts/persistence.const.d.ts +1 -0
  15. package/consts/storage-base-url.const.d.ts +1 -0
  16. package/consts/vertex-config.const.d.ts +1 -0
  17. package/esm2022/angular-connect.module.mjs +291 -0
  18. package/esm2022/angular-elastic-search.module.mjs +34 -0
  19. package/esm2022/angular-firebase-auth.module.mjs +141 -0
  20. package/esm2022/angular-firestore.module.mjs +541 -0
  21. package/esm2022/angular-hasura-graphql.module.mjs +333 -0
  22. package/esm2022/angular-vertex-search.module.mjs +34 -0
  23. package/esm2022/consts/backend-url.const.mjs +2 -0
  24. package/esm2022/consts/category-structure.mjs +2 -0
  25. package/esm2022/consts/default-shop.const.mjs +2 -0
  26. package/esm2022/consts/es-config.const.mjs +2 -0
  27. package/esm2022/consts/firebase-const.mjs +5 -0
  28. package/esm2022/consts/hasura-options.const.mjs +2 -0
  29. package/esm2022/consts/index.mjs +9 -0
  30. package/esm2022/consts/persistence.const.mjs +2 -0
  31. package/esm2022/consts/storage-base-url.const.mjs +2 -0
  32. package/esm2022/consts/vertex-config.const.mjs +2 -0
  33. package/esm2022/helpers/index.mjs +2 -0
  34. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +7 -0
  35. package/esm2022/index.mjs +7 -0
  36. package/esm2022/infrab4a-connect-angular.mjs +5 -0
  37. package/esm2022/interfaces/catalog-strategies.interface.mjs +2 -0
  38. package/esm2022/interfaces/category-facades.interface.mjs +2 -0
  39. package/esm2022/interfaces/index.mjs +3 -0
  40. package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
  41. package/esm2022/persistence/data-persistence.mjs +2 -0
  42. package/esm2022/persistence/index.mjs +3 -0
  43. package/esm2022/services/auth.service.mjs +37 -0
  44. package/esm2022/services/cart/cart-services.facade.mjs +21 -0
  45. package/esm2022/services/cart/index.mjs +2 -0
  46. package/esm2022/services/cart.service.mjs +73 -0
  47. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +2 -0
  48. package/esm2022/services/catalog/adapters/index.mjs +4 -0
  49. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
  50. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
  51. package/esm2022/services/catalog/catalog.service.mjs +111 -0
  52. package/esm2022/services/catalog/category.service.mjs +39 -0
  53. package/esm2022/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/esm2022/services/catalog/enums/index.mjs +2 -0
  55. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +11 -0
  56. package/esm2022/services/catalog/facades/catalog-service.facade.mjs +32 -0
  57. package/esm2022/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2022/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/esm2022/services/catalog/facades/category-service.facade.mjs +30 -0
  60. package/esm2022/services/catalog/facades/index.mjs +6 -0
  61. package/esm2022/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2022/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2022/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2022/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/esm2022/services/catalog/helpers/index.mjs +5 -0
  66. package/esm2022/services/catalog/helpers/product-fields.helper.mjs +39 -0
  67. package/esm2022/services/catalog/index.mjs +8 -0
  68. package/esm2022/services/catalog/models/category-with-tree.model.mjs +10 -0
  69. package/esm2022/services/catalog/models/index.mjs +2 -0
  70. package/esm2022/services/catalog/services/catalog-helpers.service.mjs +33 -0
  71. package/esm2022/services/catalog/services/catalog-operations.facade.mjs +26 -0
  72. package/esm2022/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/esm2022/services/catalog/services/index.mjs +5 -0
  74. package/esm2022/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2022/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/esm2022/services/catalog/strategies/index.mjs +4 -0
  77. package/esm2022/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2022/services/catalog/strategies/term-search.strategy.mjs +123 -0
  79. package/esm2022/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/esm2022/services/catalog/types/fetch-products-options.type.mjs +2 -0
  81. package/esm2022/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/esm2022/services/catalog/types/fetch-products-response.type.mjs +2 -0
  83. package/esm2022/services/catalog/types/index.mjs +6 -0
  84. package/esm2022/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2022/services/catalog/types/product-sort.type.mjs +2 -0
  86. package/esm2022/services/catalog/wishlist.service.mjs +254 -0
  87. package/esm2022/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2022/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/esm2022/services/checkout/index.mjs +3 -0
  90. package/esm2022/services/checkout-subscription.service.mjs +55 -0
  91. package/esm2022/services/checkout.service.mjs +106 -0
  92. package/esm2022/services/coupon/coupon-repositories.facade.mjs +24 -0
  93. package/esm2022/services/coupon/index.mjs +2 -0
  94. package/esm2022/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2022/services/coupon.service.mjs +248 -0
  96. package/esm2022/services/helpers/index.mjs +2 -0
  97. package/esm2022/services/helpers/util.helper.mjs +18 -0
  98. package/esm2022/services/home-shop/home-shop-repositories.facade.mjs +24 -0
  99. package/esm2022/services/home-shop/index.mjs +2 -0
  100. package/esm2022/services/home-shop.service.mjs +119 -0
  101. package/esm2022/services/index.mjs +11 -0
  102. package/esm2022/services/order-product-review.service.mjs +81 -0
  103. package/esm2022/services/order.service.mjs +30 -0
  104. package/esm2022/services/shared/configuration.facade.mjs +29 -0
  105. package/esm2022/services/shared/index.mjs +2 -0
  106. package/esm2022/services/types/index.mjs +5 -0
  107. package/esm2022/services/types/pending-product-review.type.mjs +2 -0
  108. package/esm2022/services/types/product-review-create.type.mjs +2 -0
  109. package/esm2022/services/types/required-checkout-data.type.mjs +2 -0
  110. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +2 -0
  111. package/esm2022/types/firebase-app-config.type.mjs +2 -0
  112. package/esm2022/types/index.mjs +2 -0
  113. package/fesm2022/infrab4a-connect-angular.mjs +3352 -0
  114. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  115. package/helpers/index.d.ts +1 -0
  116. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
  117. package/index.d.ts +6 -0
  118. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  119. package/interfaces/category-facades.interface.d.ts +6 -0
  120. package/interfaces/index.d.ts +2 -0
  121. package/package.json +23 -9
  122. package/persistence/cookie-data-persistence.d.ts +10 -0
  123. package/persistence/data-persistence.d.ts +6 -0
  124. package/persistence/index.d.ts +2 -0
  125. package/services/auth.service.d.ts +18 -0
  126. package/services/cart/cart-services.facade.d.ts +12 -0
  127. package/services/cart/index.d.ts +1 -0
  128. package/services/cart.service.d.ts +26 -0
  129. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
  130. package/services/catalog/adapters/index.d.ts +3 -0
  131. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
  132. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
  133. package/services/catalog/catalog.service.d.ts +24 -0
  134. package/services/catalog/category.service.d.ts +22 -0
  135. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  136. package/services/catalog/enums/index.d.ts +1 -0
  137. package/services/catalog/enums/product-sorts.enum.d.ts +9 -0
  138. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  139. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  140. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  141. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  142. package/{src/services/catalog/facades/index.ts → services/catalog/facades/index.d.ts} +5 -5
  143. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  144. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  145. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  146. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  147. package/services/catalog/helpers/index.d.ts +4 -0
  148. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  149. package/services/catalog/index.d.ts +7 -0
  150. package/services/catalog/models/category-with-tree.model.d.ts +4 -0
  151. package/services/catalog/models/index.d.ts +1 -0
  152. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  153. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  154. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  155. package/{src/services/catalog/services/index.ts → services/catalog/services/index.d.ts} +4 -4
  156. package/services/catalog/services/product-management.facade.d.ts +12 -0
  157. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  158. package/services/catalog/strategies/index.d.ts +3 -0
  159. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  160. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  161. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  162. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  163. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  164. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  165. package/services/catalog/types/index.d.ts +5 -0
  166. package/services/catalog/types/method-params.type.d.ts +17 -0
  167. package/services/catalog/types/product-sort.type.d.ts +2 -0
  168. package/services/catalog/wishlist.service.d.ts +59 -0
  169. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  170. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  171. package/{src/services/checkout/index.ts → services/checkout/index.d.ts} +2 -2
  172. package/services/checkout-subscription.service.d.ts +19 -0
  173. package/services/checkout.service.d.ts +30 -0
  174. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  175. package/{src/services/coupon/index.ts → services/coupon/index.d.ts} +1 -1
  176. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  177. package/services/coupon.service.d.ts +36 -0
  178. package/services/helpers/index.d.ts +1 -0
  179. package/services/helpers/util.helper.d.ts +3 -0
  180. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  181. package/{src/services/home-shop/index.ts → services/home-shop/index.d.ts} +1 -1
  182. package/services/home-shop.service.d.ts +26 -0
  183. package/services/index.d.ts +10 -0
  184. package/services/order-product-review.service.d.ts +13 -0
  185. package/services/order.service.d.ts +13 -0
  186. package/services/shared/configuration.facade.d.ts +12 -0
  187. package/services/shared/index.d.ts +1 -0
  188. package/services/types/index.d.ts +4 -0
  189. package/services/types/pending-product-review.type.d.ts +10 -0
  190. package/services/types/product-review-create.type.d.ts +14 -0
  191. package/services/types/required-checkout-data.type.d.ts +2 -0
  192. package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
  193. package/types/firebase-app-config.type.d.ts +1 -0
  194. package/types/index.d.ts +1 -0
  195. package/eslint.config.js +0 -18
  196. package/index.ts +0 -1
  197. package/karma.conf.js +0 -32
  198. package/ng-package.json +0 -8
  199. package/project.json +0 -37
  200. package/src/angular-connect.module.ts +0 -256
  201. package/src/angular-elastic-search.module.ts +0 -23
  202. package/src/angular-firebase-auth.module.ts +0 -101
  203. package/src/angular-firestore.module.ts +0 -371
  204. package/src/angular-hasura-graphql.module.ts +0 -219
  205. package/src/angular-vertex-search.module.ts +0 -23
  206. package/src/consts/backend-url.const.ts +0 -1
  207. package/src/consts/category-structure.ts +0 -1
  208. package/src/consts/default-shop.const.ts +0 -1
  209. package/src/consts/es-config.const.ts +0 -1
  210. package/src/consts/firebase-const.ts +0 -5
  211. package/src/consts/hasura-options.const.ts +0 -1
  212. package/src/consts/index.ts +0 -8
  213. package/src/consts/persistence.const.ts +0 -1
  214. package/src/consts/storage-base-url.const.ts +0 -1
  215. package/src/consts/vertex-config.const.ts +0 -1
  216. package/src/helpers/index.ts +0 -1
  217. package/src/helpers/mobile-operation-system-checker.helper.ts +0 -10
  218. package/src/index.ts +0 -6
  219. package/src/interfaces/catalog-strategies.interface.ts +0 -36
  220. package/src/interfaces/category-facades.interface.ts +0 -7
  221. package/src/interfaces/index.ts +0 -2
  222. package/src/persistence/cookie-data-persistence.ts +0 -21
  223. package/src/persistence/data-persistence.ts +0 -7
  224. package/src/persistence/index.ts +0 -2
  225. package/src/services/auth.service.ts +0 -39
  226. package/src/services/cart/cart-services.facade.ts +0 -14
  227. package/src/services/cart/index.ts +0 -1
  228. package/src/services/cart.service.ts +0 -124
  229. package/src/services/catalog/adapters/category-structure.adapter.ts +0 -5
  230. package/src/services/catalog/adapters/index.ts +0 -3
  231. package/src/services/catalog/adapters/new-category-structure.adapter.ts +0 -42
  232. package/src/services/catalog/adapters/old-category-structure.adapter.ts +0 -17
  233. package/src/services/catalog/catalog.service.ts +0 -153
  234. package/src/services/catalog/category.service.ts +0 -52
  235. package/src/services/catalog/context/catalog-search.context.ts +0 -61
  236. package/src/services/catalog/enums/index.ts +0 -1
  237. package/src/services/catalog/enums/product-sorts.enum.ts +0 -9
  238. package/src/services/catalog/facades/catalog-service.facade.ts +0 -32
  239. package/src/services/catalog/facades/catalog-strategies.facade.ts +0 -12
  240. package/src/services/catalog/facades/category-repository.facade.ts +0 -10
  241. package/src/services/catalog/facades/category-service.facade.ts +0 -25
  242. package/src/services/catalog/facades/product-catalog.facade.ts +0 -13
  243. package/src/services/catalog/helpers/brand-manager.helper.ts +0 -63
  244. package/src/services/catalog/helpers/catalog-filter.helper.ts +0 -50
  245. package/src/services/catalog/helpers/catalog-sort.helper.ts +0 -54
  246. package/src/services/catalog/helpers/index.ts +0 -4
  247. package/src/services/catalog/helpers/product-fields.helper.ts +0 -35
  248. package/src/services/catalog/index.ts +0 -7
  249. package/src/services/catalog/models/category-with-tree.model.ts +0 -7
  250. package/src/services/catalog/models/index.ts +0 -1
  251. package/src/services/catalog/services/catalog-helpers.service.ts +0 -35
  252. package/src/services/catalog/services/catalog-operations.facade.ts +0 -24
  253. package/src/services/catalog/services/catalog-repository.service.ts +0 -20
  254. package/src/services/catalog/services/product-management.facade.ts +0 -20
  255. package/src/services/catalog/strategies/category-search.strategy.ts +0 -172
  256. package/src/services/catalog/strategies/index.ts +0 -3
  257. package/src/services/catalog/strategies/profile-search.strategy.ts +0 -51
  258. package/src/services/catalog/strategies/term-search.strategy.ts +0 -178
  259. package/src/services/catalog/strategies/types/strategy-params.type.ts +0 -58
  260. package/src/services/catalog/types/fetch-products-options.type.ts +0 -10
  261. package/src/services/catalog/types/fetch-products-params.type.ts +0 -27
  262. package/src/services/catalog/types/fetch-products-response.type.ts +0 -11
  263. package/src/services/catalog/types/index.ts +0 -5
  264. package/src/services/catalog/types/method-params.type.ts +0 -21
  265. package/src/services/catalog/types/product-sort.type.ts +0 -3
  266. package/src/services/catalog/wishlist.service.ts +0 -368
  267. package/src/services/checkout/checkout-dependencies.facade.ts +0 -13
  268. package/src/services/checkout/checkout-repositories.facade.ts +0 -10
  269. package/src/services/checkout-subscription.service.ts +0 -76
  270. package/src/services/checkout.service.ts +0 -196
  271. package/src/services/coupon/coupon-repositories.facade.ts +0 -11
  272. package/src/services/coupon/types/coupon-params.type.ts +0 -15
  273. package/src/services/coupon.service.ts +0 -347
  274. package/src/services/errors/group-invalid-coupon.error.ts +0 -9
  275. package/src/services/errors/index.ts +0 -2
  276. package/src/services/errors/invalid-coupon.error.ts +0 -7
  277. package/src/services/helpers/index.ts +0 -1
  278. package/src/services/helpers/util.helper.ts +0 -17
  279. package/src/services/home-shop/home-shop-repositories.facade.ts +0 -11
  280. package/src/services/home-shop.service.ts +0 -196
  281. package/src/services/index.ts +0 -9
  282. package/src/services/order.service.ts +0 -23
  283. package/src/services/shared/configuration.facade.ts +0 -21
  284. package/src/services/shared/index.ts +0 -1
  285. package/src/services/types/index.ts +0 -2
  286. package/src/services/types/required-checkout-data.type.ts +0 -3
  287. package/src/services/types/required-checkout-subscription-data.type.ts +0 -3
  288. package/src/types/firebase-app-config.type.ts +0 -1
  289. package/src/types/index.ts +0 -1
  290. package/tsconfig.json +0 -17
  291. package/tsconfig.lib.json +0 -13
  292. package/tsconfig.lib.prod.json +0 -13
  293. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,58 @@
1
+ import { RepositoryCacheOptions, Shops } from '@infrab4a/connect';
2
+ export type SearchWithMostRelevantParams = {
3
+ category: any;
4
+ filters: any;
5
+ limits: any;
6
+ shop: Shops;
7
+ mainGender: any;
8
+ optionsCache: {
9
+ cache?: RepositoryCacheOptions;
10
+ } | undefined;
11
+ fields: any;
12
+ };
13
+ export type SearchDefaultParams = {
14
+ category: any;
15
+ filters: any;
16
+ limits: any;
17
+ shop: Shops;
18
+ mainGender: any;
19
+ sort: any;
20
+ optionsCache: {
21
+ cache?: RepositoryCacheOptions;
22
+ } | undefined;
23
+ fields: any;
24
+ };
25
+ export type FindAndSortByMostRelevantParams = {
26
+ mostRelevants: string[];
27
+ productIds: string[];
28
+ filters: any;
29
+ limits: any;
30
+ shop: Shops;
31
+ mainGender: any;
32
+ optionsCache: {
33
+ cache?: RepositoryCacheOptions;
34
+ } | undefined;
35
+ fields: any;
36
+ };
37
+ export type TermSearchMostRelevantParams = {
38
+ productIds: string[];
39
+ filters: any;
40
+ limits: any;
41
+ mainGender: any;
42
+ shop: Shops;
43
+ };
44
+ export type TermSearchDefaultParams = {
45
+ productIds: string[];
46
+ filters: any;
47
+ limits: any;
48
+ mainGender: any;
49
+ shop: Shops;
50
+ fields: any;
51
+ };
52
+ export type SortByTermRelevanceParams = {
53
+ productIds: string[];
54
+ totalResult: any;
55
+ limits: any;
56
+ filters: any;
57
+ fieldsHelper: any;
58
+ };
@@ -0,0 +1,8 @@
1
+ import { ProductGender } from '@infrab4a/connect';
2
+ import { ProductSort } from './product-sort.type';
3
+ export type FetchProductsOptions = {
4
+ page?: number;
5
+ perPage?: number;
6
+ sort?: ProductSort;
7
+ mainGender?: ProductGender;
8
+ };
@@ -0,0 +1,25 @@
1
+ import { Category } from '@infrab4a/connect';
2
+ import { CatalogFilters } from '../../../interfaces';
3
+ import { FetchProductsOptions } from './fetch-products-options.type';
4
+ export type FetchProductsMainParams<T extends Category> = {
5
+ category?: T;
6
+ profile?: string[];
7
+ term?: string;
8
+ };
9
+ export type FetchProductsParams<T extends Category> = FetchProductsOptions & ({
10
+ category: FetchProductsMainParams<T>['category'];
11
+ filters?: CatalogFilters & {
12
+ customOptions?: never;
13
+ };
14
+ } | {
15
+ profile: FetchProductsMainParams<T>['profile'];
16
+ filters?: CatalogFilters & {
17
+ customOptions?: never;
18
+ tags?: never;
19
+ };
20
+ } | {
21
+ term: FetchProductsMainParams<T>['term'];
22
+ filters?: CatalogFilters & {
23
+ customOptions?: never;
24
+ };
25
+ });
@@ -0,0 +1,19 @@
1
+ import { Product } from '@infrab4a/connect';
2
+ export type FetchProductsResponse = {
3
+ products: {
4
+ data: Product[];
5
+ total: number;
6
+ };
7
+ pages: number;
8
+ prices: {
9
+ price: {
10
+ min: number;
11
+ max: number;
12
+ };
13
+ subscriberPrice: {
14
+ min: number;
15
+ max: number;
16
+ };
17
+ };
18
+ brands?: string[];
19
+ };
@@ -0,0 +1,5 @@
1
+ export * from './fetch-products-options.type';
2
+ export * from './fetch-products-params.type';
3
+ export * from './fetch-products-response.type';
4
+ export * from './method-params.type';
5
+ export * from './product-sort.type';
@@ -0,0 +1,17 @@
1
+ import { Category, Product, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchParams } from '../../../interfaces';
3
+ import { FetchProductsParams } from './fetch-products-params.type';
4
+ export type StockNotificationParams = {
5
+ shop: Shops;
6
+ productId: string;
7
+ name: string;
8
+ email: string;
9
+ };
10
+ export type BuildResponseParams<T extends Category = Category> = {
11
+ data: Product[];
12
+ total: number;
13
+ maximum: any;
14
+ minimal: any;
15
+ searchParams: CatalogSearchParams;
16
+ options: FetchProductsParams<T>;
17
+ };
@@ -0,0 +1,2 @@
1
+ import { ProductSorts } from '../enums';
2
+ export type ProductSort = `${ProductSorts}`;
@@ -0,0 +1,59 @@
1
+ import { LogRepository, PersonType, ProductRepository, Shops, Wishlist, WishlistRepository } from '@infrab4a/connect';
2
+ import { CatalogService } from './catalog.service';
3
+ import { CategoryService } from './category.service';
4
+ import { CatalogServiceFacade, CategoryServiceFacade } from './facades';
5
+ import * as i0 from "@angular/core";
6
+ export declare class WishlistService {
7
+ private readonly wishlistRepository;
8
+ private readonly productRepository;
9
+ private readonly logRepository;
10
+ private readonly shop;
11
+ private catalogService;
12
+ private categoryService;
13
+ constructor(wishlistRepository: WishlistRepository, productRepository: ProductRepository, logRepository: LogRepository, shop: Shops);
14
+ initializeServices(catalogServiceFacade: CatalogServiceFacade, categoryServiceFacade: CategoryServiceFacade): void;
15
+ getCatalogService(): CatalogService<import("@infrab4a/connect").Category>;
16
+ getCategoryService(): CategoryService;
17
+ create({ personId, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
18
+ personId: string;
19
+ title: string;
20
+ description: string;
21
+ published: boolean;
22
+ userFullName: string;
23
+ userPhoto?: string;
24
+ theme?: string;
25
+ bannerUrl?: string;
26
+ personType?: PersonType;
27
+ personIsSubscriber?: boolean;
28
+ }): Promise<Wishlist>;
29
+ private buildWishlistData;
30
+ private findExistingWishlistByPersonId;
31
+ private createNewWishlist;
32
+ update({ id, title, description, published, userFullName, userPhoto, theme, bannerUrl, personType, personIsSubscriber, }: {
33
+ id: string;
34
+ title: string;
35
+ description: string;
36
+ published: boolean;
37
+ userFullName: string;
38
+ userPhoto?: string;
39
+ theme?: string;
40
+ bannerUrl?: string;
41
+ personType?: PersonType;
42
+ personIsSubscriber?: boolean;
43
+ }): Promise<Wishlist>;
44
+ delete(wishlistId: string): Promise<void>;
45
+ getWishlistBySlug(slug: string): Promise<Wishlist>;
46
+ getWishlistsByPerson(personId: string): Promise<Wishlist[]>;
47
+ addProduct(wishlistId: string, productId: string): Promise<Wishlist>;
48
+ removeProduct(wishlistId: string, productId: string): Promise<Wishlist>;
49
+ private findById;
50
+ private findProductById;
51
+ private createWishlistLog;
52
+ private createWishlistOperationLog;
53
+ private createWishlistProductLog;
54
+ private getOperationTypeFromWishlistLogType;
55
+ private buildWishlistLogDocument;
56
+ private buildProductLogData;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<WishlistService, never>;
58
+ static ɵprov: i0.ɵɵInjectableDeclaration<WishlistService>;
59
+ }
@@ -0,0 +1,10 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { DataPersistence } from '../../persistence';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CheckoutDependenciesFacade {
5
+ readonly dataPersistence: DataPersistence;
6
+ readonly httpClient: HttpClient;
7
+ constructor(dataPersistence: DataPersistence, httpClient: HttpClient);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutDependenciesFacade, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutDependenciesFacade>;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { CheckoutRepository, UserRepository } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CheckoutRepositoriesFacade {
4
+ readonly checkoutRepository: CheckoutRepository;
5
+ readonly userRepository: UserRepository;
6
+ constructor(checkoutRepository: CheckoutRepository, userRepository: UserRepository);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutRepositoriesFacade, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutRepositoriesFacade>;
9
+ }
@@ -1,2 +1,2 @@
1
- export { CheckoutRepositoriesFacade } from './checkout-repositories.facade'
2
- export { CheckoutDependenciesFacade } from './checkout-dependencies.facade'
1
+ export { CheckoutRepositoriesFacade } from './checkout-repositories.facade';
2
+ export { CheckoutDependenciesFacade } from './checkout-dependencies.facade';
@@ -0,0 +1,19 @@
1
+ import { CheckoutSubscription, CheckoutSubscriptionRepository, Coupon } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { DataPersistence } from '../persistence';
4
+ import { RequiredCheckoutSubscriptionData } from './types';
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,30 @@
1
+ import { Checkout, CheckoutPayloadRequest, CheckoutResponse, CheckoutStockValidation, CheckoutTypes, Coupon, ShippingMethodResponse, ShippingProductRequest, User, UserAddress } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { RequiredCheckoutData } from './types';
4
+ import { CheckoutDependenciesFacade, CheckoutRepositoriesFacade } from './checkout';
5
+ import { ConfigurationFacade } from './shared';
6
+ import * as i0 from "@angular/core";
7
+ export declare class CheckoutService {
8
+ private readonly repositoriesFacade;
9
+ private readonly dependenciesFacade;
10
+ private readonly configurationFacade;
11
+ private checkoutUrl;
12
+ constructor(repositoriesFacade: CheckoutRepositoriesFacade, dependenciesFacade: CheckoutDependenciesFacade, configurationFacade: ConfigurationFacade);
13
+ getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout>;
14
+ getUserByCheckout(checkoutId: string): Observable<User>;
15
+ updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout>;
16
+ updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout>;
17
+ clearCheckoutFromSession(): Observable<void>;
18
+ resetCheckoutValues(): Observable<Checkout>;
19
+ applyCouponDiscount(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon>;
20
+ removeCouponDiscount(): Observable<Checkout>;
21
+ validateStockProducts(): Observable<CheckoutStockValidation>;
22
+ selectShippingAddress(address: UserAddress): Observable<Checkout>;
23
+ getAvailableShippingForProduct(productShipping: ShippingProductRequest): Observable<ShippingMethodResponse[]>;
24
+ getAvailableShippingForCheckout(): Observable<ShippingMethodResponse[]>;
25
+ selectShipping(option: string): Observable<Checkout>;
26
+ createOrder(checkoutPayload: CheckoutPayloadRequest, paymentProvider: string, applicationVersion: string): Observable<CheckoutResponse>;
27
+ private createCheckout;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
29
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
30
+ }
@@ -0,0 +1,10 @@
1
+ import { CategoryRepository, CouponRepository, OrderRepository } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CouponRepositoriesFacade {
4
+ readonly couponRepository: CouponRepository;
5
+ readonly orderRepository: OrderRepository;
6
+ readonly categoryRepository: CategoryRepository;
7
+ constructor(couponRepository: CouponRepository, orderRepository: OrderRepository, categoryRepository: CategoryRepository);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CouponRepositoriesFacade, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CouponRepositoriesFacade>;
10
+ }
@@ -1 +1 @@
1
- export { CouponRepositoriesFacade } from './coupon-repositories.facade'
1
+ export { CouponRepositoriesFacade } from './coupon-repositories.facade';
@@ -0,0 +1,13 @@
1
+ import { Checkout, CheckoutTypes, Coupon } from '@infrab4a/connect';
2
+ export type CheckCouponParams = {
3
+ nickname: string;
4
+ checkoutType: CheckoutTypes;
5
+ checkout: Partial<Checkout>;
6
+ plan: string;
7
+ };
8
+ export type CouponRulesValidationParams = {
9
+ coupon: Coupon;
10
+ checkoutType: CheckoutTypes;
11
+ checkout: Partial<Checkout>;
12
+ plan: string;
13
+ };
@@ -0,0 +1,36 @@
1
+ import { CheckoutSubscription, Coupon } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { CouponRepositoriesFacade } from './coupon';
4
+ import { CheckCouponParams } from './coupon/types/coupon-params.type';
5
+ import { ConfigurationFacade } from './shared';
6
+ import * as i0 from "@angular/core";
7
+ export declare class CouponService {
8
+ private readonly repositoriesFacade;
9
+ private readonly configurationFacade;
10
+ constructor(repositoriesFacade: CouponRepositoriesFacade, configurationFacade: ConfigurationFacade);
11
+ checkCoupon(params: CheckCouponParams): Observable<Coupon>;
12
+ private couponValidation;
13
+ private couponRulesValidation;
14
+ private validateSubscriptionCoupon;
15
+ private validateEcommerceCoupon;
16
+ private validateUserEligibility;
17
+ private validateUsageLimits;
18
+ private validateFirstOrderLimit;
19
+ private validateCouponUsageLimits;
20
+ private validateProductEligibility;
21
+ private throwMinSubTotalError;
22
+ calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number>;
23
+ private hasMinSubTotal;
24
+ private hasProductCategories;
25
+ private coupomUserValidation;
26
+ private getCouponCategoriesId;
27
+ private emailIsFromCollaborator;
28
+ private getLineItensEligebleForDiscount;
29
+ private calcCheckoutSubtotal;
30
+ private getOrdersWithCoupon;
31
+ private getOrdersFromUser;
32
+ private countOrdersWithUser;
33
+ private getCouponUseLimits;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<CouponService, never>;
35
+ static ɵprov: i0.ɵɵInjectableDeclaration<CouponService>;
36
+ }
@@ -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,10 @@
1
+ import { CategoryRepository, HomeRepository, ProductRepository } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class HomeShopRepositoriesFacade {
4
+ readonly categoryRepository: CategoryRepository;
5
+ readonly homeRepository: HomeRepository;
6
+ readonly productRepository: ProductRepository;
7
+ constructor(categoryRepository: CategoryRepository, homeRepository: HomeRepository, productRepository: ProductRepository);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<HomeShopRepositoriesFacade, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<HomeShopRepositoriesFacade>;
10
+ }
@@ -1 +1 @@
1
- export { HomeShopRepositoriesFacade } from './home-shop-repositories.facade'
1
+ export { HomeShopRepositoriesFacade } from './home-shop-repositories.facade';
@@ -0,0 +1,26 @@
1
+ import { Banner, Home } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { HomeShopRepositoriesFacade } from './home-shop';
4
+ import { ConfigurationFacade } from './shared';
5
+ import * as i0 from "@angular/core";
6
+ type BannerType = 'brand' | 'buyToWin' | 'block' | 'blog';
7
+ export declare class HomeShopService {
8
+ private readonly repositoriesFacade;
9
+ private readonly configurationFacade;
10
+ private homeConfiguration;
11
+ private get homeId();
12
+ constructor(repositoriesFacade: HomeShopRepositoriesFacade, configurationFacade: ConfigurationFacade);
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-product-review.service';
10
+ export * from './order.service';
@@ -0,0 +1,13 @@
1
+ import { OrderFirestoreRepository, ProductReview, ProductReviewRepository } from '@infrab4a/connect';
2
+ import { PendingProductReview, ProductReviewCreate } from './types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class OrderProductReviewService {
5
+ private readonly orderRepository;
6
+ private readonly productReviewRepository;
7
+ constructor(orderRepository: OrderFirestoreRepository, productReviewRepository: ProductReviewRepository);
8
+ getPendingReviewsByEmail(email: string): Promise<PendingProductReview[]>;
9
+ private buildProductReview;
10
+ createReview(review: ProductReviewCreate): Promise<ProductReview>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderProductReviewService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderProductReviewService>;
13
+ }
@@ -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,12 @@
1
+ import { FirebaseOptions } from '@angular/fire/app';
2
+ import { Shops } from '@infrab4a/connect';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ConfigurationFacade {
5
+ readonly defaultShop: Shops;
6
+ readonly firebaseOptions: FirebaseOptions;
7
+ constructor(defaultShop: Shops, firebaseOptions: FirebaseOptions);
8
+ getCheckoutUrl(): string;
9
+ getProjectId(): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationFacade, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationFacade>;
12
+ }
@@ -0,0 +1 @@
1
+ export { ConfigurationFacade } from './configuration.facade';
@@ -0,0 +1,4 @@
1
+ export * from './pending-product-review.type';
2
+ export * from './product-review-create.type';
3
+ export * from './required-checkout-data.type';
4
+ export * from './required-checkout-subscription-data.type';
@@ -0,0 +1,10 @@
1
+ export type PendingProductReview = {
2
+ id: string;
3
+ orderNumber: string;
4
+ isEdition: boolean;
5
+ name: string;
6
+ image: string;
7
+ deliveryDate: string;
8
+ evaluationInAnalysis: boolean;
9
+ shopProductSlug: string;
10
+ };
@@ -0,0 +1,14 @@
1
+ import { Shops } from '@infrab4a/connect/src';
2
+ export type ProductReviewCreate = {
3
+ productId: string;
4
+ shop: Shops;
5
+ rate: number;
6
+ author: string;
7
+ email: string;
8
+ location: string;
9
+ comment: string;
10
+ title: string;
11
+ personId: number;
12
+ points: number;
13
+ orderId: string;
14
+ };
@@ -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 @@
1
+ export type FirebaseAppConfig = Record<string, any>;
@@ -0,0 +1 @@
1
+ export * from './firebase-app-config.type';
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
- }