@cubejs-backend/schema-compiler 1.6.42 → 1.6.44
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/dist/src/adapter/BaseQuery.d.ts +3 -0
- package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
- package/dist/src/adapter/BaseQuery.js +42 -2
- package/dist/src/adapter/BaseQuery.js.map +1 -1
- package/dist/src/compiler/CubeSymbols.d.ts +2 -0
- package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
- package/dist/src/compiler/CubeSymbols.js.map +1 -1
- package/dist/src/compiler/CubeToMetaTransformer.d.ts +5 -1
- package/dist/src/compiler/CubeToMetaTransformer.d.ts.map +1 -1
- package/dist/src/compiler/CubeToMetaTransformer.js +10 -1
- package/dist/src/compiler/CubeToMetaTransformer.js.map +1 -1
- package/dist/src/compiler/CubeValidator.d.ts.map +1 -1
- package/dist/src/compiler/CubeValidator.js +2 -0
- package/dist/src/compiler/CubeValidator.js.map +1 -1
- package/dist/src/compiler/DataSchemaCompiler.d.ts +4 -0
- package/dist/src/compiler/DataSchemaCompiler.d.ts.map +1 -1
- package/dist/src/compiler/DataSchemaCompiler.js +23 -4
- package/dist/src/compiler/DataSchemaCompiler.js.map +1 -1
- package/dist/src/compiler/PrepareCompiler.d.ts +2 -0
- package/dist/src/compiler/PrepareCompiler.d.ts.map +1 -1
- package/dist/src/compiler/PrepareCompiler.js +7 -2
- package/dist/src/compiler/PrepareCompiler.js.map +1 -1
- package/dist/src/compiler/ViewGroupEvaluator.d.ts +30 -0
- package/dist/src/compiler/ViewGroupEvaluator.d.ts.map +1 -0
- package/dist/src/compiler/ViewGroupEvaluator.js +129 -0
- package/dist/src/compiler/ViewGroupEvaluator.js.map +1 -0
- package/dist/src/compiler/YamlCompiler.d.ts +1 -0
- package/dist/src/compiler/YamlCompiler.d.ts.map +1 -1
- package/dist/src/compiler/YamlCompiler.js +22 -1
- package/dist/src/compiler/YamlCompiler.js.map +1 -1
- package/dist/src/compiler/transpilers/CubePropContextTranspiler.d.ts.map +1 -1
- package/dist/src/compiler/transpilers/CubePropContextTranspiler.js +4 -1
- package/dist/src/compiler/transpilers/CubePropContextTranspiler.js.map +1 -1
- package/package.json +7 -7
|
@@ -104,6 +104,7 @@ export class BaseQuery {
|
|
|
104
104
|
protected initFromOptions(): void;
|
|
105
105
|
contextSymbols: any;
|
|
106
106
|
maskedMembers: Set<any> | undefined;
|
|
107
|
+
memberMaskFilters: {} | undefined;
|
|
107
108
|
compilerCache: any;
|
|
108
109
|
queryCache: any;
|
|
109
110
|
from: any;
|
|
@@ -618,6 +619,8 @@ export class BaseQuery {
|
|
|
618
619
|
safeEvaluateSymbolContext(): any;
|
|
619
620
|
evaluateSymbolSql(cubeName: any, name: any, symbol: any, memberExpressionType: any, subPropertyName: any): any;
|
|
620
621
|
memberMaskSql(cubeName: any, name: any, symbol: any): any;
|
|
622
|
+
conditionalMemberMaskSql(cubeName: any, name: any, symbol: any, maskFilter: any): any;
|
|
623
|
+
maskFilterToSql(filter: any): any;
|
|
621
624
|
defaultMaskSql(memberType: any): string;
|
|
622
625
|
escapeStringLiteral(str: any): string;
|
|
623
626
|
autoPrefixAndEvaluateSql(cubeName: any, sql: any, isMemberExpr?: boolean): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"AA6DA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH;
|
|
1
|
+
{"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
|
|
@@ -223,7 +223,14 @@ class BaseQuery {
|
|
|
223
223
|
securityContext: {},
|
|
224
224
|
...this.options.contextSymbols,
|
|
225
225
|
};
|
|
226
|
-
this.maskedMembers = new Set(
|
|
226
|
+
this.maskedMembers = new Set();
|
|
227
|
+
this.memberMaskFilters = {};
|
|
228
|
+
for (const item of this.options.maskedMembers || []) {
|
|
229
|
+
this.maskedMembers.add(item.member);
|
|
230
|
+
if (item.filter) {
|
|
231
|
+
this.memberMaskFilters[item.member] = item.filter;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
227
234
|
this.compilerCache = this.compilers.compiler.compilerCache;
|
|
228
235
|
this.queryCache = this.compilerCache.getQueryCache({
|
|
229
236
|
measures: this.options.measures,
|
|
@@ -2580,13 +2587,18 @@ class BaseQuery {
|
|
|
2580
2587
|
}
|
|
2581
2588
|
this.safeEvaluateSymbolContext().currentMember = memberPath;
|
|
2582
2589
|
try {
|
|
2583
|
-
if (this.maskedMembers && this.maskedMembers.has(memberPath) && !memberExpressionType
|
|
2590
|
+
if (this.maskedMembers && this.maskedMembers.has(memberPath) && !memberExpressionType &&
|
|
2591
|
+
!this.safeEvaluateSymbolContext().skipMasking) {
|
|
2584
2592
|
// In ungrouped queries, only apply static masks to measures.
|
|
2585
2593
|
// SQL masks (mask.sql) reference columns that don't apply per-row.
|
|
2586
2594
|
const isMeasure = type === 'measure';
|
|
2587
2595
|
const isUngrouped = this.options.ungrouped;
|
|
2588
2596
|
const hasSqlMask = symbol.mask && typeof symbol.mask === 'object' && symbol.mask.sql;
|
|
2589
2597
|
if (!isMeasure || !isUngrouped || !hasSqlMask) {
|
|
2598
|
+
const maskFilter = this.memberMaskFilters && this.memberMaskFilters[memberPath];
|
|
2599
|
+
if (maskFilter) {
|
|
2600
|
+
return this.conditionalMemberMaskSql(cubeName, name, symbol, maskFilter);
|
|
2601
|
+
}
|
|
2590
2602
|
return this.memberMaskSql(cubeName, name, symbol);
|
|
2591
2603
|
}
|
|
2592
2604
|
}
|
|
@@ -2744,6 +2756,34 @@ class BaseQuery {
|
|
|
2744
2756
|
}
|
|
2745
2757
|
return this.defaultMaskSql(symbol.type);
|
|
2746
2758
|
}
|
|
2759
|
+
conditionalMemberMaskSql(cubeName, name, symbol, maskFilter) {
|
|
2760
|
+
const maskedSql = this.memberMaskSql(cubeName, name, symbol);
|
|
2761
|
+
const result = this.evaluateSymbolSqlWithContext(() => {
|
|
2762
|
+
const filterSql = this.maskFilterToSql(maskFilter);
|
|
2763
|
+
if (!filterSql) {
|
|
2764
|
+
return maskedSql;
|
|
2765
|
+
}
|
|
2766
|
+
const originalSql = this.autoPrefixAndEvaluateSql(cubeName, symbol.sql);
|
|
2767
|
+
return this.caseWhenStatement([{ sql: filterSql, label: originalSql }], maskedSql);
|
|
2768
|
+
}, { skipMasking: true, currentMember: null });
|
|
2769
|
+
return result;
|
|
2770
|
+
}
|
|
2771
|
+
maskFilterToSql(filter) {
|
|
2772
|
+
if (!filter)
|
|
2773
|
+
return null;
|
|
2774
|
+
const filterItems = this.extractFiltersAsTree([filter]);
|
|
2775
|
+
if (!filterItems.length)
|
|
2776
|
+
return null;
|
|
2777
|
+
const initialized = filterItems.map(this.initFilter.bind(this));
|
|
2778
|
+
if (initialized.length === 1) {
|
|
2779
|
+
return initialized[0].filterToWhere();
|
|
2780
|
+
}
|
|
2781
|
+
const groupFilter = this.newGroupFilter({
|
|
2782
|
+
operator: 'and',
|
|
2783
|
+
values: initialized,
|
|
2784
|
+
});
|
|
2785
|
+
return groupFilter.filterToWhere();
|
|
2786
|
+
}
|
|
2747
2787
|
defaultMaskSql(memberType) {
|
|
2748
2788
|
const envMasks = {
|
|
2749
2789
|
string: (0, shared_1.getEnv)('accessPolicyMaskString'),
|