@misiki/gocommerce-connector 0.4.9 → 0.7.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.
@@ -2034,6 +2034,31 @@ var OrderService = class extends BaseService {
2034
2034
  async listPublic(_args = {}) {
2035
2035
  return emptyPage();
2036
2036
  }
2037
+ /**
2038
+ * Opens an order with its number and the email or phone on it, no code. The
2039
+ * engine answers one 404 for an unknown number and a wrong contact. The
2040
+ * token it answers is kept like an order placed in this browser, so the
2041
+ * order page and `getOrder` read it again.
2042
+ */
2043
+ async openOrder({ orderNo, contact }) {
2044
+ const res = await this.data(
2045
+ `/api/orders/${encodeURIComponent(orderNo.trim())}/open`,
2046
+ { method: "POST", body: { contact: contact.trim() } }
2047
+ );
2048
+ rememberOrder({ number: res.order.number, token: res.access_token, cartId: "" });
2049
+ return { data: [toOrder(res.order)] };
2050
+ }
2051
+ /**
2052
+ * Opens an order from the link in its emails, which carries the order's key
2053
+ * (`/order-tracking?order=…&key=…`). The key is kept like an order placed in
2054
+ * this browser, so the page can drop it from the address bar.
2055
+ */
2056
+ async openOrderWithKey({ orderNo, key }) {
2057
+ const number = orderNo.trim();
2058
+ const order = await this.data(`/api/orders/${encodeURIComponent(number)}`, { query: { token: key.trim() } });
2059
+ rememberOrder({ number: order.number, token: key.trim(), cartId: "" });
2060
+ return { data: [toOrder(order)] };
2061
+ }
2037
2062
  /**
2038
2063
  * Sends a 4-digit code to the email or phone on the order, when `contact`
2039
2064
  * is that email or phone. The engine answers the same either way, so this
@@ -2716,6 +2741,40 @@ var FaqService = class extends BaseService {
2716
2741
  var pageService = new PageService();
2717
2742
  var faqService = new FaqService();
2718
2743
 
2744
+ // src/services/layout-service.ts
2745
+ var IMAGE_KEYS = ["image", "mobile_image"];
2746
+ var LayoutService = class extends BaseService {
2747
+ async getHomeLayout({ preview } = {}) {
2748
+ let layout;
2749
+ try {
2750
+ layout = await this.data("/x/layouts/home", {
2751
+ query: { preview: preview?.trim() || void 0 }
2752
+ });
2753
+ } catch (err) {
2754
+ if (err instanceof GoCommerceError && err.status === 404) return null;
2755
+ throw err;
2756
+ }
2757
+ if (!layout) return null;
2758
+ return {
2759
+ page: layout.page,
2760
+ theme: layout.theme,
2761
+ revision: layout.revision,
2762
+ preview: !!layout.preview,
2763
+ sections: (layout.sections ?? []).map(toSection)
2764
+ };
2765
+ }
2766
+ };
2767
+ function toSection(s) {
2768
+ const settings = { ...s.settings ?? {} };
2769
+ for (const key of IMAGE_KEYS) {
2770
+ if (typeof settings[key] === "string") settings[key] = mediaUrl(settings[key]);
2771
+ }
2772
+ const out = { id: s.id, type: s.type, settings };
2773
+ if (s.type === "product-grid") out.products = (s.products ?? []).map((p) => toProduct(p));
2774
+ return out;
2775
+ }
2776
+ var layoutService = new LayoutService();
2777
+
2719
2778
  // src/services/vendor-service.ts
2720
2779
  var VendorService = class extends BaseService {
2721
2780
  async list({
@@ -3274,6 +3333,7 @@ exports.FeedbackService = FeedbackService;
3274
3333
  exports.GalleryService = GalleryService;
3275
3334
  exports.HomeService = HomeService;
3276
3335
  exports.InitService = InitService;
3336
+ exports.LayoutService = LayoutService;
3277
3337
  exports.MeilisearchService = MeilisearchService;
3278
3338
  exports.MenuService = MenuService;
3279
3339
  exports.NewsletterService = NewsletterService;
@@ -3327,6 +3387,7 @@ exports.feedbackService = feedbackService;
3327
3387
  exports.galleryService = galleryService;
3328
3388
  exports.homeService = homeService;
3329
3389
  exports.initService = initService;
3390
+ exports.layoutService = layoutService;
3330
3391
  exports.mediaUrl = mediaUrl;
3331
3392
  exports.meilisearchService = meilisearchService;
3332
3393
  exports.menuService = menuService;