medusa-product-helper 0.0.9 → 0.0.12

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.
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClientRequest = exports.buildHeaders = exports.normalizeBaseUrl = void 0;
4
+ const normalizeBaseUrl = (baseUrl) => {
5
+ if (!baseUrl) {
6
+ return "";
7
+ }
8
+ return baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
9
+ };
10
+ exports.normalizeBaseUrl = normalizeBaseUrl;
11
+ const buildHeaders = (options) => {
12
+ const headers = {
13
+ "Content-Type": "application/json",
14
+ ...(options.headers ?? {}),
15
+ };
16
+ const hasPublishableHeader = Object.keys(headers).some((key) => key.toLowerCase() === "x-publishable-api-key");
17
+ if (options.publishableApiKey && !hasPublishableHeader) {
18
+ headers["x-publishable-api-key"] = options.publishableApiKey;
19
+ }
20
+ return headers;
21
+ };
22
+ exports.buildHeaders = buildHeaders;
23
+ const getClientRequest = (client) => {
24
+ if (!client) {
25
+ return undefined;
26
+ }
27
+ if ("request" in client && typeof client.request === "function") {
28
+ return client.request.bind(client);
29
+ }
30
+ if ("client" in client && typeof client.client?.request === "function") {
31
+ return client.client.request.bind(client.client);
32
+ }
33
+ return undefined;
34
+ };
35
+ exports.getClientRequest = getClientRequest;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9iYXNlLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQ08sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUMvRCxDQUFDLENBQUE7QUFMWSxRQUFBLGdCQUFnQixvQkFLNUI7QUFFTSxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQStCLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE9BQU8sR0FBMkI7UUFDdEMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7S0FDM0IsQ0FBQTtJQUVELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssdUJBQXVCLENBQ3ZELENBQUE7SUFFRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFBO0lBQzlELENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFmWSxRQUFBLFlBQVksZ0JBZXhCO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUM1RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFFBQVEsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN2RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFBO0FBQ2xCLENBQUMsQ0FBQTtBQWRZLFFBQUEsZ0JBQWdCLG9CQWM1QiJ9
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeBaseUrl = exports.getClientRequest = exports.buildHeaders = exports.removeFromWishlist = exports.getWishlist = exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createGetWishlist = exports.createAddToWishlist = exports.addToWishlist = void 0;
4
+ var wishlist_1 = require("./wishlist");
5
+ Object.defineProperty(exports, "addToWishlist", { enumerable: true, get: function () { return wishlist_1.addToWishlist; } });
6
+ Object.defineProperty(exports, "createAddToWishlist", { enumerable: true, get: function () { return wishlist_1.createAddToWishlist; } });
7
+ Object.defineProperty(exports, "createGetWishlist", { enumerable: true, get: function () { return wishlist_1.createGetWishlist; } });
8
+ Object.defineProperty(exports, "createRemoveFromWishlist", { enumerable: true, get: function () { return wishlist_1.createRemoveFromWishlist; } });
9
+ Object.defineProperty(exports, "createWishlistHelpers", { enumerable: true, get: function () { return wishlist_1.createWishlistHelpers; } });
10
+ Object.defineProperty(exports, "getWishlist", { enumerable: true, get: function () { return wishlist_1.getWishlist; } });
11
+ Object.defineProperty(exports, "removeFromWishlist", { enumerable: true, get: function () { return wishlist_1.removeFromWishlist; } });
12
+ var base_client_1 = require("./base-client");
13
+ Object.defineProperty(exports, "buildHeaders", { enumerable: true, get: function () { return base_client_1.buildHeaders; } });
14
+ Object.defineProperty(exports, "getClientRequest", { enumerable: true, get: function () { return base_client_1.getClientRequest; } });
15
+ Object.defineProperty(exports, "normalizeBaseUrl", { enumerable: true, get: function () { return base_client_1.normalizeBaseUrl; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FRbUI7QUFQakIseUdBQUEsYUFBYSxPQUFBO0FBQ2IsK0dBQUEsbUJBQW1CLE9BQUE7QUFDbkIsNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsb0hBQUEsd0JBQXdCLE9BQUE7QUFDeEIsaUhBQUEscUJBQXFCLE9BQUE7QUFDckIsdUdBQUEsV0FBVyxPQUFBO0FBQ1gsOEdBQUEsa0JBQWtCLE9BQUE7QUFrQnBCLDZDQUFnRjtBQUF2RSwyR0FBQSxZQUFZLE9BQUE7QUFBRSwrR0FBQSxnQkFBZ0IsT0FBQTtBQUFFLCtHQUFBLGdCQUFnQixPQUFBIn0=
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createAddToWishlist = exports.createGetWishlist = exports.removeFromWishlist = exports.addToWishlist = exports.getWishlist = void 0;
4
+ const base_client_1 = require("./base-client");
5
+ const WISHLIST_ENDPOINT = "/store/wishlist";
6
+ // Endpoint resolution helper (recommended pattern)
7
+ const resolveEndpoint = (endpoint) => endpoint?.startsWith("/") ? endpoint : WISHLIST_ENDPOINT;
8
+ const execute = async (path, init, options) => {
9
+ const baseHeaders = (0, base_client_1.buildHeaders)(options);
10
+ // Only include Content-Type if there's a body (POST, PUT, PATCH)
11
+ const hasBody = init.body !== undefined;
12
+ const headers = {};
13
+ // Always include publishable key if present
14
+ if (baseHeaders["x-publishable-api-key"]) {
15
+ headers["x-publishable-api-key"] = baseHeaders["x-publishable-api-key"];
16
+ }
17
+ // Include Content-Type only for requests with body
18
+ if (hasBody && baseHeaders["Content-Type"]) {
19
+ headers["Content-Type"] = baseHeaders["Content-Type"];
20
+ }
21
+ // Merge custom headers from options
22
+ if (options.headers) {
23
+ Object.assign(headers, options.headers);
24
+ }
25
+ // Merge any additional headers from init (takes precedence)
26
+ const mergedHeaders = {
27
+ ...headers,
28
+ ...(init.headers ?? {}),
29
+ };
30
+ const normalizedInit = {
31
+ ...init,
32
+ headers: mergedHeaders,
33
+ };
34
+ const clientRequest = (0, base_client_1.getClientRequest)(options.client);
35
+ if (clientRequest) {
36
+ const raw = await clientRequest(path, normalizedInit);
37
+ return raw;
38
+ }
39
+ const fetchImpl = options.fetchImpl ?? globalThis.fetch;
40
+ if (!fetchImpl) {
41
+ throw new Error("No fetch implementation available. Provide `fetchImpl` or a Medusa client.");
42
+ }
43
+ const url = `${(0, base_client_1.normalizeBaseUrl)(options.baseUrl)}${path}`;
44
+ const response = await fetchImpl(url || path, normalizedInit);
45
+ if (!response.ok) {
46
+ const body = await response.text();
47
+ throw new Error(body || `Request failed with status ${response.status}`);
48
+ }
49
+ return (await response.json());
50
+ };
51
+ const getWishlist = async (input = {}, options = {}) => {
52
+ const endpoint = resolveEndpoint(input.endpoint);
53
+ const params = new URLSearchParams();
54
+ if (input.includeDetails) {
55
+ params.set("include_details", "true");
56
+ }
57
+ const path = params.toString() ? `${endpoint}?${params.toString()}` : endpoint;
58
+ const raw = await execute(path, {
59
+ method: "GET",
60
+ }, options);
61
+ // Validate response structure
62
+ if (!raw || typeof raw !== "object" || !("wishlist" in raw)) {
63
+ throw new Error("Invalid response from wishlist endpoint");
64
+ }
65
+ if (!Array.isArray(raw.wishlist)) {
66
+ throw new Error("Invalid response format: wishlist must be an array");
67
+ }
68
+ return raw;
69
+ };
70
+ exports.getWishlist = getWishlist;
71
+ const addToWishlist = async (input, options = {}) => {
72
+ if (!input.product_id) {
73
+ throw new Error("product_id is required");
74
+ }
75
+ const endpoint = resolveEndpoint(input.endpoint);
76
+ const payload = {
77
+ product_id: input.product_id,
78
+ };
79
+ const raw = await execute(endpoint, {
80
+ method: "POST",
81
+ body: JSON.stringify(payload),
82
+ }, options);
83
+ // Validate response structure
84
+ if (!raw || typeof raw !== "object" || !("wishlist_item" in raw)) {
85
+ throw new Error("Invalid response from add to wishlist endpoint");
86
+ }
87
+ return raw;
88
+ };
89
+ exports.addToWishlist = addToWishlist;
90
+ const removeFromWishlist = async (input, options = {}) => {
91
+ if (!input.product_id) {
92
+ throw new Error("product_id is required");
93
+ }
94
+ const baseEndpoint = resolveEndpoint(input.endpoint);
95
+ const endpoint = input.endpoint
96
+ ? baseEndpoint
97
+ : `${baseEndpoint}/${encodeURIComponent(input.product_id)}`;
98
+ const raw = await execute(endpoint, {
99
+ method: "DELETE",
100
+ }, options);
101
+ // Validate response structure
102
+ if (!raw || typeof raw !== "object" || !("success" in raw)) {
103
+ throw new Error("Invalid response from remove from wishlist endpoint");
104
+ }
105
+ return raw;
106
+ };
107
+ exports.removeFromWishlist = removeFromWishlist;
108
+ const createGetWishlist = (options = {}) => (input) => (0, exports.getWishlist)(input, options);
109
+ exports.createGetWishlist = createGetWishlist;
110
+ const createAddToWishlist = (options = {}) => (input) => (0, exports.addToWishlist)(input, options);
111
+ exports.createAddToWishlist = createAddToWishlist;
112
+ const createRemoveFromWishlist = (options = {}) => (input) => (0, exports.removeFromWishlist)(input, options);
113
+ exports.createRemoveFromWishlist = createRemoveFromWishlist;
114
+ const createWishlistHelpers = (options = {}) => ({
115
+ getWishlist: (0, exports.createGetWishlist)(options),
116
+ addToWishlist: (0, exports.createAddToWishlist)(options),
117
+ removeFromWishlist: (0, exports.createRemoveFromWishlist)(options),
118
+ });
119
+ exports.createWishlistHelpers = createWishlistHelpers;
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGVscGVycy93aXNobGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FLc0I7QUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtBQUUzQyxtREFBbUQ7QUFDbkQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFpQixFQUFFLEVBQUUsQ0FDNUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtBQStDMUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUNuQixJQUFZLEVBQ1osSUFBcUIsRUFDckIsT0FBK0IsRUFDbkIsRUFBRTtJQUNkLE1BQU0sV0FBVyxHQUFHLElBQUEsMEJBQVksRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUV6QyxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUE7SUFDdkMsTUFBTSxPQUFPLEdBQTJCLEVBQUUsQ0FBQTtJQUUxQyw0Q0FBNEM7SUFDNUMsSUFBSSxXQUFXLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsSUFBSSxPQUFPLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6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
@@ -1,33 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addToWishlistWorkflow = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
4
5
  const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
6
  const wishlist_1 = require("../modules/wishlist");
6
7
  const validateCustomerAndProductStep = (0, workflows_sdk_1.createStep)("validate-customer-and-product", async (input, { container }) => {
7
8
  // Validate customer exists using remote query
8
- const remoteQuery = container.resolve("remoteQuery");
9
- const customerQuery = {
10
- customer: {
11
- fields: ["id"],
9
+ const remoteQuery = container.resolve(utils_1.ContainerRegistrationKeys.REMOTE_QUERY);
10
+ const customerQuery = (0, utils_1.remoteQueryObjectFromString)({
11
+ entryPoint: "customer",
12
+ fields: ["id"],
13
+ variables: {
12
14
  filters: {
13
- id: input.customer_id,
15
+ id: [input.customer_id],
14
16
  },
15
17
  },
16
- };
17
- const [customer] = await remoteQuery(customerQuery);
18
+ });
19
+ const customerResults = await remoteQuery(customerQuery);
20
+ const customer = customerResults?.[0];
18
21
  if (!customer) {
19
22
  throw new Error(`Customer with id ${input.customer_id} not found`);
20
23
  }
21
24
  // Validate product exists using remote query
22
- const productQuery = {
23
- product: {
24
- fields: ["id"],
25
+ const productQuery = (0, utils_1.remoteQueryObjectFromString)({
26
+ entryPoint: "product",
27
+ fields: ["id"],
28
+ variables: {
25
29
  filters: {
26
- id: input.product_id,
30
+ id: [input.product_id],
27
31
  },
28
32
  },
29
- };
30
- const [product] = await remoteQuery(productQuery);
33
+ });
34
+ const productResults = await remoteQuery(productQuery);
35
+ const product = productResults?.[0];
31
36
  if (!product) {
32
37
  throw new Error(`Product with id ${input.product_id} not found`);
33
38
  }
@@ -49,4 +54,4 @@ exports.addToWishlistWorkflow = (0, workflows_sdk_1.createWorkflow)("add-to-wish
49
54
  });
50
55
  });
51
56
  exports.default = exports.addToWishlistWorkflow;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLXdpc2hsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZGQtdG8td2lzaGxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLGtEQUFxRDtBQWtCckQsTUFBTSw4QkFBOEIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLCtCQUErQixFQUMvQixLQUFLLEVBQUUsS0FBeUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakQsOENBQThDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQ25DLGFBQWEsQ0FDb0IsQ0FBQTtJQUVuQyxNQUFNLGFBQWEsR0FBRztRQUNwQixRQUFRLEVBQUU7WUFDUixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQ3RCO1NBQ0Y7S0FDRixDQUFBO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRW5ELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLEtBQUssQ0FBQyxXQUFXLFlBQVksQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxZQUFZLEdBQUc7UUFDbkIsT0FBTyxFQUFFO1lBQ1AsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTthQUNyQjtTQUNGO0tBQ0YsQ0FBQTtJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUVqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixLQUFLLENBQUMsVUFBVSxZQUFZLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQzlCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtLQUM3QixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQTtBQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBQSwwQkFBVSxFQUNsQyxpQkFBaUIsRUFDakIsS0FBSyxFQUNILEtBQWtELEVBQ2xELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sZUFBZSxHQUEwQixTQUFTLENBQUMsT0FBTyxDQUM5RCwwQkFBZSxDQUNoQixDQUFBO0lBRUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsYUFBYSxDQUN0RCxLQUFLLENBQUMsV0FBVyxFQUNqQixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFBO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDdkMsQ0FBQyxDQUNGLENBQUE7QUFFWSxRQUFBLHFCQUFxQixHQUFHLElBQUEsOEJBQWMsRUFDakQsaUJBQWlCLEVBQ2pCLENBQUMsS0FBeUIsRUFBeUMsRUFBRTtJQUNuRSxNQUFNLFNBQVMsR0FBRyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqRCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsYUFBYSxFQUFFLFlBQVk7S0FDNUIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUE7QUFFRCxrQkFBZSw2QkFBcUIsQ0FBQSJ9
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLXdpc2hsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZGQtdG8td2lzaGxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR2tDO0FBRWxDLHFFQUswQztBQUMxQyxrREFBcUQ7QUFrQnJELE1BQU0sOEJBQThCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQywrQkFBK0IsRUFDL0IsS0FBSyxFQUFFLEtBQXlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2pELDhDQUE4QztJQUM5QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUNuQyxpQ0FBeUIsQ0FBQyxZQUFZLENBQ3ZDLENBQUE7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFBLG1DQUEyQixFQUFDO1FBQ2hELFVBQVUsRUFBRSxVQUFVO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFNBQVMsRUFBRTtZQUNULE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ3hCO1NBQ0Y7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN4RCxNQUFNLFFBQVEsR0FBRyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixLQUFLLENBQUMsV0FBVyxZQUFZLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sWUFBWSxHQUFHLElBQUEsbUNBQTJCLEVBQUM7UUFDL0MsVUFBVSxFQUFFLFNBQVM7UUFDckIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2QsU0FBUyxFQUFFO1lBQ1QsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7YUFDdkI7U0FDRjtLQUNGLENBQUMsQ0FBQTtJQUVGLE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3RELE1BQU0sT0FBTyxHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRW5DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLEtBQUssQ0FBQyxVQUFVLFlBQVksQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQzdCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FDRixDQUFBO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ2xDLGlCQUFpQixFQUNqQixLQUFLLEVBQ0gsS0FBa0QsRUFDbEQsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxlQUFlLEdBQTBCLFNBQVMsQ0FBQyxPQUFPLENBQzlELDBCQUFlLENBQ2hCLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQ3RELEtBQUssQ0FBQyxXQUFXLEVBQ2pCLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUE7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQ0YsQ0FBQTtBQUVZLFFBQUEscUJBQXFCLEdBQUcsSUFBQSw4QkFBYyxFQUNqRCxpQkFBaUIsRUFDakIsQ0FBQyxLQUF5QixFQUF5QyxFQUFFO0lBQ25FLE1BQU0sU0FBUyxHQUFHLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRWpELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixhQUFhLEVBQUUsWUFBWTtLQUM1QixDQUFDLENBQUE7QUFDSixDQUFDLENBQ0YsQ0FBQTtBQUVELGtCQUFlLDZCQUFxQixDQUFBIn0=
package/README.md CHANGED
@@ -440,51 +440,38 @@ import {
440
440
  getWishlist,
441
441
  removeFromWishlist,
442
442
  createWishlistHelpers,
443
- } from "medusa-product-helper/wishlist-helper"
443
+ type HelperTransportOptions,
444
+ type WishlistItem,
445
+ } from "medusa-product-helper/helpers"
444
446
  ```
445
447
 
446
448
  #### Example Usage
447
449
 
448
450
  ```typescript
451
+ const options: HelperTransportOptions = {
452
+ baseUrl: "https://store.example.com",
453
+ publishableApiKey: "pk_your_publishable_api_key",
454
+ headers: {
455
+ Cookie: "connect.sid=...", // or Authorization header
456
+ },
457
+ }
458
+
449
459
  // Add a product
450
- await addToWishlist(
451
- { product_id: "prod_123" },
452
- {
453
- baseUrl: "https://store.example.com",
454
- headers: {
455
- Cookie: "connect.sid=...", // or Authorization header
456
- },
457
- }
458
- )
460
+ await addToWishlist({ product_id: "prod_123" }, options)
459
461
 
460
462
  // Read wishlist with details
461
- const { wishlist } = await getWishlist(
462
- { includeDetails: true },
463
- {
464
- baseUrl: "https://store.example.com",
465
- headers: {
466
- Cookie: "connect.sid=...",
467
- },
468
- }
469
- )
463
+ const { wishlist } = await getWishlist({ includeDetails: true }, options)
470
464
 
471
465
  // Remove a product
472
- await removeFromWishlist(
473
- { product_id: "prod_123" },
474
- {
475
- baseUrl: "https://store.example.com",
476
- headers: {
477
- Cookie: "connect.sid=...",
478
- },
479
- }
480
- )
466
+ await removeFromWishlist({ product_id: "prod_123" }, options)
481
467
  ```
482
468
 
483
469
  #### Configuration Options
484
470
 
485
471
  All helper calls accept the following options:
486
472
 
487
- - `client`: Medusa JS/SDK client instance. When provided, network requests are delegated to `client.request`.
473
+ - `publishableApiKey`: Required for public storefront calls when not passing a Medusa JS client. Add it from **Settings API Keys** in the Medusa dashboard.
474
+ - `client`: Medusa JS/SDK client instance. When provided, network requests are delegated to `client.request` and the client’s publishable key is reused.
488
475
  - `baseUrl`: Base URL for the Store API (e.g., `https://store.example.com`). Required when a client is not provided.
489
476
  - `fetchImpl`: Custom `fetch` implementation for SSR or React Native environments. Defaults to `globalThis.fetch`.
490
477
  - `headers`: Additional headers appended to every request (useful for `Cookie` / `Authorization` headers).
@@ -494,6 +481,7 @@ You can also generate pre-configured helpers:
494
481
  ```typescript
495
482
  const wishlist = createWishlistHelpers({
496
483
  baseUrl: "https://store.example.com",
484
+ publishableApiKey: "pk_your_publishable_api_key",
497
485
  headers: { Cookie: "connect.sid=..." },
498
486
  })
499
487
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "medusa-product-helper",
3
- "version": "0.0.9",
3
+ "version": "0.0.12",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",
@@ -10,10 +10,10 @@
10
10
  "exports": {
11
11
  "./package.json": "./package.json",
12
12
  "./workflows": "./.medusa/server/src/workflows/index.js",
13
+ "./helpers": "./.medusa/server/src/helpers/index.js",
13
14
  "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
14
15
  "./modules/*": "./.medusa/server/src/modules/*/index.js",
15
16
  "./providers/*": "./.medusa/server/src/providers/*/index.js",
16
- "./wishlist-helper": "./.medusa/server/src/shared/wishlist/index.js",
17
17
  "./*": "./.medusa/server/src/*.js",
18
18
  "./admin": {
19
19
  "import": "./.medusa/server/src/admin/index.mjs",
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createAddToWishlist = exports.createGetWishlist = exports.removeFromWishlist = exports.addToWishlist = exports.getWishlist = void 0;
4
- const WISHLIST_ENDPOINT = "/store/wishlist";
5
- const normalizeBaseUrl = (baseUrl) => {
6
- if (!baseUrl) {
7
- return "";
8
- }
9
- return baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
10
- };
11
- const getClientRequest = (client) => {
12
- if (!client) {
13
- return undefined;
14
- }
15
- if ("request" in client && typeof client.request === "function") {
16
- return client.request.bind(client);
17
- }
18
- if ("client" in client && typeof client.client?.request === "function") {
19
- return client.client.request.bind(client.client);
20
- }
21
- return undefined;
22
- };
23
- const execute = async (path, init, options) => {
24
- const headers = {
25
- ...(init.headers ?? {}),
26
- ...(options.headers ?? {}),
27
- };
28
- const normalizedInit = {
29
- ...init,
30
- headers,
31
- };
32
- const clientRequest = getClientRequest(options.client);
33
- if (clientRequest) {
34
- return (await clientRequest(path, normalizedInit));
35
- }
36
- const fetchImpl = options.fetchImpl ?? globalThis.fetch;
37
- if (!fetchImpl) {
38
- throw new Error("No fetch implementation available. Provide `fetchImpl` or a Medusa client.");
39
- }
40
- const url = `${normalizeBaseUrl(options.baseUrl)}${path}`;
41
- const response = await fetchImpl(url || path, normalizedInit);
42
- if (!response.ok) {
43
- const body = await response.text();
44
- throw new Error(body || `Request failed with status ${response.status}`);
45
- }
46
- return (await response.json());
47
- };
48
- const getWishlist = async (input = {}, options = {}) => {
49
- const params = new URLSearchParams();
50
- if (input.includeDetails) {
51
- params.set("include_details", "true");
52
- }
53
- const endpoint = params.toString()
54
- ? `${WISHLIST_ENDPOINT}?${params.toString()}`
55
- : WISHLIST_ENDPOINT;
56
- return execute(endpoint, {
57
- method: "GET",
58
- }, options);
59
- };
60
- exports.getWishlist = getWishlist;
61
- const addToWishlist = async (input, options = {}) => {
62
- if (!input.product_id) {
63
- throw new Error("product_id is required");
64
- }
65
- return execute(WISHLIST_ENDPOINT, {
66
- method: "POST",
67
- headers: {
68
- "Content-Type": "application/json",
69
- },
70
- body: JSON.stringify({
71
- product_id: input.product_id,
72
- }),
73
- }, options);
74
- };
75
- exports.addToWishlist = addToWishlist;
76
- const removeFromWishlist = async (input, options = {}) => {
77
- if (!input.product_id) {
78
- throw new Error("product_id is required");
79
- }
80
- const endpoint = `${WISHLIST_ENDPOINT}/${encodeURIComponent(input.product_id)}`;
81
- return execute(endpoint, {
82
- method: "DELETE",
83
- }, options);
84
- };
85
- exports.removeFromWishlist = removeFromWishlist;
86
- const createGetWishlist = (options = {}) => (input) => (0, exports.getWishlist)(input, options);
87
- exports.createGetWishlist = createGetWishlist;
88
- const createAddToWishlist = (options = {}) => (input) => (0, exports.addToWishlist)(input, options);
89
- exports.createAddToWishlist = createAddToWishlist;
90
- const createRemoveFromWishlist = (options = {}) => (input) => (0, exports.removeFromWishlist)(input, options);
91
- exports.createRemoveFromWishlist = createRemoveFromWishlist;
92
- const createWishlistHelpers = (options = {}) => ({
93
- getWishlist: (0, exports.createGetWishlist)(options),
94
- addToWishlist: (0, exports.createAddToWishlist)(options),
95
- removeFromWishlist: (0, exports.createRemoveFromWishlist)(options),
96
- });
97
- exports.createWishlistHelpers = createWishlistHelpers;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC93aXNobGlzdC9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtBQXFFM0MsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUMvRCxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBeUIsRUFBRSxFQUFFO0lBQ3JELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUNuQixJQUFZLEVBQ1os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
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeFromWishlist = exports.getWishlist = exports.createWishlistHelpers = exports.createRemoveFromWishlist = exports.createGetWishlist = exports.createAddToWishlist = exports.addToWishlist = void 0;
4
- var helper_1 = require("./helper");
5
- Object.defineProperty(exports, "addToWishlist", { enumerable: true, get: function () { return helper_1.addToWishlist; } });
6
- Object.defineProperty(exports, "createAddToWishlist", { enumerable: true, get: function () { return helper_1.createAddToWishlist; } });
7
- Object.defineProperty(exports, "createGetWishlist", { enumerable: true, get: function () { return helper_1.createGetWishlist; } });
8
- Object.defineProperty(exports, "createRemoveFromWishlist", { enumerable: true, get: function () { return helper_1.createRemoveFromWishlist; } });
9
- Object.defineProperty(exports, "createWishlistHelpers", { enumerable: true, get: function () { return helper_1.createWishlistHelpers; } });
10
- Object.defineProperty(exports, "getWishlist", { enumerable: true, get: function () { return helper_1.getWishlist; } });
11
- Object.defineProperty(exports, "removeFromWishlist", { enumerable: true, get: function () { return helper_1.removeFromWishlist; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL3dpc2hsaXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQVFpQjtBQVBmLHVHQUFBLGFBQWEsT0FBQTtBQUNiLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLHFHQUFBLFdBQVcsT0FBQTtBQUNYLDRHQUFBLGtCQUFrQixPQUFBIn0=