medusa-storefront-data 2.5.7 → 2.5.8

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 (294) hide show
  1. package/HOMEPAGE_CONFIG.md +23 -1
  2. package/package.json +3 -2
  3. package/src/server/dynamic-config.ts +5 -4
  4. package/src/server/page-input.ts +94 -5
  5. package/dist/segment-data/default-page-input.json +0 -191
  6. package/dist/src/config.d.ts +0 -3
  7. package/dist/src/config.d.ts.map +0 -1
  8. package/dist/src/config.js +0 -31
  9. package/dist/src/cookies.d.ts +0 -23
  10. package/dist/src/cookies.d.ts.map +0 -1
  11. package/dist/src/cookies.js +0 -140
  12. package/dist/src/dynamic-config-schema/index.d.ts +0 -103
  13. package/dist/src/dynamic-config-schema/index.d.ts.map +0 -1
  14. package/dist/src/dynamic-config-schema/index.js +0 -172
  15. package/dist/src/dynamic-config-schema/sections/about-brand.d.ts +0 -5
  16. package/dist/src/dynamic-config-schema/sections/about-brand.d.ts.map +0 -1
  17. package/dist/src/dynamic-config-schema/sections/about-brand.js +0 -30
  18. package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts +0 -5
  19. package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts.map +0 -1
  20. package/dist/src/dynamic-config-schema/sections/baptism-picks.js +0 -17
  21. package/dist/src/dynamic-config-schema/sections/baptism.d.ts +0 -5
  22. package/dist/src/dynamic-config-schema/sections/baptism.d.ts.map +0 -1
  23. package/dist/src/dynamic-config-schema/sections/baptism.js +0 -4
  24. package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts +0 -5
  25. package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts.map +0 -1
  26. package/dist/src/dynamic-config-schema/sections/blog-posts.js +0 -31
  27. package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts +0 -5
  28. package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts.map +0 -1
  29. package/dist/src/dynamic-config-schema/sections/brand-marquee.js +0 -9
  30. package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts +0 -5
  31. package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts.map +0 -1
  32. package/dist/src/dynamic-config-schema/sections/brand-pillars.js +0 -29
  33. package/dist/src/dynamic-config-schema/sections/category-pills.d.ts +0 -5
  34. package/dist/src/dynamic-config-schema/sections/category-pills.d.ts.map +0 -1
  35. package/dist/src/dynamic-config-schema/sections/category-pills.js +0 -4
  36. package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts +0 -5
  37. package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts.map +0 -1
  38. package/dist/src/dynamic-config-schema/sections/celebrity-trust.js +0 -4
  39. package/dist/src/dynamic-config-schema/sections/features.d.ts +0 -5
  40. package/dist/src/dynamic-config-schema/sections/features.d.ts.map +0 -1
  41. package/dist/src/dynamic-config-schema/sections/features.js +0 -12
  42. package/dist/src/dynamic-config-schema/sections/hero.d.ts +0 -6
  43. package/dist/src/dynamic-config-schema/sections/hero.d.ts.map +0 -1
  44. package/dist/src/dynamic-config-schema/sections/hero.js +0 -9
  45. package/dist/src/dynamic-config-schema/sections/index.d.ts +0 -24
  46. package/dist/src/dynamic-config-schema/sections/index.d.ts.map +0 -1
  47. package/dist/src/dynamic-config-schema/sections/index.js +0 -23
  48. package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts +0 -5
  49. package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts.map +0 -1
  50. package/dist/src/dynamic-config-schema/sections/instagram-posts.js +0 -30
  51. package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts +0 -5
  52. package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts.map +0 -1
  53. package/dist/src/dynamic-config-schema/sections/loved-by-moms.js +0 -4
  54. package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts +0 -5
  55. package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts.map +0 -1
  56. package/dist/src/dynamic-config-schema/sections/luxe-favourites.js +0 -4
  57. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts +0 -5
  58. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts.map +0 -1
  59. package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.js +0 -12
  60. package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts +0 -5
  61. package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts.map +0 -1
  62. package/dist/src/dynamic-config-schema/sections/new-arrivals.js +0 -12
  63. package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts +0 -5
  64. package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts.map +0 -1
  65. package/dist/src/dynamic-config-schema/sections/promo-announcements.js +0 -16
  66. package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts +0 -5
  67. package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts.map +0 -1
  68. package/dist/src/dynamic-config-schema/sections/promo-countdown.js +0 -16
  69. package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts +0 -5
  70. package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts.map +0 -1
  71. package/dist/src/dynamic-config-schema/sections/shop-by-age.js +0 -4
  72. package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts +0 -5
  73. package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts.map +0 -1
  74. package/dist/src/dynamic-config-schema/sections/shop-by-category.js +0 -4
  75. package/dist/src/dynamic-config-schema/sections/testimonials.d.ts +0 -5
  76. package/dist/src/dynamic-config-schema/sections/testimonials.d.ts.map +0 -1
  77. package/dist/src/dynamic-config-schema/sections/testimonials.js +0 -9
  78. package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts +0 -5
  79. package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts.map +0 -1
  80. package/dist/src/dynamic-config-schema/sections/theme-dresses.js +0 -4
  81. package/dist/src/dynamic-config-schema/sections/video-stories.d.ts +0 -5
  82. package/dist/src/dynamic-config-schema/sections/video-stories.d.ts.map +0 -1
  83. package/dist/src/dynamic-config-schema/sections/video-stories.js +0 -24
  84. package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts +0 -5
  85. package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts.map +0 -1
  86. package/dist/src/dynamic-config-schema/sections/why-choose-us.js +0 -9
  87. package/dist/src/dynamic-config-schema/shared.d.ts +0 -35
  88. package/dist/src/dynamic-config-schema/shared.d.ts.map +0 -1
  89. package/dist/src/dynamic-config-schema/shared.js +0 -99
  90. package/dist/src/dynamic-config-schema/site-configs.d.ts +0 -11
  91. package/dist/src/dynamic-config-schema/site-configs.d.ts.map +0 -1
  92. package/dist/src/dynamic-config-schema/site-configs.js +0 -70
  93. package/dist/src/edge.d.ts +0 -3
  94. package/dist/src/edge.d.ts.map +0 -1
  95. package/dist/src/edge.js +0 -1
  96. package/dist/src/middleware.d.ts +0 -3
  97. package/dist/src/middleware.d.ts.map +0 -1
  98. package/dist/src/middleware.js +0 -1
  99. package/dist/src/server/brand-pillars-from-categories.d.ts +0 -8
  100. package/dist/src/server/brand-pillars-from-categories.d.ts.map +0 -1
  101. package/dist/src/server/brand-pillars-from-categories.js +0 -92
  102. package/dist/src/server/cart.d.ts +0 -96
  103. package/dist/src/server/cart.d.ts.map +0 -1
  104. package/dist/src/server/cart.js +0 -797
  105. package/dist/src/server/categories.d.ts +0 -4
  106. package/dist/src/server/categories.d.ts.map +0 -1
  107. package/dist/src/server/categories.js +0 -34
  108. package/dist/src/server/collections.d.ts +0 -8
  109. package/dist/src/server/collections.d.ts.map +0 -1
  110. package/dist/src/server/collections.js +0 -39
  111. package/dist/src/server/config-merge.d.ts +0 -3
  112. package/dist/src/server/config-merge.d.ts.map +0 -1
  113. package/dist/src/server/config-merge.js +0 -31
  114. package/dist/src/server/contact.d.ts +0 -34
  115. package/dist/src/server/contact.d.ts.map +0 -1
  116. package/dist/src/server/contact.js +0 -57
  117. package/dist/src/server/customer-registration.d.ts +0 -142
  118. package/dist/src/server/customer-registration.d.ts.map +0 -1
  119. package/dist/src/server/customer-registration.js +0 -295
  120. package/dist/src/server/customer.d.ts +0 -48
  121. package/dist/src/server/customer.d.ts.map +0 -1
  122. package/dist/src/server/customer.js +0 -413
  123. package/dist/src/server/dynamic-config-api.d.ts +0 -11
  124. package/dist/src/server/dynamic-config-api.d.ts.map +0 -1
  125. package/dist/src/server/dynamic-config-api.js +0 -46
  126. package/dist/src/server/dynamic-config.d.ts +0 -186
  127. package/dist/src/server/dynamic-config.d.ts.map +0 -1
  128. package/dist/src/server/dynamic-config.js +0 -694
  129. package/dist/src/server/fulfillment.d.ts +0 -5
  130. package/dist/src/server/fulfillment.d.ts.map +0 -1
  131. package/dist/src/server/fulfillment.js +0 -47
  132. package/dist/src/server/guest.d.ts +0 -81
  133. package/dist/src/server/guest.d.ts.map +0 -1
  134. package/dist/src/server/guest.js +0 -183
  135. package/dist/src/server/help-faq-section-defaults.json +0 -92
  136. package/dist/src/server/help-sections/help-faq.d.ts +0 -11
  137. package/dist/src/server/help-sections/help-faq.d.ts.map +0 -1
  138. package/dist/src/server/help-sections/help-faq.js +0 -6
  139. package/dist/src/server/help-sections/index.d.ts +0 -2
  140. package/dist/src/server/help-sections/index.d.ts.map +0 -1
  141. package/dist/src/server/help-sections/index.js +0 -1
  142. package/dist/src/server/home-sections/about-brand.d.ts +0 -9
  143. package/dist/src/server/home-sections/about-brand.d.ts.map +0 -1
  144. package/dist/src/server/home-sections/about-brand.js +0 -9
  145. package/dist/src/server/home-sections/baptism-picks.d.ts +0 -10
  146. package/dist/src/server/home-sections/baptism-picks.d.ts.map +0 -1
  147. package/dist/src/server/home-sections/baptism-picks.js +0 -27
  148. package/dist/src/server/home-sections/baptism.d.ts +0 -13
  149. package/dist/src/server/home-sections/baptism.d.ts.map +0 -1
  150. package/dist/src/server/home-sections/baptism.js +0 -43
  151. package/dist/src/server/home-sections/blog-posts.d.ts +0 -9
  152. package/dist/src/server/home-sections/blog-posts.d.ts.map +0 -1
  153. package/dist/src/server/home-sections/blog-posts.js +0 -9
  154. package/dist/src/server/home-sections/brand-marquee.d.ts +0 -8
  155. package/dist/src/server/home-sections/brand-marquee.d.ts.map +0 -1
  156. package/dist/src/server/home-sections/brand-marquee.js +0 -7
  157. package/dist/src/server/home-sections/brand-pillars.d.ts +0 -9
  158. package/dist/src/server/home-sections/brand-pillars.d.ts.map +0 -1
  159. package/dist/src/server/home-sections/brand-pillars.js +0 -9
  160. package/dist/src/server/home-sections/category-pills.d.ts +0 -9
  161. package/dist/src/server/home-sections/category-pills.d.ts.map +0 -1
  162. package/dist/src/server/home-sections/category-pills.js +0 -19
  163. package/dist/src/server/home-sections/celebrity-trust.d.ts +0 -12
  164. package/dist/src/server/home-sections/celebrity-trust.d.ts.map +0 -1
  165. package/dist/src/server/home-sections/celebrity-trust.js +0 -27
  166. package/dist/src/server/home-sections/features.d.ts +0 -9
  167. package/dist/src/server/home-sections/features.d.ts.map +0 -1
  168. package/dist/src/server/home-sections/features.js +0 -9
  169. package/dist/src/server/home-sections/hero.d.ts +0 -9
  170. package/dist/src/server/home-sections/hero.d.ts.map +0 -1
  171. package/dist/src/server/home-sections/hero.js +0 -9
  172. package/dist/src/server/home-sections/instagram-posts.d.ts +0 -9
  173. package/dist/src/server/home-sections/instagram-posts.d.ts.map +0 -1
  174. package/dist/src/server/home-sections/instagram-posts.js +0 -9
  175. package/dist/src/server/home-sections/loved-by-moms.d.ts +0 -12
  176. package/dist/src/server/home-sections/loved-by-moms.d.ts.map +0 -1
  177. package/dist/src/server/home-sections/loved-by-moms.js +0 -20
  178. package/dist/src/server/home-sections/luxe-favourites.d.ts +0 -11
  179. package/dist/src/server/home-sections/luxe-favourites.d.ts.map +0 -1
  180. package/dist/src/server/home-sections/luxe-favourites.js +0 -19
  181. package/dist/src/server/home-sections/new-arrivals-classic.d.ts +0 -8
  182. package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +0 -1
  183. package/dist/src/server/home-sections/new-arrivals-classic.js +0 -10
  184. package/dist/src/server/home-sections/new-arrivals.d.ts +0 -12
  185. package/dist/src/server/home-sections/new-arrivals.d.ts.map +0 -1
  186. package/dist/src/server/home-sections/new-arrivals.js +0 -28
  187. package/dist/src/server/home-sections/promo-announcements.d.ts +0 -11
  188. package/dist/src/server/home-sections/promo-announcements.d.ts.map +0 -1
  189. package/dist/src/server/home-sections/promo-announcements.js +0 -5
  190. package/dist/src/server/home-sections/promo-countdown.d.ts +0 -6
  191. package/dist/src/server/home-sections/promo-countdown.d.ts.map +0 -1
  192. package/dist/src/server/home-sections/promo-countdown.js +0 -5
  193. package/dist/src/server/home-sections/shared.d.ts +0 -10
  194. package/dist/src/server/home-sections/shared.d.ts.map +0 -1
  195. package/dist/src/server/home-sections/shared.js +0 -29
  196. package/dist/src/server/home-sections/shop-by-age.d.ts +0 -9
  197. package/dist/src/server/home-sections/shop-by-age.d.ts.map +0 -1
  198. package/dist/src/server/home-sections/shop-by-age.js +0 -17
  199. package/dist/src/server/home-sections/shop-by-category.d.ts +0 -10
  200. package/dist/src/server/home-sections/shop-by-category.d.ts.map +0 -1
  201. package/dist/src/server/home-sections/shop-by-category.js +0 -17
  202. package/dist/src/server/home-sections/testimonials.d.ts +0 -9
  203. package/dist/src/server/home-sections/testimonials.d.ts.map +0 -1
  204. package/dist/src/server/home-sections/testimonials.js +0 -9
  205. package/dist/src/server/home-sections/theme-dresses.d.ts +0 -12
  206. package/dist/src/server/home-sections/theme-dresses.d.ts.map +0 -1
  207. package/dist/src/server/home-sections/theme-dresses.js +0 -27
  208. package/dist/src/server/home-sections/video-stories.d.ts +0 -9
  209. package/dist/src/server/home-sections/video-stories.d.ts.map +0 -1
  210. package/dist/src/server/home-sections/video-stories.js +0 -9
  211. package/dist/src/server/home-sections/why-choose-us.d.ts +0 -9
  212. package/dist/src/server/home-sections/why-choose-us.d.ts.map +0 -1
  213. package/dist/src/server/home-sections/why-choose-us.js +0 -9
  214. package/dist/src/server/home.d.ts +0 -54
  215. package/dist/src/server/home.d.ts.map +0 -1
  216. package/dist/src/server/home.js +0 -1
  217. package/dist/src/server/homepage-config.types.d.ts +0 -390
  218. package/dist/src/server/homepage-config.types.d.ts.map +0 -1
  219. package/dist/src/server/homepage-config.types.js +0 -34
  220. package/dist/src/server/homepage-section-defaults.d.ts +0 -189
  221. package/dist/src/server/homepage-section-defaults.d.ts.map +0 -1
  222. package/dist/src/server/homepage-section-defaults.js +0 -190
  223. package/dist/src/server/index.d.ts +0 -25
  224. package/dist/src/server/index.d.ts.map +0 -1
  225. package/dist/src/server/index.js +0 -24
  226. package/dist/src/server/locale-actions.d.ts +0 -14
  227. package/dist/src/server/locale-actions.d.ts.map +0 -1
  228. package/dist/src/server/locale-actions.js +0 -58
  229. package/dist/src/server/locales.d.ts +0 -8
  230. package/dist/src/server/locales.d.ts.map +0 -1
  231. package/dist/src/server/locales.js +0 -12
  232. package/dist/src/server/normalize-homepage-config.d.ts +0 -7
  233. package/dist/src/server/normalize-homepage-config.d.ts.map +0 -1
  234. package/dist/src/server/normalize-homepage-config.js +0 -281
  235. package/dist/src/server/notifications.d.ts +0 -2
  236. package/dist/src/server/notifications.d.ts.map +0 -1
  237. package/dist/src/server/notifications.js +0 -20
  238. package/dist/src/server/onboarding.d.ts +0 -2
  239. package/dist/src/server/onboarding.d.ts.map +0 -1
  240. package/dist/src/server/onboarding.js +0 -8
  241. package/dist/src/server/orders.d.ts +0 -63
  242. package/dist/src/server/orders.d.ts.map +0 -1
  243. package/dist/src/server/orders.js +0 -230
  244. package/dist/src/server/page-input.d.ts +0 -23
  245. package/dist/src/server/page-input.d.ts.map +0 -1
  246. package/dist/src/server/page-input.js +0 -89
  247. package/dist/src/server/payment-details.d.ts +0 -5
  248. package/dist/src/server/payment-details.d.ts.map +0 -1
  249. package/dist/src/server/payment-details.js +0 -28
  250. package/dist/src/server/payment.d.ts +0 -3
  251. package/dist/src/server/payment.d.ts.map +0 -1
  252. package/dist/src/server/payment.js +0 -13
  253. package/dist/src/server/pincode.d.ts +0 -7
  254. package/dist/src/server/pincode.d.ts.map +0 -1
  255. package/dist/src/server/pincode.js +0 -30
  256. package/dist/src/server/products.d.ts +0 -54
  257. package/dist/src/server/products.d.ts.map +0 -1
  258. package/dist/src/server/products.js +0 -154
  259. package/dist/src/server/regions.d.ts +0 -5
  260. package/dist/src/server/regions.d.ts.map +0 -1
  261. package/dist/src/server/regions.js +0 -57
  262. package/dist/src/server/resolve-home-segment-data.d.ts +0 -25
  263. package/dist/src/server/resolve-home-segment-data.d.ts.map +0 -1
  264. package/dist/src/server/resolve-home-segment-data.js +0 -20
  265. package/dist/src/server/returns.d.ts +0 -29
  266. package/dist/src/server/returns.d.ts.map +0 -1
  267. package/dist/src/server/returns.js +0 -132
  268. package/dist/src/server/shoppable-looks.d.ts +0 -17
  269. package/dist/src/server/shoppable-looks.d.ts.map +0 -1
  270. package/dist/src/server/shoppable-looks.js +0 -136
  271. package/dist/src/server/swaps.d.ts +0 -15
  272. package/dist/src/server/swaps.d.ts.map +0 -1
  273. package/dist/src/server/swaps.js +0 -89
  274. package/dist/src/server/variants.d.ts +0 -3
  275. package/dist/src/server/variants.d.ts.map +0 -1
  276. package/dist/src/server/variants.js +0 -15
  277. package/dist/src/server/wishlist.d.ts +0 -11
  278. package/dist/src/server/wishlist.d.ts.map +0 -1
  279. package/dist/src/server/wishlist.js +0 -49
  280. package/dist/src/util/get-locale-header.d.ts +0 -4
  281. package/dist/src/util/get-locale-header.d.ts.map +0 -1
  282. package/dist/src/util/get-locale-header.js +0 -7
  283. package/dist/src/util/medusa-error.d.ts +0 -2
  284. package/dist/src/util/medusa-error.d.ts.map +0 -1
  285. package/dist/src/util/medusa-error.js +0 -18
  286. package/dist/src/util/revalidate-cart.d.ts +0 -2
  287. package/dist/src/util/revalidate-cart.d.ts.map +0 -1
  288. package/dist/src/util/revalidate-cart.js +0 -8
  289. package/dist/src/util/sort-products.d.ts +0 -3
  290. package/dist/src/util/sort-products.d.ts.map +0 -1
  291. package/dist/src/util/sort-products.js +0 -1
  292. package/dist/src/util/store-client.d.ts +0 -11
  293. package/dist/src/util/store-client.d.ts.map +0 -1
  294. package/dist/src/util/store-client.js +0 -75
@@ -1,132 +0,0 @@
1
- "use server";
2
- import { medusaReturnCreate, medusaReturnCreateGuest, medusaReturnList, medusaReturnListGuest, medusaReturnReasonList, medusaReturnShippingOptionsResolve, medusaReturnUpdatePayment, } from "medusa-services/returns";
3
- import { cookies } from "next/headers";
4
- import { revalidateTag } from "next/cache";
5
- import { getStoreClientOptions, getStoreClientOptionsWithToken } from "../util/store-client";
6
- export const listReturnReasons = async () => {
7
- const options = await getStoreClientOptions();
8
- return medusaReturnReasonList(options);
9
- };
10
- export const listReturnShippingOptions = async (cartId, regionId, productIds) => {
11
- const options = await getStoreClientOptions();
12
- const shippingOptions = await medusaReturnShippingOptionsResolve(options, {
13
- cartId,
14
- regionId,
15
- });
16
- return shippingOptions;
17
- };
18
- export const createReturnRequest = async (state, formData) => {
19
- const orderId = formData.get("order_id");
20
- const returnShippingOptionId = formData.get("return_shipping_option_id");
21
- const itemsJson = formData.get("items");
22
- const note = formData.get("note");
23
- const locationId = formData.get("location_id");
24
- if (!orderId)
25
- return { success: false, error: "Order ID is required", return: null };
26
- if (!itemsJson)
27
- return { success: false, error: "Items are required", return: null };
28
- let items = [];
29
- try {
30
- items = JSON.parse(itemsJson);
31
- }
32
- catch {
33
- return { success: false, error: "Invalid items data", return: null };
34
- }
35
- if (items.length === 0) {
36
- return { success: false, error: "At least one item must be selected", return: null };
37
- }
38
- const options = await getStoreClientOptions();
39
- try {
40
- const payload = {
41
- order_id: orderId,
42
- items: items.map((item) => ({
43
- id: item.id,
44
- quantity: item.quantity,
45
- reason_id: item.return_reason_id || undefined,
46
- note: note && note.trim().length > 0 ? note : undefined,
47
- })),
48
- ...(returnShippingOptionId
49
- ? {
50
- return_shipping: {
51
- option_id: returnShippingOptionId,
52
- location_id: locationId || items[0]?.location_id || "default_location",
53
- },
54
- }
55
- : {}),
56
- note: note && note.trim().length > 0 ? note : "Return request",
57
- };
58
- const cookieStore = await cookies();
59
- const guestToken = cookieStore.get("_medusa_guest_jwt")?.value ||
60
- cookieStore.get("_medusa_guest_token")?.value ||
61
- cookieStore.get("guest_id")?.value;
62
- const token = cookieStore.get("_medusa_jwt")?.value;
63
- let returnData;
64
- if (guestToken && !token) {
65
- try {
66
- const guestOptions = await getStoreClientOptionsWithToken(guestToken);
67
- returnData = (await medusaReturnCreateGuest(orderId, payload, guestOptions));
68
- }
69
- catch {
70
- returnData = (await medusaReturnCreate(payload, options));
71
- }
72
- }
73
- else {
74
- returnData = (await medusaReturnCreate(payload, options));
75
- }
76
- revalidateTag("orders");
77
- return { success: true, error: null, return: returnData };
78
- }
79
- catch (error) {
80
- return {
81
- success: false,
82
- error: error instanceof Error ? error.message : "Failed to create return request",
83
- return: null,
84
- };
85
- }
86
- };
87
- /**
88
- * Link a payment method to a return (for Refund Destination)
89
- */
90
- export const updateReturnPayment = async (returnId, paymentId) => {
91
- const options = await getStoreClientOptions();
92
- try {
93
- const data = await medusaReturnUpdatePayment(returnId, paymentId, options);
94
- return { success: true, data };
95
- }
96
- catch (error) {
97
- console.error("Update return payment fail:", error);
98
- return {
99
- success: false,
100
- error: error instanceof Error ? error.message : String(error),
101
- };
102
- }
103
- };
104
- /**
105
- * List returns for an order or customer
106
- */
107
- export const listReturns = async (orderId) => {
108
- const options = await getStoreClientOptions();
109
- if (options.authorization) {
110
- try {
111
- return await medusaReturnList(options, orderId ? { order_id: orderId } : undefined);
112
- }
113
- catch {
114
- return { returns: [], count: 0 };
115
- }
116
- }
117
- if (orderId) {
118
- const cookieStore = await cookies();
119
- const guestToken = cookieStore.get("_medusa_guest_jwt")?.value ||
120
- cookieStore.get("_medusa_guest_token")?.value;
121
- if (guestToken) {
122
- try {
123
- const guestOptions = await getStoreClientOptionsWithToken(guestToken);
124
- return await medusaReturnListGuest(orderId, guestOptions);
125
- }
126
- catch {
127
- return { returns: [], count: 0 };
128
- }
129
- }
130
- }
131
- return { returns: [], count: 0 };
132
- };
@@ -1,17 +0,0 @@
1
- import "server-only";
2
- import { HttpTypes } from "@medusajs/types";
3
- import type { HomepageConfig } from "./homepage-config.types";
4
- export type ShoppableLookConfig = {
5
- image: string;
6
- productIds: string[];
7
- productHandles: string[];
8
- };
9
- export type ShoppableLook = {
10
- id: string;
11
- image: string;
12
- products: HttpTypes.StoreProduct[];
13
- };
14
- export declare function readShoppableLooksBlock(block: unknown): ShoppableLookConfig[];
15
- export declare function looksFromProducts(products: HttpTypes.StoreProduct[]): ShoppableLook[];
16
- export declare function getBaptismPicksLooks(countryCode: string, fallbackProducts: HttpTypes.StoreProduct[], pageInput?: HomepageConfig | null): Promise<ShoppableLook[]>;
17
- //# sourceMappingURL=shoppable-looks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shoppable-looks.d.ts","sourceRoot":"","sources":["../../../src/server/shoppable-looks.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;CACnC,CAAA;AAoCD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,EAAE,CAkB7E;AAoDD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,GACjC,aAAa,EAAE,CAgBjB;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,SAAS,CAAC,YAAY,EAAE,EAC1C,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,OAAO,CAAC,aAAa,EAAE,CAAC,CA4B1B"}
@@ -1,136 +0,0 @@
1
- import "server-only";
2
- import { sdk } from "../config";
3
- import { getRegion } from "./regions";
4
- import { DEFAULT_HOMEPAGE_SECTIONS } from "./homepage-section-defaults";
5
- import { getMergedSectionBlock } from "./dynamic-config";
6
- function parseLookRow(row) {
7
- const nested = (row.look ?? row["shop-look"] ?? row);
8
- const image = String(nested.image ?? nested["look-image"] ?? nested.thumbnail ?? "").trim();
9
- if (!image)
10
- return null;
11
- const idsRaw = nested["product-ids"] ?? nested.productIds ?? nested.products;
12
- const handlesRaw = nested["product-handles"] ?? nested.productHandles ?? nested.handles;
13
- const productIds = [];
14
- const productHandles = [];
15
- if (Array.isArray(idsRaw)) {
16
- idsRaw.forEach((entry) => {
17
- if (typeof entry === "string" && entry.trim())
18
- productIds.push(entry.trim());
19
- if (entry && typeof entry === "object") {
20
- const id = entry.id ?? entry["product-id"];
21
- if (typeof id === "string" && id.trim())
22
- productIds.push(id.trim());
23
- }
24
- });
25
- }
26
- if (Array.isArray(handlesRaw)) {
27
- handlesRaw.forEach((entry) => {
28
- if (typeof entry === "string" && entry.trim())
29
- productHandles.push(entry.trim());
30
- if (entry && typeof entry === "object") {
31
- const handle = entry.handle;
32
- if (typeof handle === "string" && handle.trim())
33
- productHandles.push(handle.trim());
34
- }
35
- });
36
- }
37
- return { image, productIds, productHandles };
38
- }
39
- export function readShoppableLooksBlock(block) {
40
- if (!block || typeof block !== "object")
41
- return [];
42
- const row = block;
43
- const raw = row.looks ??
44
- row["shop-looks"] ??
45
- row["looks-array"] ??
46
- row["baptism-picks"] ??
47
- [];
48
- if (!Array.isArray(raw))
49
- return [];
50
- return raw
51
- .map((item) => {
52
- if (!item || typeof item !== "object")
53
- return null;
54
- return parseLookRow(item);
55
- })
56
- .filter((x) => x !== null);
57
- }
58
- async function fetchProductsForLook(countryCode, productIds, productHandles) {
59
- const region = await getRegion(countryCode);
60
- if (!region?.id)
61
- return [];
62
- const fields = "*thumbnail,*images,*variants,*variants.calculated_price,*options,*options.values";
63
- const byId = new Map();
64
- if (productIds.length > 0) {
65
- const { products } = await sdk.store.product.list({ id: productIds, region_id: region.id, fields, limit: productIds.length }, {});
66
- products.forEach((p) => {
67
- if (p.id)
68
- byId.set(p.id, p);
69
- });
70
- }
71
- for (const handle of productHandles) {
72
- if (byId.has(handle))
73
- continue;
74
- try {
75
- const { products } = await sdk.store.product.list({ handle, region_id: region.id, fields, limit: 1 }, {});
76
- const product = products?.[0];
77
- if (product?.id)
78
- byId.set(product.id, product);
79
- }
80
- catch {
81
- /* skip */
82
- }
83
- }
84
- const ordered = [];
85
- for (const id of productIds) {
86
- const p = byId.get(id);
87
- if (p)
88
- ordered.push(p);
89
- }
90
- for (const handle of productHandles) {
91
- const p = Array.from(byId.values()).find((x) => x.handle === handle);
92
- if (p && !ordered.some((o) => o.id === p.id))
93
- ordered.push(p);
94
- }
95
- return ordered;
96
- }
97
- export function looksFromProducts(products) {
98
- return products
99
- .map((product, index) => {
100
- const image = product.metadata?.look_image ??
101
- product.thumbnail ??
102
- product.images?.[0]?.url ??
103
- "";
104
- if (!image)
105
- return null;
106
- return {
107
- id: product.id ?? `look-${index}`,
108
- image,
109
- products: [product],
110
- };
111
- })
112
- .filter((x) => x !== null);
113
- }
114
- export async function getBaptismPicksLooks(countryCode, fallbackProducts, pageInput) {
115
- const block = getMergedSectionBlock("baptismPicks", pageInput);
116
- let configs = readShoppableLooksBlock(block);
117
- if (configs.length === 0) {
118
- configs = readShoppableLooksBlock(DEFAULT_HOMEPAGE_SECTIONS.baptismPicks);
119
- }
120
- if (configs.length === 0) {
121
- return looksFromProducts(fallbackProducts);
122
- }
123
- const looks = [];
124
- for (let i = 0; i < configs.length; i++) {
125
- const config = configs[i];
126
- const products = await fetchProductsForLook(countryCode, config.productIds, config.productHandles);
127
- if (products.length === 0)
128
- continue;
129
- looks.push({
130
- id: `look-${i}`,
131
- image: config.image,
132
- products,
133
- });
134
- }
135
- return looks.length > 0 ? looks : looksFromProducts(fallbackProducts);
136
- }
@@ -1,15 +0,0 @@
1
- export type SwapActionState = {
2
- success: boolean;
3
- error: string | null;
4
- swap: Record<string, unknown> | null;
5
- };
6
- /**
7
- * Create an exchange (swap) request.
8
- * Supports both authenticated customers and guest users.
9
- */
10
- export declare const createSwapRequest: (_prevState: SwapActionState, formData: FormData) => Promise<SwapActionState>;
11
- /**
12
- * List swaps for an order or customer
13
- */
14
- export declare const listSwaps: (orderId?: string) => Promise<import("medusa-services/swaps").StoreSwapListResponse>;
15
- //# sourceMappingURL=swaps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swaps.d.ts","sourceRoot":"","sources":["../../../src/server/swaps.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,eAAe,EAC3B,UAAU,QAAQ,KACjB,OAAO,CAAC,eAAe,CAsEzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAU,UAAU,MAAM,mEAoB/C,CAAA"}
@@ -1,89 +0,0 @@
1
- "use server";
2
- import { medusaSwapCreate, medusaSwapCreateGuest, medusaSwapList, medusaSwapListGuest, } from "medusa-services/swaps";
3
- import { cookies } from "next/headers";
4
- import { revalidateTag } from "next/cache";
5
- import { getStoreClientOptions, getStoreClientOptionsWithToken } from "../util/store-client";
6
- /**
7
- * Create an exchange (swap) request.
8
- * Supports both authenticated customers and guest users.
9
- */
10
- export const createSwapRequest = async (_prevState, formData) => {
11
- const orderId = formData.get("order_id");
12
- const returnItemsJson = formData.get("return_items");
13
- const newItemsJson = formData.get("new_items");
14
- const reason = formData.get("reason");
15
- const note = formData.get("note");
16
- if (!orderId)
17
- return { success: false, error: "Order ID is required", swap: null };
18
- if (!returnItemsJson)
19
- return { success: false, error: "Items to return are required", swap: null };
20
- if (!newItemsJson)
21
- return { success: false, error: "New items are required", swap: null };
22
- let returnItems = [];
23
- let newItems = [];
24
- try {
25
- returnItems = JSON.parse(returnItemsJson);
26
- newItems = JSON.parse(newItemsJson);
27
- }
28
- catch {
29
- return { success: false, error: "Invalid items data format", swap: null };
30
- }
31
- if (returnItems.length === 0) {
32
- return { success: false, error: "At least one item must be selected for return", swap: null };
33
- }
34
- const options = await getStoreClientOptions();
35
- try {
36
- const payload = {
37
- order_id: orderId,
38
- return_items: returnItems,
39
- new_items: newItems,
40
- reason: reason || "Size exchange",
41
- note: note || "Exchange requested from storefront",
42
- };
43
- const cookieStore = await cookies();
44
- const guestToken = cookieStore.get("_medusa_guest_jwt")?.value ||
45
- cookieStore.get("_medusa_guest_token")?.value;
46
- const token = cookieStore.get("_medusa_jwt")?.value;
47
- let swapData;
48
- if (guestToken && !token) {
49
- const guestOptions = await getStoreClientOptionsWithToken(guestToken);
50
- swapData = await medusaSwapCreateGuest(orderId, {
51
- return_items: payload.return_items,
52
- new_items: payload.new_items,
53
- reason: payload.reason,
54
- note: payload.note,
55
- }, guestOptions);
56
- }
57
- else {
58
- swapData = await medusaSwapCreate(payload, options);
59
- }
60
- revalidateTag("orders");
61
- return { success: true, error: null, swap: swapData };
62
- }
63
- catch (error) {
64
- let errorMsg = "Failed to create exchange request";
65
- if (error instanceof Error && error.message) {
66
- errorMsg = error.message;
67
- }
68
- return { success: false, error: errorMsg, swap: null };
69
- }
70
- };
71
- /**
72
- * List swaps for an order or customer
73
- */
74
- export const listSwaps = async (orderId) => {
75
- const options = await getStoreClientOptions();
76
- if (options.authorization) {
77
- return medusaSwapList(options, orderId ? { order_id: orderId } : undefined);
78
- }
79
- if (orderId) {
80
- const cookieStore = await cookies();
81
- const guestToken = cookieStore.get("_medusa_guest_jwt")?.value ||
82
- cookieStore.get("_medusa_guest_token")?.value;
83
- if (guestToken) {
84
- const guestOptions = await getStoreClientOptionsWithToken(guestToken);
85
- return medusaSwapListGuest(orderId, guestOptions);
86
- }
87
- }
88
- return { swaps: [], count: 0 };
89
- };
@@ -1,3 +0,0 @@
1
- import { HttpTypes } from "@medusajs/types";
2
- export declare const retrieveVariant: (variant_id: string) => Promise<HttpTypes.StoreProductVariant | null>;
3
- //# sourceMappingURL=variants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/server/variants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,eAAO,MAAM,eAAe,GAC1B,YAAY,MAAM,KACjB,OAAO,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAU9C,CAAA"}
@@ -1,15 +0,0 @@
1
- "use server";
2
- import { medusaVariantRetrieve } from "medusa-services/variants";
3
- import { getStoreClientOptions } from "../util/store-client";
4
- export const retrieveVariant = async (variant_id) => {
5
- try {
6
- const options = await getStoreClientOptions();
7
- if (!options.authorization)
8
- return null;
9
- const { variant } = await medusaVariantRetrieve(variant_id, options, { fields: "*images" });
10
- return variant;
11
- }
12
- catch {
13
- return null;
14
- }
15
- };
@@ -1,11 +0,0 @@
1
- /** Wishlist entries enriched with full Medusa product payloads. */
2
- export declare function getWishlist(includeDetails?: boolean, countryCode?: string): Promise<{
3
- success: false;
4
- error: string;
5
- data: unknown[];
6
- } | {
7
- success: true;
8
- data: Record<string, unknown>[];
9
- error?: undefined;
10
- }>;
11
- //# sourceMappingURL=wishlist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wishlist.d.ts","sourceRoot":"","sources":["../../../src/server/wishlist.ts"],"names":[],"mappings":"AAOA,mEAAmE;AACnE,wBAAsB,WAAW,CAAC,cAAc,UAAO,EAAE,WAAW,CAAC,EAAE,MAAM;;;UAGF,OAAO,EAAE;;;;;GAoDnF"}
@@ -1,49 +0,0 @@
1
- "use server";
2
- import { sdk } from "../config";
3
- import { getRegion } from "./regions";
4
- import { fetchWishlist } from "medusa-wishlist-logic/server";
5
- /** Wishlist entries enriched with full Medusa product payloads. */
6
- export async function getWishlist(includeDetails = true, countryCode) {
7
- const result = await fetchWishlist(includeDetails);
8
- if (!result.success) {
9
- return { success: false, error: result.error, data: [] };
10
- }
11
- let wishlistItems = result.data;
12
- if (!includeDetails || wishlistItems.length === 0) {
13
- return { success: true, data: wishlistItems };
14
- }
15
- const productIds = wishlistItems
16
- .map((item) => {
17
- const id = item.product_id ?? item.id;
18
- return typeof id === "string" ? id : null;
19
- })
20
- .filter((id) => Boolean(id));
21
- if (productIds.length === 0) {
22
- return { success: true, data: wishlistItems };
23
- }
24
- try {
25
- let regionId;
26
- if (countryCode) {
27
- const region = await getRegion(countryCode);
28
- regionId = region?.id;
29
- }
30
- const productsResponse = await sdk.store.product.list({
31
- id: productIds,
32
- fields: "*thumbnail,*images,*variants,*variants.options,*options,*options.values,*variants.calculated_price,*variants.inventory_quantity,*variants.manage_inventory,*variants.allow_backorder",
33
- ...(regionId ? { region_id: regionId } : {}),
34
- }, {});
35
- const fullProducts = productsResponse.products;
36
- wishlistItems = wishlistItems.map((item) => {
37
- const itemId = (item.product_id ?? item.id);
38
- const fullProduct = fullProducts.find((p) => p.id === itemId);
39
- if (fullProduct) {
40
- return { ...item, product: fullProduct };
41
- }
42
- return item;
43
- });
44
- }
45
- catch {
46
- // Return API wishlist without enrichment
47
- }
48
- return { success: true, data: wishlistItems };
49
- }
@@ -1,4 +0,0 @@
1
- export declare function getLocaleHeader(): Promise<{
2
- readonly "x-medusa-locale": string | null;
3
- }>;
4
- //# sourceMappingURL=get-locale-header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-locale-header.d.ts","sourceRoot":"","sources":["../../../src/util/get-locale-header.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe;;GAKpC"}
@@ -1,7 +0,0 @@
1
- import { getLocale } from "../server/locale-actions";
2
- export async function getLocaleHeader() {
3
- const locale = await getLocale();
4
- return {
5
- "x-medusa-locale": locale,
6
- };
7
- }
@@ -1,2 +0,0 @@
1
- export default function medusaError(error: any): never;
2
- //# sourceMappingURL=medusa-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"medusa-error.d.ts","sourceRoot":"","sources":["../../../src/util/medusa-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAkBrD"}
@@ -1,18 +0,0 @@
1
- export default function medusaError(error) {
2
- if (error.response) {
3
- // The request was made and the server responded with a status code
4
- // that falls out of the range of 2xx
5
- const u = new URL(error.config.url, error.config.baseURL);
6
- // Extracting the error message from the response data
7
- const message = error.response.data.message || error.response.data;
8
- throw new Error(message.charAt(0).toUpperCase() + message.slice(1) + ".");
9
- }
10
- else if (error.request) {
11
- // The request was made but no response was received
12
- throw new Error("No response received: " + error.request);
13
- }
14
- else {
15
- // Something happened in setting up the request that triggered an Error
16
- throw new Error("Error setting up the request: " + error.message);
17
- }
18
- }
@@ -1,2 +0,0 @@
1
- export declare function revalidateCartTags(): Promise<void>;
2
- //# sourceMappingURL=revalidate-cart.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"revalidate-cart.d.ts","sourceRoot":"","sources":["../../../src/util/revalidate-cart.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMxD"}
@@ -1,8 +0,0 @@
1
- import { revalidateTag } from "next/cache";
2
- import { getCacheTag } from "../cookies";
3
- export async function revalidateCartTags() {
4
- const cartCacheTag = await getCacheTag("carts");
5
- revalidateTag(cartCacheTag);
6
- const fulfillmentCacheTag = await getCacheTag("fulfillment");
7
- revalidateTag(fulfillmentCacheTag);
8
- }
@@ -1,3 +0,0 @@
1
- export type { SortOptions } from "medusa-services/product-listing";
2
- export { sortProducts } from "medusa-services/product-listing";
3
- //# sourceMappingURL=sort-products.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-products.d.ts","sourceRoot":"","sources":["../../../src/util/sort-products.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1 +0,0 @@
1
- export { sortProducts } from "medusa-services/product-listing";
@@ -1,11 +0,0 @@
1
- import type { MedusaStoreClientOptions } from "medusa-services/store-api";
2
- import { type MedusaAuthClientOptions } from "medusa-services/auth";
3
- /**
4
- * Builds portable Medusa store client options from Next.js cookies and env.
5
- */
6
- export declare function getStoreClientOptions(): Promise<MedusaStoreClientOptions>;
7
- export declare function getMedusaBackendUrl(): string;
8
- export declare function getGuestStoreClientOptions(): Promise<MedusaStoreClientOptions | null>;
9
- export declare function getStoreClientOptionsWithToken(token: string): Promise<MedusaStoreClientOptions>;
10
- export declare function getAuthClientOptions(authorization?: string): Promise<MedusaAuthClientOptions>;
11
- //# sourceMappingURL=store-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-client.d.ts","sourceRoot":"","sources":["../../../src/util/store-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAqBxF;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAY/E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAuB3F;AAED,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,wBAAwB,CAAC,CAMnC;AAED,wBAAsB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAWnG"}
@@ -1,75 +0,0 @@
1
- import { getStoreAuthOptions } from "medusa-services/auth";
2
- import { getAuthHeaders, getGuestAuthHeaders } from "../cookies";
3
- import { getLocaleHeader } from "./get-locale-header";
4
- import { cookies as nextCookies } from "next/headers";
5
- function getBackendUrl() {
6
- return (process.env.MEDUSA_BACKEND_URL?.replace(/\/$/, "") ||
7
- process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL?.replace(/\/$/, "") ||
8
- "http://localhost:9000");
9
- }
10
- function getPublishableApiKey() {
11
- const key = process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY;
12
- if (!key) {
13
- throw new Error("NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY is not configured");
14
- }
15
- return key;
16
- }
17
- /**
18
- * Builds portable Medusa store client options from Next.js cookies and env.
19
- */
20
- export async function getStoreClientOptions() {
21
- const auth = await getAuthHeaders();
22
- const localeHeader = await getLocaleHeader().catch(() => ({}));
23
- return {
24
- backendUrl: getBackendUrl(),
25
- publishableApiKey: getPublishableApiKey(),
26
- authorization: "authorization" in auth ? auth.authorization : undefined,
27
- headers: localeHeader["x-medusa-locale"]
28
- ? { "x-medusa-locale": localeHeader["x-medusa-locale"] }
29
- : undefined,
30
- };
31
- }
32
- export function getMedusaBackendUrl() {
33
- return getBackendUrl();
34
- }
35
- export async function getGuestStoreClientOptions() {
36
- const guestAuth = await getGuestAuthHeaders();
37
- let authorization = "authorization" in guestAuth ? guestAuth.authorization : undefined;
38
- if (!authorization) {
39
- try {
40
- const cookieStore = await nextCookies();
41
- const legacyToken = cookieStore.get("_medusa_guest_token")?.value;
42
- if (legacyToken) {
43
- authorization = `Bearer ${legacyToken}`;
44
- }
45
- }
46
- catch {
47
- return null;
48
- }
49
- }
50
- if (!authorization)
51
- return null;
52
- return {
53
- backendUrl: getBackendUrl(),
54
- publishableApiKey: getPublishableApiKey(),
55
- authorization,
56
- };
57
- }
58
- export async function getStoreClientOptionsWithToken(token) {
59
- return {
60
- backendUrl: getBackendUrl(),
61
- publishableApiKey: getPublishableApiKey(),
62
- authorization: token.startsWith("Bearer ") ? token : `Bearer ${token}`,
63
- };
64
- }
65
- export async function getAuthClientOptions(authorization) {
66
- if (authorization) {
67
- return getStoreAuthOptions({
68
- backendUrl: getBackendUrl(),
69
- publishableApiKey: getPublishableApiKey(),
70
- authorization,
71
- });
72
- }
73
- const storeOptions = await getStoreClientOptions();
74
- return getStoreAuthOptions(storeOptions);
75
- }