@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.
Files changed (46) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +20 -8
  3. package/dist/abandoned-cart.controller.d.ts.map +1 -1
  4. package/dist/abandoned-cart.controller.js +55 -38
  5. package/dist/abandoned-cart.controller.js.map +1 -1
  6. package/dist/abandoned-cart.scanner.d.ts +4 -0
  7. package/dist/abandoned-cart.scanner.d.ts.map +1 -1
  8. package/dist/abandoned-cart.scanner.js +28 -0
  9. package/dist/abandoned-cart.scanner.js.map +1 -1
  10. package/dist/abandoned-cart.service.d.ts +9 -0
  11. package/dist/abandoned-cart.service.d.ts.map +1 -1
  12. package/dist/abandoned-cart.service.js +125 -84
  13. package/dist/abandoned-cart.service.js.map +1 -1
  14. package/dist/admin-api.js +22 -22
  15. package/dist/admin-api.js.map +1 -1
  16. package/dist/ingest-hardening.test.js +6 -6
  17. package/dist/ingest-hardening.test.js.map +1 -1
  18. package/dist/ingest-utils.d.ts +6 -0
  19. package/dist/ingest-utils.d.ts.map +1 -0
  20. package/dist/ingest-utils.js +34 -0
  21. package/dist/ingest-utils.js.map +1 -0
  22. package/dist/journey-buffs.service.js +21 -21
  23. package/dist/recommendations.controller.d.ts +10 -4
  24. package/dist/recommendations.controller.d.ts.map +1 -1
  25. package/dist/recommendations.controller.js +9 -6
  26. package/dist/recommendations.controller.js.map +1 -1
  27. package/dist/recommendations.service.d.ts +28 -8
  28. package/dist/recommendations.service.d.ts.map +1 -1
  29. package/dist/recommendations.service.js +164 -78
  30. package/dist/recommendations.service.js.map +1 -1
  31. package/dist/search-analytics.service.d.ts.map +1 -1
  32. package/dist/search-analytics.service.js +22 -18
  33. package/dist/search-analytics.service.js.map +1 -1
  34. package/dist/sql-fragments.d.ts +25 -0
  35. package/dist/sql-fragments.d.ts.map +1 -0
  36. package/dist/sql-fragments.js +31 -0
  37. package/dist/sql-fragments.js.map +1 -0
  38. package/dist/visitor-tracking.controller.d.ts +8 -1
  39. package/dist/visitor-tracking.controller.d.ts.map +1 -1
  40. package/dist/visitor-tracking.controller.js +219 -134
  41. package/dist/visitor-tracking.controller.js.map +1 -1
  42. package/dist/visitor-tracking.service.d.ts +0 -4
  43. package/dist/visitor-tracking.service.d.ts.map +1 -1
  44. package/dist/visitor-tracking.service.js +3 -32
  45. package/dist/visitor-tracking.service.js.map +1 -1
  46. 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 conn.query(`ALTER TABLE abandoned_cart ADD COLUMN IF NOT EXISTS ${name} ${type}`);
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.recoveredAt = NOW(), ac.convertedAt = COALESCE(ac.convertedAt, NOW())
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.sessionId = ac.sessionId
151
+ WHERE ve.\`sessionId\` = ac.\`sessionId\`
111
152
  AND ve.type = 'event'
112
153
  AND ve.meta LIKE '%"eventType":"checkout_completed"%'
113
- AND ve.createdAt > ac.abandonedAt
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.firstName AS custFirstName,
124
- c.lastName AS custLastName,
125
- c.phoneNumber AS custPhone
164
+ c.\`firstName\` AS \`custFirstName\`,
165
+ c.\`lastName\` AS \`custLastName\`,
166
+ c.\`phoneNumber\` AS \`custPhone\`
126
167
  FROM (SELECT
127
- ve.sessionId,
128
- MAX(ve.visitorId) AS visitorId,
129
- MAX(ve.customerId) AS customerId,
130
- MAX(ve.channelId) AS channelId,
131
- MIN(ve.createdAt) AS firstAt,
132
- MAX(ve.createdAt) AS lastAt,
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.createdAt ASC SEPARATOR '¦'), '¦', 1) AS firstUrl,
138
- SUBSTRING_INDEX(GROUP_CONCAT(ve.url ORDER BY ve.createdAt DESC SEPARATOR '¦'), '¦', 1) AS lastUrl,
139
- SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve.createdAt ASC SEPARATOR '¦'), '¦', 1) AS firstReferrer,
140
- SUBSTRING_INDEX(GROUP_CONCAT(ve.referrer ORDER BY ve.createdAt DESC SEPARATOR '¦'), '¦', 1) AS lastReferrer,
141
- MAX(ve.utmSource) AS utmSource,
142
- MAX(ve.utmMedium) AS utmMedium,
143
- MAX(ve.utmCampaign) AS utmCampaign,
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.ipHash) AS ipHash,
148
- MAX(ve.userAgent) AS userAgent,
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.createdAt DESC SEPARATOR '¦'), '¦', 1) AS lastMeta
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.sessionId IN (
156
- SELECT DISTINCT ve0.sessionId
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.createdAt >= (NOW() - INTERVAL 48 HOUR)
161
- AND ve0.createdAt <= ?
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.sessionId = ve.sessionId
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.sessionId = ve.sessionId
212
+ WHERE ve3.\`sessionId\` = ve.\`sessionId\`
172
213
  AND ve3.type = 'event'
173
214
  AND ve3.meta LIKE '%"eventType":"cart_snapshot"%'
174
- AND ve3.createdAt > ?
215
+ AND ve3.\`createdAt\` > ?
175
216
  )
176
- GROUP BY ve.sessionId
217
+ GROUP BY ve.\`sessionId\`
177
218
  LIMIT 500) agg
178
- LEFT JOIN customer c ON c.id = agg.customerId AND c.deletedAt IS NULL`, [cutoff, cutoff]);
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, sessionId, customerId, channelId,
239
- currency, totalMinor, itemCount, itemsJson,
240
- email, emailHash,
241
- firstSnapshotAt, lastSnapshotAt, abandonedAt,
242
- status, lastKnownUrl, lastKnownReferrer, landingUrl,
243
- utmSource, utmMedium, utmCampaign, countryCode,
244
- regionCode, city, ip, ipHash,
245
- userAgent, browser, deviceType,
246
- pageViews, dwellSeconds,
247
- firstName, lastName, phone,
248
- notificationSent, createdAt, updatedAt
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
- 0, NOW(3), NOW(3))`, [
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 = 1 WHERE sessionId = ?`, [c.sessionId]);
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.sessionId, ac.visitorId, ac.channelId, ac.recoveryStep, ch.code AS channelCode
310
- FROM abandoned_cart ac LEFT JOIN channel ch ON ch.id = ac.channelId
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, email, recoveryTokenExpiresAt, status, resumeOrderCode, recoveryStep, channelId
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, NOW(3)),
420
- convertedAt = COALESCE(convertedAt, NOW(3)),
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, COUNT(*) AS n, TIMESTAMPDIFF(SECOND, MIN(createdAt), MAX(createdAt)) AS dur
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, ''), '(direct)') AS source,
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, 0)) / 1000 AS avgTimeOnPageSec
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, type, url, title, referrerDomain,
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, visitorId, customerId
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../src/admin-api.ts"],"names":[],"mappings":"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"}
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 visitor_tracking_service_1 = require("./visitor-tracking.service");
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, visitor_tracking_service_1.normaliseUrl)('https://shop.example/products/widget?x=1#top')).toBe('/products/widget?x=1');
9
- (0, vitest_1.expect)((0, visitor_tracking_service_1.normaliseUrl)('/checkout/confirmation/ABC')).toBe('/checkout/confirmation/ABC');
10
- (0, vitest_1.expect)((0, visitor_tracking_service_1.normaliseUrl)('')).toBe('');
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, visitor_tracking_service_1.boundedMeta)({ a: 1 })).toBe('{"a":1}');
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, visitor_tracking_service_1.boundedMeta)({ eventType: 'cart_snapshot', items }, 20000);
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);