@huloglobal/vendure-plugin-visitor-analytics 0.18.2 → 0.18.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/CHANGELOG.md +58 -0
- package/README.md +20 -8
- package/dist/abandoned-cart.controller.d.ts.map +1 -1
- package/dist/abandoned-cart.controller.js +55 -38
- package/dist/abandoned-cart.controller.js.map +1 -1
- package/dist/abandoned-cart.scanner.d.ts +4 -0
- package/dist/abandoned-cart.scanner.d.ts.map +1 -1
- package/dist/abandoned-cart.scanner.js +28 -0
- package/dist/abandoned-cart.scanner.js.map +1 -1
- package/dist/abandoned-cart.service.d.ts +9 -0
- package/dist/abandoned-cart.service.d.ts.map +1 -1
- package/dist/abandoned-cart.service.js +125 -84
- package/dist/abandoned-cart.service.js.map +1 -1
- package/dist/admin-api.js +22 -22
- package/dist/admin-api.js.map +1 -1
- package/dist/ingest-hardening.test.js +6 -6
- package/dist/ingest-hardening.test.js.map +1 -1
- package/dist/ingest-utils.d.ts +6 -0
- package/dist/ingest-utils.d.ts.map +1 -0
- package/dist/ingest-utils.js +34 -0
- package/dist/ingest-utils.js.map +1 -0
- package/dist/journey-buffs.service.js +21 -21
- package/dist/recommendations.controller.d.ts +10 -4
- package/dist/recommendations.controller.d.ts.map +1 -1
- package/dist/recommendations.controller.js +9 -6
- package/dist/recommendations.controller.js.map +1 -1
- package/dist/recommendations.service.d.ts +28 -8
- package/dist/recommendations.service.d.ts.map +1 -1
- package/dist/recommendations.service.js +164 -78
- package/dist/recommendations.service.js.map +1 -1
- package/dist/search-analytics.service.d.ts.map +1 -1
- package/dist/search-analytics.service.js +22 -18
- package/dist/search-analytics.service.js.map +1 -1
- package/dist/sql-fragments.d.ts +25 -0
- package/dist/sql-fragments.d.ts.map +1 -0
- package/dist/sql-fragments.js +31 -0
- package/dist/sql-fragments.js.map +1 -0
- package/dist/visitor-tracking.controller.d.ts +8 -1
- package/dist/visitor-tracking.controller.d.ts.map +1 -1
- package/dist/visitor-tracking.controller.js +219 -134
- package/dist/visitor-tracking.controller.js.map +1 -1
- package/dist/visitor-tracking.service.d.ts +0 -4
- package/dist/visitor-tracking.service.d.ts.map +1 -1
- package/dist/visitor-tracking.service.js +3 -32
- package/dist/visitor-tracking.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -54,7 +54,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
54
54
|
['convertedOrderCode', 'VARCHAR(32) NULL'],
|
|
55
55
|
];
|
|
56
56
|
for (const [name, type] of cols) {
|
|
57
|
-
await
|
|
57
|
+
await this.addColumnIfMissing(conn, 'abandoned_cart', name, type);
|
|
58
58
|
}
|
|
59
59
|
await conn.query(`
|
|
60
60
|
CREATE TABLE IF NOT EXISTS abandoned_cart_opt_out (
|
|
@@ -69,6 +69,47 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
69
69
|
)
|
|
70
70
|
`);
|
|
71
71
|
}
|
|
72
|
+
/** `abandoned_cart` is a TypeORM entity table, so on Postgres its columns are
|
|
73
|
+
* quoted camelCase: the column name is backticked here so an install that never
|
|
74
|
+
* ran the migration gets `"convertedAt"`, not a lowercase duplicate. The
|
|
75
|
+
* information-schema check (case-insensitive) also keeps MySQL 8 happy, which has
|
|
76
|
+
* no `ADD COLUMN IF NOT EXISTS`. */
|
|
77
|
+
async addColumnIfMissing(conn, table, column, ddl) {
|
|
78
|
+
var _a, _b, _c, _d;
|
|
79
|
+
const scope = conn.dialect === 'postgres'
|
|
80
|
+
? 'table_catalog = current_database() AND table_schema = current_schema()'
|
|
81
|
+
: 'table_schema = DATABASE()';
|
|
82
|
+
const rows = await conn.query(`SELECT COUNT(*) AS n FROM information_schema.columns WHERE ${scope} AND LOWER(table_name) = LOWER(?) AND LOWER(column_name) = LOWER(?)`, [table, column]).catch(() => []);
|
|
83
|
+
if (Number((_d = (_b = (_a = rows === null || rows === void 0 ? void 0 : rows[0]) === null || _a === void 0 ? void 0 : _a.n) !== null && _b !== void 0 ? _b : (_c = rows === null || rows === void 0 ? void 0 : rows[0]) === null || _c === void 0 ? void 0 : _c.N) !== null && _d !== void 0 ? _d : 0) > 0)
|
|
84
|
+
return;
|
|
85
|
+
try {
|
|
86
|
+
await conn.query(`ALTER TABLE ${table} ADD COLUMN \`${column}\` ${ddl}`);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
if (!/duplicate|exists/i.test(String((e === null || e === void 0 ? void 0 : e.message) || '')))
|
|
90
|
+
throw e;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Monthly housekeeping (worker): closed carts older than `days` and stale co-view
|
|
94
|
+
* pairs go in id-ordered batches of `batch`. Open (`abandoned`/`recovered`) carts are kept. */
|
|
95
|
+
async pruneClosedCarts(days = 180, batch = 5000) {
|
|
96
|
+
const conn = (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection);
|
|
97
|
+
let deleted = 0;
|
|
98
|
+
for (let round = 0; round < 400; round++) {
|
|
99
|
+
const rows = await conn.query(`SELECT id FROM abandoned_cart
|
|
100
|
+
WHERE status IN ('expired', 'converted', 'dismissed')
|
|
101
|
+
AND \`abandonedAt\` < DATE_SUB(NOW(), INTERVAL ? DAY)
|
|
102
|
+
ORDER BY id LIMIT ?`, [days, batch]);
|
|
103
|
+
if (!rows.length)
|
|
104
|
+
break;
|
|
105
|
+
const ids = rows.map((r) => Number(r.id));
|
|
106
|
+
await conn.query(`DELETE FROM abandoned_cart WHERE id IN (${ids.map(() => '?').join(',')})`, ids);
|
|
107
|
+
deleted += ids.length;
|
|
108
|
+
if (ids.length < batch)
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
return deleted;
|
|
112
|
+
}
|
|
72
113
|
opts() {
|
|
73
114
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
74
115
|
const raw = (0, plugin_1.getOptions)().abandonment;
|
|
@@ -103,14 +144,14 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
103
144
|
// 1. Auto-mark existing abandoned rows as converted when a
|
|
104
145
|
// matching checkout_completed lands afterwards.
|
|
105
146
|
const converted = await conn.query(`UPDATE abandoned_cart ac
|
|
106
|
-
SET ac.status = 'converted', ac
|
|
147
|
+
SET ac.status = 'converted', ac.\`recoveredAt\` = NOW(), ac.\`convertedAt\` = COALESCE(ac.\`convertedAt\`, NOW())
|
|
107
148
|
WHERE ac.status = 'abandoned'
|
|
108
149
|
AND EXISTS (
|
|
109
150
|
SELECT 1 FROM visitor_event ve
|
|
110
|
-
WHERE ve
|
|
151
|
+
WHERE ve.\`sessionId\` = ac.\`sessionId\`
|
|
111
152
|
AND ve.type = 'event'
|
|
112
153
|
AND ve.meta LIKE '%"eventType":"checkout_completed"%'
|
|
113
|
-
AND ve
|
|
154
|
+
AND ve.\`createdAt\` > ac.\`abandonedAt\`
|
|
114
155
|
)`, undefined, { needAffected: true });
|
|
115
156
|
const convertedCount = Number((_b = (_a = converted === null || converted === void 0 ? void 0 : converted.affectedRows) !== null && _a !== void 0 ? _a : converted === null || converted === void 0 ? void 0 : converted[1]) !== null && _b !== void 0 ? _b : 0);
|
|
116
157
|
// 2. Find candidate sessions.
|
|
@@ -120,62 +161,62 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
120
161
|
// lookup runs once per candidate, not once per row.
|
|
121
162
|
const candidates = await conn.query(`SELECT
|
|
122
163
|
agg.*,
|
|
123
|
-
c
|
|
124
|
-
c
|
|
125
|
-
c
|
|
164
|
+
c.\`firstName\` AS \`custFirstName\`,
|
|
165
|
+
c.\`lastName\` AS \`custLastName\`,
|
|
166
|
+
c.\`phoneNumber\` AS \`custPhone\`
|
|
126
167
|
FROM (SELECT
|
|
127
|
-
ve
|
|
128
|
-
MAX(ve
|
|
129
|
-
MAX(ve
|
|
130
|
-
MAX(ve
|
|
131
|
-
MIN(ve
|
|
132
|
-
MAX(ve
|
|
168
|
+
ve.\`sessionId\`,
|
|
169
|
+
MAX(ve.\`visitorId\`) AS \`visitorId\`,
|
|
170
|
+
MAX(ve.\`customerId\`) AS \`customerId\`,
|
|
171
|
+
MAX(ve.\`channelId\`) AS \`channelId\`,
|
|
172
|
+
MIN(ve.\`createdAt\`) AS \`firstAt\`,
|
|
173
|
+
MAX(ve.\`createdAt\`) AS \`lastAt\`,
|
|
133
174
|
-- Landing URL: the earliest URL in the session (window-fn
|
|
134
175
|
-- would be cleaner but MariaDB 10.2+ has FIRST_VALUE via
|
|
135
176
|
-- SUBSTRING_INDEX(GROUP_CONCAT()) — same trick we use for
|
|
136
177
|
-- lastMeta below).
|
|
137
|
-
SUBSTRING_INDEX(GROUP_CONCAT(ve.url ORDER BY ve
|
|
138
|
-
SUBSTRING_INDEX(GROUP_CONCAT(ve.url ORDER BY ve
|
|
139
|
-
SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve
|
|
140
|
-
SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve
|
|
141
|
-
MAX(ve
|
|
142
|
-
MAX(ve
|
|
143
|
-
MAX(ve
|
|
144
|
-
MAX(ve.country) AS countryCode
|
|
145
|
-
MAX(ve.region) AS regionCode
|
|
178
|
+
SUBSTRING_INDEX(GROUP_CONCAT(ve.url ORDER BY ve.\`createdAt\` ASC SEPARATOR '¦'), '¦', 1) AS \`firstUrl\`,
|
|
179
|
+
SUBSTRING_INDEX(GROUP_CONCAT(ve.url ORDER BY ve.\`createdAt\` DESC SEPARATOR '¦'), '¦', 1) AS \`lastUrl\`,
|
|
180
|
+
SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve.\`createdAt\` ASC SEPARATOR '¦'), '¦', 1) AS \`firstReferrer\`,
|
|
181
|
+
SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve.\`createdAt\` DESC SEPARATOR '¦'), '¦', 1) AS \`lastReferrer\`,
|
|
182
|
+
MAX(ve.\`utmSource\`) AS \`utmSource\`,
|
|
183
|
+
MAX(ve.\`utmMedium\`) AS \`utmMedium\`,
|
|
184
|
+
MAX(ve.\`utmCampaign\`) AS \`utmCampaign\`,
|
|
185
|
+
MAX(ve.country) AS \`countryCode\`,
|
|
186
|
+
MAX(ve.region) AS \`regionCode\`,
|
|
146
187
|
MAX(ve.ip) AS ip,
|
|
147
|
-
MAX(ve
|
|
148
|
-
MAX(ve
|
|
188
|
+
MAX(ve.\`ipHash\`) AS \`ipHash\`,
|
|
189
|
+
MAX(ve.\`userAgent\`) AS \`userAgent\`,
|
|
149
190
|
MAX(ve.browser) AS browser,
|
|
150
191
|
-- Total pageview events in the same session — cheap
|
|
151
192
|
-- "high-intent vs quick-bounce" facet in the admin.
|
|
152
|
-
SUM(CASE WHEN ve.type = 'pageview' THEN 1 ELSE 0 END) AS pageViews
|
|
153
|
-
SUBSTRING_INDEX(GROUP_CONCAT(ve.meta ORDER BY ve
|
|
193
|
+
SUM(CASE WHEN ve.type = 'pageview' THEN 1 ELSE 0 END) AS \`pageViews\`,
|
|
194
|
+
SUBSTRING_INDEX(GROUP_CONCAT(ve.meta ORDER BY ve.\`createdAt\` DESC SEPARATOR '¦'), '¦', 1) AS \`lastMeta\`
|
|
154
195
|
FROM visitor_event ve
|
|
155
|
-
WHERE ve
|
|
156
|
-
SELECT DISTINCT ve0
|
|
196
|
+
WHERE ve.\`sessionId\` IN (
|
|
197
|
+
SELECT DISTINCT ve0.\`sessionId\`
|
|
157
198
|
FROM visitor_event ve0
|
|
158
199
|
WHERE ve0.type = 'event'
|
|
159
200
|
AND ve0.meta LIKE '%"eventType":"cart_snapshot"%'
|
|
160
|
-
AND ve0
|
|
161
|
-
AND ve0
|
|
201
|
+
AND ve0.\`createdAt\` >= DATE_SUB(NOW(), INTERVAL 48 HOUR)
|
|
202
|
+
AND ve0.\`createdAt\` <= ?
|
|
162
203
|
)
|
|
163
204
|
AND NOT EXISTS (
|
|
164
205
|
SELECT 1 FROM visitor_event ve2
|
|
165
|
-
WHERE ve2
|
|
206
|
+
WHERE ve2.\`sessionId\` = ve.\`sessionId\`
|
|
166
207
|
AND ve2.type = 'event'
|
|
167
208
|
AND ve2.meta LIKE '%"eventType":"checkout_completed"%'
|
|
168
209
|
)
|
|
169
210
|
AND NOT EXISTS (
|
|
170
211
|
SELECT 1 FROM visitor_event ve3
|
|
171
|
-
WHERE ve3
|
|
212
|
+
WHERE ve3.\`sessionId\` = ve.\`sessionId\`
|
|
172
213
|
AND ve3.type = 'event'
|
|
173
214
|
AND ve3.meta LIKE '%"eventType":"cart_snapshot"%'
|
|
174
|
-
AND ve3
|
|
215
|
+
AND ve3.\`createdAt\` > ?
|
|
175
216
|
)
|
|
176
|
-
GROUP BY ve
|
|
217
|
+
GROUP BY ve.\`sessionId\`
|
|
177
218
|
LIMIT 500) agg
|
|
178
|
-
LEFT JOIN customer c ON c.id = agg
|
|
219
|
+
LEFT JOIN customer c ON c.id = agg.\`customerId\` AND c.\`deletedAt\` IS NULL`, [cutoff, cutoff]);
|
|
179
220
|
let opened = 0;
|
|
180
221
|
let slacked = 0;
|
|
181
222
|
for (const c of candidates) {
|
|
@@ -189,7 +230,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
189
230
|
const items = Array.isArray(meta.items) ? meta.items : [];
|
|
190
231
|
const email = (meta.email || '').trim().toLowerCase() || null;
|
|
191
232
|
const emailHash = email ? (0, crypto_1.createHash)('sha256').update(email).digest('hex') : null;
|
|
192
|
-
const existing = await conn.query(`SELECT id, status, notificationSent FROM abandoned_cart WHERE sessionId = ? LIMIT 1`, [c.sessionId]);
|
|
233
|
+
const existing = await conn.query(`SELECT id, status, \`notificationSent\` FROM abandoned_cart WHERE \`sessionId\` = ? LIMIT 1`, [c.sessionId]);
|
|
193
234
|
// Dwell = last activity − first activity, in seconds.
|
|
194
235
|
// Denormalised so admin filters + sorting don't need to
|
|
195
236
|
// recompute on every read.
|
|
@@ -202,23 +243,23 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
202
243
|
if (existing[0].status !== 'abandoned')
|
|
203
244
|
continue;
|
|
204
245
|
await conn.query(`UPDATE abandoned_cart SET
|
|
205
|
-
totalMinor = ?, itemCount = ?, itemsJson = ?,
|
|
246
|
+
\`totalMinor\` = ?, \`itemCount\` = ?, \`itemsJson\` = ?,
|
|
206
247
|
email = COALESCE(?, email),
|
|
207
|
-
emailHash = COALESCE(?, emailHash),
|
|
208
|
-
lastSnapshotAt = ?, lastKnownUrl = ?,
|
|
209
|
-
countryCode = COALESCE(?, countryCode),
|
|
210
|
-
regionCode = COALESCE(?, regionCode),
|
|
248
|
+
\`emailHash\` = COALESCE(?, \`emailHash\`),
|
|
249
|
+
\`lastSnapshotAt\` = ?, \`lastKnownUrl\` = ?,
|
|
250
|
+
\`countryCode\` = COALESCE(?, \`countryCode\`),
|
|
251
|
+
\`regionCode\` = COALESCE(?, \`regionCode\`),
|
|
211
252
|
ip = COALESCE(?, ip),
|
|
212
|
-
ipHash = COALESCE(?, ipHash),
|
|
213
|
-
userAgent = COALESCE(?, userAgent),
|
|
253
|
+
\`ipHash\` = COALESCE(?, \`ipHash\`),
|
|
254
|
+
\`userAgent\` = COALESCE(?, \`userAgent\`),
|
|
214
255
|
browser = COALESCE(?, browser),
|
|
215
|
-
deviceType = COALESCE(?, deviceType),
|
|
216
|
-
pageViews = ?,
|
|
217
|
-
dwellSeconds = ?,
|
|
218
|
-
firstName = COALESCE(?, firstName),
|
|
219
|
-
lastName = COALESCE(?, lastName),
|
|
256
|
+
\`deviceType\` = COALESCE(?, \`deviceType\`),
|
|
257
|
+
\`pageViews\` = ?,
|
|
258
|
+
\`dwellSeconds\` = ?,
|
|
259
|
+
\`firstName\` = COALESCE(?, \`firstName\`),
|
|
260
|
+
\`lastName\` = COALESCE(?, \`lastName\`),
|
|
220
261
|
phone = COALESCE(?, phone),
|
|
221
|
-
updatedAt = NOW(3)
|
|
262
|
+
\`updatedAt\` = NOW(3)
|
|
222
263
|
WHERE id = ?`, [
|
|
223
264
|
totalMinor, itemCount, JSON.stringify(items),
|
|
224
265
|
email, emailHash,
|
|
@@ -235,24 +276,24 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
235
276
|
continue;
|
|
236
277
|
}
|
|
237
278
|
await conn.query(`INSERT INTO abandoned_cart (
|
|
238
|
-
visitorId
|
|
239
|
-
currency, totalMinor
|
|
240
|
-
email, emailHash
|
|
241
|
-
firstSnapshotAt
|
|
242
|
-
status, lastKnownUrl
|
|
243
|
-
utmSource
|
|
244
|
-
regionCode
|
|
245
|
-
userAgent
|
|
246
|
-
pageViews
|
|
247
|
-
firstName
|
|
248
|
-
notificationSent
|
|
279
|
+
\`visitorId\`, \`sessionId\`, \`customerId\`, \`channelId\`,
|
|
280
|
+
currency, \`totalMinor\`, \`itemCount\`, \`itemsJson\`,
|
|
281
|
+
email, \`emailHash\`,
|
|
282
|
+
\`firstSnapshotAt\`, \`lastSnapshotAt\`, \`abandonedAt\`,
|
|
283
|
+
status, \`lastKnownUrl\`, \`lastKnownReferrer\`, \`landingUrl\`,
|
|
284
|
+
\`utmSource\`, \`utmMedium\`, \`utmCampaign\`, \`countryCode\`,
|
|
285
|
+
\`regionCode\`, city, ip, \`ipHash\`,
|
|
286
|
+
\`userAgent\`, browser, \`deviceType\`,
|
|
287
|
+
\`pageViews\`, \`dwellSeconds\`,
|
|
288
|
+
\`firstName\`, \`lastName\`, phone,
|
|
289
|
+
\`notificationSent\`, \`createdAt\`, \`updatedAt\`
|
|
249
290
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(3), 'abandoned',
|
|
250
291
|
?, ?, ?, ?, ?, ?, ?,
|
|
251
292
|
?, ?, ?, ?,
|
|
252
293
|
?, ?, ?,
|
|
253
294
|
?, ?,
|
|
254
295
|
?, ?, ?,
|
|
255
|
-
|
|
296
|
+
FALSE, NOW(3), NOW(3))`, [
|
|
256
297
|
c.visitorId, c.sessionId, c.customerId, c.channelId || 1,
|
|
257
298
|
(meta.currency || 'GBP').slice(0, 3), totalMinor, itemCount, JSON.stringify(items),
|
|
258
299
|
email, emailHash,
|
|
@@ -273,7 +314,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
273
314
|
lastUrl: c.lastUrl,
|
|
274
315
|
currency: (meta.currency || 'GBP').slice(0, 3),
|
|
275
316
|
});
|
|
276
|
-
await conn.query(`UPDATE abandoned_cart SET notificationSent =
|
|
317
|
+
await conn.query(`UPDATE abandoned_cart SET \`notificationSent\` = TRUE WHERE \`sessionId\` = ?`, [c.sessionId]);
|
|
277
318
|
slacked += 1;
|
|
278
319
|
}
|
|
279
320
|
catch (e) {
|
|
@@ -306,8 +347,8 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
306
347
|
if (!o.recoveryLinkSecret)
|
|
307
348
|
return null;
|
|
308
349
|
const conn = (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection);
|
|
309
|
-
const rows = await conn.query(`SELECT ac
|
|
310
|
-
FROM abandoned_cart ac LEFT JOIN channel ch ON ch.id = ac
|
|
350
|
+
const rows = await conn.query(`SELECT ac.\`sessionId\`, ac.\`visitorId\`, ac.\`channelId\`, ac.\`recoveryStep\`, ch.code AS \`channelCode\`
|
|
351
|
+
FROM abandoned_cart ac LEFT JOIN channel ch ON ch.id = ac.\`channelId\`
|
|
311
352
|
WHERE ac.id = ? LIMIT 1`, [cartId]);
|
|
312
353
|
if (!(rows === null || rows === void 0 ? void 0 : rows.length))
|
|
313
354
|
return null;
|
|
@@ -317,11 +358,11 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
317
358
|
if (options.resumeOrderCode !== undefined) {
|
|
318
359
|
const code = options.resumeOrderCode === null ? null : (0, recovery_tokens_1.sanitiseOrderCode)(options.resumeOrderCode) || null;
|
|
319
360
|
await conn.query(`UPDATE abandoned_cart
|
|
320
|
-
SET recoveryToken = ?, recoveryTokenExpiresAt = ?, resumeOrderCode = ?, recoveryStep = ?
|
|
361
|
+
SET \`recoveryToken\` = ?, \`recoveryTokenExpiresAt\` = ?, \`resumeOrderCode\` = ?, \`recoveryStep\` = ?
|
|
321
362
|
WHERE id = ?`, [token, expiresAt, code, step, cartId]);
|
|
322
363
|
}
|
|
323
364
|
else {
|
|
324
|
-
await conn.query(`UPDATE abandoned_cart SET recoveryToken = ?, recoveryTokenExpiresAt = ?, recoveryStep = ? WHERE id = ?`, [token, expiresAt, step, cartId]);
|
|
365
|
+
await conn.query(`UPDATE abandoned_cart SET \`recoveryToken\` = ?, \`recoveryTokenExpiresAt\` = ?, \`recoveryStep\` = ? WHERE id = ?`, [token, expiresAt, step, cartId]);
|
|
325
366
|
}
|
|
326
367
|
return `${this.storefrontBaseFor(rows[0].channelCode)}/cart/restore?t=${token}`;
|
|
327
368
|
}
|
|
@@ -348,8 +389,8 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
348
389
|
const t = String(token || '').trim();
|
|
349
390
|
if (!t || t.length > 128)
|
|
350
391
|
return null;
|
|
351
|
-
const rows = await conn.query(`SELECT id, currency, itemsJson
|
|
352
|
-
FROM abandoned_cart WHERE recoveryToken = ? LIMIT 1`, [t]);
|
|
392
|
+
const rows = await conn.query(`SELECT id, currency, \`itemsJson\`, email, \`recoveryTokenExpiresAt\`, status, \`resumeOrderCode\`, \`recoveryStep\`, \`channelId\`
|
|
393
|
+
FROM abandoned_cart WHERE \`recoveryToken\` = ? LIMIT 1`, [t]);
|
|
353
394
|
if (!(rows === null || rows === void 0 ? void 0 : rows.length))
|
|
354
395
|
return null;
|
|
355
396
|
const r = rows[0];
|
|
@@ -361,7 +402,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
361
402
|
}
|
|
362
403
|
const step = (0, recovery_tokens_1.advanceRecoveryStep)(r.recoveryStep, 'link_opened');
|
|
363
404
|
if (step !== r.recoveryStep) {
|
|
364
|
-
await conn.query(`UPDATE abandoned_cart SET recoveryStep = ? WHERE id = ?`, [step, r.id]);
|
|
405
|
+
await conn.query(`UPDATE abandoned_cart SET \`recoveryStep\` = ? WHERE id = ?`, [step, r.id]);
|
|
365
406
|
}
|
|
366
407
|
return this.buildRecoveredCart(r);
|
|
367
408
|
}
|
|
@@ -381,7 +422,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
381
422
|
const resumeOrderCode = cart.resumable ? cart.orderCode : null;
|
|
382
423
|
if (resumeOrderCode) {
|
|
383
424
|
const conn = (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection);
|
|
384
|
-
await conn.query(`UPDATE abandoned_cart SET recoveryStep = ? WHERE id = ? AND (recoveryStep IS NULL OR recoveryStep IN ('link_issued','link_opened'))`, ['resumed', cart.id]);
|
|
425
|
+
await conn.query(`UPDATE abandoned_cart SET \`recoveryStep\` = ? WHERE id = ? AND (\`recoveryStep\` IS NULL OR \`recoveryStep\` IN ('link_issued','link_opened'))`, ['resumed', cart.id]);
|
|
385
426
|
}
|
|
386
427
|
return { ...cart, resumeOrderCode };
|
|
387
428
|
}
|
|
@@ -401,7 +442,7 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
401
442
|
const code = (0, recovery_tokens_1.sanitiseOrderCode)(orderCode);
|
|
402
443
|
if (!t || t.length > 128 || !code)
|
|
403
444
|
return { ok: false, error: 'invalid-token' };
|
|
404
|
-
const rows = await conn.query(`SELECT id, status, convertedOrderCode FROM abandoned_cart WHERE recoveryToken = ? LIMIT 1`, [t]);
|
|
445
|
+
const rows = await conn.query(`SELECT id, status, \`convertedOrderCode\` FROM abandoned_cart WHERE \`recoveryToken\` = ? LIMIT 1`, [t]);
|
|
405
446
|
if (!(rows === null || rows === void 0 ? void 0 : rows.length))
|
|
406
447
|
return { ok: false, error: 'invalid-token' };
|
|
407
448
|
const cart = rows[0];
|
|
@@ -416,12 +457,12 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
416
457
|
}
|
|
417
458
|
await conn.query(`UPDATE abandoned_cart
|
|
418
459
|
SET status = 'converted',
|
|
419
|
-
recoveredAt = COALESCE(recoveredAt
|
|
420
|
-
convertedAt = COALESCE(convertedAt
|
|
421
|
-
convertedOrderId = ?,
|
|
422
|
-
convertedOrderCode = ?,
|
|
423
|
-
recoveryOrderId = COALESCE(recoveryOrderId
|
|
424
|
-
recoveryStep = 'converted'
|
|
460
|
+
\`recoveredAt\` = COALESCE(\`recoveredAt\`, NOW(3)),
|
|
461
|
+
\`convertedAt\` = COALESCE(\`convertedAt\`, NOW(3)),
|
|
462
|
+
\`convertedOrderId\` = ?,
|
|
463
|
+
\`convertedOrderCode\` = ?,
|
|
464
|
+
\`recoveryOrderId\` = COALESCE(\`recoveryOrderId\`, ?),
|
|
465
|
+
\`recoveryStep\` = 'converted'
|
|
425
466
|
WHERE id = ?`, [order.id, order.code, order.id, cart.id]);
|
|
426
467
|
common_1.Logger.log(`Recovery link converted: cart=${cart.id} order=${order.code}`, loggerCtx);
|
|
427
468
|
return { ok: true, cartId: Number(cart.id), orderCode: order.code, alreadyConverted: false };
|
|
@@ -501,14 +542,14 @@ let AbandonedCartService = class AbandonedCartService {
|
|
|
501
542
|
var _a;
|
|
502
543
|
const conn = (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection);
|
|
503
544
|
const rows = await conn.query(`SELECT
|
|
504
|
-
SUM(CASE WHEN recoveryStep IS NOT NULL THEN 1 ELSE 0 END) AS linkIssued
|
|
505
|
-
SUM(CASE WHEN recoveryStep IN ('link_opened','resumed','converted') THEN 1 ELSE 0 END) AS linkOpened
|
|
506
|
-
SUM(CASE WHEN recoveryStep IN ('resumed','converted') THEN 1 ELSE 0 END) AS resumed,
|
|
507
|
-
SUM(CASE WHEN recoveryStep = 'converted' THEN 1 ELSE 0 END) AS convertedViaLink
|
|
508
|
-
SUM(CASE WHEN recoveryStep = 'converted' THEN totalMinor ELSE 0 END) AS convertedViaLinkValueMinor
|
|
509
|
-
SUM(CASE WHEN status = 'converted' THEN 1 ELSE 0 END) AS convertedTotal
|
|
545
|
+
SUM(CASE WHEN \`recoveryStep\` IS NOT NULL THEN 1 ELSE 0 END) AS \`linkIssued\`,
|
|
546
|
+
SUM(CASE WHEN \`recoveryStep\` IN ('link_opened','resumed','converted') THEN 1 ELSE 0 END) AS \`linkOpened\`,
|
|
547
|
+
SUM(CASE WHEN \`recoveryStep\` IN ('resumed','converted') THEN 1 ELSE 0 END) AS resumed,
|
|
548
|
+
SUM(CASE WHEN \`recoveryStep\` = 'converted' THEN 1 ELSE 0 END) AS \`convertedViaLink\`,
|
|
549
|
+
SUM(CASE WHEN \`recoveryStep\` = 'converted' THEN \`totalMinor\` ELSE 0 END) AS \`convertedViaLinkValueMinor\`,
|
|
550
|
+
SUM(CASE WHEN status = 'converted' THEN 1 ELSE 0 END) AS \`convertedTotal\`
|
|
510
551
|
FROM abandoned_cart
|
|
511
|
-
WHERE abandonedAt >= ?`, [since]);
|
|
552
|
+
WHERE \`abandonedAt\` >= ?`, [since]);
|
|
512
553
|
let optOuts = 0;
|
|
513
554
|
try {
|
|
514
555
|
const o = await conn.query(`SELECT COUNT(*) AS c FROM abandoned_cart_opt_out WHERE createdAt >= ?`, [since]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abandoned-cart.service.js","sourceRoot":"","sources":["../src/abandoned-cart.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abandoned-cart.service.js","sourceRoot":"","sources":["../src/abandoned-cart.service.ts"],"names":[],"mappings":"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"}
|
package/dist/admin-api.js
CHANGED
|
@@ -103,7 +103,7 @@ function clampDays(input) {
|
|
|
103
103
|
}
|
|
104
104
|
function channelFilter(channelId) {
|
|
105
105
|
if (channelId)
|
|
106
|
-
return { where: ' AND channelId = ?', params: [channelId] };
|
|
106
|
+
return { where: ' AND `channelId` = ?', params: [channelId] };
|
|
107
107
|
return { where: '', params: [] };
|
|
108
108
|
}
|
|
109
109
|
let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
@@ -113,19 +113,19 @@ let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
|
113
113
|
async huloVisitorSummary(ctx, channelId, daysInput) {
|
|
114
114
|
const days = clampDays(daysInput);
|
|
115
115
|
const c = channelFilter(channelId);
|
|
116
|
-
const totals = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(DISTINCT visitorId) AS visitors,
|
|
117
|
-
COUNT(DISTINCT sessionId) AS sessions,
|
|
118
|
-
SUM(CASE WHEN type='pageview' THEN 1 ELSE 0 END) AS pageViews
|
|
116
|
+
const totals = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(DISTINCT \`visitorId\`) AS visitors,
|
|
117
|
+
COUNT(DISTINCT \`sessionId\`) AS sessions,
|
|
118
|
+
SUM(CASE WHEN type='pageview' THEN 1 ELSE 0 END) AS \`pageViews\`,
|
|
119
119
|
COUNT(*) AS events
|
|
120
120
|
FROM visitor_event
|
|
121
|
-
WHERE createdAt >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}`, [days, ...c.params]);
|
|
121
|
+
WHERE \`createdAt\` >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}`, [days, ...c.params]);
|
|
122
122
|
const t = totals[0] || {};
|
|
123
123
|
// Aggregate in SQL: the old version pulled every session row of the range into Node.
|
|
124
|
-
const [agg] = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(*) AS sessions, SUM(CASE WHEN n <= 1 THEN 1 ELSE 0 END) AS bounces, AVG(dur) AS avgDur
|
|
125
|
-
FROM (SELECT sessionId
|
|
124
|
+
const [agg] = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(*) AS sessions, SUM(CASE WHEN n <= 1 THEN 1 ELSE 0 END) AS bounces, AVG(dur) AS \`avgDur\`
|
|
125
|
+
FROM (SELECT \`sessionId\`, COUNT(*) AS n, TIMESTAMPDIFF(SECOND, MIN(\`createdAt\`), MAX(\`createdAt\`)) AS dur
|
|
126
126
|
FROM visitor_event
|
|
127
|
-
WHERE createdAt >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
128
|
-
GROUP BY sessionId) s`, [days, ...c.params]);
|
|
127
|
+
WHERE \`createdAt\` >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
128
|
+
GROUP BY \`sessionId\`) s`, [days, ...c.params]);
|
|
129
129
|
const ssRows = { length: Number(agg === null || agg === void 0 ? void 0 : agg.sessions) || 0 };
|
|
130
130
|
const bounces = Number(agg === null || agg === void 0 ? void 0 : agg.bounces) || 0;
|
|
131
131
|
const avg = Number(agg === null || agg === void 0 ? void 0 : agg.avgDur) || 0;
|
|
@@ -142,11 +142,11 @@ let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
|
142
142
|
async huloVisitorSources(channelId, daysInput) {
|
|
143
143
|
const days = clampDays(daysInput);
|
|
144
144
|
const c = channelFilter(channelId);
|
|
145
|
-
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COALESCE(NULLIF(referrerDomain
|
|
146
|
-
COUNT(DISTINCT visitorId) AS visitors,
|
|
147
|
-
COUNT(DISTINCT sessionId) AS sessions
|
|
145
|
+
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COALESCE(NULLIF(\`referrerDomain\`, ''), '(direct)') AS source,
|
|
146
|
+
COUNT(DISTINCT \`visitorId\`) AS visitors,
|
|
147
|
+
COUNT(DISTINCT \`sessionId\`) AS sessions
|
|
148
148
|
FROM visitor_event
|
|
149
|
-
WHERE createdAt >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
149
|
+
WHERE \`createdAt\` >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
150
150
|
GROUP BY source ORDER BY sessions DESC LIMIT 50`, [days, ...c.params]);
|
|
151
151
|
return rows.map((r) => ({
|
|
152
152
|
source: r.source,
|
|
@@ -160,11 +160,11 @@ let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
|
160
160
|
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT url,
|
|
161
161
|
MAX(title) AS title,
|
|
162
162
|
COUNT(*) AS views,
|
|
163
|
-
COUNT(DISTINCT visitorId) AS uniqueVisitors
|
|
164
|
-
AVG(COALESCE(timeOnPageMs
|
|
163
|
+
COUNT(DISTINCT \`visitorId\`) AS \`uniqueVisitors\`,
|
|
164
|
+
AVG(COALESCE(\`timeOnPageMs\`, 0)) / 1000 AS \`avgTimeOnPageSec\`
|
|
165
165
|
FROM visitor_event
|
|
166
166
|
WHERE type = 'pageview'
|
|
167
|
-
AND createdAt >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
167
|
+
AND \`createdAt\` >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}
|
|
168
168
|
GROUP BY url ORDER BY views DESC LIMIT 50`, [days, ...c.params]);
|
|
169
169
|
return rows.map((r) => ({
|
|
170
170
|
url: r.url || '',
|
|
@@ -188,11 +188,11 @@ let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
|
188
188
|
let prevUsers = null;
|
|
189
189
|
for (let i = 0; i < steps.length; i++) {
|
|
190
190
|
const pattern = steps[i];
|
|
191
|
-
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(DISTINCT visitorId) AS n
|
|
191
|
+
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT COUNT(DISTINCT \`visitorId\`) AS n
|
|
192
192
|
FROM visitor_event
|
|
193
193
|
WHERE type = 'pageview'
|
|
194
194
|
AND url LIKE ?
|
|
195
|
-
AND createdAt >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}`, [pattern.replace(/\*/g, '%'), days, ...c.params]);
|
|
195
|
+
AND \`createdAt\` >= DATE_SUB(NOW(), INTERVAL ? DAY)${c.where}`, [pattern.replace(/\*/g, '%'), days, ...c.params]);
|
|
196
196
|
const users = Number((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.n) || 0;
|
|
197
197
|
const dropOff = prevUsers && prevUsers > 0 ? 1 - (users / prevUsers) : 0;
|
|
198
198
|
out.push({ index: i, urlPattern: pattern, label: null, users, dropOffPct: dropOff });
|
|
@@ -203,12 +203,12 @@ let VisitorAnalyticsAdminResolver = class VisitorAnalyticsAdminResolver {
|
|
|
203
203
|
async huloVisitorJourney(visitorId) {
|
|
204
204
|
if (!visitorId)
|
|
205
205
|
return [];
|
|
206
|
-
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT id, createdAt
|
|
206
|
+
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT id, \`createdAt\`, type, url, title, \`referrerDomain\`,
|
|
207
207
|
country, region, city, browser, os, device,
|
|
208
|
-
sessionId
|
|
208
|
+
\`sessionId\`, \`visitorId\`, \`customerId\`
|
|
209
209
|
FROM visitor_event
|
|
210
|
-
WHERE visitorId = ?
|
|
211
|
-
ORDER BY createdAt ASC LIMIT 1000`, [String(visitorId)]);
|
|
210
|
+
WHERE \`visitorId\` = ?
|
|
211
|
+
ORDER BY \`createdAt\` ASC LIMIT 1000`, [String(visitorId)]);
|
|
212
212
|
return rows;
|
|
213
213
|
}
|
|
214
214
|
};
|
package/dist/admin-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../src/admin-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,2CAA4C;AAC5C,6CAAwD;AACxD,6CAAkC;AAClC,wCAAgG;AAChG,yEAA6D;AAEhD,QAAA,8BAA8B,GAAG,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEhD,CAAC;AAEF,SAAS,SAAS,CAAC,KAAU;IACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,aAAa,CAAC,SAAkB;IACrC,IAAI,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../src/admin-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const vitest_1 = require("vitest");
|
|
4
|
-
const
|
|
4
|
+
const ingest_utils_1 = require("./ingest-utils");
|
|
5
5
|
const proxy_headers_1 = require("./proxy-headers");
|
|
6
6
|
(0, vitest_1.describe)('normaliseUrl', () => {
|
|
7
7
|
(0, vitest_1.it)('reduces hulo.js absolute URLs to path + query and leaves paths alone', () => {
|
|
8
|
-
(0, vitest_1.expect)((0,
|
|
9
|
-
(0, vitest_1.expect)((0,
|
|
10
|
-
(0, vitest_1.expect)((0,
|
|
8
|
+
(0, vitest_1.expect)((0, ingest_utils_1.normaliseUrl)('https://shop.example/products/widget?x=1#top')).toBe('/products/widget?x=1');
|
|
9
|
+
(0, vitest_1.expect)((0, ingest_utils_1.normaliseUrl)('/checkout/confirmation/ABC')).toBe('/checkout/confirmation/ABC');
|
|
10
|
+
(0, vitest_1.expect)((0, ingest_utils_1.normaliseUrl)('')).toBe('');
|
|
11
11
|
});
|
|
12
12
|
});
|
|
13
13
|
(0, vitest_1.describe)('boundedMeta', () => {
|
|
14
14
|
(0, vitest_1.it)('keeps small payloads verbatim and shrinks a huge cart snapshot without cutting the JSON', () => {
|
|
15
|
-
(0, vitest_1.expect)((0,
|
|
15
|
+
(0, vitest_1.expect)((0, ingest_utils_1.boundedMeta)({ a: 1 })).toBe('{"a":1}');
|
|
16
16
|
const items = Array.from({ length: 400 }, (_, i) => ({ sku: `SKU-${i}`, name: 'x'.repeat(200), qty: 1 }));
|
|
17
|
-
const out = (0,
|
|
17
|
+
const out = (0, ingest_utils_1.boundedMeta)({ eventType: 'cart_snapshot', items }, 20000);
|
|
18
18
|
const parsed = JSON.parse(out);
|
|
19
19
|
(0, vitest_1.expect)(out.length).toBeLessThanOrEqual(20000);
|
|
20
20
|
(0, vitest_1.expect)(parsed.itemsTruncated).toBe(true);
|