@memberjunction/query-processor 5.36.0 → 5.38.0
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MJQueryParameterEntity } from '@memberjunction/core-entities';
|
|
2
2
|
/**
|
|
3
3
|
* Minimal interface for the query metadata needed by processQueryTemplate.
|
|
4
4
|
* Both `QueryInfo` (saved queries) and plain objects (transient specs) satisfy this shape.
|
|
@@ -10,7 +10,7 @@ export interface QueryTemplateInput {
|
|
|
10
10
|
/** Whether this query uses Nunjucks template syntax */
|
|
11
11
|
UsesTemplate: boolean;
|
|
12
12
|
/** Parameter definitions for validation and type conversion */
|
|
13
|
-
Parameters:
|
|
13
|
+
Parameters: MJQueryParameterEntity[];
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Result of parameter validation
|
|
@@ -68,13 +68,18 @@ export declare class QueryParameterProcessor {
|
|
|
68
68
|
* because filters (sqlBoolean, sqlIdentifier) are baked in at creation time.
|
|
69
69
|
*/
|
|
70
70
|
private static get nunjucksEnv();
|
|
71
|
+
/**
|
|
72
|
+
* Parses the JSON validation filters string into an array of filter objects.
|
|
73
|
+
* Mirrors the logic from the former `QueryParameterInfo.ParsedFilters` getter.
|
|
74
|
+
*/
|
|
75
|
+
private static parseFilters;
|
|
71
76
|
/**
|
|
72
77
|
* Validates parameters against their definitions.
|
|
73
78
|
* Boolean handling is platform-aware:
|
|
74
79
|
* - SQL Server: converts to 1/0 (BIT fields)
|
|
75
80
|
* - PostgreSQL: keeps as true/false (native boolean)
|
|
76
81
|
*/
|
|
77
|
-
static validateParameters(parameters: Record<string, unknown> | undefined, parameterDefinitions:
|
|
82
|
+
static validateParameters(parameters: Record<string, unknown> | undefined, parameterDefinitions: MJQueryParameterEntity[], skipUnknownParameterCheck?: boolean): ParameterValidationResult;
|
|
78
83
|
/**
|
|
79
84
|
* Processes a query template with the provided parameters.
|
|
80
85
|
* Accepts either a full `QueryInfo` (saved queries) or a minimal `QueryTemplateInput`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParameterProcessor.d.ts","sourceRoot":"","sources":["../src/queryParameterProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queryParameterProcessor.d.ts","sourceRoot":"","sources":["../src/queryParameterProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAqC;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAiC;IAE5D;;;;OAIG;IACH,OAAO,CAAC,MAAM,KAAK,WAAW,GAsB7B;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B;;;;;OAKG;WACW,kBAAkB,CAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC/C,oBAAoB,EAAE,sBAAsB,EAAE,EAC9C,yBAAyB,CAAC,EAAE,OAAO,GACpC,yBAAyB;IAkH5B;;;;;;;;;;OAUG;WACW,oBAAoB,CAC9B,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC/C,WAAW,CAAC,EAAE,MAAM,EACpB,uBAAuB,CAAC,EAAE,OAAO,GAClC,qBAAqB;CAoE3B"}
|
|
@@ -38,6 +38,18 @@ export class QueryParameterProcessor {
|
|
|
38
38
|
}
|
|
39
39
|
return this._nunjucksEnv;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Parses the JSON validation filters string into an array of filter objects.
|
|
43
|
+
* Mirrors the logic from the former `QueryParameterInfo.ParsedFilters` getter.
|
|
44
|
+
*/
|
|
45
|
+
static parseFilters(validationFilters) {
|
|
46
|
+
try {
|
|
47
|
+
return validationFilters ? JSON.parse(validationFilters) : [];
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
41
53
|
/**
|
|
42
54
|
* Validates parameters against their definitions.
|
|
43
55
|
* Boolean handling is platform-aware:
|
|
@@ -126,7 +138,7 @@ export class QueryParameterProcessor {
|
|
|
126
138
|
}
|
|
127
139
|
// Apply validation filters if any
|
|
128
140
|
if (paramDef.ValidationFilters) {
|
|
129
|
-
const filters = paramDef.
|
|
141
|
+
const filters = QueryParameterProcessor.parseFilters(paramDef.ValidationFilters);
|
|
130
142
|
for (const _filter of filters) {
|
|
131
143
|
// Validation filter application placeholder
|
|
132
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParameterProcessor.js","sourceRoot":"","sources":["../src/queryParameterProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"queryParameterProcessor.js","sourceRoot":"","sources":["../src/queryParameterProcessor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/query-processor",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.38.0",
|
|
5
5
|
"description": "Shared query parameter validation and Nunjucks template processing for MemberJunction data providers",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
"vitest": "^3.1.1"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@memberjunction/core": "5.
|
|
26
|
-
"@memberjunction/
|
|
25
|
+
"@memberjunction/core": "5.38.0",
|
|
26
|
+
"@memberjunction/core-entities": "5.38.0",
|
|
27
|
+
"@memberjunction/global": "5.38.0",
|
|
27
28
|
"nunjucks": "^3.2.4"
|
|
28
29
|
},
|
|
29
30
|
"repository": {
|