@alphabite/medusa-wishlist 0.7.0 → 0.7.2
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 +30 -36
- package/.medusa/server/src/admin/index.mjs +30 -36
- package/.medusa/server/src/api/admin/wishlists/analytics/route.js +2 -16
- package/.medusa/server/src/modules/wishlist/service.js +1 -14
- package/.medusa/types/modules/wishlist/types/analytics.d.ts +0 -4
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ const reactQuery = require("@tanstack/react-query");
|
|
|
6
6
|
const Medusa = require("@medusajs/js-sdk");
|
|
7
7
|
const icons = require("@medusajs/icons");
|
|
8
8
|
const react = require("react");
|
|
9
|
+
const reactRouterDom = require("react-router-dom");
|
|
9
10
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
10
11
|
const Medusa__default = /* @__PURE__ */ _interopDefault(Medusa);
|
|
11
12
|
const sdk = new Medusa__default.default({
|
|
@@ -56,7 +57,7 @@ const KpiCard = ({
|
|
|
56
57
|
] })
|
|
57
58
|
] });
|
|
58
59
|
const WishlistAnalyticsTab = () => {
|
|
59
|
-
var _a;
|
|
60
|
+
var _a, _b;
|
|
60
61
|
const [rangeDays, setRangeDays] = react.useState("30");
|
|
61
62
|
const [channelId, setChannelId] = react.useState("all");
|
|
62
63
|
const { data: channelsRes } = reactQuery.useQuery({
|
|
@@ -105,24 +106,16 @@ const WishlistAnalyticsTab = () => {
|
|
|
105
106
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "90", children: "Last 90 days" })
|
|
106
107
|
] })
|
|
107
108
|
] }) }),
|
|
108
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-64", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { value: channelId, onValueChange: setChannelId, children: [
|
|
109
|
+
(((_a = channelsRes == null ? void 0 : channelsRes.sales_channels) == null ? void 0 : _a.length) ?? 0) > 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-64", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { value: channelId, onValueChange: setChannelId, children: [
|
|
109
110
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select.Value, { placeholder: "All sales channels" }) }),
|
|
110
111
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Select.Content, { children: [
|
|
111
112
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: "all", children: "All sales channels" }),
|
|
112
|
-
(
|
|
113
|
+
(_b = channelsRes == null ? void 0 : channelsRes.sales_channels) == null ? void 0 : _b.map((c) => /* @__PURE__ */ jsxRuntime.jsx(ui.Select.Item, { value: c.id, children: c.name }, c.id))
|
|
113
114
|
] })
|
|
114
115
|
] }) })
|
|
115
116
|
] }),
|
|
116
117
|
!hasData ? /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { className: "text-ui-fg-subtle", children: "No wishlist activity in this period yet." }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
117
118
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: [
|
|
118
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
-
KpiCard,
|
|
120
|
-
{
|
|
121
|
-
label: "Total wishlists",
|
|
122
|
-
value: String(data.kpis.total_wishlists.value),
|
|
123
|
-
delta: data.kpis.total_wishlists.delta_pct
|
|
124
|
-
}
|
|
125
|
-
),
|
|
126
119
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
127
120
|
KpiCard,
|
|
128
121
|
{
|
|
@@ -208,17 +201,24 @@ const WishlistAnalyticsTab = () => {
|
|
|
208
201
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.HeaderCell, { className: "text-right", children: "Items" })
|
|
209
202
|
] }) }),
|
|
210
203
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Body, { children: data.top_products.map((p) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Table.Row, { children: [
|
|
211
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
{
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
204
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
205
|
+
reactRouterDom.Link,
|
|
206
|
+
{
|
|
207
|
+
to: `/products/${p.product_id}`,
|
|
208
|
+
className: "flex items-center gap-2 hover:underline",
|
|
209
|
+
children: [
|
|
210
|
+
p.thumbnail ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
211
|
+
"img",
|
|
212
|
+
{
|
|
213
|
+
src: p.thumbnail,
|
|
214
|
+
alt: "",
|
|
215
|
+
className: "h-8 w-8 rounded object-cover"
|
|
216
|
+
}
|
|
217
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-8 w-8 rounded bg-ui-bg-subtle" }),
|
|
218
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-interactive", children: p.title })
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
) }),
|
|
222
222
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { className: "text-right", children: p.wishlist_count }),
|
|
223
223
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { className: "text-right", children: p.item_count })
|
|
224
224
|
] }, p.product_id)) })
|
|
@@ -232,23 +232,17 @@ const WishlistAnalyticsTab = () => {
|
|
|
232
232
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.HeaderCell, { className: "text-right", children: "Wishlists" })
|
|
233
233
|
] }) }),
|
|
234
234
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Body, { children: data.top_variants.map((v) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Table.Row, { children: [
|
|
235
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
235
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
+
reactRouterDom.Link,
|
|
237
|
+
{
|
|
238
|
+
to: `/products/${v.product_id}`,
|
|
239
|
+
className: "hover:underline",
|
|
240
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-interactive", children: v.title })
|
|
241
|
+
}
|
|
242
|
+
) }),
|
|
236
243
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { className: "text-right", children: v.wishlist_count })
|
|
237
244
|
] }, v.product_variant_id)) })
|
|
238
245
|
] })
|
|
239
|
-
] }),
|
|
240
|
-
data.by_sales_channel.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
241
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { level: "h3", children: "Wishlists by sales channel" }),
|
|
242
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Table, { children: [
|
|
243
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Header, { children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Table.Row, { children: [
|
|
244
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.HeaderCell, { children: "Channel" }),
|
|
245
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.HeaderCell, { className: "text-right", children: "Wishlists" })
|
|
246
|
-
] }) }),
|
|
247
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Body, { children: data.by_sales_channel.map((c) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Table.Row, { children: [
|
|
248
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: c.name }),
|
|
249
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { className: "text-right", children: c.wishlist_count })
|
|
250
|
-
] }, c.sales_channel_id)) })
|
|
251
|
-
] })
|
|
252
246
|
] })
|
|
253
247
|
] })
|
|
254
248
|
] });
|
|
@@ -5,6 +5,7 @@ import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
|
|
|
5
5
|
import Medusa from "@medusajs/js-sdk";
|
|
6
6
|
import { Heart } from "@medusajs/icons";
|
|
7
7
|
import { useState, useMemo, useEffect } from "react";
|
|
8
|
+
import { Link } from "react-router-dom";
|
|
8
9
|
const sdk = new Medusa({
|
|
9
10
|
baseUrl: __BACKEND_URL__ || "http://localhost:9000",
|
|
10
11
|
debug: process.env.NODE_ENV === "development",
|
|
@@ -53,7 +54,7 @@ const KpiCard = ({
|
|
|
53
54
|
] })
|
|
54
55
|
] });
|
|
55
56
|
const WishlistAnalyticsTab = () => {
|
|
56
|
-
var _a;
|
|
57
|
+
var _a, _b;
|
|
57
58
|
const [rangeDays, setRangeDays] = useState("30");
|
|
58
59
|
const [channelId, setChannelId] = useState("all");
|
|
59
60
|
const { data: channelsRes } = useQuery({
|
|
@@ -102,24 +103,16 @@ const WishlistAnalyticsTab = () => {
|
|
|
102
103
|
/* @__PURE__ */ jsx(Select.Item, { value: "90", children: "Last 90 days" })
|
|
103
104
|
] })
|
|
104
105
|
] }) }),
|
|
105
|
-
/* @__PURE__ */ jsx("div", { className: "w-full sm:w-64", children: /* @__PURE__ */ jsxs(Select, { value: channelId, onValueChange: setChannelId, children: [
|
|
106
|
+
(((_a = channelsRes == null ? void 0 : channelsRes.sales_channels) == null ? void 0 : _a.length) ?? 0) > 1 && /* @__PURE__ */ jsx("div", { className: "w-full sm:w-64", children: /* @__PURE__ */ jsxs(Select, { value: channelId, onValueChange: setChannelId, children: [
|
|
106
107
|
/* @__PURE__ */ jsx(Select.Trigger, { children: /* @__PURE__ */ jsx(Select.Value, { placeholder: "All sales channels" }) }),
|
|
107
108
|
/* @__PURE__ */ jsxs(Select.Content, { children: [
|
|
108
109
|
/* @__PURE__ */ jsx(Select.Item, { value: "all", children: "All sales channels" }),
|
|
109
|
-
(
|
|
110
|
+
(_b = channelsRes == null ? void 0 : channelsRes.sales_channels) == null ? void 0 : _b.map((c) => /* @__PURE__ */ jsx(Select.Item, { value: c.id, children: c.name }, c.id))
|
|
110
111
|
] })
|
|
111
112
|
] }) })
|
|
112
113
|
] }),
|
|
113
114
|
!hasData ? /* @__PURE__ */ jsx(Text, { className: "text-ui-fg-subtle", children: "No wishlist activity in this period yet." }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
114
115
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", children: [
|
|
115
|
-
/* @__PURE__ */ jsx(
|
|
116
|
-
KpiCard,
|
|
117
|
-
{
|
|
118
|
-
label: "Total wishlists",
|
|
119
|
-
value: String(data.kpis.total_wishlists.value),
|
|
120
|
-
delta: data.kpis.total_wishlists.delta_pct
|
|
121
|
-
}
|
|
122
|
-
),
|
|
123
116
|
/* @__PURE__ */ jsx(
|
|
124
117
|
KpiCard,
|
|
125
118
|
{
|
|
@@ -205,17 +198,24 @@ const WishlistAnalyticsTab = () => {
|
|
|
205
198
|
/* @__PURE__ */ jsx(Table.HeaderCell, { className: "text-right", children: "Items" })
|
|
206
199
|
] }) }),
|
|
207
200
|
/* @__PURE__ */ jsx(Table.Body, { children: data.top_products.map((p) => /* @__PURE__ */ jsxs(Table.Row, { children: [
|
|
208
|
-
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsxs(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
{
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
201
|
+
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsxs(
|
|
202
|
+
Link,
|
|
203
|
+
{
|
|
204
|
+
to: `/products/${p.product_id}`,
|
|
205
|
+
className: "flex items-center gap-2 hover:underline",
|
|
206
|
+
children: [
|
|
207
|
+
p.thumbnail ? /* @__PURE__ */ jsx(
|
|
208
|
+
"img",
|
|
209
|
+
{
|
|
210
|
+
src: p.thumbnail,
|
|
211
|
+
alt: "",
|
|
212
|
+
className: "h-8 w-8 rounded object-cover"
|
|
213
|
+
}
|
|
214
|
+
) : /* @__PURE__ */ jsx("div", { className: "h-8 w-8 rounded bg-ui-bg-subtle" }),
|
|
215
|
+
/* @__PURE__ */ jsx(Text, { size: "small", className: "text-ui-fg-interactive", children: p.title })
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
) }),
|
|
219
219
|
/* @__PURE__ */ jsx(Table.Cell, { className: "text-right", children: p.wishlist_count }),
|
|
220
220
|
/* @__PURE__ */ jsx(Table.Cell, { className: "text-right", children: p.item_count })
|
|
221
221
|
] }, p.product_id)) })
|
|
@@ -229,23 +229,17 @@ const WishlistAnalyticsTab = () => {
|
|
|
229
229
|
/* @__PURE__ */ jsx(Table.HeaderCell, { className: "text-right", children: "Wishlists" })
|
|
230
230
|
] }) }),
|
|
231
231
|
/* @__PURE__ */ jsx(Table.Body, { children: data.top_variants.map((v) => /* @__PURE__ */ jsxs(Table.Row, { children: [
|
|
232
|
-
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(
|
|
232
|
+
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(
|
|
233
|
+
Link,
|
|
234
|
+
{
|
|
235
|
+
to: `/products/${v.product_id}`,
|
|
236
|
+
className: "hover:underline",
|
|
237
|
+
children: /* @__PURE__ */ jsx(Text, { size: "small", className: "text-ui-fg-interactive", children: v.title })
|
|
238
|
+
}
|
|
239
|
+
) }),
|
|
233
240
|
/* @__PURE__ */ jsx(Table.Cell, { className: "text-right", children: v.wishlist_count })
|
|
234
241
|
] }, v.product_variant_id)) })
|
|
235
242
|
] })
|
|
236
|
-
] }),
|
|
237
|
-
data.by_sales_channel.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
238
|
-
/* @__PURE__ */ jsx(Heading, { level: "h3", children: "Wishlists by sales channel" }),
|
|
239
|
-
/* @__PURE__ */ jsxs(Table, { children: [
|
|
240
|
-
/* @__PURE__ */ jsx(Table.Header, { children: /* @__PURE__ */ jsxs(Table.Row, { children: [
|
|
241
|
-
/* @__PURE__ */ jsx(Table.HeaderCell, { children: "Channel" }),
|
|
242
|
-
/* @__PURE__ */ jsx(Table.HeaderCell, { className: "text-right", children: "Wishlists" })
|
|
243
|
-
] }) }),
|
|
244
|
-
/* @__PURE__ */ jsx(Table.Body, { children: data.by_sales_channel.map((c) => /* @__PURE__ */ jsxs(Table.Row, { children: [
|
|
245
|
-
/* @__PURE__ */ jsx(Table.Cell, { children: c.name }),
|
|
246
|
-
/* @__PURE__ */ jsx(Table.Cell, { className: "text-right", children: c.wishlist_count })
|
|
247
|
-
] }, c.sales_channel_id)) })
|
|
248
|
-
] })
|
|
249
243
|
] })
|
|
250
244
|
] })
|
|
251
245
|
] });
|
|
@@ -19,8 +19,7 @@ async function GET(req, res) {
|
|
|
19
19
|
const view = await service.getAnalytics(parsed.data);
|
|
20
20
|
const productIds = view.top_products.map((p) => p.product_id);
|
|
21
21
|
const variantIds = view.top_variants.map((v) => v.product_variant_id);
|
|
22
|
-
const
|
|
23
|
-
const [products, variants, channels] = await Promise.all([
|
|
22
|
+
const [products, variants] = await Promise.all([
|
|
24
23
|
productIds.length
|
|
25
24
|
? query.graph({
|
|
26
25
|
entity: "product",
|
|
@@ -35,20 +34,11 @@ async function GET(req, res) {
|
|
|
35
34
|
filters: { id: variantIds },
|
|
36
35
|
})
|
|
37
36
|
: Promise.resolve({ data: [] }),
|
|
38
|
-
channelIds.length
|
|
39
|
-
? query.graph({
|
|
40
|
-
entity: "sales_channel",
|
|
41
|
-
fields: ["id", "name"],
|
|
42
|
-
filters: { id: channelIds },
|
|
43
|
-
})
|
|
44
|
-
: Promise.resolve({ data: [] }),
|
|
45
37
|
]);
|
|
46
38
|
const productRows = products.data;
|
|
47
39
|
const variantRows = variants.data;
|
|
48
|
-
const channelRows = channels.data;
|
|
49
40
|
const productMap = new Map(productRows.map((p) => [p.id, p]));
|
|
50
41
|
const variantMap = new Map(variantRows.map((v) => [v.id, v]));
|
|
51
|
-
const channelMap = new Map(channelRows.map((c) => [c.id, c]));
|
|
52
42
|
const response = {
|
|
53
43
|
...view,
|
|
54
44
|
top_products: view.top_products.map((p) => {
|
|
@@ -63,10 +53,6 @@ async function GET(req, res) {
|
|
|
63
53
|
...v,
|
|
64
54
|
title: variantMap.get(v.product_variant_id)?.title ?? v.product_variant_id,
|
|
65
55
|
})),
|
|
66
|
-
by_sales_channel: view.by_sales_channel.map((c) => ({
|
|
67
|
-
...c,
|
|
68
|
-
name: channelMap.get(c.sales_channel_id)?.name ?? c.sales_channel_id,
|
|
69
|
-
})),
|
|
70
56
|
};
|
|
71
57
|
return res.status(200).json(response);
|
|
72
58
|
}
|
|
@@ -78,4 +64,4 @@ async function GET(req, res) {
|
|
|
78
64
|
});
|
|
79
65
|
}
|
|
80
66
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3dpc2hsaXN0cy9hbmFseXRpY3Mvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxrQkFtRUM7QUE1RUQscURBQXNFO0FBQ3RFLDJEQUErRDtBQUUvRCw2Q0FBNEQ7QUFNckQsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QiwwQkFBZSxDQUFDLENBQUM7SUFFMUUsTUFBTSxNQUFNLEdBQUcseUNBQTRCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUIsS0FBSyxFQUFFLHlCQUF5QjtZQUNoQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxV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
|
|
@@ -191,18 +191,6 @@ class WishlistModuleService extends (0, utils_1.MedusaService)({
|
|
|
191
191
|
.groupBy("wi.product_variant_id", "wi.product_id")
|
|
192
192
|
.orderBy("wishlist_count", "desc")
|
|
193
193
|
.limit(10));
|
|
194
|
-
const bySalesChannel = channelId
|
|
195
|
-
? []
|
|
196
|
-
: (await knex("wishlist")
|
|
197
|
-
.where("created_at", ">=", from)
|
|
198
|
-
.andWhere("created_at", "<", to)
|
|
199
|
-
.select("sales_channel_id")
|
|
200
|
-
.count("* as wishlist_count")
|
|
201
|
-
.groupBy("sales_channel_id")
|
|
202
|
-
.orderBy("wishlist_count", "desc")).map((r) => ({
|
|
203
|
-
sales_channel_id: r.sales_channel_id,
|
|
204
|
-
wishlist_count: n(r.wishlist_count),
|
|
205
|
-
}));
|
|
206
194
|
const avgCurrent = totalWishlists ? totalItems / totalWishlists : 0;
|
|
207
195
|
const avgPrev = prevTotalWishlists
|
|
208
196
|
? prevTotalItems / prevTotalWishlists
|
|
@@ -230,7 +218,6 @@ class WishlistModuleService extends (0, utils_1.MedusaService)({
|
|
|
230
218
|
product_id: r.product_id,
|
|
231
219
|
wishlist_count: n(r.wishlist_count),
|
|
232
220
|
})),
|
|
233
|
-
by_sales_channel: bySalesChannel,
|
|
234
221
|
};
|
|
235
222
|
}
|
|
236
223
|
async totalItemsCount({ customer_id, wishlist_id, }, context = {}) {
|
|
@@ -327,4 +314,4 @@ __decorate([
|
|
|
327
314
|
__metadata("design:paramtypes", [Object, Object]),
|
|
328
315
|
__metadata("design:returntype", Promise)
|
|
329
316
|
], WishlistModuleService.prototype, "totalItemsCount", null);
|
|
330
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3dpc2hsaXN0L3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFJbUM7QUFDbkMsZ0RBQTZDO0FBQzdDLDBEQUFzRDtBQUN0RCxrRUFBOEQ7QUFDOUQscURBQTBEO0FBSTFELGdFQUErQjtBQUMvQixpREFBNEM7QUFZNUMsTUFBTSw4QkFBOEIsR0FBRyxlQUFlLENBQUM7QUEyQ3ZELE1BQU0sYUFBYSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0IsY0FBYyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlDLG1CQUFtQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25ELG9CQUFvQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2hELHdCQUF3QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9DLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Q0FDdkQsQ0FBQyxDQUFDO0FBSUgsTUFBcUIscUJBQXNCLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQy9ELFFBQVEsRUFBUixtQkFBUTtJQUNSLFlBQVksRUFBWiw0QkFBWTtJQUNaLGdCQUFnQixFQUFoQixvQ0FBZ0I7Q0FDakIsQ0FBQztJQUdBLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFFBQTRDO1FBRTVDLE1BQU0s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
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3dpc2hsaXN0L3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFJbUM7QUFDbkMsZ0RBQTZDO0FBQzdDLDBEQUFzRDtBQUN0RCxrRUFBOEQ7QUFDOUQscURBQTBEO0FBSTFELGdFQUErQjtBQUMvQixpREFBNEM7QUFZNUMsTUFBTSw4QkFBOEIsR0FBRyxlQUFlLENBQUM7QUEyQ3ZELE1BQU0sYUFBYSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0IsY0FBYyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlDLG1CQUFtQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25ELG9CQUFvQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2hELHdCQUF3QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9DLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Q0FDdkQsQ0FBQyxDQUFDO0FBSUgsTUFBcUIscUJBQXNCLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQy9ELFFBQVEsRUFBUixtQkFBUTtJQUNSLFlBQVksRUFBWiw0QkFBWTtJQUNaLGdCQUFnQixFQUFoQixvQ0FBZ0I7Q0FDakIsQ0FBQztJQUdBLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFFBQTRDO1FBRTVDLE1BQU0s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
|