@lightdash/common 0.1920.0 → 0.1922.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.
- package/dist/cjs/schemas/json/lightdash-project-config-1.0.json +21 -1
- package/dist/cjs/types/search.d.ts +38 -0
- package/dist/cjs/types/search.d.ts.map +1 -1
- package/dist/cjs/types/search.js.map +1 -1
- package/dist/cjs/utils/loadLightdashProjectConfig.d.ts.map +1 -1
- package/dist/cjs/utils/loadLightdashProjectConfig.js +4 -1
- package/dist/cjs/utils/loadLightdashProjectConfig.js.map +1 -1
- package/dist/cjs/utils/loadLightdashProjectConfig.mock.d.ts +12 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.mock.d.ts.map +1 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.mock.js +68 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.mock.js.map +1 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.test.d.ts +2 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.test.d.ts.map +1 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.test.js +73 -0
- package/dist/cjs/utils/loadLightdashProjectConfig.test.js.map +1 -0
- package/dist/esm/schemas/json/lightdash-project-config-1.0.json +21 -1
- package/dist/esm/types/search.d.ts +38 -0
- package/dist/esm/types/search.d.ts.map +1 -1
- package/dist/esm/types/search.js.map +1 -1
- package/dist/esm/utils/loadLightdashProjectConfig.d.ts.map +1 -1
- package/dist/esm/utils/loadLightdashProjectConfig.js +4 -1
- package/dist/esm/utils/loadLightdashProjectConfig.js.map +1 -1
- package/dist/esm/utils/loadLightdashProjectConfig.mock.d.ts +12 -0
- package/dist/esm/utils/loadLightdashProjectConfig.mock.d.ts.map +1 -0
- package/dist/esm/utils/loadLightdashProjectConfig.mock.js +65 -0
- package/dist/esm/utils/loadLightdashProjectConfig.mock.js.map +1 -0
- package/dist/esm/utils/loadLightdashProjectConfig.test.d.ts +2 -0
- package/dist/esm/utils/loadLightdashProjectConfig.test.d.ts.map +1 -0
- package/dist/esm/utils/loadLightdashProjectConfig.test.js +71 -0
- package/dist/esm/utils/loadLightdashProjectConfig.test.js.map +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/types/search.d.ts +38 -0
- package/dist/types/types/search.d.ts.map +1 -1
- package/dist/types/utils/loadLightdashProjectConfig.d.ts.map +1 -1
- package/dist/types/utils/loadLightdashProjectConfig.mock.d.ts +12 -0
- package/dist/types/utils/loadLightdashProjectConfig.mock.d.ts.map +1 -0
- package/dist/types/utils/loadLightdashProjectConfig.test.d.ts +2 -0
- package/dist/types/utils/loadLightdashProjectConfig.test.d.ts.map +1 -0
- package/package.json +3 -2
@@ -64,6 +64,7 @@
|
|
64
64
|
"options": {
|
65
65
|
"description": "A list of possible values for the parameter",
|
66
66
|
"type": "array",
|
67
|
+
"minItems": 1,
|
67
68
|
"items": {
|
68
69
|
"type": "string"
|
69
70
|
}
|
@@ -104,7 +105,26 @@
|
|
104
105
|
"required": ["model", "dimension"]
|
105
106
|
}
|
106
107
|
},
|
107
|
-
"required": ["label"]
|
108
|
+
"required": ["label"],
|
109
|
+
"anyOf": [
|
110
|
+
{
|
111
|
+
"required": ["options_from_dimension"],
|
112
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"required": ["options"],
|
116
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"properties": {
|
120
|
+
"allow_custom_values": {
|
121
|
+
"enum": [true]
|
122
|
+
}
|
123
|
+
},
|
124
|
+
"required": ["allow_custom_values"],
|
125
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
126
|
+
}
|
127
|
+
]
|
108
128
|
}
|
109
129
|
}
|
110
130
|
}
|
@@ -13,6 +13,20 @@ export type DashboardSearchResult = Pick<Dashboard, 'uuid' | 'name' | 'descripti
|
|
13
13
|
validationErrors: {
|
14
14
|
validationId: ValidationErrorDashboardResponse['validationId'];
|
15
15
|
}[];
|
16
|
+
viewsCount: number;
|
17
|
+
firstViewedAt: string | null;
|
18
|
+
lastModified: string | null;
|
19
|
+
createdBy: {
|
20
|
+
firstName: string;
|
21
|
+
lastName: string;
|
22
|
+
userUuid: string;
|
23
|
+
} | null;
|
24
|
+
charts: {
|
25
|
+
name: string;
|
26
|
+
description?: string;
|
27
|
+
chartType: ChartKind;
|
28
|
+
viewsCount: number;
|
29
|
+
}[];
|
16
30
|
} & RankedItem;
|
17
31
|
export type SavedChartSearchResult = Pick<SavedChart, 'uuid' | 'name' | 'description' | 'spaceUuid' | 'projectUuid'> & {
|
18
32
|
chartType: ChartKind;
|
@@ -20,6 +34,14 @@ export type SavedChartSearchResult = Pick<SavedChart, 'uuid' | 'name' | 'descrip
|
|
20
34
|
validationId: ValidationErrorChartResponse['validationId'];
|
21
35
|
}[];
|
22
36
|
chartSource: 'saved';
|
37
|
+
viewsCount: number;
|
38
|
+
firstViewedAt: string | null;
|
39
|
+
lastModified: string | null;
|
40
|
+
createdBy: {
|
41
|
+
firstName: string;
|
42
|
+
lastName: string;
|
43
|
+
userUuid: string;
|
44
|
+
} | null;
|
23
45
|
} & RankedItem;
|
24
46
|
export type SqlChartSearchResult = Pick<SqlChart, 'name' | 'description' | 'slug'> & {
|
25
47
|
uuid: SqlChart['savedSqlUuid'];
|
@@ -27,10 +49,26 @@ export type SqlChartSearchResult = Pick<SqlChart, 'name' | 'description' | 'slug
|
|
27
49
|
spaceUuid: SqlChart['space']['uuid'];
|
28
50
|
projectUuid: SqlChart['project']['projectUuid'];
|
29
51
|
chartSource: 'sql';
|
52
|
+
viewsCount: number;
|
53
|
+
firstViewedAt: string | null;
|
54
|
+
lastModified: string | null;
|
55
|
+
createdBy: {
|
56
|
+
firstName: string;
|
57
|
+
lastName: string;
|
58
|
+
userUuid: string;
|
59
|
+
} | null;
|
30
60
|
} & RankedItem;
|
31
61
|
export type AllChartsSearchResult = Pick<SavedChartSearchResult, 'uuid' | 'name' | 'description' | 'spaceUuid' | 'projectUuid'> & Partial<Pick<SqlChartSearchResult, 'slug'>> & {
|
32
62
|
chartType: ChartKind;
|
33
63
|
chartSource: 'saved' | 'sql';
|
64
|
+
viewsCount: number;
|
65
|
+
firstViewedAt: string | null;
|
66
|
+
lastModified: string | null;
|
67
|
+
createdBy: {
|
68
|
+
firstName: string;
|
69
|
+
lastName: string;
|
70
|
+
userUuid: string;
|
71
|
+
} | null;
|
34
72
|
} & RankedItem;
|
35
73
|
export type TableSearchResult = Pick<Table, 'name' | 'label' | 'description' | 'requiredAttributes'> & {
|
36
74
|
explore: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACpC,MAAM,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GACjE,UAAU,CAAC;AACf,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACpC,SAAS,EACT,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAChE,GAAG;IACA,gBAAgB,EAAE;QACd,YAAY,EAAE,gCAAgC,CAAC,cAAc,CAAC,CAAC;KAClE,EAAE,CAAC;CACP,GAAG,UAAU,CAAC;AAEf,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACrC,UAAU,EACV,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAChE,GAAG;IACA,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE;QACd,YAAY,EAAE,4BAA4B,CAAC,cAAc,CAAC,CAAC;KAC9D,EAAE,CAAC;IACJ,WAAW,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":";;;AAyNA,wEA0BC;;AAnPD,2FAA2D;AA+JpD,MAAM,qBAAqB,GAAG,CACjC,KAAmB,EAC2B,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC;AAF3D,QAAA,qBAAqB,yBAEsC;AAEjE,MAAM,mBAAmB,GAAG,CAC/B,KAAmB,EACO,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC;AAFrC,QAAA,mBAAmB,uBAEkB;AAE3C,MAAM,wBAAwB,GAAG,CACpC,KAAmB,EACY,EAAE,CACjC,SAAS,IAAI,KAAK,IAAI,kBAAkB,IAAI,KAAK,CAAC;AAHzC,QAAA,wBAAwB,4BAGiB;AAE/C,MAAM,wBAAwB,GAAG,CACpC,KAAmB,EACY,EAAE,CACjC,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;AAH/C,QAAA,wBAAwB,4BAGuB;AAErD,MAAM,sBAAsB,GAAG,CAClC,KAAmB,EACU,EAAE,CAC/B,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;AAH7C,QAAA,sBAAsB,0BAGuB;AAanD,MAAM,iBAAiB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAChE,IAAI,CAAC,IAAI,IAAI,IAAA,gCAAwB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B;AAEF,IAAY,cASX;AATD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;AACjB,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAED,SAAgB,8BAA8B,CAC1C,eAAoC;IAEpC,QAAQ,eAAe,EAAE,CAAC;QACtB,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,YAAY;YACb,OAAO,cAAc,CAAC,SAAS,CAAC;QACpC,KAAK,aAAa;YACd,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,OAAO;YACR,OAAO,cAAc,CAAC,IAAI,CAAC;QAC/B,KAAK,WAAW;YACZ,OAAO,cAAc,CAAC,SAAS,CAAC;QACpC,KAAK,eAAe;YAChB,OAAO,cAAc,CAAC,aAAa,CAAC;QACxC;YACI,OAAO,IAAA,2BAAiB,EACpB,eAAe,EACf,iCAAiC,eAAe,EAAE,CACrD,CAAC;IACV,CAAC;AACL,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"loadLightdashProjectConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAKzC,eAAO,MAAM,0BAA0B,qBACjB,MAAM,aACb,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,KAC7D,OAAO,CAAC,sBAAsB,CAyChC,CAAC"}
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadLightdashProjectConfig = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const ajv_1 = tslib_1.__importDefault(require("ajv"));
|
6
|
+
const ajv_errors_1 = tslib_1.__importDefault(require("ajv-errors"));
|
6
7
|
const better_ajv_errors_1 = tslib_1.__importDefault(require("better-ajv-errors"));
|
7
8
|
const yaml = tslib_1.__importStar(require("js-yaml"));
|
8
9
|
const lightdash_project_config_1_0_json_1 = tslib_1.__importDefault(require("../schemas/json/lightdash-project-config-1.0.json"));
|
@@ -22,7 +23,9 @@ const loadLightdashProjectConfig = async (yamlFileContents, onLoaded) => {
|
|
22
23
|
...defaultConfig,
|
23
24
|
...loadedConfig,
|
24
25
|
};
|
25
|
-
const ajv = new ajv_1.default({ coerceTypes: true });
|
26
|
+
const ajv = new ajv_1.default({ coerceTypes: true, allErrors: true });
|
27
|
+
// This method call extends JSON schema to utilize AJV Errors
|
28
|
+
(0, ajv_errors_1.default)(ajv);
|
26
29
|
const validate = ajv.compile(lightdash_project_config_1_0_json_1.default);
|
27
30
|
if (!validate(configFile)) {
|
28
31
|
const errors = (0, better_ajv_errors_1.default)(lightdash_project_config_1_0_json_1.default, configFile, validate.errors || [], { indent: 2 });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"loadLightdashProjectConfig.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,kFAAgD;AAChD,sDAAgC;AAChC,kIAA6F;AAC7F,4CAA6C;AAC7C,4EAGyC;AAEzC,MAAM,aAAa,GAA2B;IAC1C,SAAS,EAAE,iDAAwB;CACtC,CAAC;AACK,MAAM,0BAA0B,GAAG,KAAK,EAC3C,gBAAwB,EACxB,QAA4D,EAC7B,EAAE;IACjC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC1B,gBAAgB,CACgB,CAAC;IACrC,kDAAkD;IAClD,MAAM,UAAU,GAA2B;QACvC,GAAG,aAAa;QAChB,GAAG,YAAY;KAClB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,oEAAmC;AACnC,kFAAgD;AAChD,sDAAgC;AAChC,kIAA6F;AAC7F,4CAA6C;AAC7C,4EAGyC;AAEzC,MAAM,aAAa,GAA2B;IAC1C,SAAS,EAAE,iDAAwB;CACtC,CAAC;AACK,MAAM,0BAA0B,GAAG,KAAK,EAC3C,gBAAwB,EACxB,QAA4D,EAC7B,EAAE;IACjC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC1B,gBAAgB,CACgB,CAAC;IACrC,kDAAkD;IAClD,MAAM,UAAU,GAA2B;QACvC,GAAG,aAAa;QAChB,GAAG,YAAY;KAClB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,6DAA6D;IAC7D,IAAA,oBAAS,EAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CACxB,2CAA4B,CAC/B,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAA,2BAAe,EAC1B,2CAA4B,EAC5B,UAAU,EACV,QAAQ,CAAC,MAAM,IAAI,EAAE,EACrB,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACF,MAAM,IAAI,mBAAU,CAChB,8CAA8C,MAAM,EAAE,CACzD,CAAC;IACN,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AA5CW,QAAA,0BAA0B,8BA4CrC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* Mock YAML content for lightdash project config tests
|
3
|
+
*/
|
4
|
+
export declare const emptyConfig = "";
|
5
|
+
export declare const validConfigWithParameters = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options:\n - option1\n - option2\n";
|
6
|
+
export declare const validConfigWithOptionsFromDimension = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options_from_dimension:\n model: test_model\n dimension: test_dimension\n";
|
7
|
+
export declare const validConfigWithAllowCustomValues = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n allow_custom_values: true\n";
|
8
|
+
export declare const invalidConfigWithNoOptions = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n";
|
9
|
+
export declare const invalidConfigWithAllowCustomValuesFalse = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n allow_custom_values: false\n";
|
10
|
+
export declare const configWithEmptyOptionsArray = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options: []\n";
|
11
|
+
export declare const invalidConfigWithIncompleteOptionsFromDimension = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options_from_dimension:\n model: test_model\n";
|
12
|
+
//# sourceMappingURL=loadLightdashProjectConfig.mock.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.mock.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,yBAAyB,sJASrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,6LAS/C,CAAC;AAEF,eAAO,MAAM,gCAAgC,qIAO5C,CAAC;AAEF,eAAO,MAAM,0BAA0B,sGAMtC,CAAC;AAEF,eAAO,MAAM,uCAAuC,sIAOnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,uHAOvC,CAAC;AAEF,eAAO,MAAM,+CAA+C,4JAQ3D,CAAC"}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* Mock YAML content for lightdash project config tests
|
4
|
+
*/
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.invalidConfigWithIncompleteOptionsFromDimension = exports.configWithEmptyOptionsArray = exports.invalidConfigWithAllowCustomValuesFalse = exports.invalidConfigWithNoOptions = exports.validConfigWithAllowCustomValues = exports.validConfigWithOptionsFromDimension = exports.validConfigWithParameters = exports.emptyConfig = void 0;
|
7
|
+
exports.emptyConfig = '';
|
8
|
+
exports.validConfigWithParameters = `
|
9
|
+
spotlight:
|
10
|
+
default_visibility: show
|
11
|
+
parameters:
|
12
|
+
test_param:
|
13
|
+
label: Test Parameter
|
14
|
+
options:
|
15
|
+
- option1
|
16
|
+
- option2
|
17
|
+
`;
|
18
|
+
exports.validConfigWithOptionsFromDimension = `
|
19
|
+
spotlight:
|
20
|
+
default_visibility: show
|
21
|
+
parameters:
|
22
|
+
test_param:
|
23
|
+
label: Test Parameter
|
24
|
+
options_from_dimension:
|
25
|
+
model: test_model
|
26
|
+
dimension: test_dimension
|
27
|
+
`;
|
28
|
+
exports.validConfigWithAllowCustomValues = `
|
29
|
+
spotlight:
|
30
|
+
default_visibility: show
|
31
|
+
parameters:
|
32
|
+
test_param:
|
33
|
+
label: Test Parameter
|
34
|
+
allow_custom_values: true
|
35
|
+
`;
|
36
|
+
exports.invalidConfigWithNoOptions = `
|
37
|
+
spotlight:
|
38
|
+
default_visibility: show
|
39
|
+
parameters:
|
40
|
+
test_param:
|
41
|
+
label: Test Parameter
|
42
|
+
`;
|
43
|
+
exports.invalidConfigWithAllowCustomValuesFalse = `
|
44
|
+
spotlight:
|
45
|
+
default_visibility: show
|
46
|
+
parameters:
|
47
|
+
test_param:
|
48
|
+
label: Test Parameter
|
49
|
+
allow_custom_values: false
|
50
|
+
`;
|
51
|
+
exports.configWithEmptyOptionsArray = `
|
52
|
+
spotlight:
|
53
|
+
default_visibility: show
|
54
|
+
parameters:
|
55
|
+
test_param:
|
56
|
+
label: Test Parameter
|
57
|
+
options: []
|
58
|
+
`;
|
59
|
+
exports.invalidConfigWithIncompleteOptionsFromDimension = `
|
60
|
+
spotlight:
|
61
|
+
default_visibility: show
|
62
|
+
parameters:
|
63
|
+
test_param:
|
64
|
+
label: Test Parameter
|
65
|
+
options_from_dimension:
|
66
|
+
model: test_model
|
67
|
+
`;
|
68
|
+
//# sourceMappingURL=loadLightdashProjectConfig.mock.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.mock.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.mock.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,WAAW,GAAG,EAAE,CAAC;AAEjB,QAAA,yBAAyB,GAAG;;;;;;;;;CASxC,CAAC;AAEW,QAAA,mCAAmC,GAAG;;;;;;;;;CASlD,CAAC;AAEW,QAAA,gCAAgC,GAAG;;;;;;;CAO/C,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;CAMzC,CAAC;AAEW,QAAA,uCAAuC,GAAG;;;;;;;CAOtD,CAAC;AAEW,QAAA,2BAA2B,GAAG;;;;;;;CAO1C,CAAC;AAEW,QAAA,+CAA+C,GAAG;;;;;;;;CAQ9D,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.test.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.test.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const errors_1 = require("../types/errors");
|
4
|
+
const loadLightdashProjectConfig_1 = require("./loadLightdashProjectConfig");
|
5
|
+
const loadLightdashProjectConfig_mock_1 = require("./loadLightdashProjectConfig.mock");
|
6
|
+
describe('loadLightdashProjectConfig', () => {
|
7
|
+
it('should load an empty config', async () => {
|
8
|
+
const config = await (0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.emptyConfig);
|
9
|
+
expect(config).toEqual({
|
10
|
+
spotlight: {
|
11
|
+
default_visibility: 'show',
|
12
|
+
},
|
13
|
+
});
|
14
|
+
});
|
15
|
+
it('should load a valid config with parameters', async () => {
|
16
|
+
const config = await (0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.validConfigWithParameters);
|
17
|
+
expect(config).toEqual({
|
18
|
+
spotlight: {
|
19
|
+
default_visibility: 'show',
|
20
|
+
},
|
21
|
+
parameters: {
|
22
|
+
test_param: {
|
23
|
+
label: 'Test Parameter',
|
24
|
+
options: ['option1', 'option2'],
|
25
|
+
},
|
26
|
+
},
|
27
|
+
});
|
28
|
+
});
|
29
|
+
it('should load a valid config with parameters using options_from_dimension', async () => {
|
30
|
+
const config = await (0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.validConfigWithOptionsFromDimension);
|
31
|
+
expect(config).toEqual({
|
32
|
+
spotlight: {
|
33
|
+
default_visibility: 'show',
|
34
|
+
},
|
35
|
+
parameters: {
|
36
|
+
test_param: {
|
37
|
+
label: 'Test Parameter',
|
38
|
+
options_from_dimension: {
|
39
|
+
model: 'test_model',
|
40
|
+
dimension: 'test_dimension',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
},
|
44
|
+
});
|
45
|
+
});
|
46
|
+
it('should load a valid config with parameters using allow_custom_values', async () => {
|
47
|
+
const config = await (0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.validConfigWithAllowCustomValues);
|
48
|
+
expect(config).toEqual({
|
49
|
+
spotlight: {
|
50
|
+
default_visibility: 'show',
|
51
|
+
},
|
52
|
+
parameters: {
|
53
|
+
test_param: {
|
54
|
+
label: 'Test Parameter',
|
55
|
+
allow_custom_values: true,
|
56
|
+
},
|
57
|
+
},
|
58
|
+
});
|
59
|
+
});
|
60
|
+
it('should throw an error for invalid parameter with no options', async () => {
|
61
|
+
await expect((0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.invalidConfigWithNoOptions)).rejects.toThrow(errors_1.ParseError);
|
62
|
+
});
|
63
|
+
it('should throw an error for invalid parameter with allow_custom_values set to false', async () => {
|
64
|
+
await expect((0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.invalidConfigWithAllowCustomValuesFalse)).rejects.toThrow(errors_1.ParseError);
|
65
|
+
});
|
66
|
+
it('should throw an error for parameter with empty options array', async () => {
|
67
|
+
await expect((0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.configWithEmptyOptionsArray)).rejects.toThrow(errors_1.ParseError);
|
68
|
+
});
|
69
|
+
it('should throw an error for invalid parameter with incomplete options_from_dimension', async () => {
|
70
|
+
await expect((0, loadLightdashProjectConfig_1.loadLightdashProjectConfig)(loadLightdashProjectConfig_mock_1.invalidConfigWithIncompleteOptionsFromDimension)).rejects.toThrow(errors_1.ParseError);
|
71
|
+
});
|
72
|
+
});
|
73
|
+
//# sourceMappingURL=loadLightdashProjectConfig.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.test.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.test.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAC7C,6EAA0E;AAC1E,uFAS2C;AAE3C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA0B,EAAC,6CAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE;gBACP,kBAAkB,EAAE,MAAM;aAC7B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA0B,EAC3C,2DAAyB,CAC5B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE;gBACP,kBAAkB,EAAE,MAAM;aAC7B;YACD,UAAU,EAAE;gBACR,UAAU,EAAE;oBACR,KAAK,EAAE,gBAAgB;oBACvB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;iBAClC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA0B,EAC3C,qEAAmC,CACtC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE;gBACP,kBAAkB,EAAE,MAAM;aAC7B;YACD,UAAU,EAAE;gBACR,UAAU,EAAE;oBACR,KAAK,EAAE,gBAAgB;oBACvB,sBAAsB,EAAE;wBACpB,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE,gBAAgB;qBAC9B;iBACJ;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA0B,EAC3C,kEAAgC,CACnC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE;gBACP,kBAAkB,EAAE,MAAM;aAC7B;YACD,UAAU,EAAE;gBACR,UAAU,EAAE;oBACR,KAAK,EAAE,gBAAgB;oBACvB,mBAAmB,EAAE,IAAI;iBAC5B;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,CACR,IAAA,uDAA0B,EAAC,4DAA0B,CAAC,CACzD,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,MAAM,CACR,IAAA,uDAA0B,EAAC,yEAAuC,CAAC,CACtE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,CACR,IAAA,uDAA0B,EAAC,6DAA2B,CAAC,CAC1D,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,MAAM,CACR,IAAA,uDAA0B,EACtB,iFAA+C,CAClD,CACJ,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -64,6 +64,7 @@
|
|
64
64
|
"options": {
|
65
65
|
"description": "A list of possible values for the parameter",
|
66
66
|
"type": "array",
|
67
|
+
"minItems": 1,
|
67
68
|
"items": {
|
68
69
|
"type": "string"
|
69
70
|
}
|
@@ -104,7 +105,26 @@
|
|
104
105
|
"required": ["model", "dimension"]
|
105
106
|
}
|
106
107
|
},
|
107
|
-
"required": ["label"]
|
108
|
+
"required": ["label"],
|
109
|
+
"anyOf": [
|
110
|
+
{
|
111
|
+
"required": ["options_from_dimension"],
|
112
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"required": ["options"],
|
116
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"properties": {
|
120
|
+
"allow_custom_values": {
|
121
|
+
"enum": [true]
|
122
|
+
}
|
123
|
+
},
|
124
|
+
"required": ["allow_custom_values"],
|
125
|
+
"errorMessage": "Must have one of the following properties: allow_custom_values, options, options_from_dimension"
|
126
|
+
}
|
127
|
+
]
|
108
128
|
}
|
109
129
|
}
|
110
130
|
}
|
@@ -13,6 +13,20 @@ export type DashboardSearchResult = Pick<Dashboard, 'uuid' | 'name' | 'descripti
|
|
13
13
|
validationErrors: {
|
14
14
|
validationId: ValidationErrorDashboardResponse['validationId'];
|
15
15
|
}[];
|
16
|
+
viewsCount: number;
|
17
|
+
firstViewedAt: string | null;
|
18
|
+
lastModified: string | null;
|
19
|
+
createdBy: {
|
20
|
+
firstName: string;
|
21
|
+
lastName: string;
|
22
|
+
userUuid: string;
|
23
|
+
} | null;
|
24
|
+
charts: {
|
25
|
+
name: string;
|
26
|
+
description?: string;
|
27
|
+
chartType: ChartKind;
|
28
|
+
viewsCount: number;
|
29
|
+
}[];
|
16
30
|
} & RankedItem;
|
17
31
|
export type SavedChartSearchResult = Pick<SavedChart, 'uuid' | 'name' | 'description' | 'spaceUuid' | 'projectUuid'> & {
|
18
32
|
chartType: ChartKind;
|
@@ -20,6 +34,14 @@ export type SavedChartSearchResult = Pick<SavedChart, 'uuid' | 'name' | 'descrip
|
|
20
34
|
validationId: ValidationErrorChartResponse['validationId'];
|
21
35
|
}[];
|
22
36
|
chartSource: 'saved';
|
37
|
+
viewsCount: number;
|
38
|
+
firstViewedAt: string | null;
|
39
|
+
lastModified: string | null;
|
40
|
+
createdBy: {
|
41
|
+
firstName: string;
|
42
|
+
lastName: string;
|
43
|
+
userUuid: string;
|
44
|
+
} | null;
|
23
45
|
} & RankedItem;
|
24
46
|
export type SqlChartSearchResult = Pick<SqlChart, 'name' | 'description' | 'slug'> & {
|
25
47
|
uuid: SqlChart['savedSqlUuid'];
|
@@ -27,10 +49,26 @@ export type SqlChartSearchResult = Pick<SqlChart, 'name' | 'description' | 'slug
|
|
27
49
|
spaceUuid: SqlChart['space']['uuid'];
|
28
50
|
projectUuid: SqlChart['project']['projectUuid'];
|
29
51
|
chartSource: 'sql';
|
52
|
+
viewsCount: number;
|
53
|
+
firstViewedAt: string | null;
|
54
|
+
lastModified: string | null;
|
55
|
+
createdBy: {
|
56
|
+
firstName: string;
|
57
|
+
lastName: string;
|
58
|
+
userUuid: string;
|
59
|
+
} | null;
|
30
60
|
} & RankedItem;
|
31
61
|
export type AllChartsSearchResult = Pick<SavedChartSearchResult, 'uuid' | 'name' | 'description' | 'spaceUuid' | 'projectUuid'> & Partial<Pick<SqlChartSearchResult, 'slug'>> & {
|
32
62
|
chartType: ChartKind;
|
33
63
|
chartSource: 'saved' | 'sql';
|
64
|
+
viewsCount: number;
|
65
|
+
firstViewedAt: string | null;
|
66
|
+
lastModified: string | null;
|
67
|
+
createdBy: {
|
68
|
+
firstName: string;
|
69
|
+
lastName: string;
|
70
|
+
userUuid: string;
|
71
|
+
} | null;
|
34
72
|
} & RankedItem;
|
35
73
|
export type TableSearchResult = Pick<Table, 'name' | 'label' | 'description' | 'requiredAttributes'> & {
|
36
74
|
explore: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACpC,MAAM,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GACjE,UAAU,CAAC;AACf,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACpC,SAAS,EACT,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAChE,GAAG;IACA,gBAAgB,EAAE;QACd,YAAY,EAAE,gCAAgC,CAAC,cAAc,CAAC,CAAC;KAClE,EAAE,CAAC;CACP,GAAG,UAAU,CAAC;AAEf,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACrC,UAAU,EACV,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAChE,GAAG;IACA,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE;QACd,YAAY,EAAE,4BAA4B,CAAC,cAAc,CAAC,CAAC;KAC9D,EAAE,CAAC;IACJ,WAAW,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/types/search.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AA+J3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,KAAmB,EAC2B,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,KAAmB,EACO,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,KAAmB,EACY,EAAE,CACjC,SAAS,IAAI,KAAK,IAAI,kBAAkB,IAAI,KAAK,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,KAAmB,EACY,EAAE,CACjC,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,KAAmB,EACU,EAAE,CAC/B,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;AAa1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAChE,IAAI,CAAC,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;AACjB,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AAED,MAAM,UAAU,8BAA8B,CAC1C,eAAoC;IAEpC,QAAQ,eAAe,EAAE,CAAC;QACtB,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,YAAY;YACb,OAAO,cAAc,CAAC,SAAS,CAAC;QACpC,KAAK,aAAa;YACd,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,QAAQ;YACT,OAAO,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,OAAO;YACR,OAAO,cAAc,CAAC,IAAI,CAAC;QAC/B,KAAK,WAAW;YACZ,OAAO,cAAc,CAAC,SAAS,CAAC;QACpC,KAAK,eAAe;YAChB,OAAO,cAAc,CAAC,aAAa,CAAC;QACxC;YACI,OAAO,iBAAiB,CACpB,eAAe,EACf,iCAAiC,eAAe,EAAE,CACrD,CAAC;IACV,CAAC;AACL,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"loadLightdashProjectConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAKzC,eAAO,MAAM,0BAA0B,qBACjB,MAAM,aACb,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,KAC7D,OAAO,CAAC,sBAAsB,CAyChC,CAAC"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import Ajv from 'ajv';
|
2
|
+
import AjvErrors from 'ajv-errors';
|
2
3
|
import betterAjvErrors from 'better-ajv-errors';
|
3
4
|
import * as yaml from 'js-yaml';
|
4
5
|
import lightdashProjectConfigSchema from '../schemas/json/lightdash-project-config-1.0.json';
|
@@ -18,7 +19,9 @@ export const loadLightdashProjectConfig = async (yamlFileContents, onLoaded) =>
|
|
18
19
|
...defaultConfig,
|
19
20
|
...loadedConfig,
|
20
21
|
};
|
21
|
-
const ajv = new Ajv({ coerceTypes: true });
|
22
|
+
const ajv = new Ajv({ coerceTypes: true, allErrors: true });
|
23
|
+
// This method call extends JSON schema to utilize AJV Errors
|
24
|
+
AjvErrors(ajv);
|
22
25
|
const validate = ajv.compile(lightdashProjectConfigSchema);
|
23
26
|
if (!validate(configFile)) {
|
24
27
|
const errors = betterAjvErrors(lightdashProjectConfigSchema, configFile, validate.errors || [], { indent: 2 });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"loadLightdashProjectConfig.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,4BAA4B,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACH,wBAAwB,GAE3B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,aAAa,GAA2B;IAC1C,SAAS,EAAE,wBAAwB;CACtC,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,gBAAwB,EACxB,QAA4D,EAC7B,EAAE;IACjC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC1B,gBAAgB,CACgB,CAAC;IACrC,kDAAkD;IAClD,MAAM,UAAU,GAA2B;QACvC,GAAG,aAAa;QAChB,GAAG,YAAY;KAClB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,4BAA4B,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACH,wBAAwB,GAE3B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,aAAa,GAA2B;IAC1C,SAAS,EAAE,wBAAwB;CACtC,CAAC;AACF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,gBAAwB,EACxB,QAA4D,EAC7B,EAAE;IACjC,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC1B,gBAAgB,CACgB,CAAC;IACrC,kDAAkD;IAClD,MAAM,UAAU,GAA2B;QACvC,GAAG,aAAa;QAChB,GAAG,YAAY;KAClB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,6DAA6D;IAC7D,SAAS,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CACxB,4BAA4B,CAC/B,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,eAAe,CAC1B,4BAA4B,EAC5B,UAAU,EACV,QAAQ,CAAC,MAAM,IAAI,EAAE,EACrB,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACF,MAAM,IAAI,UAAU,CAChB,8CAA8C,MAAM,EAAE,CACzD,CAAC;IACN,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* Mock YAML content for lightdash project config tests
|
3
|
+
*/
|
4
|
+
export declare const emptyConfig = "";
|
5
|
+
export declare const validConfigWithParameters = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options:\n - option1\n - option2\n";
|
6
|
+
export declare const validConfigWithOptionsFromDimension = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options_from_dimension:\n model: test_model\n dimension: test_dimension\n";
|
7
|
+
export declare const validConfigWithAllowCustomValues = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n allow_custom_values: true\n";
|
8
|
+
export declare const invalidConfigWithNoOptions = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n";
|
9
|
+
export declare const invalidConfigWithAllowCustomValuesFalse = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n allow_custom_values: false\n";
|
10
|
+
export declare const configWithEmptyOptionsArray = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options: []\n";
|
11
|
+
export declare const invalidConfigWithIncompleteOptionsFromDimension = "\nspotlight:\n default_visibility: show\nparameters:\n test_param:\n label: Test Parameter\n options_from_dimension:\n model: test_model\n";
|
12
|
+
//# sourceMappingURL=loadLightdashProjectConfig.mock.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.mock.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,yBAAyB,sJASrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,6LAS/C,CAAC;AAEF,eAAO,MAAM,gCAAgC,qIAO5C,CAAC;AAEF,eAAO,MAAM,0BAA0B,sGAMtC,CAAC;AAEF,eAAO,MAAM,uCAAuC,sIAOnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,uHAOvC,CAAC;AAEF,eAAO,MAAM,+CAA+C,4JAQ3D,CAAC"}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
/**
|
2
|
+
* Mock YAML content for lightdash project config tests
|
3
|
+
*/
|
4
|
+
export const emptyConfig = '';
|
5
|
+
export const validConfigWithParameters = `
|
6
|
+
spotlight:
|
7
|
+
default_visibility: show
|
8
|
+
parameters:
|
9
|
+
test_param:
|
10
|
+
label: Test Parameter
|
11
|
+
options:
|
12
|
+
- option1
|
13
|
+
- option2
|
14
|
+
`;
|
15
|
+
export const validConfigWithOptionsFromDimension = `
|
16
|
+
spotlight:
|
17
|
+
default_visibility: show
|
18
|
+
parameters:
|
19
|
+
test_param:
|
20
|
+
label: Test Parameter
|
21
|
+
options_from_dimension:
|
22
|
+
model: test_model
|
23
|
+
dimension: test_dimension
|
24
|
+
`;
|
25
|
+
export const validConfigWithAllowCustomValues = `
|
26
|
+
spotlight:
|
27
|
+
default_visibility: show
|
28
|
+
parameters:
|
29
|
+
test_param:
|
30
|
+
label: Test Parameter
|
31
|
+
allow_custom_values: true
|
32
|
+
`;
|
33
|
+
export const invalidConfigWithNoOptions = `
|
34
|
+
spotlight:
|
35
|
+
default_visibility: show
|
36
|
+
parameters:
|
37
|
+
test_param:
|
38
|
+
label: Test Parameter
|
39
|
+
`;
|
40
|
+
export const invalidConfigWithAllowCustomValuesFalse = `
|
41
|
+
spotlight:
|
42
|
+
default_visibility: show
|
43
|
+
parameters:
|
44
|
+
test_param:
|
45
|
+
label: Test Parameter
|
46
|
+
allow_custom_values: false
|
47
|
+
`;
|
48
|
+
export const configWithEmptyOptionsArray = `
|
49
|
+
spotlight:
|
50
|
+
default_visibility: show
|
51
|
+
parameters:
|
52
|
+
test_param:
|
53
|
+
label: Test Parameter
|
54
|
+
options: []
|
55
|
+
`;
|
56
|
+
export const invalidConfigWithIncompleteOptionsFromDimension = `
|
57
|
+
spotlight:
|
58
|
+
default_visibility: show
|
59
|
+
parameters:
|
60
|
+
test_param:
|
61
|
+
label: Test Parameter
|
62
|
+
options_from_dimension:
|
63
|
+
model: test_model
|
64
|
+
`;
|
65
|
+
//# sourceMappingURL=loadLightdashProjectConfig.mock.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.mock.js","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;CASxC,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG;;;;;;;;;CASlD,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;CAO/C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;CAMzC,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAG;;;;;;;CAOtD,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;CAO1C,CAAC;AAEF,MAAM,CAAC,MAAM,+CAA+C,GAAG;;;;;;;;CAQ9D,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"loadLightdashProjectConfig.test.d.ts","sourceRoot":"","sources":["../../../src/utils/loadLightdashProjectConfig.test.ts"],"names":[],"mappings":""}
|