@alphabite/medusa-wishlist 0.5.9 → 0.5.10
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/api/admin/products/[id]/wishlist/route.js +25 -0
- package/.medusa/server/{api → src/api}/middlewares.js +1 -1
- package/.medusa/server/src/api/store/wishlists/[id]/add-item/route.js +63 -0
- package/.medusa/server/{api → src/api}/store/wishlists/[id]/add-item/validators.js +1 -1
- package/.medusa/server/src/api/store/wishlists/[id]/items/[item_id]/route.js +38 -0
- package/.medusa/server/src/api/store/wishlists/[id]/items/route.js +49 -0
- package/.medusa/server/src/api/store/wishlists/[id]/route.js +139 -0
- package/.medusa/server/src/api/store/wishlists/[id]/share/route.js +27 -0
- package/.medusa/server/src/api/store/wishlists/[id]/transfer/route.js +19 -0
- package/.medusa/server/{api → src/api}/store/wishlists/[id]/validators.js +1 -1
- package/.medusa/server/src/api/store/wishlists/import/route.js +45 -0
- package/.medusa/server/{api → src/api}/store/wishlists/import/validators.js +1 -1
- package/.medusa/server/src/api/store/wishlists/route.js +74 -0
- package/.medusa/server/src/api/store/wishlists/total-items-count/route.js +29 -0
- package/.medusa/server/{api → src/api}/store/wishlists/total-items-count/validators.js +1 -1
- package/.medusa/server/{api → src/api}/store/wishlists/types.js +1 -1
- package/.medusa/server/{api → src/api}/store/wishlists/validators.js +1 -1
- package/.medusa/server/{index.js → src/index.js} +1 -1
- package/.medusa/server/{links → src/links}/wishlist-customer.js +1 -1
- package/.medusa/server/{links → src/links}/wishlist-product-variant.js +1 -1
- package/.medusa/server/{links → src/links}/wishlist-sales-channel.js +1 -1
- package/.medusa/server/{modules → src/modules}/wishlist/index.js +1 -1
- package/.medusa/server/{modules → src/modules}/wishlist/migrations/Migration20250616124134.js +1 -1
- package/.medusa/server/{modules → src/modules}/wishlist/migrations/Migration20250616131527.js +1 -1
- package/.medusa/server/src/modules/wishlist/migrations/Migration20260415155648.js +23 -0
- package/.medusa/server/{modules → src/modules}/wishlist/models/wishlist-item.js +1 -1
- package/.medusa/server/src/modules/wishlist/models/wishlist.js +20 -0
- package/.medusa/server/{modules → src/modules}/wishlist/service.js +9 -9
- package/.medusa/server/{types → src/types}/index.js +1 -1
- package/.medusa/server/{types → src/types}/types.js +1 -1
- package/.medusa/server/{utils → src/utils}/default-response.js +1 -1
- package/.medusa/server/src/utils/utils.js +23 -0
- package/.medusa/types/api/store/wishlists/[id]/add-item/validators.d.ts +1 -5
- package/.medusa/types/api/store/wishlists/[id]/validators.d.ts +4 -12
- package/.medusa/types/api/store/wishlists/import/validators.d.ts +1 -5
- package/.medusa/types/api/store/wishlists/total-items-count/validators.d.ts +1 -5
- package/.medusa/types/api/store/wishlists/validators.d.ts +5 -20
- package/.medusa/types/modules/wishlist/service.d.ts +4 -18
- package/package.json +109 -109
- package/.medusa/server/api/admin/products/[id]/wishlist/route.js +0 -25
- package/.medusa/server/api/store/wishlists/[id]/add-item/route.js +0 -63
- package/.medusa/server/api/store/wishlists/[id]/items/[item_id]/route.js +0 -38
- package/.medusa/server/api/store/wishlists/[id]/items/route.js +0 -49
- package/.medusa/server/api/store/wishlists/[id]/route.js +0 -139
- package/.medusa/server/api/store/wishlists/[id]/share/route.js +0 -27
- package/.medusa/server/api/store/wishlists/[id]/transfer/route.js +0 -19
- package/.medusa/server/api/store/wishlists/import/route.js +0 -45
- package/.medusa/server/api/store/wishlists/route.js +0 -74
- package/.medusa/server/api/store/wishlists/total-items-count/route.js +0 -29
- package/.medusa/server/modules/wishlist/migrations/Migration20260415155648.js +0 -38
- package/.medusa/server/modules/wishlist/models/wishlist.js +0 -20
- package/.medusa/server/utils/utils.js +0 -23
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
async function GET(req, res) {
|
|
7
|
+
const { id } = req.params;
|
|
8
|
+
const query = req.scope.resolve("query");
|
|
9
|
+
const wishlistModuleService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
10
|
+
const { data: [product], } = await query.graph({
|
|
11
|
+
entity: "product",
|
|
12
|
+
fields: ["id"],
|
|
13
|
+
filters: {
|
|
14
|
+
id,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
if (!product) {
|
|
18
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product with id: ${id} was not found`);
|
|
19
|
+
}
|
|
20
|
+
const count = await wishlistModuleService.getWishlistCountsOfProduct(product.id);
|
|
21
|
+
res.json({
|
|
22
|
+
count,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3RzL1tpZF0vd2lzaGxpc3Qvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxrQkErQkM7QUFsQ0QsOERBQWtFO0FBQ2xFLHFEQUF3RDtBQUVqRCxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFMUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsTUFBTSxxQkFBcUIsR0FDekIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FDaEIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2QsT0FBTyxFQUFFO1lBQ1AsRUFBRTtTQUNIO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0Isb0JBQW9CLEVBQUUsZ0JBQWdCLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQywwQkFBMEIsQ0FDbEUsT0FBTyxDQUFDLEVBQUUsQ0FDWCxDQUFDO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLEtBQUs7S0FDTixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -144,4 +144,4 @@ exports.default = (0, http_1.defineMiddlewares)({
|
|
|
144
144
|
},
|
|
145
145
|
],
|
|
146
146
|
});
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2tDO0FBQ2xDLHNFQUF5RTtBQUN6RSw2REFJc0M7QUFDdEMsMkVBQTBGO0FBQzFGLCtFQUE0RjtBQUM1RixrRUFBZ0Y7QUFDaEYsMENBQW9EO0FBQ3BELG9FQUFnRjtBQUVoRixrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLDJCQUEyQjtRQUMzQjtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUEsZ0NBQXlCLEVBQ3ZCLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxNQUFNLENBQUMscUNBQXdCLENBQUMsS0FBSyxDQUFDLEVBQ3pEO29CQUNFLE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQ0Y7YUFDRjtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLG9DQUFvQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMsdUNBQTBCLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25DLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCLENBQUM7YUFDSDtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVks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
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const POST = async (req, res) => {
|
|
7
|
+
const logger = req.scope.resolve("logger");
|
|
8
|
+
const { product_variant_id } = req.body;
|
|
9
|
+
const { id } = req.params;
|
|
10
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
14
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const query = req.scope.resolve("query");
|
|
18
|
+
const { data: wishlist } = await query.graph({
|
|
19
|
+
entity: "wishlist",
|
|
20
|
+
filters: { id },
|
|
21
|
+
fields: ["id", "customer_id"],
|
|
22
|
+
});
|
|
23
|
+
if (wishlist[0]?.customer_id && !customer_id) {
|
|
24
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to add items to this wishlist");
|
|
25
|
+
}
|
|
26
|
+
if (customer_id &&
|
|
27
|
+
wishlist[0]?.customer_id &&
|
|
28
|
+
wishlist[0]?.customer_id !== customer_id) {
|
|
29
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to add items to this wishlist");
|
|
30
|
+
}
|
|
31
|
+
const { data: variants } = await query.graph({
|
|
32
|
+
entity: "product_variant",
|
|
33
|
+
filters: { id: product_variant_id },
|
|
34
|
+
fields: ["id", "product_id"],
|
|
35
|
+
});
|
|
36
|
+
if (!variants.length) {
|
|
37
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product variant with ID ${product_variant_id} not found`);
|
|
38
|
+
}
|
|
39
|
+
const created_item = await wishlistService.createWishlistItems({
|
|
40
|
+
product_variant_id,
|
|
41
|
+
product_id: variants[0].product_id,
|
|
42
|
+
wishlist_id: id,
|
|
43
|
+
});
|
|
44
|
+
const { data: enriched_wishlist_item } = await query.graph({
|
|
45
|
+
entity: "wishlist_item",
|
|
46
|
+
filters: {
|
|
47
|
+
id: created_item.id,
|
|
48
|
+
},
|
|
49
|
+
...req.queryConfig,
|
|
50
|
+
fields: [
|
|
51
|
+
...(req.queryConfig.fields || []),
|
|
52
|
+
...(options?.wishlistItemsFields || []),
|
|
53
|
+
],
|
|
54
|
+
});
|
|
55
|
+
return res.status(201).json(enriched_wishlist_item[0]);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
logger.error(`Add item to wishlist failed with error:${JSON.stringify(error)}`);
|
|
59
|
+
return res.status(500).end();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.POST = POST;
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2FkZC1pdGVtL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDhEQUFrRTtBQUVsRSxxREFBd0Q7QUFFakQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUFpQyxFQUNqQyxFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztJQUVoRCxNQUFNLGVBQWUsR0FDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztJQUM1RCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixpQ0FBaUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLEVBQUUsVUFBVTtZQUNsQixPQUFPLEVB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
|
|
@@ -5,4 +5,4 @@ const zod_1 = require("@medusajs/framework/zod");
|
|
|
5
5
|
exports.AddItemToWishlistInputSchema = zod_1.z.object({
|
|
6
6
|
product_variant_id: zod_1.z.string(),
|
|
7
7
|
});
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL1tpZF0vYWRkLWl0ZW0vdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNEM7QUFFL0IsUUFBQSw0QkFBNEIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ25ELGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDL0IsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = void 0;
|
|
4
|
+
const wishlist_1 = require("../../../../../../modules/wishlist");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const DELETE = async (req, res) => {
|
|
7
|
+
const logger = req.scope.resolve("logger");
|
|
8
|
+
const { item_id, id: wishlist_id } = req.params;
|
|
9
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
10
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
11
|
+
const options = wishlistService._options;
|
|
12
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const query = req.scope.resolve("query");
|
|
17
|
+
const { data: wishlist } = await query.graph({
|
|
18
|
+
entity: "wishlist",
|
|
19
|
+
filters: { id: wishlist_id },
|
|
20
|
+
fields: ["id", "customer_id"],
|
|
21
|
+
});
|
|
22
|
+
if (wishlist[0]?.customer_id && !customer_id) {
|
|
23
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to remove items from this wishlist");
|
|
24
|
+
}
|
|
25
|
+
if (customer_id && wishlist[0]?.customer_id && wishlist[0]?.customer_id !== customer_id) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to remove items from this wishlist");
|
|
27
|
+
}
|
|
28
|
+
//Remove item from wishlist
|
|
29
|
+
await wishlistService.deleteWishlistItems(item_id);
|
|
30
|
+
return res.status(200).json({ id: item_id });
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
logger.error("Error fetching wishlists:", error);
|
|
34
|
+
return res.status(500).end();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.DELETE = DELETE;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL1tpdGVtX2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxpRUFBcUU7QUFDckUscURBQXdEO0FBT2pELE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEdBQTZDLEVBQUUsRUFBRTtJQUM3RyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUU7WUFDNUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QiwyREFBMkQsQ0FDNUQsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFdBQVcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDeEYsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sZUFBZSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5ELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUE3Q1csUUFBQSxNQUFNLFVBNkNqQiJ9
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("../../../../../utils/utils");
|
|
5
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
6
|
+
const utils_2 = require("@medusajs/framework/utils");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const logger = req.scope.resolve("logger");
|
|
9
|
+
const { id } = req.params;
|
|
10
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
14
|
+
throw new utils_2.MedusaError(utils_2.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const query = req.scope.resolve("query");
|
|
18
|
+
const { data: wishlist_items, metadata } = await query.graph({
|
|
19
|
+
entity: "wishlist_item",
|
|
20
|
+
filters: {
|
|
21
|
+
wishlist_id: id,
|
|
22
|
+
},
|
|
23
|
+
...req.queryConfig,
|
|
24
|
+
fields: [
|
|
25
|
+
...(req.queryConfig.fields || []),
|
|
26
|
+
...(options?.wishlistItemsFields || []),
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
if (wishlist_items.length > 0 &&
|
|
30
|
+
customer_id &&
|
|
31
|
+
wishlist_items[0].wishlist.customer_id !== customer_id) {
|
|
32
|
+
throw new utils_2.MedusaError(utils_2.MedusaError.Types.UNAUTHORIZED, "You are not authorized to access this wishlist items");
|
|
33
|
+
}
|
|
34
|
+
return res.status(200).json({
|
|
35
|
+
data: wishlist_items.length > 0
|
|
36
|
+
? wishlist_items.map(({ wishlist, ...wishlist_item }) => wishlist_item)
|
|
37
|
+
: [],
|
|
38
|
+
skip: metadata?.skip || 0,
|
|
39
|
+
take: metadata?.take || 5,
|
|
40
|
+
...(0, utils_1.getPagination)(metadata),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
logger.error(`Error fetching wishlist items:${JSON.stringify(error)}`);
|
|
45
|
+
return res.status(500).end();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.GET = GET;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHNEQUEyRDtBQUUzRCw4REFBa0U7QUFDbEUscURBQXdEO0FBRWpELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFFekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGlDQUFpQyxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxHQUFHLEdBQUcsQ0FBQyxXQUFXO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQzthQUN4QztTQUNGLENBQUMsQ0FBQztRQUVILElBQ0UsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3pCLFdBQVc7WUFDWCxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQ3RELENBQUM7WUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzREFBc0QsQ0FDdkQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksRUFDRixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNoQixDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FDbEQ7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pCLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7WUFDekIsR0FBRyxJQUFBLHFCQUFhLEVBQUMsUUFBUSxDQUFDO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUE5RFcsUUFBQSxHQUFHLE9BOERkIn0=
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.PUT = PUT;
|
|
5
|
+
exports.DELETE = DELETE;
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const wishlist_1 = require("../../../../modules/wishlist");
|
|
8
|
+
const utils_2 = require("../../../../utils/utils");
|
|
9
|
+
//-----Retrieves a specific wishlist by ID-----//
|
|
10
|
+
async function GET(req, res) {
|
|
11
|
+
const logger = req.scope.resolve("logger");
|
|
12
|
+
const { id } = req.params;
|
|
13
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
14
|
+
const { items_fields, include_calculated_price, include_inventory_count } = req.validatedQuery;
|
|
15
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
16
|
+
const options = wishlistService._options;
|
|
17
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
18
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const query = req.scope.resolve("query");
|
|
22
|
+
const { data } = await query.graph({
|
|
23
|
+
entity: "wishlist",
|
|
24
|
+
filters: {
|
|
25
|
+
id,
|
|
26
|
+
},
|
|
27
|
+
...req.queryConfig,
|
|
28
|
+
fields: [...utils_2.defaultFields, ...(req.queryConfig?.fields || []), ...(options?.wishlistFields || [])],
|
|
29
|
+
});
|
|
30
|
+
const wishlist = data?.[0];
|
|
31
|
+
if (!wishlist) {
|
|
32
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Wishlist with ID ${id} not found`);
|
|
33
|
+
}
|
|
34
|
+
if (wishlist?.customer_id && wishlist?.customer_id !== customer_id) {
|
|
35
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You are not authorized to access this wishlist");
|
|
36
|
+
}
|
|
37
|
+
const { data: items, metadata: items_metadata } = await query.graph({
|
|
38
|
+
entity: "wishlist_item",
|
|
39
|
+
filters: { wishlist_id: wishlist.id },
|
|
40
|
+
fields: [...utils_2.defaultItemsFields, ...(options?.wishlistItemsFields || []), ...(items_fields || [])],
|
|
41
|
+
pagination: {
|
|
42
|
+
take: options?.includeWishlistItemsTake || 5,
|
|
43
|
+
skip: 0,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
let variantsAvailability = {};
|
|
47
|
+
if (include_inventory_count) {
|
|
48
|
+
variantsAvailability = await (0, utils_1.getVariantAvailability)(query, {
|
|
49
|
+
sales_channel_id: wishlist.sales_channel_id,
|
|
50
|
+
variant_ids: items.map((i) => i.product_variant_id),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
let variantsPrices = {};
|
|
54
|
+
if (include_calculated_price) {
|
|
55
|
+
for (const item of items) {
|
|
56
|
+
const { data: products } = await query.graph({
|
|
57
|
+
entity: "product",
|
|
58
|
+
fields: ["id", "variants.id", "variants.calculated_price.*"],
|
|
59
|
+
// narrow to a product that contains your variant
|
|
60
|
+
filters: {
|
|
61
|
+
variants: {
|
|
62
|
+
id: item.product_variant_id,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
context: {
|
|
66
|
+
variants: {
|
|
67
|
+
calculated_price: (0, utils_1.QueryContext)({
|
|
68
|
+
region_id: "reg_01J3MRPDNXXXDSCC76Y6YCZARS",
|
|
69
|
+
currency_code: "eur",
|
|
70
|
+
}),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
products.map((product) => {
|
|
75
|
+
product.variants.map((variant) => {
|
|
76
|
+
variantsPrices[variant.id] = variant.calculated_price;
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const enrichedItems = items.map((item) => {
|
|
82
|
+
const availability = variantsAvailability[item.product_variant_id]?.availability;
|
|
83
|
+
const calculated_price = variantsPrices[item.product_variant_id];
|
|
84
|
+
let enrichedItem = { ...item };
|
|
85
|
+
if (include_inventory_count) {
|
|
86
|
+
enrichedItem.product_variant.availability = availability || null;
|
|
87
|
+
}
|
|
88
|
+
if (include_calculated_price) {
|
|
89
|
+
item.product_variant.calculated_price = calculated_price || null;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
...item,
|
|
93
|
+
product_variant: {
|
|
94
|
+
...item.product_variant,
|
|
95
|
+
availability,
|
|
96
|
+
calculated_price,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
return res.status(200).json({ ...wishlist, items_count: items_metadata?.count, items: enrichedItems });
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
logger.error("Error fetching wishlists:", error);
|
|
104
|
+
return res.status(500).end();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function PUT(req, res) {
|
|
108
|
+
const logger = req.scope.resolve("logger");
|
|
109
|
+
const input = req.body;
|
|
110
|
+
const { id } = req.params;
|
|
111
|
+
try {
|
|
112
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
113
|
+
const updated_wishlist = await wishlistService.updateWishlists({
|
|
114
|
+
id,
|
|
115
|
+
...input,
|
|
116
|
+
});
|
|
117
|
+
return res.status(200).json(updated_wishlist);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
logger.error("Update wishlists failed:", error);
|
|
121
|
+
return res.status(500).end();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function DELETE(req, res) {
|
|
125
|
+
const logger = req.scope.resolve("logger");
|
|
126
|
+
const { id } = req.params;
|
|
127
|
+
try {
|
|
128
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
129
|
+
await wishlistService.deleteWishlists({ id });
|
|
130
|
+
return res.status(200).json({
|
|
131
|
+
id,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
logger.error("Wishlist deleting failed.", error);
|
|
136
|
+
return res.status(500).end();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLGtCQTZIQztBQUVELGtCQXVCQztBQU9ELHdCQWtCQztBQS9MRCxxREFLbUM7QUFJbkMsMkRBQStEO0FBRS9ELG1EQUE0RTtBQUk1RSxpREFBaUQ7QUFDMUMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUEyRCxFQUFFLEdBQTZCO0lBQ2xILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBQ2hELE1BQU0sRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO0lBRS9GLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxL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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
6
|
+
const POST = async (req, res) => {
|
|
7
|
+
const logger = req.scope.resolve("logger");
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
10
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
11
|
+
const options = wishlistService._options;
|
|
12
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const share_token = await wishlistService.createShareToken({ wishlist_id: id });
|
|
17
|
+
return res.status(200).json({
|
|
18
|
+
share_token,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
logger.error("Error creating wishlist share token:", error);
|
|
23
|
+
return res.status(500).end();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3NoYXJlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUF3RDtBQUV4RCw4REFBa0U7QUFFM0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBNEMsRUFBRSxFQUFFO0lBQzFHLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sZUFBZSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEYsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsSUFBSSxRQXdCZiJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
5
|
+
async function POST(req, res) {
|
|
6
|
+
const logger = req.scope.resolve("logger");
|
|
7
|
+
const customer_id = req.auth_context.actor_id;
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
try {
|
|
10
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
11
|
+
await wishlistService.updateWishlists({ id, customer_id });
|
|
12
|
+
return res.status(200).json({ id });
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
logger.error("Transfer wishlists failed:", error);
|
|
16
|
+
return res.status(500).end();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3RyYW5zZmVyL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esb0JBaUJDO0FBeEJELDhEQUFrRTtBQU8zRCxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQStCLEVBQUUsR0FBMkM7SUFDckcsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDOUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFMUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztRQUVsRixNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUUzRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -7,4 +7,4 @@ exports.RetrieveWishlistQuerySchema = zod_1.z.object({
|
|
|
7
7
|
include_inventory_count: zod_1.z.coerce.boolean().optional(),
|
|
8
8
|
include_calculated_price: zod_1.z.coerce.boolean().optional(),
|
|
9
9
|
});
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL1tpZF0vdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNEM7QUFFL0IsUUFBQSwyQkFBMkIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xELFlBQVksRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1Qyx1QkFBdUIsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0RCx3QkFBd0IsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN4RCxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const wishlist_1 = require("../../../../modules/wishlist");
|
|
6
|
+
const utils_2 = require("../../../../utils/utils");
|
|
7
|
+
const POST = async (req, res) => {
|
|
8
|
+
const logger = req.scope.resolve("logger");
|
|
9
|
+
const { share_token } = req.validatedBody;
|
|
10
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
14
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
15
|
+
}
|
|
16
|
+
let wishlist_id;
|
|
17
|
+
try {
|
|
18
|
+
const decodedToken = await wishlistService.validateToken(share_token);
|
|
19
|
+
wishlist_id = decodedToken?.wishlist_id;
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Invalid share token");
|
|
23
|
+
}
|
|
24
|
+
if (!wishlist_id) {
|
|
25
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Wishlist not found for the provided share token");
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const created_wishlist = await wishlistService.importWishlist({ id: wishlist_id, customer_id });
|
|
29
|
+
const query = req.scope.resolve("query");
|
|
30
|
+
const { data: wishlist_items } = await query.graph({
|
|
31
|
+
entity: "wishlist_item",
|
|
32
|
+
filters: {
|
|
33
|
+
wishlist_id: created_wishlist.id,
|
|
34
|
+
},
|
|
35
|
+
fields: [...utils_2.defaultItemsFields, ...(options?.wishlistItemsFields || [])],
|
|
36
|
+
});
|
|
37
|
+
return res.status(200).json({ ...created_wishlist, items: wishlist_items });
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
logger.error("Error importing wishlist:", error);
|
|
41
|
+
return res.status(500).end();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.POST = POST;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9pbXBvcnQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXdEO0FBRXhELDJEQUErRDtBQUUvRCxtREFBNkQ7QUFFdEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQXdELEVBQUUsR0FBNkIsRUFBRSxFQUFFO0lBQ3BILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksV0FBK0IsQ0FBQztJQUVwQyxJQUFJLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEUsV0FBVyxHQUFHLFlBQVksRUFBRSxXQUFXLENBQUM7SUFDMUMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxpREFBaUQsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVoRyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQUU7YUFDakM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLDBCQUFrQixFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7U0FDekUsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBOUNXLFFBQUEsSUFBSSxRQThDZiJ9
|
|
@@ -5,4 +5,4 @@ const zod_1 = require("@medusajs/framework/zod");
|
|
|
5
5
|
exports.ImportWishlistInputSchema = zod_1.z.object({
|
|
6
6
|
share_token: zod_1.z.string().min(1, "Share token is required"),
|
|
7
7
|
});
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL2ltcG9ydC92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE0QztBQUUvQixRQUFBLHlCQUF5QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEQsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixDQUFDO0NBQzFELENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const wishlist_1 = require("../../../modules/wishlist");
|
|
6
|
+
const utils_1 = require("../../../utils/utils");
|
|
7
|
+
const utils_2 = require("@medusajs/framework/utils");
|
|
8
|
+
async function GET(req, res) {
|
|
9
|
+
const logger = req.scope.resolve("logger");
|
|
10
|
+
const customer_id = req.auth_context.actor_id;
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
const { items_fields } = req.validatedQuery;
|
|
14
|
+
try {
|
|
15
|
+
const query = req.scope.resolve("query");
|
|
16
|
+
const { data, metadata } = await query.graph({
|
|
17
|
+
entity: "wishlist",
|
|
18
|
+
filters: { customer_id },
|
|
19
|
+
...req.queryConfig,
|
|
20
|
+
fields: ["*", ...(options?.wishlistFields || []), ...req.queryConfig.fields],
|
|
21
|
+
});
|
|
22
|
+
const wishlists = options.includeWishlistItems
|
|
23
|
+
? await Promise.all(data.map(async (wishlist) => {
|
|
24
|
+
const { data: items, metadata } = await query.graph({
|
|
25
|
+
entity: "wishlist_item",
|
|
26
|
+
filters: { wishlist_id: wishlist.id },
|
|
27
|
+
fields: [...utils_1.defaultItemsFields, ...(items_fields || [])],
|
|
28
|
+
pagination: {
|
|
29
|
+
take: options?.includeWishlistItemsTake || 5,
|
|
30
|
+
skip: 0,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
...wishlist,
|
|
35
|
+
items: items.length > 0 ? items : [],
|
|
36
|
+
items_count: metadata?.count,
|
|
37
|
+
};
|
|
38
|
+
}))
|
|
39
|
+
: data;
|
|
40
|
+
return res.status(200).json({
|
|
41
|
+
data: wishlists,
|
|
42
|
+
take: metadata?.take || 5,
|
|
43
|
+
skip: metadata?.skip || 0,
|
|
44
|
+
...(0, utils_1.getPagination)(metadata),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
logger.error("Error fetching wishlists:", error);
|
|
49
|
+
return res.status(500).end();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//-----Create wishlists-----//
|
|
53
|
+
async function POST(req, res) {
|
|
54
|
+
const logger = req.scope.resolve("logger");
|
|
55
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
56
|
+
const { ...input } = req.body;
|
|
57
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
58
|
+
const options = wishlistService._options;
|
|
59
|
+
if (!options.allowGuestWishlist && !customer_id) {
|
|
60
|
+
throw new utils_2.MedusaError(utils_2.MedusaError.Types.UNAUTHORIZED, "Guest wishlists are now allowed");
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const wishlist = await wishlistService.createWishlists({
|
|
64
|
+
...input,
|
|
65
|
+
...(customer_id && { customer_id }),
|
|
66
|
+
});
|
|
67
|
+
return res.status(201).json({ ...wishlist, items_count: 0, items: [] });
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger.error("Error creating wishlist:", error);
|
|
71
|
+
return res.status(500).end();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLGtCQXNEQztBQUlELG9CQXlCQztBQXZGRCx3REFBNEQ7QUFDNUQsZ0RBQXlFO0FBQ3pFLHFEQUFvRTtBQUU3RCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUF3RCxFQUN4RCxHQUE4QztJQUU5QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDekMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFNUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFVBQVU7WUFDbEIsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7U0FDN0UsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQWUsT0FBTyxD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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const wishlist_1 = require("../../../../modules/wishlist");
|
|
5
|
+
async function GET(req, res) {
|
|
6
|
+
const logger = req.scope.resolve("logger");
|
|
7
|
+
const { wishlist_id } = req.validatedQuery;
|
|
8
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
9
|
+
if (!wishlist_id && !customer_id) {
|
|
10
|
+
return res.status(200).json({
|
|
11
|
+
total_items_count: 0,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
15
|
+
try {
|
|
16
|
+
const count = await wishlistService.totalItemsCount({
|
|
17
|
+
customer_id,
|
|
18
|
+
wishlist_id,
|
|
19
|
+
});
|
|
20
|
+
return res.status(200).json({
|
|
21
|
+
total_items_count: count,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
logger.error("Error fetching wishlists:", error);
|
|
26
|
+
return res.status(500).end();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy90b3RhbC1pdGVtcy1jb3VudC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLGtCQWdDQztBQXhDRCwyREFBK0Q7QUFReEQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBMEQsRUFDMUQsR0FBMEM7SUFFMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFFaEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztJQUVsRixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUM7WUFDbEQsV0FBVztZQUNYLFdBQVc7U0FDWixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -5,4 +5,4 @@ const zod_1 = require("@medusajs/framework/zod");
|
|
|
5
5
|
exports.TotalItemsCountInputSchema = zod_1.z.object({
|
|
6
6
|
wishlist_id: zod_1.z.string().optional(),
|
|
7
7
|
});
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL3RvdGFsLWl0ZW1zLWNvdW50L3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRS9CLFFBQUEsMEJBQTBCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLENBQUMifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -13,4 +13,4 @@ exports.UpdateWishlistInputSchema = exports.CreateWishlistInputSchema.pick({
|
|
|
13
13
|
exports.ListWishlistsQuerySchema = zod_1.z.object({
|
|
14
14
|
items_fields: zod_1.z.array(zod_1.z.string()).optional(),
|
|
15
15
|
});
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRS9CLFFBQUEseUJBQXlCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQzdCLENBQUMsQ0FBQztBQUlILGdEQUFnRDtBQUNuQyxRQUFBLHlCQUF5QixHQUFHLGlDQUF5QixDQUFDLElBQUksQ0FBQztJQUN0RSxJQUFJLEVBQUUsSUFBSTtDQUNYLENBQUMsQ0FBQztBQUlVLFFBQUEsd0JBQXdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxZQUFZLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDN0MsQ0FBQyxDQUFDIn0=
|