@scayle/storefront-core 7.22.1

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 (268) hide show
  1. package/CHANGELOG.md +480 -0
  2. package/LICENSE +21 -0
  3. package/README.md +29 -0
  4. package/dist/bapi/init.cjs +30 -0
  5. package/dist/bapi/init.d.ts +14 -0
  6. package/dist/bapi/init.mjs +23 -0
  7. package/dist/cache/cache.cjs +1 -0
  8. package/dist/cache/cache.d.ts +8 -0
  9. package/dist/cache/cache.mjs +0 -0
  10. package/dist/cache/cached.cjs +89 -0
  11. package/dist/cache/cached.d.ts +24 -0
  12. package/dist/cache/cached.mjs +92 -0
  13. package/dist/cache/index.cjs +38 -0
  14. package/dist/cache/index.d.ts +3 -0
  15. package/dist/cache/index.mjs +3 -0
  16. package/dist/cache/providers/redis.cjs +94 -0
  17. package/dist/cache/providers/redis.d.ts +28 -0
  18. package/dist/cache/providers/redis.mjs +86 -0
  19. package/dist/cache/providers/unstorage.cjs +54 -0
  20. package/dist/cache/providers/unstorage.d.ts +16 -0
  21. package/dist/cache/providers/unstorage.mjs +49 -0
  22. package/dist/cache/types.cjs +11 -0
  23. package/dist/cache/types.d.ts +6 -0
  24. package/dist/cache/types.mjs +4 -0
  25. package/dist/constants/basket.cjs +13 -0
  26. package/dist/constants/basket.d.ts +8 -0
  27. package/dist/constants/basket.mjs +6 -0
  28. package/dist/constants/cache.cjs +8 -0
  29. package/dist/constants/cache.d.ts +1 -0
  30. package/dist/constants/cache.mjs +1 -0
  31. package/dist/constants/hash.cjs +11 -0
  32. package/dist/constants/hash.d.ts +6 -0
  33. package/dist/constants/hash.mjs +4 -0
  34. package/dist/constants/httpStatus.cjs +636 -0
  35. package/dist/constants/httpStatus.d.ts +632 -0
  36. package/dist/constants/httpStatus.mjs +629 -0
  37. package/dist/constants/index.cjs +93 -0
  38. package/dist/constants/index.d.ts +8 -0
  39. package/dist/constants/index.mjs +8 -0
  40. package/dist/constants/product.cjs +11 -0
  41. package/dist/constants/product.d.ts +6 -0
  42. package/dist/constants/product.mjs +4 -0
  43. package/dist/constants/promotion.cjs +10 -0
  44. package/dist/constants/promotion.d.ts +2 -0
  45. package/dist/constants/promotion.mjs +2 -0
  46. package/dist/constants/sorting.cjs +24 -0
  47. package/dist/constants/sorting.d.ts +20 -0
  48. package/dist/constants/sorting.mjs +17 -0
  49. package/dist/constants/withParameters.cjs +138 -0
  50. package/dist/constants/withParameters.d.ts +30 -0
  51. package/dist/constants/withParameters.mjs +132 -0
  52. package/dist/errors/BAPIError.cjs +16 -0
  53. package/dist/errors/BAPIError.d.ts +6 -0
  54. package/dist/errors/BAPIError.mjs +9 -0
  55. package/dist/errors/baseError.cjs +17 -0
  56. package/dist/errors/baseError.d.ts +5 -0
  57. package/dist/errors/baseError.mjs +10 -0
  58. package/dist/errors/index.cjs +27 -0
  59. package/dist/errors/index.d.ts +2 -0
  60. package/dist/errors/index.mjs +2 -0
  61. package/dist/helpers/advancedAttributeHelpers.cjs +26 -0
  62. package/dist/helpers/advancedAttributeHelpers.d.ts +12 -0
  63. package/dist/helpers/advancedAttributeHelpers.mjs +21 -0
  64. package/dist/helpers/arrayHelpers.cjs +10 -0
  65. package/dist/helpers/arrayHelpers.d.ts +1 -0
  66. package/dist/helpers/arrayHelpers.mjs +3 -0
  67. package/dist/helpers/attributeHelpers.cjs +24 -0
  68. package/dist/helpers/attributeHelpers.d.ts +5 -0
  69. package/dist/helpers/attributeHelpers.mjs +17 -0
  70. package/dist/helpers/autobind.cjs +44 -0
  71. package/dist/helpers/autobind.d.ts +39 -0
  72. package/dist/helpers/autobind.mjs +35 -0
  73. package/dist/helpers/basketHelpers.cjs +12 -0
  74. package/dist/helpers/basketHelpers.d.ts +2 -0
  75. package/dist/helpers/basketHelpers.mjs +5 -0
  76. package/dist/helpers/categoryHelper.cjs +61 -0
  77. package/dist/helpers/categoryHelper.d.ts +7 -0
  78. package/dist/helpers/categoryHelper.mjs +44 -0
  79. package/dist/helpers/filterHelper.cjs +156 -0
  80. package/dist/helpers/filterHelper.d.ts +82 -0
  81. package/dist/helpers/filterHelper.mjs +147 -0
  82. package/dist/helpers/formHelpers.cjs +114 -0
  83. package/dist/helpers/formHelpers.d.ts +48 -0
  84. package/dist/helpers/formHelpers.mjs +106 -0
  85. package/dist/helpers/imageHelpers.cjs +20 -0
  86. package/dist/helpers/imageHelpers.d.ts +4 -0
  87. package/dist/helpers/imageHelpers.mjs +14 -0
  88. package/dist/helpers/index.cjs +192 -0
  89. package/dist/helpers/index.d.ts +17 -0
  90. package/dist/helpers/index.mjs +17 -0
  91. package/dist/helpers/localization.cjs +13 -0
  92. package/dist/helpers/localization.d.ts +7 -0
  93. package/dist/helpers/localization.mjs +6 -0
  94. package/dist/helpers/objectHelpers.cjs +19 -0
  95. package/dist/helpers/objectHelpers.d.ts +1 -0
  96. package/dist/helpers/objectHelpers.mjs +6 -0
  97. package/dist/helpers/orderHelpers.cjs +10 -0
  98. package/dist/helpers/orderHelpers.d.ts +67 -0
  99. package/dist/helpers/orderHelpers.mjs +4 -0
  100. package/dist/helpers/product.fixture.cjs +770 -0
  101. package/dist/helpers/product.fixture.d.ts +415 -0
  102. package/dist/helpers/product.fixture.mjs +838 -0
  103. package/dist/helpers/productDisruptorHelper.cjs +37 -0
  104. package/dist/helpers/productDisruptorHelper.d.ts +10 -0
  105. package/dist/helpers/productDisruptorHelper.mjs +23 -0
  106. package/dist/helpers/productHelpers.cjs +188 -0
  107. package/dist/helpers/productHelpers.d.ts +41 -0
  108. package/dist/helpers/productHelpers.mjs +170 -0
  109. package/dist/helpers/sanitizationHelpers.cjs +15 -0
  110. package/dist/helpers/sanitizationHelpers.d.ts +2 -0
  111. package/dist/helpers/sanitizationHelpers.mjs +6 -0
  112. package/dist/helpers/sortingHelper.cjs +67 -0
  113. package/dist/helpers/sortingHelper.d.ts +69 -0
  114. package/dist/helpers/sortingHelper.mjs +66 -0
  115. package/dist/helpers/stringHelpers.cjs +8 -0
  116. package/dist/helpers/stringHelpers.d.ts +2 -0
  117. package/dist/helpers/stringHelpers.mjs +2 -0
  118. package/dist/index.cjs +85 -0
  119. package/dist/index.d.ts +19 -0
  120. package/dist/index.mjs +8 -0
  121. package/dist/rpc/methods/basket/basket.cjs +183 -0
  122. package/dist/rpc/methods/basket/basket.d.ts +23 -0
  123. package/dist/rpc/methods/basket/basket.mjs +181 -0
  124. package/dist/rpc/methods/brands.cjs +34 -0
  125. package/dist/rpc/methods/brands.d.ts +5 -0
  126. package/dist/rpc/methods/brands.mjs +16 -0
  127. package/dist/rpc/methods/categories.cjs +102 -0
  128. package/dist/rpc/methods/categories.d.ts +21 -0
  129. package/dist/rpc/methods/categories.mjs +64 -0
  130. package/dist/rpc/methods/cbd.cjs +45 -0
  131. package/dist/rpc/methods/cbd.d.ts +4 -0
  132. package/dist/rpc/methods/cbd.mjs +36 -0
  133. package/dist/rpc/methods/checkout/index.cjs +38 -0
  134. package/dist/rpc/methods/checkout/index.d.ts +3 -0
  135. package/dist/rpc/methods/checkout/index.mjs +3 -0
  136. package/dist/rpc/methods/checkout/order.cjs +55 -0
  137. package/dist/rpc/methods/checkout/order.d.ts +4 -0
  138. package/dist/rpc/methods/checkout/order.mjs +43 -0
  139. package/dist/rpc/methods/checkout/shopUser.cjs +126 -0
  140. package/dist/rpc/methods/checkout/shopUser.d.ts +7 -0
  141. package/dist/rpc/methods/checkout/shopUser.mjs +109 -0
  142. package/dist/rpc/methods/checkout/shopUserAddresses.cjs +25 -0
  143. package/dist/rpc/methods/checkout/shopUserAddresses.d.ts +3 -0
  144. package/dist/rpc/methods/checkout/shopUserAddresses.mjs +19 -0
  145. package/dist/rpc/methods/index.cjs +159 -0
  146. package/dist/rpc/methods/index.d.ts +14 -0
  147. package/dist/rpc/methods/index.mjs +14 -0
  148. package/dist/rpc/methods/navigationTrees.cjs +33 -0
  149. package/dist/rpc/methods/navigationTrees.d.ts +5 -0
  150. package/dist/rpc/methods/navigationTrees.mjs +10 -0
  151. package/dist/rpc/methods/products.cjs +261 -0
  152. package/dist/rpc/methods/products.d.ts +13 -0
  153. package/dist/rpc/methods/products.mjs +217 -0
  154. package/dist/rpc/methods/promotion.cjs +53 -0
  155. package/dist/rpc/methods/promotion.d.ts +4 -0
  156. package/dist/rpc/methods/promotion.mjs +38 -0
  157. package/dist/rpc/methods/search.cjs +38 -0
  158. package/dist/rpc/methods/search.d.ts +10 -0
  159. package/dist/rpc/methods/search.mjs +22 -0
  160. package/dist/rpc/methods/session.cjs +274 -0
  161. package/dist/rpc/methods/session.d.ts +20 -0
  162. package/dist/rpc/methods/session.mjs +309 -0
  163. package/dist/rpc/methods/shopConfiguration.cjs +15 -0
  164. package/dist/rpc/methods/shopConfiguration.d.ts +4 -0
  165. package/dist/rpc/methods/shopConfiguration.mjs +6 -0
  166. package/dist/rpc/methods/user.cjs +89 -0
  167. package/dist/rpc/methods/user.d.ts +20 -0
  168. package/dist/rpc/methods/user.mjs +56 -0
  169. package/dist/rpc/methods/variants.cjs +29 -0
  170. package/dist/rpc/methods/variants.d.ts +8 -0
  171. package/dist/rpc/methods/variants.mjs +12 -0
  172. package/dist/rpc/methods/wishlist.cjs +85 -0
  173. package/dist/rpc/methods/wishlist.d.ts +13 -0
  174. package/dist/rpc/methods/wishlist.mjs +61 -0
  175. package/dist/server.cjs +39 -0
  176. package/dist/server.d.ts +5 -0
  177. package/dist/server.mjs +4 -0
  178. package/dist/types/api/auth.cjs +1 -0
  179. package/dist/types/api/auth.d.ts +63 -0
  180. package/dist/types/api/auth.mjs +0 -0
  181. package/dist/types/api/context.cjs +1 -0
  182. package/dist/types/api/context.d.ts +61 -0
  183. package/dist/types/api/context.mjs +0 -0
  184. package/dist/types/api/rpc.cjs +1 -0
  185. package/dist/types/api/rpc.d.ts +4 -0
  186. package/dist/types/api/rpc.mjs +0 -0
  187. package/dist/types/bapi/basket.cjs +1 -0
  188. package/dist/types/bapi/basket.d.ts +25 -0
  189. package/dist/types/bapi/basket.mjs +0 -0
  190. package/dist/types/bapi/brand.cjs +1 -0
  191. package/dist/types/bapi/brand.d.ts +2 -0
  192. package/dist/types/bapi/brand.mjs +0 -0
  193. package/dist/types/bapi/category.cjs +1 -0
  194. package/dist/types/bapi/category.d.ts +6 -0
  195. package/dist/types/bapi/category.mjs +0 -0
  196. package/dist/types/bapi/filter.cjs +1 -0
  197. package/dist/types/bapi/filter.d.ts +49 -0
  198. package/dist/types/bapi/filter.mjs +0 -0
  199. package/dist/types/bapi/navigation.cjs +1 -0
  200. package/dist/types/bapi/navigation.d.ts +10 -0
  201. package/dist/types/bapi/navigation.mjs +0 -0
  202. package/dist/types/bapi/order.cjs +1 -0
  203. package/dist/types/bapi/order.d.ts +554 -0
  204. package/dist/types/bapi/order.mjs +0 -0
  205. package/dist/types/bapi/pagination.cjs +1 -0
  206. package/dist/types/bapi/pagination.d.ts +13 -0
  207. package/dist/types/bapi/pagination.mjs +0 -0
  208. package/dist/types/bapi/product.cjs +1 -0
  209. package/dist/types/bapi/product.d.ts +84 -0
  210. package/dist/types/bapi/product.mjs +0 -0
  211. package/dist/types/bapi/productFilter.cjs +1 -0
  212. package/dist/types/bapi/productFilter.d.ts +7 -0
  213. package/dist/types/bapi/productFilter.mjs +0 -0
  214. package/dist/types/bapi/promotion.cjs +1 -0
  215. package/dist/types/bapi/promotion.d.ts +2 -0
  216. package/dist/types/bapi/promotion.mjs +0 -0
  217. package/dist/types/bapi/redirects.cjs +1 -0
  218. package/dist/types/bapi/redirects.d.ts +1 -0
  219. package/dist/types/bapi/redirects.mjs +0 -0
  220. package/dist/types/bapi/router.cjs +1 -0
  221. package/dist/types/bapi/router.d.ts +1 -0
  222. package/dist/types/bapi/router.mjs +0 -0
  223. package/dist/types/bapi/search.cjs +1 -0
  224. package/dist/types/bapi/search.d.ts +21 -0
  225. package/dist/types/bapi/search.mjs +0 -0
  226. package/dist/types/bapi/sorting.cjs +5 -0
  227. package/dist/types/bapi/sorting.d.ts +10 -0
  228. package/dist/types/bapi/sorting.mjs +1 -0
  229. package/dist/types/bapi/wishlist.cjs +1 -0
  230. package/dist/types/bapi/wishlist.d.ts +9 -0
  231. package/dist/types/bapi/wishlist.mjs +0 -0
  232. package/dist/types/breadcrumb.cjs +1 -0
  233. package/dist/types/breadcrumb.d.ts +4 -0
  234. package/dist/types/breadcrumb.mjs +0 -0
  235. package/dist/types/index.cjs +236 -0
  236. package/dist/types/index.d.ts +22 -0
  237. package/dist/types/index.mjs +21 -0
  238. package/dist/types/promises.cjs +1 -0
  239. package/dist/types/promises.d.ts +2 -0
  240. package/dist/types/promises.mjs +0 -0
  241. package/dist/types/user.cjs +1 -0
  242. package/dist/types/user.d.ts +100 -0
  243. package/dist/types/user.mjs +0 -0
  244. package/dist/utils/compression.cjs +24 -0
  245. package/dist/utils/compression.d.ts +2 -0
  246. package/dist/utils/compression.mjs +16 -0
  247. package/dist/utils/hash.cjs +68 -0
  248. package/dist/utils/hash.d.ts +8 -0
  249. package/dist/utils/hash.mjs +61 -0
  250. package/dist/utils/index.cjs +27 -0
  251. package/dist/utils/index.d.ts +2 -0
  252. package/dist/utils/index.mjs +2 -0
  253. package/dist/utils/keys.cjs +67 -0
  254. package/dist/utils/keys.d.ts +24 -0
  255. package/dist/utils/keys.mjs +56 -0
  256. package/dist/utils/log.cjs +93 -0
  257. package/dist/utils/log.d.ts +43 -0
  258. package/dist/utils/log.mjs +75 -0
  259. package/dist/utils/rpc.cjs +41 -0
  260. package/dist/utils/rpc.d.ts +6 -0
  261. package/dist/utils/rpc.mjs +35 -0
  262. package/dist/utils/timeout.cjs +17 -0
  263. package/dist/utils/timeout.d.ts +2 -0
  264. package/dist/utils/timeout.mjs +9 -0
  265. package/dist/utils/user.cjs +75 -0
  266. package/dist/utils/user.d.ts +14 -0
  267. package/dist/utils/user.mjs +65 -0
  268. package/package.json +97 -0
@@ -0,0 +1,61 @@
1
+ import { BAPIError } from "../../errors/index.mjs";
2
+ import { MIN_WITH_PARAMS_WISHLIST } from "../../constants/index.mjs";
3
+ function getWithParams(params, context) {
4
+ return params.with ?? context.withParams?.basket ?? MIN_WITH_PARAMS_WISHLIST;
5
+ }
6
+ export const addItemToWishlist = async function addItemToWishlist2(options, context) {
7
+ const { bapiClient, campaignKey, wishlistKey } = context;
8
+ const { productId, variantId } = options;
9
+ const resolvedWith = getWithParams(options, context);
10
+ const pricePromotionKey = resolvedWith?.pricePromotionKey ?? "";
11
+ if (!productId && !variantId) {
12
+ throw new Error("No productId or variantId given");
13
+ }
14
+ const result = await bapiClient.wishlist.addItem(
15
+ wishlistKey,
16
+ variantId ? { variantId } : { productId },
17
+ {
18
+ with: resolvedWith,
19
+ campaignKey,
20
+ pricePromotionKey
21
+ }
22
+ );
23
+ if (result.type === "success") {
24
+ return await getWishlist(resolvedWith, context);
25
+ } else {
26
+ const { code, message } = result.wishlist;
27
+ context.log.error("Adding to wishlist failed", result.wishlist);
28
+ throw new BAPIError(
29
+ "BAPI ERROR",
30
+ code,
31
+ message,
32
+ "bapiClient.wishlist.addItem"
33
+ );
34
+ }
35
+ };
36
+ export const getWishlist = async function getWishlist2(options, context) {
37
+ const { bapiClient, campaignKey } = context;
38
+ const resolvedWith = getWithParams({ with: options }, context);
39
+ return await bapiClient.wishlist.get(context.wishlistKey, {
40
+ with: resolvedWith,
41
+ campaignKey,
42
+ pricePromotionKey: resolvedWith?.pricePromotionKey ?? ""
43
+ });
44
+ };
45
+ export const removeItemFromWishlist = async function removeItemFromWishlist2(options, context) {
46
+ const { bapiClient, campaignKey, wishlistKey } = context;
47
+ const resolvedWith = getWithParams(options, context);
48
+ return await bapiClient.wishlist.deleteItem(wishlistKey, options.itemKey, {
49
+ with: resolvedWith,
50
+ campaignKey
51
+ });
52
+ };
53
+ export const clearWishlist = async function clearWishlist2(context) {
54
+ const wishlist = await getWishlist({}, context);
55
+ await Promise.all(
56
+ wishlist.items.map(async (item) => {
57
+ await removeItemFromWishlist({ itemKey: item.key }, context);
58
+ })
59
+ );
60
+ return await getWishlist({}, context);
61
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CACHE_TIMEOUT", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _cache.CACHE_TIMEOUT;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "RedisCache", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _redis.RedisCache;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "UnstorageCache", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _unstorage.UnstorageCache;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "createClient", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _redis.createClient;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "initBapi", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _init.init;
34
+ }
35
+ });
36
+ var _redis = require("./cache/providers/redis.cjs");
37
+ var _unstorage = require("./cache/providers/unstorage.cjs");
38
+ var _cache = require("./constants/cache.cjs");
39
+ var _init = require("./bapi/init.cjs");
@@ -0,0 +1,5 @@
1
+ export { createClient, RedisCache } from './cache/providers/redis';
2
+ export { UnstorageCache } from './cache/providers/unstorage';
3
+ export { CACHE_TIMEOUT } from './constants/cache';
4
+ export type { RedisOptions } from './cache/providers/redis';
5
+ export { init as initBapi } from './bapi/init';
@@ -0,0 +1,4 @@
1
+ export { createClient, RedisCache } from "./cache/providers/redis.mjs";
2
+ export { UnstorageCache } from "./cache/providers/unstorage.mjs";
3
+ export { CACHE_TIMEOUT } from "./constants/cache.mjs";
4
+ export { init as initBapi } from "./bapi/init.mjs";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,63 @@
1
+ import { Gender } from '../user';
2
+ export interface AuthConfig {
3
+ callback: string;
4
+ scopes?: string[];
5
+ accessToken?: string;
6
+ customData?: unknown;
7
+ }
8
+ export interface OAuthTokens {
9
+ accessToken: string;
10
+ refreshToken: string;
11
+ }
12
+ interface BaseError {
13
+ error: string;
14
+ message: string;
15
+ context: Record<any, any> | null;
16
+ }
17
+ export interface BadRequestError extends BaseError {
18
+ error: 'validation_error';
19
+ message: 'The property ID must be an integer.';
20
+ context: {
21
+ id: string;
22
+ context: Record<any, any>;
23
+ };
24
+ }
25
+ export interface UnauthorizedError extends BaseError {
26
+ error: 'INVALID_CLIENT';
27
+ message: 'Client authentication failed.';
28
+ context: null;
29
+ }
30
+ export interface LoginRequest {
31
+ email: string;
32
+ password: string;
33
+ shop_id?: number;
34
+ }
35
+ export interface RegisterRequest {
36
+ first_name: string;
37
+ last_name: string;
38
+ email: string;
39
+ password: string;
40
+ gender: Gender;
41
+ shop_id?: number;
42
+ }
43
+ export interface GuestRequest {
44
+ first_name: string;
45
+ last_name: string;
46
+ email: string;
47
+ gender: Gender;
48
+ shop_id?: number;
49
+ }
50
+ export interface SendResetPasswordEmailRequest {
51
+ email: string;
52
+ }
53
+ export interface UpdatePasswordByHashRequest {
54
+ password: string;
55
+ hash: string;
56
+ }
57
+ export interface Oauth {
58
+ token_type: 'Bearer';
59
+ expires_in: number;
60
+ access_token: string;
61
+ refresh_token: string;
62
+ }
63
+ export {};
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,61 @@
1
+ import type { BapiClient } from '@aboutyou/backbone';
2
+ import { Log } from '../../utils';
3
+ import { CachedType } from '../../cache/cached';
4
+ import { ShopUser } from '../user';
5
+ import type { WishlistWithOptions, BasketWithOptions, ProductWith, VariantWith, SearchWith, CategoryWith, ProductCategoryWith } from '../';
6
+ import { OAuthTokens } from './auth';
7
+ export type WithParams = Partial<{
8
+ basket: BasketWithOptions;
9
+ wishlist: WishlistWithOptions;
10
+ product: ProductWith;
11
+ productCategory: ProductCategoryWith;
12
+ category: CategoryWith;
13
+ search: SearchWith;
14
+ variant: VariantWith;
15
+ }>;
16
+ export interface RpcContext {
17
+ wishlistKey: string;
18
+ basketKey: string;
19
+ locale: string;
20
+ checkout: {
21
+ url: string;
22
+ token: string;
23
+ secret: string;
24
+ user: string;
25
+ accessHeader?: string;
26
+ /**
27
+ * The number of seconds that a CBD token should be considered valid since issued
28
+ */
29
+ cbdExpiration?: number;
30
+ };
31
+ bapiClient: BapiClient;
32
+ cached: CachedType;
33
+ user?: ShopUser;
34
+ accessToken?: string;
35
+ refreshToken?: string;
36
+ isCmsPreview: boolean;
37
+ shopId: number;
38
+ domain: string;
39
+ withParams?: WithParams;
40
+ campaignKey?: string;
41
+ updateUser: (user: ShopUser) => void;
42
+ destroySessionsForUserId: (userId: number, sessionsToKeep?: string[]) => Promise<void>;
43
+ updateTokens: (tokens: OAuthTokens) => void;
44
+ destroySession: () => Promise<void>;
45
+ generateBasketKeyForUserId: (userId: string) => Promise<string>;
46
+ generateWishlistKeyForUserId: (userId: string) => Promise<string>;
47
+ createUserBoundSession: () => Promise<void>;
48
+ storeCampaignKeyword?: string;
49
+ routerBasePath?: string;
50
+ ip?: string | undefined;
51
+ log: Log;
52
+ sessionId: string;
53
+ auth: {
54
+ resetPasswordUrl?: string;
55
+ };
56
+ oauth?: {
57
+ clientId: string;
58
+ apiHost: string;
59
+ clientSecret: string;
60
+ };
61
+ }
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,4 @@
1
+ import { RpcContext } from './context';
2
+ export type ParamRpcHandler<Params extends Record<string, any>, Response> = (params: Params, context: RpcContext) => Promise<Response> | Response;
3
+ export type NoParamRpcHandler<Response> = (context: RpcContext) => Promise<Response> | Response;
4
+ export type RpcHandler<A, B = void> = B extends void ? NoParamRpcHandler<A> : ParamRpcHandler<A, B>;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,25 @@
1
+ import type { CreateBasketItemParameters } from '@aboutyou/backbone/endpoints/basket/createItem';
2
+ import type { BasketItemDisplayData, BasketItemDisplayDataKey, BasketResponseData, BasketWith, BaskteItemDisplayDataItem, ItemGroup } from '@aboutyou/backbone/endpoints/basket/getBasket';
3
+ import type { BasketResponse } from '@aboutyou/backbone/helpers/BapiClient';
4
+ export type BasketCustomData = Pick<CreateBasketItemParameters, 'customData'>;
5
+ export type BasketDisplayData = Partial<Record<BasketItemDisplayDataKey, BaskteItemDisplayDataItem>>;
6
+ export type { BasketItemDisplayData, BaskteItemDisplayDataItem, BasketResponseData, BasketWith, BasketResponse, ItemGroup, };
7
+ export type AddOrUpdateItemType = {
8
+ variantId: number;
9
+ quantity: number;
10
+ displayData?: BasketItemDisplayData;
11
+ customData?: {
12
+ [key: string | number]: any;
13
+ };
14
+ itemGroup?: ItemGroup;
15
+ includeItemsWithoutProductData?: boolean;
16
+ promotionId?: string;
17
+ };
18
+ export interface BasketWithOptions extends BasketWith {
19
+ pricePromotionKey?: string;
20
+ includeItemsWithoutProductData?: boolean;
21
+ }
22
+ export interface UseBasketParams {
23
+ key?: string;
24
+ with: BasketWithOptions;
25
+ }
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,2 @@
1
+ export type { Brand, BrandCustomData } from '@aboutyou/backbone/types/Brand';
2
+ export type { BrandsEndpointRequestParameters, BrandsEndpointResponseData, } from '@aboutyou/backbone/endpoints/brands/brands';
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,6 @@
1
+ import type { BapiCategory } from '@aboutyou/backbone/types/BapiCategory';
2
+ import type { BapiProductCategory } from '@aboutyou/backbone/types/BapiProduct';
3
+ import type { ProductCategoryWith } from '@aboutyou/backbone/types/ProductWith';
4
+ export type { BapiCategory as Category };
5
+ export type { BapiProductCategory as ProductCategory };
6
+ export type { ProductCategoryWith };
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,49 @@
1
+ import type { ProductSortConfig, ProductsSearchEndpointParameters } from '@aboutyou/backbone/endpoints/products/products';
2
+ import type { ProductSearchQuery } from '@aboutyou/backbone/types/ProductSearchQuery';
3
+ import type { AttributeWithBooleanValueFilter, AttributeWithValuesFilter } from '@aboutyou/backbone/types/AttributeOrAttributeValueFilter';
4
+ import type { FiltersEndpointResponseData } from '@aboutyou/backbone/endpoints/filters/filters';
5
+ import type { Query } from './router';
6
+ export type { AttributesFilterItemWithValues } from '@aboutyou/backbone/endpoints/filters/filters';
7
+ export type { AttributeWithBooleanValueFilter, AttributeWithValuesFilter, AttributeKey, } from '@aboutyou/backbone/types/AttributeOrAttributeValueFilter';
8
+ export interface FilterParams {
9
+ page?: number;
10
+ perPage?: number;
11
+ where?: {
12
+ term?: ProductSearchQuery['term'];
13
+ minPrice?: ProductSearchQuery['minPrice'];
14
+ maxPrice?: ProductSearchQuery['maxPrice'];
15
+ attributes?: ProductSearchQuery['attributes'];
16
+ whitelistAttributes?: ProductSearchQuery['attributes'];
17
+ };
18
+ sort?: ProductSortConfig;
19
+ orFiltersOperator?: ProductsSearchEndpointParameters['orFiltersOperator'];
20
+ }
21
+ export interface FetchFiltersParams {
22
+ category: string;
23
+ includedFilters?: Array<string>;
24
+ where?: {
25
+ term?: ProductSearchQuery['term'];
26
+ minPrice?: ProductSearchQuery['minPrice'];
27
+ maxPrice?: ProductSearchQuery['maxPrice'];
28
+ attributes?: ProductSearchQuery['attributes'];
29
+ whitelistAttributes?: ProductSearchQuery['attributes'];
30
+ };
31
+ includeSoldOut?: boolean;
32
+ includeSellableForFree?: boolean;
33
+ orFiltersOperator?: ProductsSearchEndpointParameters['orFiltersOperator'];
34
+ }
35
+ export interface FetchFiltersResponse {
36
+ filters: FiltersEndpointResponseData;
37
+ unfilteredCount: number;
38
+ }
39
+ export interface FilterQuery {
40
+ page?: Query;
41
+ sort?: Query;
42
+ term?: Query;
43
+ }
44
+ export type FilterSetup = Record<string, unknown>;
45
+ export type SanitizeAttributesParams = {
46
+ attributes: (AttributeWithValuesFilter | AttributeWithBooleanValueFilter)[];
47
+ filterKeys: string[];
48
+ includedFilters?: string[];
49
+ };
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,10 @@
1
+ import type { GetNavigationParameters } from '@aboutyou/backbone/endpoints/navigation/navigation';
2
+ import type { NavigationItems } from '@aboutyou/backbone/types/navigation';
3
+ export type { NavigationItems, NavigationTree, NavigationItemExternal, NavigationItemPage, NavigationItemCategory, } from '@aboutyou/backbone/types/navigation';
4
+ export type NavigationTreeItem = NavigationItems[0];
5
+ export type FetchNavigationTreesParams = {
6
+ params?: GetNavigationParameters;
7
+ };
8
+ export type FetchNavigationTreeByIdParams = FetchNavigationTreesParams & {
9
+ treeId: number;
10
+ };
File without changes
@@ -0,0 +1 @@
1
+ "use strict";