@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.
Files changed (52) hide show
  1. package/.medusa/server/src/api/admin/products/[id]/wishlist/route.js +25 -0
  2. package/.medusa/server/{api → src/api}/middlewares.js +1 -1
  3. package/.medusa/server/src/api/store/wishlists/[id]/add-item/route.js +63 -0
  4. package/.medusa/server/{api → src/api}/store/wishlists/[id]/add-item/validators.js +1 -1
  5. package/.medusa/server/src/api/store/wishlists/[id]/items/[item_id]/route.js +38 -0
  6. package/.medusa/server/src/api/store/wishlists/[id]/items/route.js +49 -0
  7. package/.medusa/server/src/api/store/wishlists/[id]/route.js +139 -0
  8. package/.medusa/server/src/api/store/wishlists/[id]/share/route.js +27 -0
  9. package/.medusa/server/src/api/store/wishlists/[id]/transfer/route.js +19 -0
  10. package/.medusa/server/{api → src/api}/store/wishlists/[id]/validators.js +1 -1
  11. package/.medusa/server/src/api/store/wishlists/import/route.js +45 -0
  12. package/.medusa/server/{api → src/api}/store/wishlists/import/validators.js +1 -1
  13. package/.medusa/server/src/api/store/wishlists/route.js +74 -0
  14. package/.medusa/server/src/api/store/wishlists/total-items-count/route.js +29 -0
  15. package/.medusa/server/{api → src/api}/store/wishlists/total-items-count/validators.js +1 -1
  16. package/.medusa/server/{api → src/api}/store/wishlists/types.js +1 -1
  17. package/.medusa/server/{api → src/api}/store/wishlists/validators.js +1 -1
  18. package/.medusa/server/{index.js → src/index.js} +1 -1
  19. package/.medusa/server/{links → src/links}/wishlist-customer.js +1 -1
  20. package/.medusa/server/{links → src/links}/wishlist-product-variant.js +1 -1
  21. package/.medusa/server/{links → src/links}/wishlist-sales-channel.js +1 -1
  22. package/.medusa/server/{modules → src/modules}/wishlist/index.js +1 -1
  23. package/.medusa/server/{modules → src/modules}/wishlist/migrations/Migration20250616124134.js +1 -1
  24. package/.medusa/server/{modules → src/modules}/wishlist/migrations/Migration20250616131527.js +1 -1
  25. package/.medusa/server/src/modules/wishlist/migrations/Migration20260415155648.js +23 -0
  26. package/.medusa/server/{modules → src/modules}/wishlist/models/wishlist-item.js +1 -1
  27. package/.medusa/server/src/modules/wishlist/models/wishlist.js +20 -0
  28. package/.medusa/server/{modules → src/modules}/wishlist/service.js +9 -9
  29. package/.medusa/server/{types → src/types}/index.js +1 -1
  30. package/.medusa/server/{types → src/types}/types.js +1 -1
  31. package/.medusa/server/{utils → src/utils}/default-response.js +1 -1
  32. package/.medusa/server/src/utils/utils.js +23 -0
  33. package/.medusa/types/api/store/wishlists/[id]/add-item/validators.d.ts +1 -5
  34. package/.medusa/types/api/store/wishlists/[id]/validators.d.ts +4 -12
  35. package/.medusa/types/api/store/wishlists/import/validators.d.ts +1 -5
  36. package/.medusa/types/api/store/wishlists/total-items-count/validators.d.ts +1 -5
  37. package/.medusa/types/api/store/wishlists/validators.d.ts +5 -20
  38. package/.medusa/types/modules/wishlist/service.d.ts +4 -18
  39. package/package.json +109 -109
  40. package/.medusa/server/api/admin/products/[id]/wishlist/route.js +0 -25
  41. package/.medusa/server/api/store/wishlists/[id]/add-item/route.js +0 -63
  42. package/.medusa/server/api/store/wishlists/[id]/items/[item_id]/route.js +0 -38
  43. package/.medusa/server/api/store/wishlists/[id]/items/route.js +0 -49
  44. package/.medusa/server/api/store/wishlists/[id]/route.js +0 -139
  45. package/.medusa/server/api/store/wishlists/[id]/share/route.js +0 -27
  46. package/.medusa/server/api/store/wishlists/[id]/transfer/route.js +0 -19
  47. package/.medusa/server/api/store/wishlists/import/route.js +0 -45
  48. package/.medusa/server/api/store/wishlists/route.js +0 -74
  49. package/.medusa/server/api/store/wishlists/total-items-count/route.js +0 -29
  50. package/.medusa/server/modules/wishlist/migrations/Migration20260415155648.js +0 -38
  51. package/.medusa/server/modules/wishlist/models/wishlist.js +0 -20
  52. package/.medusa/server/utils/utils.js +0 -23
@@ -1,63 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2FkZC1pdGVtL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDhEQUFrRTtBQUVsRSxxREFBd0Q7QUFFakQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUFpQyxFQUNqQyxFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN4QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztJQUVoRCxNQUFNLGVBQWUsR0FDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztJQUM1RCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO0lBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixpQ0FBaUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzQyxNQUFNLEVBQUUsVUFBVTtZQUNsQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDZixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHNEQUFzRCxDQUN2RCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQ0UsV0FBVztZQUNYLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXO1lBQ3hCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEtBQUssV0FBVyxFQUN4QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsc0RBQXNELENBQ3ZELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUU7WUFDbkMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztTQUM3QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLDJCQUEyQixrQkFBa0IsWUFBWSxDQUMxRCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sZUFBZSxDQUFDLG1CQUFtQixDQUFDO1lBQzdELGtCQUFrQjtZQUNsQixVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDbEMsV0FBVyxFQUFFLEVBQUU7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN6RCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLFlBQVksQ0FBQyxFQUFFO2FBQ3BCO1lBQ0QsR0FBRyxHQUFHLENBQUMsV0FBVztZQUNsQixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztnQkFDakMsR0FBRyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxFQUFFLENBQUM7YUFDeEM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUNWLDBDQUEwQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2xFLENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMsQ0FBQztBQXZGVyxRQUFBLElBQUksUUF1RmYifQ==
@@ -1,38 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL1tpdGVtX2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxpRUFBcUU7QUFDckUscURBQXdEO0FBT2pELE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEdBQTZDLEVBQUUsRUFBRTtJQUM3RyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUU7WUFDNUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QiwyREFBMkQsQ0FDNUQsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFdBQVcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDeEYsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sZUFBZSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5ELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUE3Q1csUUFBQSxNQUFNLFVBNkNqQiJ9
@@ -1,49 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHNEQUEyRDtBQUUzRCw4REFBa0U7QUFDbEUscURBQXdEO0FBRWpELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFFekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGlDQUFpQyxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxHQUFHLEdBQUcsQ0FBQyxXQUFXO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQzthQUN4QztTQUNGLENBQUMsQ0FBQztRQUVILElBQ0UsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3pCLFdBQVc7WUFDWCxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQ3RELENBQUM7WUFDRCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzREFBc0QsQ0FDdkQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksRUFDRixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNoQixDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FDbEQ7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pCLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7WUFDekIsR0FBRyxJQUFBLHFCQUFhLEVBQUMsUUFBUSxDQUFDO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUE5RFcsUUFBQSxHQUFHLE9BOERkIn0=
@@ -1,139 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLGtCQTZIQztBQUVELGtCQXVCQztBQU9ELHdCQWtCQztBQS9MRCxxREFLbUM7QUFJbkMsaURBQXFEO0FBRXJELHlDQUFrRTtBQUlsRSxpREFBaUQ7QUFDMUMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUEyRCxFQUFFLEdBQTZCO0lBQ2xILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBQ2hELE1BQU0sRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO0lBRS9GLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFL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
@@ -1,27 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3NoYXJlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUF3RDtBQUV4RCw4REFBa0U7QUFFM0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBNEMsRUFBRSxFQUFFO0lBQzFHLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sZUFBZSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEYsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxQixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsSUFBSSxRQXdCZiJ9
@@ -1,19 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3RyYW5zZmVyL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esb0JBaUJDO0FBeEJELDhEQUFrRTtBQU8zRCxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQStCLEVBQUUsR0FBMkM7SUFDckcsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDOUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFFMUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztRQUVsRixNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUUzRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDIn0=
@@ -1,45 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9pbXBvcnQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXdEO0FBRXhELDJEQUErRDtBQUUvRCxtREFBNkQ7QUFFdEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQXdELEVBQUUsR0FBNkIsRUFBRSxFQUFFO0lBQ3BILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFDbEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLG1CQUFXLENBQUMsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksV0FBK0IsQ0FBQztJQUVwQyxJQUFJLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEUsV0FBVyxHQUFHLFlBQVksRUFBRSxXQUFXLENBQUM7SUFDMUMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxpREFBaUQsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVoRyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLEVBQUUsZUFBZTtZQUN2QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQUU7YUFDakM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLDBCQUFrQixFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7U0FDekUsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBOUNXLFFBQUEsSUFBSSxRQThDZiJ9
@@ -1,74 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLGtCQXNEQztBQUlELG9CQXlCQztBQXZGRCx3REFBNEQ7QUFDNUQsZ0RBQXlFO0FBQ3pFLHFEQUFvRTtBQUU3RCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUF3RCxFQUN4RCxHQUE4QztJQUU5QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDekMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFNUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFVBQVU7WUFDbEIsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7U0FDN0UsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQWUsT0FBTyxDQUFD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
@@ -1,29 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy90b3RhbC1pdGVtcy1jb3VudC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLGtCQWdDQztBQXhDRCwyREFBK0Q7QUFReEQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBMEQsRUFDMUQsR0FBMEM7SUFFMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFFaEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztJQUVsRixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUM7WUFDbEQsV0FBVztZQUNYLFdBQVc7U0FDWixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQyJ9
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Migration20260415155648 = void 0;
4
- const migrations_1 = require("@mikro-orm/migrations");
5
- class Migration20260415155648 extends migrations_1.Migration {
6
- async up() {
7
- this.addSql(`alter table if exists "wishlist_item" add column if not exists "product_id" text;`);
8
- // Backfill product_id from the variant's product. Guarded against fresh
9
- // databases where the product module's migrations haven't created
10
- // product_variant yet — Medusa runs each module's migrations independently
11
- // with no cross-module ordering guarantee. On a fresh install wishlist_item
12
- // is empty so the UPDATE would touch zero rows even if the table existed,
13
- // but Postgres parses the FROM clause before execution and errors on
14
- // missing relations. The IF EXISTS guard skips cleanly in that case.
15
- this.addSql(`
16
- DO $$
17
- BEGIN
18
- IF EXISTS (
19
- SELECT FROM information_schema.tables
20
- WHERE table_name = 'product_variant'
21
- ) THEN
22
- UPDATE "wishlist_item" wi
23
- SET "product_id" = pv.product_id
24
- FROM "product_variant" pv
25
- WHERE wi.product_variant_id = pv.id
26
- AND wi.product_id IS NULL;
27
- END IF;
28
- END $$;
29
- `);
30
- this.addSql(`update "wishlist_item" set "product_id" = 'orphaned_product' where "product_id" is null;`);
31
- this.addSql(`alter table if exists "wishlist_item" alter column "product_id" set not null;`);
32
- }
33
- async down() {
34
- this.addSql(`alter table if exists "wishlist_item" drop column if exists "product_id";`);
35
- }
36
- }
37
- exports.Migration20260415155648 = Migration20260415155648;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA0MTUxNTU2NDguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy93aXNobGlzdC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwNDE1MTU1NjQ4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQzNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FDVCxtRkFBbUYsQ0FDcEYsQ0FBQztRQUVGLHdFQUF3RTtRQUN4RSxrRUFBa0U7UUFDbEUsMkVBQTJFO1FBQzNFLDRFQUE0RTtRQUM1RSwwRUFBMEU7UUFDMUUscUVBQXFFO1FBQ3JFLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7OztLQWNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQ1QsMEZBQTBGLENBQzNGLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUNULCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQ1QsMkVBQTJFLENBQzVFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEzQ0QsMERBMkNDIn0=
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Wishlist = void 0;
4
- const utils_1 = require("@medusajs/framework/utils");
5
- const wishlist_item_1 = require("./wishlist-item");
6
- exports.Wishlist = utils_1.model
7
- .define("wishlist", {
8
- id: utils_1.model.id({ prefix: "wl" }).primaryKey(),
9
- name: utils_1.model.text().nullable(),
10
- customer_id: utils_1.model.text().nullable(),
11
- sales_channel_id: utils_1.model.text(),
12
- items: utils_1.model.hasMany(() => wishlist_item_1.WishlistItem),
13
- })
14
- .indexes([
15
- {
16
- on: ["customer_id", "sales_channel_id"],
17
- where: { customer_id: { $ne: null } },
18
- },
19
- ]);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy93aXNobGlzdC9tb2RlbHMvd2lzaGxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWtEO0FBQ2xELG1EQUErQztBQUdsQyxRQUFBLFFBQVEsR0FBRyxhQUFLO0tBQzFCLE1BQU0sQ0FBQyxVQUFVLEVBQUU7SUFDbEIsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDM0MsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM5QixLQUFLLEVBQUUsYUFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBWSxDQUFDO0NBQ3pDLENBQUM7S0FDRCxPQUFPLENBQUM7SUFDUDtRQUNFLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztRQUN2QyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7S0FDdEM7Q0FDRixDQUFDLENBQUMifQ==
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultItemsFields = exports.defaultFields = exports.getPagination = void 0;
4
- const getPagination = (opts) => {
5
- const { count = 0, take = 10, skip = 0 } = opts || {};
6
- const totalPages = Math.max(Math.ceil(count / take), 1);
7
- const currentPage = skip / take + 1;
8
- const nextPage = Math.min(currentPage + 1, totalPages);
9
- const prevPage = Math.max(currentPage - 1, 1);
10
- return { count, nextPage, currentPage, prevPage, totalPages };
11
- };
12
- exports.getPagination = getPagination;
13
- exports.defaultFields = ["id", "name", "customer_id", "sales_channel_id"];
14
- exports.defaultItemsFields = [
15
- "id",
16
- "wishlist_id",
17
- "product_variant.id",
18
- "product_variant.title",
19
- "product_variant.product.id",
20
- "product_variant.product.handle",
21
- "product_variant.product.thumbnail",
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRU8sTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUEwQyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUV0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFUVyxRQUFBLGFBQWEsaUJBU3hCO0FBRVcsUUFBQSxhQUFhLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBRWxFLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsSUFBSTtJQUNKLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsbUNBQW1DO0NBQ3BDLENBQUMifQ==