@alphabite/medusa-wishlist 0.0.1 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +52 -0
- package/.medusa/server/src/admin/{widgets/product-widget.js → index.mjs} +35 -8
- package/.medusa/server/src/api/admin/products/[id]/wishlist/route.js +25 -0
- package/.medusa/server/src/api/middlewares.js +146 -0
- package/.medusa/server/src/api/store/wishlists/[id]/add-item/route.js +32 -0
- package/.medusa/server/src/api/store/wishlists/[id]/add-item/validators.js +8 -0
- package/.medusa/server/src/api/store/wishlists/[id]/items/[item_id]/route.js +19 -0
- package/.medusa/server/src/api/store/wishlists/[id]/items/route.js +35 -0
- package/.medusa/server/src/api/store/wishlists/[id]/route.js +72 -0
- package/.medusa/server/src/api/store/wishlists/[id]/transfer/route.js +18 -0
- package/.medusa/server/src/api/store/wishlists/route.js +52 -0
- package/.medusa/server/src/api/store/wishlists/types.js +3 -0
- package/.medusa/server/src/api/store/wishlists/validators.js +13 -0
- package/.medusa/server/src/links/{wishlist-product.js → wishlist-product-variant.js} +3 -3
- package/.medusa/server/src/modules/wishlist/migrations/{Migration20250331134307.js → Migration20250616124134.js} +9 -9
- package/.medusa/server/src/modules/wishlist/migrations/Migration20250616131527.js +16 -0
- package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +4 -4
- package/.medusa/server/src/modules/wishlist/models/wishlist.js +5 -4
- package/.medusa/server/src/modules/wishlist/service.js +13 -1
- package/.medusa/server/src/utils/default-response.js +14 -0
- package/.medusa/server/src/utils/utils.js +12 -0
- package/package.json +23 -19
- package/.medusa/server/src/admin/lib/sdk.js +0 -11
- package/.medusa/server/src/admin/vite-env.d.js +0 -1
- package/.medusa/server/src/api/admin/plugin/route.js +0 -7
- package/.medusa/server/src/api/store/customers/me/wishlists/items/[id]/route.js +0 -16
- package/.medusa/server/src/api/store/customers/me/wishlists/items/route.js +0 -21
- package/.medusa/server/src/api/store/customers/me/wishlists/items/validators.js +0 -8
- package/.medusa/server/src/api/store/customers/me/wishlists/route.js +0 -37
- package/.medusa/server/src/api/store/customers/me/wishlists/share/route.js +0 -38
- package/.medusa/server/src/workflows/create-wishlist-item.js +0 -46
- package/.medusa/server/src/workflows/create-wishlist.js +0 -16
- package/.medusa/server/src/workflows/delete-wishlist-item.js +0 -40
- package/.medusa/server/src/workflows/steps/create-wishlist-item.js +0 -17
- package/.medusa/server/src/workflows/steps/create-wishlist.js +0 -17
- package/.medusa/server/src/workflows/steps/delete-wishlist-item.js +0 -15
- package/.medusa/server/src/workflows/steps/validate-customer-create-wishlist.js +0 -30
- package/.medusa/server/src/workflows/steps/validate-item-in-wishlist.js +0 -12
- package/.medusa/server/src/workflows/steps/validate-product-wishlist.js +0 -24
- package/.medusa/server/src/workflows/steps/validate-wishlist-exists.js +0 -11
- package/.medusa/server/src/workflows/steps/validate-wishlist-sales-channel.js +0 -11
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
+
const adminSdk = require("@medusajs/admin-sdk");
|
|
4
|
+
const ui = require("@medusajs/ui");
|
|
5
|
+
const reactQuery = require("@tanstack/react-query");
|
|
6
|
+
const Medusa = require("@medusajs/js-sdk");
|
|
7
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
8
|
+
const Medusa__default = /* @__PURE__ */ _interopDefault(Medusa);
|
|
9
|
+
const sdk = new Medusa__default.default({
|
|
10
|
+
baseUrl: "http://localhost:9000",
|
|
11
|
+
debug: process.env.NODE_ENV === "development",
|
|
12
|
+
auth: {
|
|
13
|
+
type: "session"
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const ProductWidget = ({ data: product }) => {
|
|
17
|
+
const { data, isLoading } = reactQuery.useQuery({
|
|
18
|
+
queryFn: () => sdk.client.fetch(`/admin/products/${product.id}/wishlist`),
|
|
19
|
+
queryKey: [["products", product.id, "wishlist"]]
|
|
20
|
+
});
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { className: "divide-y p-0", children: [
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h2", children: "Wishlist" }) }),
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "px-6 py-4", children: isLoading ? "Loading..." : `This product is in ${(data == null ? void 0 : data.count) || 0} wishlist(s).` })
|
|
24
|
+
] });
|
|
25
|
+
};
|
|
26
|
+
adminSdk.defineWidgetConfig({
|
|
27
|
+
zone: "product.details.before"
|
|
28
|
+
});
|
|
29
|
+
const widgetModule = { widgets: [
|
|
30
|
+
{
|
|
31
|
+
Component: ProductWidget,
|
|
32
|
+
zone: ["product.details.before"]
|
|
33
|
+
}
|
|
34
|
+
] };
|
|
35
|
+
const routeModule = {
|
|
36
|
+
routes: []
|
|
37
|
+
};
|
|
38
|
+
const menuItemModule = {
|
|
39
|
+
menuItems: []
|
|
40
|
+
};
|
|
41
|
+
const formModule = { customFields: {} };
|
|
42
|
+
const displayModule = {
|
|
43
|
+
displays: {}
|
|
44
|
+
};
|
|
45
|
+
const plugin = {
|
|
46
|
+
widgetModule,
|
|
47
|
+
routeModule,
|
|
48
|
+
menuItemModule,
|
|
49
|
+
formModule,
|
|
50
|
+
displayModule
|
|
51
|
+
};
|
|
52
|
+
module.exports = plugin;
|
|
@@ -2,23 +2,50 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { defineWidgetConfig } from "@medusajs/admin-sdk";
|
|
3
3
|
import { Container, Heading, Text } from "@medusajs/ui";
|
|
4
4
|
import { useQuery } from "@tanstack/react-query";
|
|
5
|
-
import
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
import Medusa from "@medusajs/js-sdk";
|
|
6
|
+
const sdk = new Medusa({
|
|
7
|
+
baseUrl: "http://localhost:9000",
|
|
8
|
+
debug: process.env.NODE_ENV === "development",
|
|
9
|
+
auth: {
|
|
10
|
+
type: "session"
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
const ProductWidget = ({ data: product }) => {
|
|
9
14
|
const { data, isLoading } = useQuery({
|
|
10
15
|
queryFn: () => sdk.client.fetch(`/admin/products/${product.id}/wishlist`),
|
|
11
16
|
queryKey: [["products", product.id, "wishlist"]]
|
|
12
17
|
});
|
|
13
18
|
return /* @__PURE__ */ jsxs(Container, { className: "divide-y p-0", children: [
|
|
14
19
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx(Heading, { level: "h2", children: "Wishlist" }) }),
|
|
15
|
-
/* @__PURE__ */ jsx(Text, { className: "px-6 py-4", children: isLoading ? "Loading..." : `This product is in ${data == null ? void 0 : data.count} wishlist(s).` })
|
|
20
|
+
/* @__PURE__ */ jsx(Text, { className: "px-6 py-4", children: isLoading ? "Loading..." : `This product is in ${(data == null ? void 0 : data.count) || 0} wishlist(s).` })
|
|
16
21
|
] });
|
|
17
22
|
};
|
|
18
|
-
|
|
23
|
+
defineWidgetConfig({
|
|
19
24
|
zone: "product.details.before"
|
|
20
25
|
});
|
|
26
|
+
const widgetModule = { widgets: [
|
|
27
|
+
{
|
|
28
|
+
Component: ProductWidget,
|
|
29
|
+
zone: ["product.details.before"]
|
|
30
|
+
}
|
|
31
|
+
] };
|
|
32
|
+
const routeModule = {
|
|
33
|
+
routes: []
|
|
34
|
+
};
|
|
35
|
+
const menuItemModule = {
|
|
36
|
+
menuItems: []
|
|
37
|
+
};
|
|
38
|
+
const formModule = { customFields: {} };
|
|
39
|
+
const displayModule = {
|
|
40
|
+
displays: {}
|
|
41
|
+
};
|
|
42
|
+
const plugin = {
|
|
43
|
+
widgetModule,
|
|
44
|
+
routeModule,
|
|
45
|
+
menuItemModule,
|
|
46
|
+
formModule,
|
|
47
|
+
displayModule
|
|
48
|
+
};
|
|
21
49
|
export {
|
|
22
|
-
|
|
23
|
-
config
|
|
50
|
+
plugin as default
|
|
24
51
|
};
|
|
@@ -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=
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@medusajs/framework/http");
|
|
4
|
+
const validators_1 = require("@medusajs/medusa/api/utils/validators");
|
|
5
|
+
const validators_2 = require("./store/wishlists/validators");
|
|
6
|
+
const validators_3 = require("./store/wishlists/[id]/add-item/validators");
|
|
7
|
+
exports.default = (0, http_1.defineMiddlewares)({
|
|
8
|
+
routes: [
|
|
9
|
+
//----List Wishlists-----//
|
|
10
|
+
{
|
|
11
|
+
matcher: "/store/wishlists",
|
|
12
|
+
methods: ["GET"],
|
|
13
|
+
middlewares: [
|
|
14
|
+
(0, http_1.authenticate)("customer", ["bearer"]),
|
|
15
|
+
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
16
|
+
defaults: [
|
|
17
|
+
"items.*",
|
|
18
|
+
"items.product_variant.*",
|
|
19
|
+
"items.product_variant.prices.*",
|
|
20
|
+
"items.product_variant.product.thumbnail",
|
|
21
|
+
"items.product_variant.product.id",
|
|
22
|
+
],
|
|
23
|
+
isList: true,
|
|
24
|
+
}),
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
//----Retrieve Wishlist-----//
|
|
28
|
+
{
|
|
29
|
+
matcher: "/store/wishlists/:id",
|
|
30
|
+
methods: ["GET"],
|
|
31
|
+
middlewares: [
|
|
32
|
+
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
33
|
+
allowUnregistered: true,
|
|
34
|
+
allowUnauthenticated: true,
|
|
35
|
+
}),
|
|
36
|
+
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
37
|
+
defaults: [
|
|
38
|
+
"items.*",
|
|
39
|
+
"items.product_variant.*",
|
|
40
|
+
"items.product_variant.prices.*",
|
|
41
|
+
"items.product_variant.product.thumbnail",
|
|
42
|
+
"items.product_variant.product.id",
|
|
43
|
+
],
|
|
44
|
+
}),
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
//----Create wishlist-----//
|
|
48
|
+
{
|
|
49
|
+
matcher: "/store/wishlists",
|
|
50
|
+
methods: ["POST"],
|
|
51
|
+
middlewares: [
|
|
52
|
+
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
53
|
+
allowUnregistered: true,
|
|
54
|
+
allowUnauthenticated: true,
|
|
55
|
+
}),
|
|
56
|
+
(0, http_1.validateAndTransformBody)(validators_2.CreateWishlistInputSchema),
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
//----Update wishlist-----//
|
|
60
|
+
{
|
|
61
|
+
matcher: "/store/wishlists/:id",
|
|
62
|
+
methods: ["PUT"],
|
|
63
|
+
middlewares: [
|
|
64
|
+
(0, http_1.authenticate)("customer", ["bearer"]),
|
|
65
|
+
(0, http_1.validateAndTransformBody)(validators_2.UpdateWishlistInputSchema),
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
//----Delete wishlist-----//
|
|
69
|
+
{
|
|
70
|
+
matcher: "/store/wishlists/:id",
|
|
71
|
+
methods: ["DELETE"],
|
|
72
|
+
middlewares: [(0, http_1.authenticate)("customer", ["bearer"])],
|
|
73
|
+
},
|
|
74
|
+
//----Transfer wishlist-----//
|
|
75
|
+
{
|
|
76
|
+
matcher: "/store/wishlists/:id/transfer",
|
|
77
|
+
methods: ["POST"],
|
|
78
|
+
middlewares: [(0, http_1.authenticate)("customer", ["bearer"])],
|
|
79
|
+
},
|
|
80
|
+
//----List Wishlist Items-----//
|
|
81
|
+
{
|
|
82
|
+
matcher: "/store/wishlists/:id/items",
|
|
83
|
+
methods: ["GET"],
|
|
84
|
+
middlewares: [
|
|
85
|
+
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
86
|
+
allowUnregistered: true,
|
|
87
|
+
allowUnauthenticated: true,
|
|
88
|
+
}),
|
|
89
|
+
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
90
|
+
defaults: [
|
|
91
|
+
"id",
|
|
92
|
+
"product_id",
|
|
93
|
+
"wishlist_id",
|
|
94
|
+
"created_at",
|
|
95
|
+
"updated_at",
|
|
96
|
+
"deleted_at",
|
|
97
|
+
"product_variant.*",
|
|
98
|
+
"product_variant.prices.*",
|
|
99
|
+
"product_variant.calculated_price",
|
|
100
|
+
"product_variant.product.thumbnail",
|
|
101
|
+
],
|
|
102
|
+
isList: true,
|
|
103
|
+
}),
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
//----Add item to wishlist-----//
|
|
107
|
+
{
|
|
108
|
+
matcher: "/store/wishlists/:id/add-item",
|
|
109
|
+
methods: ["POST"],
|
|
110
|
+
middlewares: [
|
|
111
|
+
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
112
|
+
allowUnregistered: true,
|
|
113
|
+
allowUnauthenticated: true,
|
|
114
|
+
}),
|
|
115
|
+
(0, http_1.validateAndTransformBody)(validators_3.AddItemToWishlistInputSchema),
|
|
116
|
+
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
|
|
117
|
+
defaults: [
|
|
118
|
+
"id",
|
|
119
|
+
"product_variant_id",
|
|
120
|
+
"wishlist_id",
|
|
121
|
+
"created_at",
|
|
122
|
+
"updated_at",
|
|
123
|
+
"deleted_at",
|
|
124
|
+
"product_variant.*",
|
|
125
|
+
"product_variant.prices.*",
|
|
126
|
+
"product_variant.calculated_price",
|
|
127
|
+
"product_variant.product.thumbnail",
|
|
128
|
+
"product_variant.product.id",
|
|
129
|
+
],
|
|
130
|
+
}),
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
//----Remove item from wishlist-----//
|
|
134
|
+
{
|
|
135
|
+
matcher: "/store/wishlists/:id/remove-item/:item_id",
|
|
136
|
+
methods: ["DELETE"],
|
|
137
|
+
middlewares: [
|
|
138
|
+
(0, http_1.authenticate)("customer", ["bearer"], {
|
|
139
|
+
allowUnregistered: true,
|
|
140
|
+
allowUnauthenticated: true,
|
|
141
|
+
}),
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2tDO0FBQ2xDLHNFQUF5RTtBQUN6RSw2REFHc0M7QUFDdEMsMkVBQTBGO0FBRTFGLGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ04sMkJBQTJCO1FBQzNCO1lBQ0UsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsSUFBQSxnQ0FBeUIsRUFBQyxJQUFBLDZCQUFnQixHQUFFLEVBQUU7b0JBQzVDLFFBQVEsRUFBRTt3QkFDUixTQUFTO3dCQUNULHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3dCQUNoQyx5Q0FBeUM7d0JBQ3pDLGtDQUFrQztxQkFDbkM7b0JBQ0QsTUFBTSxFQUFFLElBQUk7aUJBQ2IsQ0FBQzthQUNIO1NBQ0Y7UUFDRCw4QkFBOEI7UUFDOUI7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNuQyxpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixvQkFBb0IsRUFBRSxJQUFJO2lCQUMzQixDQUFDO2dCQUNGLElBQUEsZ0NBQXlCLEVBQUMsSUFBQSw2QkFBZ0IsR0FBRSxFQUFFO29CQUM1QyxRQUFRLEVBQUU7d0JBQ1IsU0FBUzt3QkFDVCx5QkFBeUI7d0JBQ3pCLGdDQUFnQzt3QkFDaEMseUNBQXlDO3dCQUN6QyxrQ0FBa0M7cUJBQ25DO2lCQUNGLENBQUM7YUFDSDtTQUNGO1FBQ0QsNEJBQTRCO1FBQzVCO1lBQ0UsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkMsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsb0JBQW9CLEVBQUUsSUFBSTtpQkFDM0IsQ0FBQztnQkFDRixJQUFBLCtCQUF3QixFQUFDLHNDQUF5QixDQUFDO2FBQ3BEO1NBQ0Y7UUFDRCw0QkFBNEI7UUFDNUI7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxJQUFBLCtCQUF3QixFQUFDLHNDQUF5QixDQUFDO2FBQ3BEO1NBQ0Y7UUFDRCw0QkFBNEI7UUFDNUI7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNuQixXQUFXLEVBQUUsQ0FBQyxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNwRDtRQUNELDhCQUE4QjtRQUM5QjtZQUNFLE9BQU8sRUFBRSwrQkFBK0I7WUFDeEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsZ0NBQWdDO1FBQ2hDO1lBQ0UsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkMsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsb0JBQW9CLEVBQUUsSUFBSTtpQkFDM0IsQ0FBQztnQkFDRixJQUFBLGdDQUF5QixFQUFDLElBQUEsNkJBQWdCLEdBQUUsRUFBRTtvQkFDNUMsUUFBUSxFQUFFO3dCQUNSLElBQUk7d0JBQ0osWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixrQ0FBa0M7d0JBQ2xDLG1DQUFtQztxQkFDcEM7b0JBQ0QsTUFBTSxFQUFFLElBQUk7aUJBQ2IsQ0FBQzthQUNIO1NBQ0Y7UUFDRCxpQ0FBaUM7UUFDakM7WUFDRSxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNuQyxpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixvQkFBb0IsRUFBRSxJQUFJO2lCQUMzQixDQUFDO2dCQUNGLElBQUEsK0JBQXdCLEVBQUMseUNBQTRCLENBQUM7Z0JBQ3RELElBQUEsZ0NBQXlCLEVBQUMsSUFBQSw2QkFBZ0IsR0FBRSxFQUFFO29CQUM1QyxRQUFRLEVBQUU7d0JBQ1IsSUFBSTt3QkFDSixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyw0QkFBNEI7cUJBQzdCO2lCQUNGLENBQUM7YUFDSDtTQUNGO1FBQ0Qsc0NBQXNDO1FBQ3RDO1lBQ0UsT0FBTyxFQUFFLDJDQUEyQztZQUNwRCxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDbkIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkMsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsb0JBQW9CLEVBQUUsSUFBSTtpQkFDM0IsQ0FBQzthQUNIO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const wishlist_1 = require("../../../../../modules/wishlist");
|
|
5
|
+
const POST = async (req, res) => {
|
|
6
|
+
const { product_variant_id } = req.body;
|
|
7
|
+
const { id } = req.params;
|
|
8
|
+
try {
|
|
9
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
10
|
+
const query = req.scope.resolve("query");
|
|
11
|
+
const options = wishlistService._options;
|
|
12
|
+
const created_item = await wishlistService.createWishlistItems({
|
|
13
|
+
product_variant_id,
|
|
14
|
+
wishlist_id: id,
|
|
15
|
+
});
|
|
16
|
+
const { data: enriched_wishlist_item } = await query.graph({
|
|
17
|
+
entity: "wishlist_item",
|
|
18
|
+
filters: {
|
|
19
|
+
id: created_item.id,
|
|
20
|
+
},
|
|
21
|
+
...req.queryConfig,
|
|
22
|
+
fields: [...(req.queryConfig.fields || []), ...(options?.fields || [])],
|
|
23
|
+
});
|
|
24
|
+
return res.status(201).json(enriched_wishlist_item[0]);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.log("Add item to wishlist failed", error);
|
|
28
|
+
return res.status(500).end();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.POST = POST;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2FkZC1pdGVtL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDhEQUFrRTtBQUczRCxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQXVELEVBQ3ZELEdBQWlDLEVBQ2pDLEVBQUU7SUFDRixNQUFNLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3hDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBRTFCLElBQUksQ0FBQztRQUNILE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFFekMsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsbUJBQW1CLENBQUM7WUFDN0Qsa0JBQWtCO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDekQsTUFBTSxFQUFFLGVBQWU7WUFDdkIsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRTthQUNwQjtZQUNELEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hFLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUFqQ1csUUFBQSxJQUFJLFFBaUNmIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddItemToWishlistInputSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.AddItemToWishlistInputSchema = zod_1.z.object({
|
|
6
|
+
product_variant_id: zod_1.z.string(),
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL1tpZF0vYWRkLWl0ZW0vdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFFWCxRQUFBLDRCQUE0QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsa0JBQWtCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUMvQixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = void 0;
|
|
4
|
+
const wishlist_1 = require("../../../../../../modules/wishlist");
|
|
5
|
+
const DELETE = async (req, res) => {
|
|
6
|
+
const { item_id: id } = req.params;
|
|
7
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
8
|
+
try {
|
|
9
|
+
//Remove item from wishlist
|
|
10
|
+
await wishlistService.deleteWishlistItems(id);
|
|
11
|
+
return res.status(200).json({ id });
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.log("Error fetching wishlists:", error);
|
|
15
|
+
return res.status(500).end();
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.DELETE = DELETE;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL1tpdGVtX2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxpRUFBcUU7QUFPOUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBNkMsRUFBRSxFQUFFO0lBQ2hHLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO0lBRWxGLElBQUksQ0FBQztRQUNILDJCQUEyQjtRQUMzQixNQUFNLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFaEQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUFkVyxRQUFBLE1BQU0sVUFjakIifQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
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 GET = async (req, res) => {
|
|
7
|
+
const { id } = req.params;
|
|
8
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
9
|
+
try {
|
|
10
|
+
const query = req.scope.resolve("query");
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
const { data: wishlist_items, metadata } = await query.graph({
|
|
14
|
+
entity: "wishlist_item",
|
|
15
|
+
filters: {
|
|
16
|
+
wishlist_id: id,
|
|
17
|
+
...(customer_id && { customer_id }),
|
|
18
|
+
},
|
|
19
|
+
...req.queryConfig,
|
|
20
|
+
fields: [...(req.queryConfig.fields || []), ...(options?.fields || [])],
|
|
21
|
+
});
|
|
22
|
+
return res.status(200).json({
|
|
23
|
+
data: wishlist_items,
|
|
24
|
+
skip: metadata?.skip || 0,
|
|
25
|
+
take: metadata?.take || 5,
|
|
26
|
+
...(0, utils_1.getPagination)(metadata),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.log("Error fetching wishlist items:", error);
|
|
31
|
+
return res.status(500).end();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.GET = GET;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHNEQUEyRDtBQUUzRCw4REFBa0U7QUFFM0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFrRCxFQUNsRCxFQUFFO0lBQ0YsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDMUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFFaEQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsT0FBTyxFQUFFO2dCQUNQLFdBQVcsRUFBRSxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUNwQztZQUNELEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hFLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztZQUN6QixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pCLEdBQUcsSUFBQSxxQkFBYSxFQUFDLFFBQVMsQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFckQsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUFsQ1csUUFBQSxHQUFHLE9Ba0NkIn0=
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
//-----Retrieves a specific wishlist by ID-----//
|
|
9
|
+
async function GET(req, res) {
|
|
10
|
+
const { id } = req.params;
|
|
11
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
12
|
+
try {
|
|
13
|
+
const query = req.scope.resolve("query");
|
|
14
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
15
|
+
const options = wishlistService._options;
|
|
16
|
+
const { data } = await query.graph({
|
|
17
|
+
entity: "wishlist",
|
|
18
|
+
filters: {
|
|
19
|
+
id,
|
|
20
|
+
},
|
|
21
|
+
...req.queryConfig,
|
|
22
|
+
fields: [
|
|
23
|
+
"*",
|
|
24
|
+
...(req.queryConfig.fields || []),
|
|
25
|
+
...(options?.fields || []),
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
const wishlist = data?.[0];
|
|
29
|
+
if (!wishlist) {
|
|
30
|
+
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.NOT_FOUND, `Wishlist with ID ${id} not found`);
|
|
31
|
+
}
|
|
32
|
+
if (wishlist?.customer_id && wishlist?.customer_id !== customer_id) {
|
|
33
|
+
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.UNAUTHORIZED, "You are not authorized to access this wishlist");
|
|
34
|
+
}
|
|
35
|
+
return res.status(200).json(wishlist);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.log("Error fetching wishlists:", error);
|
|
39
|
+
return res.status(500).end();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async function PUT(req, res) {
|
|
43
|
+
const input = req.body;
|
|
44
|
+
const { id } = req.params;
|
|
45
|
+
try {
|
|
46
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
47
|
+
const updated_wishlist = await wishlistService.updateWishlists({
|
|
48
|
+
id,
|
|
49
|
+
...input,
|
|
50
|
+
});
|
|
51
|
+
return res.status(200).json(updated_wishlist);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.log("Transfer wishlists failed:", error);
|
|
55
|
+
return res.status(500).end();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function DELETE(req, res) {
|
|
59
|
+
const { id } = req.params;
|
|
60
|
+
try {
|
|
61
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
62
|
+
await wishlistService.softDeleteWishlists({ id });
|
|
63
|
+
return res.status(200).json({
|
|
64
|
+
id,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.log("Wishlist deleting failed.", error);
|
|
69
|
+
return res.status(500).end();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsa0JBaURDO0FBRUQsa0JBc0JDO0FBT0Qsd0JBb0JDO0FBM0dELHFEQUEwRTtBQUkxRSwyREFBK0Q7QUFFL0QsaURBQWlEO0FBQzFDLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQTZCO0lBRTdCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBRWhELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO1FBRTVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqQyxNQUFNLEVBQUUsVUFBVTtZQUNsQixPQUFPLEVBQUU7Z0JBQ1AsRUFBRTthQUNIO1lBQ0QsR0FBRyxHQUFHLENBQUMsV0FBVztZQUNsQixNQUFNLEVBQUU7Z0JBQ04sR0FBRztnQkFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7YUFDM0I7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzQixJ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
|
|
@@ -0,0 +1,18 @@
|
|
|
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 customer_id = req.auth_context.actor_id;
|
|
7
|
+
const { id } = req.params;
|
|
8
|
+
try {
|
|
9
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
10
|
+
await wishlistService.updateWishlists({ id, customer_id });
|
|
11
|
+
return res.status(200).json({ id });
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.log("Transfer wishlists failed:", error);
|
|
15
|
+
return res.status(500).end();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9baWRdL3RyYW5zZmVyL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esb0JBZUM7QUF0QkQsOERBQWtFO0FBTzNELEtBQUssVUFBVSxJQUFJLENBQUMsR0FBK0IsRUFBRSxHQUEyQztJQUNyRyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO1FBRWxGLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTNELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVqRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
async function GET(req, res) {
|
|
8
|
+
const customer_id = req.auth_context.actor_id;
|
|
9
|
+
try {
|
|
10
|
+
const query = req.scope.resolve("query");
|
|
11
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const options = wishlistService._options;
|
|
13
|
+
const { data, metadata } = await query.graph({
|
|
14
|
+
entity: "wishlist",
|
|
15
|
+
filters: { customer_id },
|
|
16
|
+
...req.queryConfig,
|
|
17
|
+
fields: [
|
|
18
|
+
"*",
|
|
19
|
+
// ...(req.queryConfig.fields || []),
|
|
20
|
+
...(options?.fields || []),
|
|
21
|
+
...(options.includeWishlistItems ? req.queryConfig.fields : []),
|
|
22
|
+
],
|
|
23
|
+
});
|
|
24
|
+
return res.status(200).json({
|
|
25
|
+
data,
|
|
26
|
+
take: metadata?.take || 5,
|
|
27
|
+
skip: metadata?.skip || 0,
|
|
28
|
+
...(0, utils_1.getPagination)(metadata),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.log("Error fetching wishlists:", error);
|
|
33
|
+
return res.status(500).end();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//-----Create wishlists-----//
|
|
37
|
+
async function POST(req, res) {
|
|
38
|
+
const customer_id = req?.auth_context?.actor_id;
|
|
39
|
+
const { ...input } = req.body;
|
|
40
|
+
try {
|
|
41
|
+
const wishlistService = req.scope.resolve(wishlist_1.WISHLIST_MODULE);
|
|
42
|
+
const wishlist = await wishlistService.createWishlists({
|
|
43
|
+
...input,
|
|
44
|
+
...(customer_id && { customer_id }),
|
|
45
|
+
});
|
|
46
|
+
return res.status(201).json(wishlist);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return res.status(500).end();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLGtCQW1DQztBQUlELG9CQW9CQztBQTlERCx3REFBNEQ7QUFDNUQsZ0RBQXFEO0FBRTlDLEtBQUssVUFBVSxHQUFHLENBQ3ZCLEdBQStCLEVBQy9CLEdBQThDO0lBRTlDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBRTlDLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sZUFBZSxHQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBd0IsMEJBQWUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFFekMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLFVBQVU7WUFDbEIsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxDQUFDLFdBQVc7WUFDbEIsTUFBTSxFQUFFO2dCQUNOLEdBQUc7Z0JBQ0gscUNBQXFDO2dCQUNyQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7Z0JBQzFCLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDaEU7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUk7WUFDSixJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pCLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7WUFDekIsR0FBRyxJQUFBLHFCQUFhLEVBQUMsUUFBUyxDQUFDO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUM7QUFFRCw4QkFBOEI7QUFFdkIsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBb0QsRUFDcEQsR0FBbUI7SUFFbkIsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7SUFDaEQsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUU5QixJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQXdCLDBCQUFlLENBQUMsQ0FBQztRQUU1RCxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUM7WUFDckQsR0FBRyxLQUFLO1lBQ1IsR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3dpc2hsaXN0cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateWishlistInputSchema = exports.CreateWishlistInputSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.CreateWishlistInputSchema = zod_1.z.object({
|
|
6
|
+
name: zod_1.z.string().optional(),
|
|
7
|
+
sales_channel_id: zod_1.z.string(),
|
|
8
|
+
});
|
|
9
|
+
//---All params for update must be optional---//
|
|
10
|
+
exports.UpdateWishlistInputSchema = exports.CreateWishlistInputSchema.pick({
|
|
11
|
+
name: true,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvd2lzaGxpc3RzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRVgsUUFBQSx5QkFBeUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDN0IsQ0FBQyxDQUFDO0FBSUgsZ0RBQWdEO0FBQ25DLFFBQUEseUJBQXlCLEdBQUcsaUNBQXlCLENBQUMsSUFBSSxDQUFDO0lBQ3RFLElBQUksRUFBRSxJQUFJO0NBQ1gsQ0FBQyxDQUFDIn0=
|
|
@@ -8,8 +8,8 @@ const wishlist_1 = __importDefault(require("../modules/wishlist"));
|
|
|
8
8
|
const product_1 = __importDefault(require("@medusajs/medusa/product"));
|
|
9
9
|
exports.default = (0, utils_1.defineLink)({
|
|
10
10
|
...wishlist_1.default.linkable.wishlistItem.id,
|
|
11
|
-
field: "
|
|
12
|
-
}, product_1.default.linkable.
|
|
11
|
+
field: "product_variant_id",
|
|
12
|
+
}, product_1.default.linkable.productVariant, {
|
|
13
13
|
readOnly: true,
|
|
14
14
|
});
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QtcHJvZHVjdC12YXJpYW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpbmtzL3dpc2hsaXN0LXByb2R1Y3QtdmFyaWFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUF1RDtBQUN2RCxtRUFBaUQ7QUFDakQsdUVBQXFEO0FBRXJELGtCQUFlLElBQUEsa0JBQVUsRUFDdkI7SUFDRSxHQUFHLGtCQUFjLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFO0lBQzFDLEtBQUssRUFBRSxvQkFBb0I7Q0FDNUIsRUFDRCxpQkFBYSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQ3JDO0lBQ0UsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUNGLENBQUMifQ==
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Migration20250616124134 = void 0;
|
|
4
4
|
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
-
class
|
|
5
|
+
class Migration20250616124134 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
|
-
this.addSql(`alter table if exists "wishlist_item" drop constraint if exists "
|
|
7
|
+
this.addSql(`alter table if exists "wishlist_item" drop constraint if exists "wishlist_item_product_variant_id_wishlist_id_unique";`);
|
|
8
8
|
this.addSql(`alter table if exists "wishlist" drop constraint if exists "wishlist_customer_id_sales_channel_id_unique";`);
|
|
9
|
-
this.addSql(`create table if not exists "wishlist" ("id" text not null, "customer_id" text
|
|
9
|
+
this.addSql(`create table if not exists "wishlist" ("id" text not null, "name" text null, "customer_id" text null, "sales_channel_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "wishlist_pkey" primary key ("id"));`);
|
|
10
10
|
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_wishlist_deleted_at" ON "wishlist" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
11
|
-
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_wishlist_customer_id_sales_channel_id_unique" ON "wishlist" (customer_id, sales_channel_id) WHERE deleted_at IS NULL;`);
|
|
12
|
-
this.addSql(`create table if not exists "wishlist_item" ("id" text not null, "
|
|
11
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_wishlist_customer_id_sales_channel_id_unique" ON "wishlist" (customer_id, sales_channel_id) WHERE customer_id IS NOT NULL AND deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`create table if not exists "wishlist_item" ("id" text not null, "product_variant_id" text not null, "wishlist_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "wishlist_item_pkey" primary key ("id"));`);
|
|
13
13
|
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_wishlist_item_wishlist_id" ON "wishlist_item" (wishlist_id) WHERE deleted_at IS NULL;`);
|
|
14
14
|
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_wishlist_item_deleted_at" ON "wishlist_item" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
15
|
-
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "
|
|
15
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_wishlist_item_product_variant_id_wishlist_id_unique" ON "wishlist_item" (product_variant_id, wishlist_id) WHERE deleted_at IS NULL;`);
|
|
16
16
|
this.addSql(`alter table if exists "wishlist_item" add constraint "wishlist_item_wishlist_id_foreign" foreign key ("wishlist_id") references "wishlist" ("id") on update cascade;`);
|
|
17
17
|
}
|
|
18
18
|
async down() {
|
|
@@ -21,5 +21,5 @@ class Migration20250331134307 extends migrations_1.Migration {
|
|
|
21
21
|
this.addSql(`drop table if exists "wishlist_item" cascade;`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
exports.
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
exports.Migration20250616124134 = Migration20250616124134;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTYxMjQxMzQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy93aXNobGlzdC9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjUwNjE2MTI0MTM0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQUVsRCxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRTNDLEtBQUssQ0FBQyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3SEFBd0gsQ0FBQyxDQUFDO1FBQ3RJLElBQUksQ0FBQyxNQUFNLENBQUMsNEdBQTRHLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsTUFBTSxDQUFDLDBUQUEwVCxDQUFDLENBQUM7UUFDeFUsSUFBSSxDQUFDLE1BQU0sQ0FBQywyR0FBMkcsQ0FBQyxDQUFDO1FBQ3pILElBQUksQ0FBQyxNQUFNLENBQUMsMExBQTBMLENBQUMsQ0FBQztRQUV4TSxJQUFJLENBQUMsTUFBTSxDQUFDLHdUQUF3VCxDQUFDLENBQUM7UUFDdFUsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO1FBQ3JJLElBQUksQ0FBQyxNQUFNLENBQUMscUhBQXFILENBQUMsQ0FBQztRQUNuSSxJQUFJLENBQUMsTUFBTSxDQUFDLDRLQUE0SyxDQUFDLENBQUM7UUFFMUwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzS0FBc0ssQ0FBQyxDQUFDO0lBQ3RMLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHNHQUFzRyxDQUFDLENBQUM7UUFFcEgsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxNQUFNLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBRUY7QUF6QkQsMERBeUJDIn0=
|