@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendations.service.js","sourceRoot":"","sources":["../src/recommendations.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recommendations.service.js","sourceRoot":"","sources":["../src/recommendations.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-analytics.service.d.ts","sourceRoot":"","sources":["../src/search-analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"search-analytics.service.d.ts","sourceRoot":"","sources":["../src/search-analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;;;;;;;;GAUG;AACH,qBACa,sBAAsB;IACnB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,uBAAuB;IAEvD,mDAAmD;IAC7C,UAAU,CAAC,SAAS,SAAI,EAAE,SAAS,SAAI,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtE,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IA4BH,iDAAiD;IAC3C,iBAAiB,CAAC,SAAS,SAAI,EAAE,SAAS,SAAI,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7E,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAqBH;;4DAEwD;IAClD,eAAe,CAAC,SAAS,SAAI,EAAE,SAAS,SAAI,GAAG,OAAO,CAAC;QACzD,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CA6BL"}
|
|
@@ -13,6 +13,7 @@ exports.SearchAnalyticsService = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const core_1 = require("@vendure/core");
|
|
15
15
|
const vendure_licence_sdk_1 = require("@huloglobal/vendure-licence-sdk");
|
|
16
|
+
const sql_fragments_1 = require("./sql-fragments");
|
|
16
17
|
/**
|
|
17
18
|
* Zero-schema-cost search analytics: reads back over the existing
|
|
18
19
|
* `visitor_event` table where the storefront has posted `type='event'`,
|
|
@@ -31,17 +32,20 @@ let SearchAnalyticsService = class SearchAnalyticsService {
|
|
|
31
32
|
/** Top search queries in the window, by volume. */
|
|
32
33
|
async topQueries(sinceDays = 7, channelId = 1, limit = 50) {
|
|
33
34
|
const since = new Date(Date.now() - sinceDays * 86400000);
|
|
34
|
-
const
|
|
35
|
+
const conn = (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection);
|
|
36
|
+
// The CAST is guarded (Postgres raises on a non-numeric token) and HAVING repeats
|
|
37
|
+
// the expression (Postgres does not resolve output aliases there).
|
|
38
|
+
const rows = await conn.query(`SELECT
|
|
35
39
|
LOWER(TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"query":"', -1), '"', 1))) AS query,
|
|
36
40
|
COUNT(*) AS searches,
|
|
37
|
-
AVG(
|
|
41
|
+
AVG(CASE WHEN ${(0, sql_fragments_1.digitsOnly)(conn.dialect, sql_fragments_1.RESULTS_COUNT_TOKEN)} THEN CAST(${sql_fragments_1.RESULTS_COUNT_TOKEN} AS UNSIGNED) END) AS \`avgResults\`
|
|
38
42
|
FROM visitor_event
|
|
39
43
|
WHERE type = 'event'
|
|
40
44
|
AND meta LIKE '%"eventType":"search"%'
|
|
41
|
-
AND channelId = ?
|
|
42
|
-
AND createdAt >= ?
|
|
43
|
-
GROUP BY query
|
|
44
|
-
HAVING query <> ''
|
|
45
|
+
AND \`channelId\` = ?
|
|
46
|
+
AND \`createdAt\` >= ?
|
|
47
|
+
GROUP BY LOWER(TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"query":"', -1), '"', 1)))
|
|
48
|
+
HAVING LOWER(TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"query":"', -1), '"', 1))) <> ''
|
|
45
49
|
ORDER BY searches DESC
|
|
46
50
|
LIMIT ?`, [channelId, since, Math.min(Math.max(1, limit), 500)]);
|
|
47
51
|
return rows.map(r => ({
|
|
@@ -60,10 +64,10 @@ let SearchAnalyticsService = class SearchAnalyticsService {
|
|
|
60
64
|
WHERE type = 'event'
|
|
61
65
|
AND meta LIKE '%"eventType":"search"%'
|
|
62
66
|
AND meta LIKE '%"resultsCount":0%'
|
|
63
|
-
AND channelId = ?
|
|
64
|
-
AND createdAt >= ?
|
|
65
|
-
GROUP BY query
|
|
66
|
-
HAVING query <> ''
|
|
67
|
+
AND \`channelId\` = ?
|
|
68
|
+
AND \`createdAt\` >= ?
|
|
69
|
+
GROUP BY LOWER(TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"query":"', -1), '"', 1)))
|
|
70
|
+
HAVING LOWER(TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"query":"', -1), '"', 1))) <> ''
|
|
67
71
|
ORDER BY searches DESC
|
|
68
72
|
LIMIT ?`, [channelId, since, Math.min(Math.max(1, limit), 500)]);
|
|
69
73
|
return rows.map(r => ({ query: String(r.query || ''), searches: Number(r.searches) }));
|
|
@@ -74,20 +78,20 @@ let SearchAnalyticsService = class SearchAnalyticsService {
|
|
|
74
78
|
async searchToAddRate(sinceDays = 7, channelId = 1) {
|
|
75
79
|
const since = new Date(Date.now() - sinceDays * 86400000);
|
|
76
80
|
const rows = await (0, vendure_licence_sdk_1.adapterFor)(this.connection.rawConnection).query(`SELECT
|
|
77
|
-
COUNT(DISTINCT ve
|
|
78
|
-
COUNT(DISTINCT CASE WHEN adds
|
|
81
|
+
COUNT(DISTINCT ve.\`sessionId\`) AS \`sessionsSearched\`,
|
|
82
|
+
COUNT(DISTINCT CASE WHEN adds.\`sessionId\` IS NOT NULL THEN ve.\`sessionId\` END) AS \`sessionsAdded\`
|
|
79
83
|
FROM visitor_event ve
|
|
80
84
|
LEFT JOIN (
|
|
81
|
-
SELECT DISTINCT sessionId FROM visitor_event
|
|
85
|
+
SELECT DISTINCT \`sessionId\` FROM visitor_event
|
|
82
86
|
WHERE type = 'event'
|
|
83
87
|
AND meta LIKE '%"eventType":"add_to_cart"%'
|
|
84
|
-
AND channelId = ?
|
|
85
|
-
AND createdAt >= ?
|
|
86
|
-
) adds ON adds
|
|
88
|
+
AND \`channelId\` = ?
|
|
89
|
+
AND \`createdAt\` >= ?
|
|
90
|
+
) adds ON adds.\`sessionId\` = ve.\`sessionId\`
|
|
87
91
|
WHERE ve.type = 'event'
|
|
88
92
|
AND ve.meta LIKE '%"eventType":"search"%'
|
|
89
|
-
AND ve
|
|
90
|
-
AND ve
|
|
93
|
+
AND ve.\`channelId\` = ?
|
|
94
|
+
AND ve.\`createdAt\` >= ?`, [channelId, since, channelId, since]);
|
|
91
95
|
const r = (rows === null || rows === void 0 ? void 0 : rows[0]) || {};
|
|
92
96
|
const searched = Number(r.sessionsSearched || 0);
|
|
93
97
|
const added = Number(r.sessionsAdded || 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-analytics.service.js","sourceRoot":"","sources":["../src/search-analytics.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAAwD;AACxD,yEAA6D;
|
|
1
|
+
{"version":3,"file":"search-analytics.service.js","sourceRoot":"","sources":["../src/search-analytics.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared SQL fragments (decorator-free so the corpus test can import them).
|
|
3
|
+
*
|
|
4
|
+
* Custom-event payloads are stored as JSON text in `visitor_event.meta`; the
|
|
5
|
+
* read side pulls single numeric keys out with SUBSTRING_INDEX rather than a
|
|
6
|
+
* JSON function so the same statement runs on MariaDB, MySQL and Postgres.
|
|
7
|
+
*/
|
|
8
|
+
/** The raw token after `"productId":` — up to the next `,` or `}`, so both
|
|
9
|
+
* `{"productId":42,"x":1}` and `{"x":1,"productId":42}` yield `42`. */
|
|
10
|
+
export declare const PRODUCT_ID_TOKEN = "SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '\"productId\":', -1), ',', 1), '}', 1)";
|
|
11
|
+
/** Two-level variant for use inside GROUP_CONCAT (the dialect adapter's GROUP_CONCAT
|
|
12
|
+
* rewrite tolerates two nested parens); a trailing `}` is stripped by the caller. */
|
|
13
|
+
export declare const PRODUCT_ID_TOKEN_LOOSE = "SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '\"productId\":', -1), ',', 1)";
|
|
14
|
+
/** `ON CONFLICT` target for the TypeORM-created `product_co_view` table: its columns are
|
|
15
|
+
* quoted camelCase on Postgres, so the target must be quoted too (raw-DDL tables such as
|
|
16
|
+
* `abandoned_cart_opt_out` are lowercase there and must NOT be). Ignored on MySQL. */
|
|
17
|
+
export declare const PRODUCT_CO_VIEW_CONFLICT: string[];
|
|
18
|
+
/** Same for `"resultsCount":` on search events. */
|
|
19
|
+
export declare const RESULTS_COUNT_TOKEN = "SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '\"resultsCount\":', -1), ',', 1), '}', 1)";
|
|
20
|
+
/** A predicate that is true only when `expr` is a run of digits. `CAST(x AS UNSIGNED)`
|
|
21
|
+
* is lenient on MySQL (`'42}'` → 42, `'abc'` → 0) but raises on Postgres, so the cast is
|
|
22
|
+
* always guarded by this. Regex syntax is the one construct the dialect adapter does
|
|
23
|
+
* not translate, hence the explicit switch. */
|
|
24
|
+
export declare function digitsOnly(dialect: 'mysql' | 'postgres', expr: string): string;
|
|
25
|
+
//# sourceMappingURL=sql-fragments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-fragments.d.ts","sourceRoot":"","sources":["../src/sql-fragments.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;wEACwE;AACxE,eAAO,MAAM,gBAAgB,kGACoE,CAAC;AAElG;sFACsF;AACtF,eAAO,MAAM,sBAAsB,yEACqC,CAAC;AAEzE;;uFAEuF;AACvF,eAAO,MAAM,wBAAwB,UAAkD,CAAC;AAExF,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,qGACoE,CAAC;AAErG;;;gDAGgD;AAChD,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared SQL fragments (decorator-free so the corpus test can import them).
|
|
4
|
+
*
|
|
5
|
+
* Custom-event payloads are stored as JSON text in `visitor_event.meta`; the
|
|
6
|
+
* read side pulls single numeric keys out with SUBSTRING_INDEX rather than a
|
|
7
|
+
* JSON function so the same statement runs on MariaDB, MySQL and Postgres.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.RESULTS_COUNT_TOKEN = exports.PRODUCT_CO_VIEW_CONFLICT = exports.PRODUCT_ID_TOKEN_LOOSE = exports.PRODUCT_ID_TOKEN = void 0;
|
|
11
|
+
exports.digitsOnly = digitsOnly;
|
|
12
|
+
/** The raw token after `"productId":` — up to the next `,` or `}`, so both
|
|
13
|
+
* `{"productId":42,"x":1}` and `{"x":1,"productId":42}` yield `42`. */
|
|
14
|
+
exports.PRODUCT_ID_TOKEN = `SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"productId":', -1), ',', 1), '}', 1)`;
|
|
15
|
+
/** Two-level variant for use inside GROUP_CONCAT (the dialect adapter's GROUP_CONCAT
|
|
16
|
+
* rewrite tolerates two nested parens); a trailing `}` is stripped by the caller. */
|
|
17
|
+
exports.PRODUCT_ID_TOKEN_LOOSE = `SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"productId":', -1), ',', 1)`;
|
|
18
|
+
/** `ON CONFLICT` target for the TypeORM-created `product_co_view` table: its columns are
|
|
19
|
+
* quoted camelCase on Postgres, so the target must be quoted too (raw-DDL tables such as
|
|
20
|
+
* `abandoned_cart_opt_out` are lowercase there and must NOT be). Ignored on MySQL. */
|
|
21
|
+
exports.PRODUCT_CO_VIEW_CONFLICT = ['"productIdA"', '"productIdB"', '"channelId"'];
|
|
22
|
+
/** Same for `"resultsCount":` on search events. */
|
|
23
|
+
exports.RESULTS_COUNT_TOKEN = `SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(meta, '"resultsCount":', -1), ',', 1), '}', 1)`;
|
|
24
|
+
/** A predicate that is true only when `expr` is a run of digits. `CAST(x AS UNSIGNED)`
|
|
25
|
+
* is lenient on MySQL (`'42}'` → 42, `'abc'` → 0) but raises on Postgres, so the cast is
|
|
26
|
+
* always guarded by this. Regex syntax is the one construct the dialect adapter does
|
|
27
|
+
* not translate, hence the explicit switch. */
|
|
28
|
+
function digitsOnly(dialect, expr) {
|
|
29
|
+
return dialect === 'postgres' ? `${expr} ~ '^[0-9]+$'` : `${expr} REGEXP '^[0-9]+$'`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sql-fragments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-fragments.js","sourceRoot":"","sources":["../src/sql-fragments.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAyBH,gCAEC;AAzBD;wEACwE;AAC3D,QAAA,gBAAgB,GACzB,6FAA6F,CAAC;AAElG;sFACsF;AACzE,QAAA,sBAAsB,GAC/B,oEAAoE,CAAC;AAEzE;;uFAEuF;AAC1E,QAAA,wBAAwB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAExF,mDAAmD;AACtC,QAAA,mBAAmB,GAC5B,gGAAgG,CAAC;AAErG;;;gDAGgD;AAChD,SAAgB,UAAU,CAAC,OAA6B,EAAE,IAAY;IAClE,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,oBAAoB,CAAC;AACzF,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { OnApplicationBootstrap, OnModuleDestroy } from '@nestjs/common';
|
|
|
2
2
|
import { ProcessContext, RequestContext, TransactionalConnection } from '@vendure/core';
|
|
3
3
|
import { Request, Response } from 'express';
|
|
4
4
|
import { VisitorTrackingService } from './visitor-tracking.service';
|
|
5
|
+
/** Back-pressure for streamed responses: resolves on 'drain' or when the client goes away. */
|
|
6
|
+
export declare function drained(res: Response): Promise<void>;
|
|
5
7
|
export declare class VisitorTrackingController implements OnApplicationBootstrap, OnModuleDestroy {
|
|
6
8
|
private connection;
|
|
7
9
|
private tracking;
|
|
@@ -60,7 +62,9 @@ export declare class VisitorTrackingController implements OnApplicationBootstrap
|
|
|
60
62
|
/** Buy-from-admin auto-install client. */
|
|
61
63
|
private purchaseClaim;
|
|
62
64
|
private purchaseClaimClient;
|
|
63
|
-
|
|
65
|
+
/** CORS preflight for the beacon (a JSON `fetch` from another origin sends one). */
|
|
66
|
+
trackPreflight(req: Request, res: Response): Response<any, Record<string, any>>;
|
|
67
|
+
track(ctx: RequestContext, body: any, req: Request, res: Response): Promise<Response<any, Record<string, any>> | undefined>;
|
|
64
68
|
/** Top-line counters + daily series for the dashboard header. */
|
|
65
69
|
summary(ctx: RequestContext, req: Request, res: Response): Promise<Response<any, Record<string, any>> | undefined>;
|
|
66
70
|
/** Traffic sources — UTM source breakdown + organic referrer
|
|
@@ -112,6 +116,9 @@ export declare class VisitorTrackingController implements OnApplicationBootstrap
|
|
|
112
116
|
* customer link, and per-session breakdown. Drives the clickable
|
|
113
117
|
* detail drawer in the admin UI. */
|
|
114
118
|
profile(ctx: RequestContext, visitorIdRaw: string, res: Response): Promise<Response<any, Record<string, any>> | undefined>;
|
|
119
|
+
/** userId → customerId, cached 10 min (bounded). Null when the request carries no session user. */
|
|
120
|
+
private customerByUser;
|
|
121
|
+
private resolveCustomerId;
|
|
115
122
|
private applyCors;
|
|
116
123
|
/** Read a possibly-signed cookie. When `secret` is provided we
|
|
117
124
|
* require + verify the signature; otherwise we return the raw
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor-tracking.controller.d.ts","sourceRoot":"","sources":["../src/visitor-tracking.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,sBAAsB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"visitor-tracking.controller.d.ts","sourceRoot":"","sources":["../src/visitor-tracking.controller.ts"],"names":[],"mappings":"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"}
|