@alphabite/medusa-wishlist 0.5.3 → 0.5.4
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.
- package/.medusa/server/src/admin/index.js +1 -1
- package/.medusa/server/src/admin/index.mjs +1 -1
- package/.medusa/server/src/api/middlewares.js +7 -4
- package/.medusa/server/src/api/store/wishlists/[id]/items/route.js +11 -4
- package/.medusa/server/src/index.js +18 -0
- package/.medusa/server/src/modules/wishlist/service.js +6 -5
- package/.medusa/server/src/types/index.js +18 -0
- package/.medusa/server/src/types/types.js +3 -0
- package/.medusa/types/api/store/wishlists/[id]/add-item/validators.d.ts +9 -0
- package/.medusa/types/api/store/wishlists/[id]/validators.d.ts +15 -0
- package/.medusa/types/api/store/wishlists/import/validators.d.ts +9 -0
- package/.medusa/types/api/store/wishlists/total-items-count/validators.d.ts +9 -0
- package/.medusa/types/api/store/wishlists/types.d.ts +33 -0
- package/.medusa/types/api/store/wishlists/validators.d.ts +29 -0
- package/.medusa/types/index.d.ts +1 -0
- package/.medusa/types/modules/wishlist/models/wishlist-item.d.ts +13 -0
- package/.medusa/types/modules/wishlist/models/wishlist.d.ts +13 -0
- package/.medusa/types/modules/wishlist/service.d.ts +107 -0
- package/.medusa/types/types/index.d.ts +1 -0
- package/.medusa/types/types/types.d.ts +8 -0
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ const Medusa = require("@medusajs/js-sdk");
|
|
|
7
7
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
8
8
|
const Medusa__default = /* @__PURE__ */ _interopDefault(Medusa);
|
|
9
9
|
const sdk = new Medusa__default.default({
|
|
10
|
-
baseUrl: "http://localhost:9000",
|
|
10
|
+
baseUrl: __BACKEND_URL__ || "http://localhost:9000",
|
|
11
11
|
debug: process.env.NODE_ENV === "development",
|
|
12
12
|
auth: {
|
|
13
13
|
type: "session"
|
|
@@ -4,7 +4,7 @@ import { Container, Heading, Text } from "@medusajs/ui";
|
|
|
4
4
|
import { useQuery } from "@tanstack/react-query";
|
|
5
5
|
import Medusa from "@medusajs/js-sdk";
|
|
6
6
|
const sdk = new Medusa({
|
|
7
|
-
baseUrl: "http://localhost:9000",
|
|
7
|
+
baseUrl: __BACKEND_URL__ || "http://localhost:9000",
|
|
8
8
|
debug: process.env.NODE_ENV === "development",
|
|
9
9
|
auth: {
|
|
10
10
|
type: "session"
|
|
@@ -61,7 +61,10 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
61
61
|
{
|
|
62
62
|
matcher: "/store/wishlists/:id",
|
|
63
63
|
methods: ["PUT"],
|
|
64
|
-
middlewares: [
|
|
64
|
+
middlewares: [
|
|
65
|
+
(0, http_1.authenticate)("customer", ["bearer"]),
|
|
66
|
+
(0, http_1.validateAndTransformBody)(validators_2.UpdateWishlistInputSchema),
|
|
67
|
+
],
|
|
65
68
|
},
|
|
66
69
|
//----Delete wishlist-----//
|
|
67
70
|
{
|
|
@@ -108,7 +111,7 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
108
111
|
allowUnauthenticated: true,
|
|
109
112
|
}),
|
|
110
113
|
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
111
|
-
defaults: utils_1.defaultItemsFields,
|
|
114
|
+
defaults: [...utils_1.defaultItemsFields, "wishlist.*"],
|
|
112
115
|
isList: true,
|
|
113
116
|
}),
|
|
114
117
|
],
|
|
@@ -130,7 +133,7 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
130
133
|
},
|
|
131
134
|
//----Remove item from wishlist-----//
|
|
132
135
|
{
|
|
133
|
-
matcher: "/store/wishlists/:id/
|
|
136
|
+
matcher: "/store/wishlists/:id/items/:item_id",
|
|
134
137
|
methods: ["DELETE"],
|
|
135
138
|
middlewares: [
|
|
136
139
|
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
@@ -141,4 +144,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
141
144
|
},
|
|
142
145
|
],
|
|
143
146
|
});
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2tDO0FBQ2xDLHNFQUF5RTtBQUN6RSw2REFJc0M7QUFDdEMsMkVBQTBGO0FBQzFGLCtFQUE0RjtBQUM1RixrRUFBZ0Y7QUFDaEYsMENBQW9EO0FBQ3BELG9FQUFnRjtBQUVoRixrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLDJCQUEyQjtRQUMzQjtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUEsZ0NBQXlCLEVBQ3ZCLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxNQUFNLENBQUMscUNBQXdCLENBQUMsS0FBSyxDQUFDLEVBQ3pEO29CQUNFLE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQ0Y7YUFDRjtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLG9DQUFvQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMsdUNBQTBCLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25DLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCLENBQUM7YUFDSDtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVks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
|
|
@@ -21,13 +21,20 @@ const GET = async (req, res) => {
|
|
|
21
21
|
wishlist_id: id,
|
|
22
22
|
},
|
|
23
23
|
...req.queryConfig,
|
|
24
|
-
fields: [
|
|
24
|
+
fields: [
|
|
25
|
+
...(req.queryConfig.fields || []),
|
|
26
|
+
...(options?.wishlistItemsFields || []),
|
|
27
|
+
],
|
|
25
28
|
});
|
|
26
|
-
if (
|
|
29
|
+
if (wishlist_items.length > 0 &&
|
|
30
|
+
customer_id &&
|
|
31
|
+
wishlist_items[0].wishlist.customer_id !== customer_id) {
|
|
27
32
|
throw new utils_2.MedusaError(utils_2.MedusaError.Types.UNAUTHORIZED, "You are not authorized to access this wishlist items");
|
|
28
33
|
}
|
|
29
34
|
return res.status(200).json({
|
|
30
|
-
data: wishlist_items.
|
|
35
|
+
data: wishlist_items.length > 0
|
|
36
|
+
? wishlist_items.map(({ wishlist, ...wishlist_item }) => wishlist_item)
|
|
37
|
+
: [],
|
|
31
38
|
skip: metadata?.skip || 0,
|
|
32
39
|
take: metadata?.take || 5,
|
|
33
40
|
...(0, utils_1.getPagination)(metadata),
|
|
@@ -39,4 +46,4 @@ const GET = async (req, res) => {
|
|
|
39
46
|
}
|
|
40
47
|
};
|
|
41
48
|
exports.GET = GET;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHNEQUEyRDtBQUUzRCw4REFBa0U7QUFDbEUscURBQXdEO0FBRWpELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFFekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGlDQUFpQyxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxHQUFHLEdBQUcsQ0FBQyxXQUFXO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQzthQUN4QztTQUNGLENBQUMsQ0FBQztRQUVILElBQ0UsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3pCLFdBQVc7WUFDWCxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQ3RELENBQUM7WUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzREFBc0QsQ0FDdkQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksRUFDRixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNoQixDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FDbEQ7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pCLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7WUFDekIsR0FBRyxJQUFBLHFCQUFhLEVBQUMsUUFBUSxDQUFDO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV0RCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMsQ0FBQztBQTlEVyxRQUFBLEdBQUcsT0E4RGQifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QiJ9
|
|
@@ -50,16 +50,17 @@ class WishlistModuleService extends (0, utils_1.MedusaService)({
|
|
|
50
50
|
.where("wi.product_id = ?", [productId])
|
|
51
51
|
.execute())?.length || 0);
|
|
52
52
|
}
|
|
53
|
-
async totalItemsCount({ customer_id, wishlist_id }, context = {}) {
|
|
53
|
+
async totalItemsCount({ customer_id, wishlist_id, }, context = {}) {
|
|
54
54
|
const wishlist_items_count = await context.manager?.count(wishlist_item_1.WishlistItem, {
|
|
55
55
|
wishlist: {
|
|
56
56
|
...(customer_id && { customer_id }),
|
|
57
|
-
...(wishlist_id &&
|
|
57
|
+
...(wishlist_id &&
|
|
58
|
+
!customer_id && { id: wishlist_id, customer_id: null }),
|
|
58
59
|
},
|
|
59
60
|
});
|
|
60
61
|
return Number(wishlist_items_count || 0);
|
|
61
62
|
}
|
|
62
|
-
async createShareToken({ wishlist_id }) {
|
|
63
|
+
async createShareToken({ wishlist_id, }) {
|
|
63
64
|
const shareToken = jsonwebtoken_1.default.sign({ wishlist_id }, this._options.shareTokenSecret, { expiresIn: "7d" });
|
|
64
65
|
return shareToken;
|
|
65
66
|
}
|
|
@@ -67,7 +68,7 @@ class WishlistModuleService extends (0, utils_1.MedusaService)({
|
|
|
67
68
|
const decoded = jsonwebtoken_1.default.verify(shareToken, this._options.shareTokenSecret);
|
|
68
69
|
return decoded;
|
|
69
70
|
}
|
|
70
|
-
async importWishlist({ id, customer_id }) {
|
|
71
|
+
async importWishlist({ id, customer_id, }) {
|
|
71
72
|
const wishlist = await this.retrieveWishlist(id, { relations: ["items"] });
|
|
72
73
|
if (!wishlist) {
|
|
73
74
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Wishlist with ID ${id} not found`);
|
|
@@ -104,4 +105,4 @@ __decorate([
|
|
|
104
105
|
__metadata("design:paramtypes", [Object, Object]),
|
|
105
106
|
__metadata("design:returntype", Promise)
|
|
106
107
|
], WishlistModuleService.prototype, "totalItemsCount", null);
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3dpc2hsaXN0L3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFJbUM7QUFDbkMsZ0RBQTZDO0FBQzdDLDBEQUFzRDtBQUN0RCxxREFBMEQ7QUFHMUQsZ0VBQStCO0FBQy9CLDhDQUFvQjtBQTRDcEIsTUFBTSxhQUFhLEdBQUcsYUFBQyxDQUFDLE1BQU0sQ0FBQztJQUM3QixjQUFjLEVBQUUsYUFBQyxDQUFDLEtBQUssQ0FBQyxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsbUJBQW1CLEVBQUUsYUFBQyxDQUFDLEtBQUssQ0FBQyxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsb0JBQW9CLEVBQUUsYUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDaEQsd0JBQXdCLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0Msa0JBQWtCLEVBQUUsYUFBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUMsZ0JBQWdCLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztDQUN2RCxDQUFDLENBQUM7QUFJSCxNQUFxQixxQkFBc0IsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDL0QsUUFBUSxFQUFSLG1CQUFRO0lBQ1IsWUFBWSxFQUFaLDRCQUFZO0NBQ2IsQ0FBQztJQUdBLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFFBQTRDO1FBRTVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxP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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QiJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const AddItemToWishlistInputSchema: z.ZodObject<{
|
|
3
|
+
product_variant_id: z.ZodString;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
product_variant_id: string;
|
|
6
|
+
}, {
|
|
7
|
+
product_variant_id: string;
|
|
8
|
+
}>;
|
|
9
|
+
export type AddItemToWishlistInput = z.infer<typeof AddItemToWishlistInputSchema>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const RetrieveWishlistQuerySchema: z.ZodObject<{
|
|
3
|
+
items_fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
4
|
+
include_inventory_count: z.ZodOptional<z.ZodBoolean>;
|
|
5
|
+
include_calculated_price: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
items_fields?: string[] | undefined;
|
|
8
|
+
include_inventory_count?: boolean | undefined;
|
|
9
|
+
include_calculated_price?: boolean | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
items_fields?: string[] | undefined;
|
|
12
|
+
include_inventory_count?: boolean | undefined;
|
|
13
|
+
include_calculated_price?: boolean | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
export type RetrieveWishlistQuery = z.infer<typeof RetrieveWishlistQuerySchema>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const ImportWishlistInputSchema: z.ZodObject<{
|
|
3
|
+
share_token: z.ZodString;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
share_token: string;
|
|
6
|
+
}, {
|
|
7
|
+
share_token: string;
|
|
8
|
+
}>;
|
|
9
|
+
export type ImportWishlistInput = z.infer<typeof ImportWishlistInputSchema>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TotalItemsCountInputSchema: z.ZodObject<{
|
|
3
|
+
wishlist_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
wishlist_id?: string | undefined;
|
|
6
|
+
}, {
|
|
7
|
+
wishlist_id?: string | undefined;
|
|
8
|
+
}>;
|
|
9
|
+
export type TotalItemsCountInput = z.infer<typeof TotalItemsCountInputSchema>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { PriceDTO, ProductDTO, ProductVariantDTO, RemoteQueryFunctionReturnPagination } from "@medusajs/types";
|
|
2
|
+
export interface PaginatedOutputMeta extends RemoteQueryFunctionReturnPagination {
|
|
3
|
+
totalPages: number;
|
|
4
|
+
currentPage: number;
|
|
5
|
+
nextPage: number;
|
|
6
|
+
prevPage: number;
|
|
7
|
+
}
|
|
8
|
+
export interface PaginatedOutput<T> extends PaginatedOutputMeta {
|
|
9
|
+
data: T[];
|
|
10
|
+
}
|
|
11
|
+
export interface WishlistItem {
|
|
12
|
+
id: string;
|
|
13
|
+
product_variant_id: string;
|
|
14
|
+
wishlist_id: string;
|
|
15
|
+
created_at: string;
|
|
16
|
+
updated_at: string;
|
|
17
|
+
deleted_at: string | null;
|
|
18
|
+
product_variant: (Omit<ProductVariantDTO, "product"> & {
|
|
19
|
+
product: Pick<ProductDTO, "id" | "thumbnail">;
|
|
20
|
+
prices: PriceDTO[];
|
|
21
|
+
}) | null;
|
|
22
|
+
}
|
|
23
|
+
export interface Wishlist {
|
|
24
|
+
id: string;
|
|
25
|
+
customer_id: string | null;
|
|
26
|
+
sales_channel_id: string;
|
|
27
|
+
created_at: Date | string;
|
|
28
|
+
updated_at: Date | string;
|
|
29
|
+
deleted_at: Date | string | null;
|
|
30
|
+
items: WishlistItem[];
|
|
31
|
+
items_count: number;
|
|
32
|
+
name: string | null;
|
|
33
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const CreateWishlistInputSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodOptional<z.ZodString>;
|
|
4
|
+
sales_channel_id: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
sales_channel_id: string;
|
|
7
|
+
name?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
sales_channel_id: string;
|
|
10
|
+
name?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export type CreateWishlistInput = Zod.infer<typeof CreateWishlistInputSchema>;
|
|
13
|
+
export declare const UpdateWishlistInputSchema: z.ZodObject<Pick<{
|
|
14
|
+
name: z.ZodOptional<z.ZodString>;
|
|
15
|
+
sales_channel_id: z.ZodString;
|
|
16
|
+
}, "name">, "strip", z.ZodTypeAny, {
|
|
17
|
+
name?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export type UpdateWishlistInput = Zod.infer<typeof UpdateWishlistInputSchema>;
|
|
22
|
+
export declare const ListWishlistsQuerySchema: z.ZodObject<{
|
|
23
|
+
items_fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
items_fields?: string[] | undefined;
|
|
26
|
+
}, {
|
|
27
|
+
items_fields?: string[] | undefined;
|
|
28
|
+
}>;
|
|
29
|
+
export type ListWishlistsQuery = Zod.infer<typeof ListWishlistsQuerySchema>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InferTypeOf } from "@medusajs/framework/types";
|
|
2
|
+
export declare const WishlistItem: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
|
+
product_variant_id: import("@medusajs/framework/utils").TextProperty;
|
|
5
|
+
wishlist: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
6
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
7
|
+
name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
8
|
+
customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
9
|
+
sales_channel_id: import("@medusajs/framework/utils").TextProperty;
|
|
10
|
+
items: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "wishlist_item">>;
|
|
11
|
+
}>, "wishlist">, undefined>;
|
|
12
|
+
}>, "wishlist_item">;
|
|
13
|
+
export type WishlistItem = InferTypeOf<typeof WishlistItem>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InferTypeOf } from "@medusajs/framework/types";
|
|
2
|
+
export declare const Wishlist: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
|
+
name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
5
|
+
customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
6
|
+
sales_channel_id: import("@medusajs/framework/utils").TextProperty;
|
|
7
|
+
items: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
8
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
9
|
+
product_variant_id: import("@medusajs/framework/utils").TextProperty;
|
|
10
|
+
wishlist: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "wishlist">, undefined>;
|
|
11
|
+
}>, "wishlist_item">>;
|
|
12
|
+
}>, "wishlist">;
|
|
13
|
+
export type WishlistType = InferTypeOf<typeof Wishlist>;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Context } from "@medusajs/framework/types";
|
|
2
|
+
import { EntityManager } from "@mikro-orm/knex";
|
|
3
|
+
import z from "zod";
|
|
4
|
+
import { Wishlist as WishlistType } from "../../api/store/wishlists/types";
|
|
5
|
+
/**
|
|
6
|
+
* Options for configuring the Alphabite Wishlist Plugin
|
|
7
|
+
*/
|
|
8
|
+
export type AlphabiteWishlistPluginOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* List of fields to retrieve when fetching a wishlist.
|
|
11
|
+
* Example: ['id', 'name', 'createdAt']
|
|
12
|
+
*/
|
|
13
|
+
wishlistFields?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* List of fields to retrieve for each wishlist item.
|
|
16
|
+
* Example: ['id', 'name', 'price']
|
|
17
|
+
*/
|
|
18
|
+
wishlistItemsFields?: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Whether to include wishlist items when fetching a wishlist.
|
|
21
|
+
* Default: false
|
|
22
|
+
*/
|
|
23
|
+
includeWishlistItems?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Number of wishlist items to include when `includeWishlistItems` is true.
|
|
26
|
+
* Default: 5
|
|
27
|
+
*/
|
|
28
|
+
includeWishlistItemsTake?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Whether guests (non-logged-in users) can have a wishlist.
|
|
31
|
+
* Default: false
|
|
32
|
+
*/
|
|
33
|
+
allowGuestWishlist?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Secret used for generating share tokens for wishlists.
|
|
36
|
+
* Default: 'default_secret'
|
|
37
|
+
*/
|
|
38
|
+
shareTokenSecret?: string;
|
|
39
|
+
};
|
|
40
|
+
declare const optionsSchema: z.ZodObject<{
|
|
41
|
+
wishlistFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
wishlistItemsFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
43
|
+
includeWishlistItems: z.ZodDefault<z.ZodBoolean>;
|
|
44
|
+
includeWishlistItemsTake: z.ZodDefault<z.ZodNumber>;
|
|
45
|
+
allowGuestWishlist: z.ZodDefault<z.ZodBoolean>;
|
|
46
|
+
shareTokenSecret: z.ZodDefault<z.ZodString>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
includeWishlistItems: boolean;
|
|
49
|
+
includeWishlistItemsTake: number;
|
|
50
|
+
allowGuestWishlist: boolean;
|
|
51
|
+
shareTokenSecret: string;
|
|
52
|
+
wishlistFields?: string[] | undefined;
|
|
53
|
+
wishlistItemsFields?: string[] | undefined;
|
|
54
|
+
}, {
|
|
55
|
+
wishlistFields?: string[] | undefined;
|
|
56
|
+
wishlistItemsFields?: string[] | undefined;
|
|
57
|
+
includeWishlistItems?: boolean | undefined;
|
|
58
|
+
includeWishlistItemsTake?: number | undefined;
|
|
59
|
+
allowGuestWishlist?: boolean | undefined;
|
|
60
|
+
shareTokenSecret?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
export type AlphabiteWishlistPluginOptionsType = z.infer<typeof optionsSchema>;
|
|
63
|
+
declare const WishlistModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
|
|
64
|
+
readonly Wishlist: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
65
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
66
|
+
name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
67
|
+
customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
68
|
+
sales_channel_id: import("@medusajs/framework/utils").TextProperty;
|
|
69
|
+
items: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
70
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
71
|
+
product_variant_id: import("@medusajs/framework/utils").TextProperty;
|
|
72
|
+
wishlist: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "wishlist">, undefined>;
|
|
73
|
+
}>, "wishlist_item">>;
|
|
74
|
+
}>, "wishlist">;
|
|
75
|
+
readonly WishlistItem: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
76
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
77
|
+
product_variant_id: import("@medusajs/framework/utils").TextProperty;
|
|
78
|
+
wishlist: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
79
|
+
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
80
|
+
name: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
81
|
+
customer_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
82
|
+
sales_channel_id: import("@medusajs/framework/utils").TextProperty;
|
|
83
|
+
items: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder</*elided*/ any>, "wishlist_item">>;
|
|
84
|
+
}>, "wishlist">, undefined>;
|
|
85
|
+
}>, "wishlist_item">;
|
|
86
|
+
}>>;
|
|
87
|
+
export default class WishlistModuleService extends WishlistModuleService_base {
|
|
88
|
+
_options: AlphabiteWishlistPluginOptionsType;
|
|
89
|
+
static validateOptions(_options: AlphabiteWishlistPluginOptionsType): void | never;
|
|
90
|
+
constructor({}: {}, options: AlphabiteWishlistPluginOptionsType);
|
|
91
|
+
getWishlistCountsOfProduct(productId: string, context?: Context<EntityManager>): Promise<number>;
|
|
92
|
+
totalItemsCount({ customer_id, wishlist_id, }: {
|
|
93
|
+
customer_id?: string;
|
|
94
|
+
wishlist_id?: string;
|
|
95
|
+
}, context?: Context<EntityManager>): Promise<number>;
|
|
96
|
+
createShareToken({ wishlist_id, }: {
|
|
97
|
+
wishlist_id: string;
|
|
98
|
+
}): Promise<string>;
|
|
99
|
+
validateToken(shareToken: string): Promise<{
|
|
100
|
+
wishlist_id: string;
|
|
101
|
+
} | null>;
|
|
102
|
+
importWishlist({ id, customer_id, }: {
|
|
103
|
+
id: string;
|
|
104
|
+
customer_id?: string;
|
|
105
|
+
}): Promise<WishlistType>;
|
|
106
|
+
}
|
|
107
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type AlphabiteWishlistPluginOptions } from "../modules/wishlist/service";
|
|
2
|
+
import { type Wishlist, type WishlistItem } from "../api/store/wishlists/types";
|
|
3
|
+
import { type CreateWishlistInput, type CreateWishlistInputSchema, type ListWishlistsQuery, type UpdateWishlistInput } from "../api/store/wishlists/validators";
|
|
4
|
+
import { type TotalItemsCountInput } from "../api/store/wishlists/total-items-count/validators";
|
|
5
|
+
import { type ImportWishlistInput } from "../api/store/wishlists/import/validators";
|
|
6
|
+
import { type RetrieveWishlistQuery } from "../api/store/wishlists/[id]/validators";
|
|
7
|
+
import { type AddItemToWishlistInput } from "../api/store/wishlists/[id]/add-item/validators";
|
|
8
|
+
export type { AlphabiteWishlistPluginOptions, Wishlist, WishlistItem, CreateWishlistInput, CreateWishlistInputSchema, ListWishlistsQuery, UpdateWishlistInput, TotalItemsCountInput, ImportWishlistInput, RetrieveWishlistQuery, AddItemToWishlistInput, };
|