@finos/legend-application-query 13.8.62 → 13.8.64
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/lib/application/LegendQueryApplicationConfig.d.ts +11 -0
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +14 -0
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/light-mode.css +1 -1
- package/lib/package.json +1 -2
- package/lib/stores/cube/LegendQueryCubeHost.d.ts +13 -21
- package/lib/stores/cube/LegendQueryCubeHost.d.ts.map +1 -1
- package/lib/stores/cube/LegendQueryCubeHost.js +34 -120
- package/lib/stores/cube/LegendQueryCubeHost.js.map +1 -1
- package/package.json +10 -11
- package/src/application/LegendQueryApplicationConfig.ts +22 -0
- package/src/stores/cube/LegendQueryCubeHost.ts +47 -167
|
@@ -30,6 +30,16 @@ export declare class ServiceRegistrationEnvironmentConfig {
|
|
|
30
30
|
managementUrl: string;
|
|
31
31
|
static readonly serialization: SerializationFactory<ServiceRegistrationEnvironmentConfig>;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* The producers of data products, as Legend Marketplace configures them:
|
|
35
|
+
* Query reads only the engine path of the Legend user service naming
|
|
36
|
+
* producer deployments, which Legend Cube's Ingest tab labels its producers
|
|
37
|
+
* with
|
|
38
|
+
*/
|
|
39
|
+
export declare class LegendQueryDataProductProducerConfig {
|
|
40
|
+
deploymentLegendServiceUrl: string | undefined;
|
|
41
|
+
static readonly serialization: SerializationFactory<LegendQueryDataProductProducerConfig>;
|
|
42
|
+
}
|
|
33
43
|
/**
|
|
34
44
|
* Data products, as Legend Studio and Legend Marketplace configure them:
|
|
35
45
|
* Query reads only the stereotype that marks access point groups open to
|
|
@@ -37,6 +47,7 @@ export declare class ServiceRegistrationEnvironmentConfig {
|
|
|
37
47
|
*/
|
|
38
48
|
export declare class LegendQueryDataProductConfig {
|
|
39
49
|
publicStereotype: StereotypeConfig | undefined;
|
|
50
|
+
producer: LegendQueryDataProductProducerConfig | undefined;
|
|
40
51
|
static readonly serialization: SerializationFactory<LegendQueryDataProductConfig>;
|
|
41
52
|
}
|
|
42
53
|
declare class LegendQueryApplicationCoreOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,oBAAoB,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACvC,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBAAa,4BAA4B;IACvC,YAAY,EAAG,MAAM,CAAC;IACtB,kBAAkB,EAAG,MAAM,CAAC;IAC5B,iBAAiB,EAAG,iBAAiB,CAAC;IAEtC,MAAM,CAAC,QAAQ,CAAC,aAAa,qDAM3B;CACH;AAED,qBAAa,oCAAoC;IAC/C,GAAG,EAAG,MAAM,CAAC;IACb,YAAY,EAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,aAAa,EAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,QAAQ,CAAC,aAAa,6DAO3B;CACH;AAED;;;;GAIG;AACH,qBAAa,4BAA4B;IACvC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendQueryApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,oBAAoB,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACvC,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBAAa,4BAA4B;IACvC,YAAY,EAAG,MAAM,CAAC;IACtB,kBAAkB,EAAG,MAAM,CAAC;IAC5B,iBAAiB,EAAG,iBAAiB,CAAC;IAEtC,MAAM,CAAC,QAAQ,CAAC,aAAa,qDAM3B;CACH;AAED,qBAAa,oCAAoC;IAC/C,GAAG,EAAG,MAAM,CAAC;IACb,YAAY,EAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,aAAa,EAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,QAAQ,CAAC,aAAa,6DAO3B;CACH;AAED;;;;;GAKG;AACH,qBAAa,oCAAoC;IAC/C,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C,MAAM,CAAC,QAAQ,CAAC,aAAa,6DAI3B;CACH;AAED;;;;GAIG;AACH,qBAAa,4BAA4B;IACvC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,QAAQ,EAAE,oCAAoC,GAAG,SAAS,CAAC;IAE3D,MAAM,CAAC,QAAQ,CAAC,aAAa,qDAW3B;CACH;AAED,cAAM,iCAAiC;IACrC;;;;;;;;OAQG;IACH,oCAAoC,EAAE,oCAAoC,EAAE,CACvE;IAEL;;;OAGG;IACH,wBAAwB,UAAS;IAEjC,6BAA6B,UAAS;IAEtC;;OAEG;IACH,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEnD;;;;OAIG;IACH,UAAU,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAErD;;;;OAIG;IACH,eAAe,UAAS;IAExB,4FAA4F;IAC5F,iBAAiB,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAkBnC;IAEF,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,WAAW,CAAC,iCAAiC,CAAC,GACzD,iCAAiC;CAGrC;AAED,KAAK,gDAAgD,GAAG;IACtD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,uCACf,SAAQ,kCAAkC;IAC1C,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,gDAAgD,EAAE,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,qBAAqB,EAAE,MAAM,CAAC;QAC9B;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,uBAAuB;IACvE,QAAQ,CAAC,OAAO,oCAA2C;IAE3D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,gDAAgD,EAAE,CACvE;gBAGH,KAAK,EAAE,mCAAmC,CAAC,uCAAuC,CAAC;IA+G5E,+BAA+B,IAAI,MAAM;CAGnD"}
|
|
@@ -39,6 +39,18 @@ export class ServiceRegistrationEnvironmentConfig {
|
|
|
39
39
|
modes: list(primitive()),
|
|
40
40
|
}));
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* The producers of data products, as Legend Marketplace configures them:
|
|
44
|
+
* Query reads only the engine path of the Legend user service naming
|
|
45
|
+
* producer deployments, which Legend Cube's Ingest tab labels its producers
|
|
46
|
+
* with
|
|
47
|
+
*/
|
|
48
|
+
export class LegendQueryDataProductProducerConfig {
|
|
49
|
+
deploymentLegendServiceUrl;
|
|
50
|
+
static serialization = new SerializationFactory(createModelSchema(LegendQueryDataProductProducerConfig, {
|
|
51
|
+
deploymentLegendServiceUrl: optional(primitive()),
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
42
54
|
/**
|
|
43
55
|
* Data products, as Legend Studio and Legend Marketplace configure them:
|
|
44
56
|
* Query reads only the stereotype that marks access point groups open to
|
|
@@ -46,8 +58,10 @@ export class ServiceRegistrationEnvironmentConfig {
|
|
|
46
58
|
*/
|
|
47
59
|
export class LegendQueryDataProductConfig {
|
|
48
60
|
publicStereotype;
|
|
61
|
+
producer;
|
|
49
62
|
static serialization = new SerializationFactory(createModelSchema(LegendQueryDataProductConfig, {
|
|
50
63
|
publicStereotype: optional(usingModelSchema(StereotypeConfig.serialization.schema)),
|
|
64
|
+
producer: optional(usingModelSchema(LegendQueryDataProductProducerConfig.serialization.schema)),
|
|
51
65
|
}));
|
|
52
66
|
}
|
|
53
67
|
class LegendQueryApplicationCoreOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EAEpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EAGvB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,GAAG,GACJ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,MAAM,OAAO,4BAA4B;IACvC,YAAY,CAAU;IACtB,kBAAkB,CAAU;IAC5B,iBAAiB,CAAqB;IAEtC,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,4BAA4B,EAAE;QAC9C,YAAY,EAAE,SAAS,EAAE;QACzB,kBAAkB,EAAE,SAAS,EAAE;QAC/B,iBAAiB,EAAE,GAAG,EAAE;KACzB,CAAC,CACH,CAAC;;AAGJ,MAAM,OAAO,oCAAoC;IAC/C,GAAG,CAAU;IACb,YAAY,CAAU;IACtB,KAAK,GAAa,EAAE,CAAC;IACrB,aAAa,CAAU;IAEvB,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,oCAAoC,EAAE;QACtD,GAAG,EAAE,SAAS,EAAE;QAChB,YAAY,EAAE,SAAS,EAAE;QACzB,aAAa,EAAE,SAAS,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB,CAAC,CACH,CAAC;;AAGJ;;;;GAIG;AACH,MAAM,OAAO,4BAA4B;IACvC,gBAAgB,CAA+B;
|
|
1
|
+
{"version":3,"file":"LegendQueryApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendQueryApplicationConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/light-mode.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-query",
|
|
3
|
-
"version": "13.8.
|
|
3
|
+
"version": "13.8.64",
|
|
4
4
|
"description": "Legend Query application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -55,7 +55,6 @@
|
|
|
55
55
|
"@finos/legend-query-builder": "workspace:*",
|
|
56
56
|
"@finos/legend-server-depot": "workspace:*",
|
|
57
57
|
"@finos/legend-server-lakehouse": "workspace:*",
|
|
58
|
-
"@finos/legend-server-marketplace": "workspace:*",
|
|
59
58
|
"@finos/legend-shared": "workspace:*",
|
|
60
59
|
"@finos/legend-storage": "workspace:*",
|
|
61
60
|
"@testing-library/dom": "10.4.0",
|
|
@@ -13,37 +13,29 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { LegendCubeHost, type CubeConnectionExplorer, type CubeEngine, type CubeEngineConfig, type CubeLakehouseServices, type CubeProjectCatalog, type LegendCubeHostConfig } from '@finos/legend-cube-builder';
|
|
17
17
|
import type { LegendQueryApplicationConfig } from '../../application/LegendQueryApplicationConfig.js';
|
|
18
18
|
import type { LegendQueryApplicationStore } from '../LegendQueryBaseStore.js';
|
|
19
19
|
/** Cube talks to the engine Query's own editor uses, configured the same way */
|
|
20
20
|
export declare const buildLegendQueryCubeEngineConfig: (config: LegendQueryApplicationConfig) => CubeEngineConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Query's servers, as Cube's host reads them (PLAN §11.18): Query's engine,
|
|
23
|
+
* depot, lakehouse and marketplace, configured as Query's own, and the
|
|
24
|
+
* lakehouse environment Query remembers for the viewer
|
|
25
|
+
*/
|
|
26
|
+
export declare const buildLegendQueryCubeHostConfig: (applicationStore: LegendQueryApplicationStore) => LegendCubeHostConfig;
|
|
21
27
|
/**
|
|
22
28
|
* What Cube needs to read and run data products (PLAN §6.8), with Query's
|
|
23
|
-
* lakehouse and depot
|
|
24
|
-
*
|
|
25
|
-
* products. With a marketplace server too, its search is used
|
|
29
|
+
* lakehouse and depot: none when Query has no lakehouse, so an open-source
|
|
30
|
+
* deployment without one offers no data products
|
|
26
31
|
*/
|
|
27
32
|
export declare const buildLegendQueryCubeLakehouseServices: (applicationStore: LegendQueryApplicationStore) => CubeLakehouseServices | undefined;
|
|
28
|
-
/** The published projects in Query's depot, or none without a depot */
|
|
29
|
-
export declare const buildLegendQueryCubeProjectCatalog: (applicationStore: LegendQueryApplicationStore) => CubeProjectCatalog | undefined;
|
|
30
33
|
/**
|
|
31
|
-
* Legend Query as the host of the Cube page (PLAN §3.5):
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* products (PLAN §6.8). One per visit to the page.
|
|
34
|
+
* Legend Query as the host of the Cube page (PLAN §3.5): the host a Legend
|
|
35
|
+
* deployment gives Cube (PLAN §11.18), from Query's config. One per visit to
|
|
36
|
+
* the page.
|
|
35
37
|
*/
|
|
36
|
-
export declare class LegendQueryCubeHost
|
|
37
|
-
readonly applicationStore: LegendQueryApplicationStore;
|
|
38
|
-
readonly engine: CubeEngine;
|
|
39
|
-
readonly modelCatalog: LocalModelCatalog;
|
|
40
|
-
readonly connectionExplorer: CubeConnectionExplorer;
|
|
41
|
-
readonly dataProductCatalog: CubeDataProductCatalog | undefined;
|
|
42
|
-
readonly ingestCatalog: CubeIngestCatalog | undefined;
|
|
43
|
-
readonly projectCatalog: CubeProjectCatalog | undefined;
|
|
44
|
-
readonly serviceCatalog: CubeServiceCatalog;
|
|
45
|
-
/** The engine URL and compression Cube's engine clients share, which Dev Settings changes */
|
|
46
|
-
readonly engineClientSettings: CubeEngineClientSettings;
|
|
38
|
+
export declare class LegendQueryCubeHost extends LegendCubeHost {
|
|
47
39
|
/**
|
|
48
40
|
* Tests give an engine, an explorer and a project catalog; otherwise each
|
|
49
41
|
* is built from Query's config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryCubeHost.d.ts","sourceRoot":"","sources":["../../../src/stores/cube/LegendQueryCubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendQueryCubeHost.d.ts","sourceRoot":"","sources":["../../../src/stores/cube/LegendQueryCubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACtG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,gFAAgF;AAChF,eAAO,MAAM,gCAAgC,GAC3C,QAAQ,4BAA4B,KACnC,gBAMD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GACzC,kBAAkB,2BAA2B,KAC5C,oBA4BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GAChD,kBAAkB,2BAA2B,KAC5C,qBAAqB,GAAG,SAIxB,CAAC;AAEJ;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD;;;OAGG;gBAED,gBAAgB,EAAE,2BAA2B,EAC7C,MAAM,CAAC,EAAE,UAAU,EACnB,kBAAkB,CAAC,EAAE,sBAAsB,EAC3C,cAAc,CAAC,EAAE,kBAAkB;CAQtC"}
|
|
@@ -13,11 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
17
|
-
import { DepotServerClient } from '@finos/legend-server-depot';
|
|
18
|
-
import { LakehouseContractServerClient, LakehouseIngestServerClient, LakehousePlatformServerClient, } from '@finos/legend-server-lakehouse';
|
|
19
|
-
import { MarketplaceServerClient } from '@finos/legend-server-marketplace';
|
|
20
|
-
import { EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl } from '../../__lib__/LegendQueryNavigation.js';
|
|
16
|
+
import { buildLegendCubeLakehouseServices, LegendCubeHost, } from '@finos/legend-cube-builder';
|
|
21
17
|
import { LegendQueryUserDataHelper } from '../../__lib__/LegendQueryUserDataHelper.js';
|
|
22
18
|
/** Cube talks to the engine Query's own editor uses, configured the same way */
|
|
23
19
|
export const buildLegendQueryCubeEngineConfig = (config) => ({
|
|
@@ -28,53 +24,22 @@ export const buildLegendQueryCubeEngineConfig = (config) => ({
|
|
|
28
24
|
useCookieAuthOnly: config.engineUseCookieAuthOnly,
|
|
29
25
|
});
|
|
30
26
|
/**
|
|
31
|
-
*
|
|
32
|
-
* lakehouse and
|
|
33
|
-
* lakehouse
|
|
34
|
-
* products. With a marketplace server too, its search is used
|
|
27
|
+
* Query's servers, as Cube's host reads them (PLAN §11.18): Query's engine,
|
|
28
|
+
* depot, lakehouse and marketplace, configured as Query's own, and the
|
|
29
|
+
* lakehouse environment Query remembers for the viewer
|
|
35
30
|
*/
|
|
36
|
-
export const
|
|
37
|
-
const { config
|
|
38
|
-
if (!config.lakehouseContractUrl || !config.depotServerUrl) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
const contractServerClient = new LakehouseContractServerClient({
|
|
42
|
-
baseUrl: config.lakehouseContractUrl,
|
|
43
|
-
});
|
|
44
|
-
contractServerClient.setTracerService(tracerService);
|
|
45
|
-
const depotServerClient = new DepotServerClient({
|
|
46
|
-
serverUrl: config.depotServerUrl,
|
|
47
|
-
});
|
|
48
|
-
depotServerClient.setTracerService(tracerService);
|
|
49
|
-
let marketplaceServerClient;
|
|
50
|
-
if (config.marketplaceServerUrl) {
|
|
51
|
-
marketplaceServerClient = new MarketplaceServerClient({
|
|
52
|
-
serverUrl: config.marketplaceServerUrl,
|
|
53
|
-
// the client only stores it, never reading it, and Cube calls no subscription route
|
|
54
|
-
subscriptionUrl: '',
|
|
55
|
-
});
|
|
56
|
-
marketplaceServerClient.setTracerService(tracerService);
|
|
57
|
-
}
|
|
58
|
-
// ingest data sets need the platform, which names the ingest servers; the
|
|
59
|
-
// ingest client has no server of its own: each call names one
|
|
60
|
-
let platformServerClient;
|
|
61
|
-
let ingestServerClient;
|
|
62
|
-
if (config.lakehousePlatformUrl) {
|
|
63
|
-
platformServerClient = new LakehousePlatformServerClient(config.lakehousePlatformUrl);
|
|
64
|
-
platformServerClient.setTracerService(tracerService);
|
|
65
|
-
ingestServerClient = new LakehouseIngestServerClient(undefined);
|
|
66
|
-
ingestServerClient.setTracerService(tracerService);
|
|
67
|
-
}
|
|
31
|
+
export const buildLegendQueryCubeHostConfig = (applicationStore) => {
|
|
32
|
+
const { config } = applicationStore;
|
|
68
33
|
return {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
34
|
+
engine: buildLegendQueryCubeEngineConfig(config),
|
|
35
|
+
depotServerUrl: config.depotServerUrl,
|
|
36
|
+
lakehouseContractUrl: config.lakehouseContractUrl,
|
|
37
|
+
lakehousePlatformUrl: config.lakehousePlatformUrl,
|
|
38
|
+
marketplaceServerUrl: config.marketplaceServerUrl,
|
|
39
|
+
// a data product links to the marketplace of its deployment's class;
|
|
40
|
+
// Query's own links choose by a SNAPSHOT version instead
|
|
41
|
+
marketplaceApplicationUrl: config.marketplaceApplicationUrl,
|
|
42
|
+
marketplaceProductionParallelUrl: config.marketplaceProductionParallelUrl,
|
|
78
43
|
// the stereotype Studio and Marketplace mark groups open to everyone with
|
|
79
44
|
enterpriseStereotype: config.options.dataProductConfig?.publicStereotype
|
|
80
45
|
? {
|
|
@@ -82,85 +47,34 @@ export const buildLegendQueryCubeLakehouseServices = (applicationStore) => {
|
|
|
82
47
|
value: config.options.dataProductConfig.publicStereotype.stereotype,
|
|
83
48
|
}
|
|
84
49
|
: undefined,
|
|
85
|
-
// the
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
CubeDataProductEnvironmentType.PRODUCTION_PARALLEL
|
|
90
|
-
? config.marketplaceProductionParallelUrl
|
|
91
|
-
: config.marketplaceApplicationUrl;
|
|
92
|
-
return marketplaceUrl
|
|
93
|
-
? EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl(marketplaceUrl, target.dataProductId, target.deploymentId, target.accessPointGroup)
|
|
94
|
-
: undefined;
|
|
95
|
-
},
|
|
50
|
+
// the deployment directory Marketplace's producer info reads
|
|
51
|
+
deploymentNameServiceUrl: config.options.dataProductConfig?.producer?.deploymentLegendServiceUrl,
|
|
52
|
+
// the environment Query remembers for the viewer, as Query's editor uses it
|
|
53
|
+
getPreferredEnvironment: () => LegendQueryUserDataHelper.getLakehouseUserInfo(applicationStore.userDataService)?.env,
|
|
96
54
|
};
|
|
97
55
|
};
|
|
98
|
-
/** The published projects in Query's depot, or none without a depot */
|
|
99
|
-
export const buildLegendQueryCubeProjectCatalog = (applicationStore) => {
|
|
100
|
-
const { config, tracerService } = applicationStore;
|
|
101
|
-
if (!config.depotServerUrl) {
|
|
102
|
-
return undefined;
|
|
103
|
-
}
|
|
104
|
-
const depotServerClient = new DepotServerClient({
|
|
105
|
-
serverUrl: config.depotServerUrl,
|
|
106
|
-
});
|
|
107
|
-
depotServerClient.setTracerService(tracerService);
|
|
108
|
-
return buildCubeProjectCatalog(depotServerClient);
|
|
109
|
-
};
|
|
110
56
|
/**
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
|
|
57
|
+
* What Cube needs to read and run data products (PLAN §6.8), with Query's
|
|
58
|
+
* lakehouse and depot: none when Query has no lakehouse, so an open-source
|
|
59
|
+
* deployment without one offers no data products
|
|
60
|
+
*/
|
|
61
|
+
export const buildLegendQueryCubeLakehouseServices = (applicationStore) => buildLegendCubeLakehouseServices(applicationStore, buildLegendQueryCubeHostConfig(applicationStore));
|
|
62
|
+
/**
|
|
63
|
+
* Legend Query as the host of the Cube page (PLAN §3.5): the host a Legend
|
|
64
|
+
* deployment gives Cube (PLAN §11.18), from Query's config. One per visit to
|
|
65
|
+
* the page.
|
|
115
66
|
*/
|
|
116
|
-
export class LegendQueryCubeHost {
|
|
117
|
-
applicationStore;
|
|
118
|
-
engine;
|
|
119
|
-
modelCatalog;
|
|
120
|
-
connectionExplorer;
|
|
121
|
-
dataProductCatalog;
|
|
122
|
-
ingestCatalog;
|
|
123
|
-
projectCatalog;
|
|
124
|
-
serviceCatalog;
|
|
125
|
-
/** The engine URL and compression Cube's engine clients share, which Dev Settings changes */
|
|
126
|
-
engineClientSettings;
|
|
67
|
+
export class LegendQueryCubeHost extends LegendCubeHost {
|
|
127
68
|
/**
|
|
128
69
|
* Tests give an engine, an explorer and a project catalog; otherwise each
|
|
129
70
|
* is built from Query's config
|
|
130
71
|
*/
|
|
131
72
|
constructor(applicationStore, engine, connectionExplorer, projectCatalog) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
? buildCubeIngestCatalog(config, applicationStore.tracerService, lakehouse, this.engineClientSettings)
|
|
138
|
-
: undefined;
|
|
139
|
-
this.engine =
|
|
140
|
-
engine ??
|
|
141
|
-
buildCubeEngine(config, applicationStore.tracerService, {
|
|
142
|
-
ingestCatalog: this.ingestCatalog,
|
|
143
|
-
lakehouseEnvironment: lakehouse
|
|
144
|
-
? buildCubeLakehouseEnvironment(lakehouse)
|
|
145
|
-
: undefined,
|
|
146
|
-
getRememberedWarehouse: () => getCubeRememberedWarehouse(applicationStore.userDataService),
|
|
147
|
-
clientSettings: this.engineClientSettings,
|
|
148
|
-
});
|
|
149
|
-
this.dataProductCatalog = lakehouse
|
|
150
|
-
? buildCubeDataProductCatalog(lakehouse)
|
|
151
|
-
: undefined;
|
|
152
|
-
this.modelCatalog = new LocalModelCatalog(this.engine);
|
|
153
|
-
// its own client, configured as the engine's
|
|
154
|
-
this.connectionExplorer =
|
|
155
|
-
connectionExplorer ??
|
|
156
|
-
buildCubeConnectionExplorer(config, applicationStore.tracerService, this.engineClientSettings);
|
|
157
|
-
// the published projects in Query's depot (PLAN §6.3); it reads nothing
|
|
158
|
-
// until the source dialog's Project tab opens
|
|
159
|
-
this.projectCatalog =
|
|
160
|
-
projectCatalog ?? buildLegendQueryCubeProjectCatalog(applicationStore);
|
|
161
|
-
// the services in the registry of Query's engine (PLAN §6.4), in
|
|
162
|
-
// progress; it reads nothing until the source dialog's Service tab opens
|
|
163
|
-
this.serviceCatalog = buildCubeServiceCatalog(config, applicationStore.tracerService, this.engineClientSettings);
|
|
73
|
+
super(applicationStore, buildLegendQueryCubeHostConfig(applicationStore), {
|
|
74
|
+
engine,
|
|
75
|
+
connectionExplorer,
|
|
76
|
+
projectCatalog,
|
|
77
|
+
});
|
|
164
78
|
}
|
|
165
79
|
}
|
|
166
80
|
//# sourceMappingURL=LegendQueryCubeHost.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryCubeHost.js","sourceRoot":"","sources":["../../../src/stores/cube/LegendQueryCubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"LegendQueryCubeHost.js","sourceRoot":"","sources":["../../../src/stores/cube/LegendQueryCubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,gCAAgC,EAChC,cAAc,GAOf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAIvF,gFAAgF;AAChF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,MAAoC,EAClB,EAAE,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC,oBAAoB;IACzC,eAAe,EAAE,MAAM,CAAC,qBAAqB;IAC7C,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,MAAM,CAAC,uBAAuB;CAClD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,gBAA6C,EACvB,EAAE;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;IACpC,OAAO;QACL,MAAM,EAAE,gCAAgC,CAAC,MAAM,CAAC;QAChD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qEAAqE;QACrE,yDAAyD;QACzD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,gCAAgC,EAAE,MAAM,CAAC,gCAAgC;QACzE,0EAA0E;QAC1E,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB;YACtE,CAAC,CAAC;gBACE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO;gBAClE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU;aACpE;YACH,CAAC,CAAC,SAAS;QACb,6DAA6D;QAC7D,wBAAwB,EACtB,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,EAAE,0BAA0B;QACxE,4EAA4E;QAC5E,uBAAuB,EAAE,GAAG,EAAE,CAC5B,yBAAyB,CAAC,oBAAoB,CAC5C,gBAAgB,CAAC,eAAe,CACjC,EAAE,GAAG;KACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,gBAA6C,EACV,EAAE,CACrC,gCAAgC,CAC9B,gBAAgB,EAChB,8BAA8B,CAAC,gBAAgB,CAAC,CACjD,CAAC;AAEJ;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD;;;OAGG;IACH,YACE,gBAA6C,EAC7C,MAAmB,EACnB,kBAA2C,EAC3C,cAAmC;QAEnC,KAAK,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,gBAAgB,CAAC,EAAE;YACxE,MAAM;YACN,kBAAkB;YAClB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-query",
|
|
3
|
-
"version": "13.8.
|
|
3
|
+
"version": "13.8.64",
|
|
4
4
|
"description": "Legend Query application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -46,16 +46,15 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@finos/legend-application": "16.0.129",
|
|
48
48
|
"@finos/legend-art": "7.1.169",
|
|
49
|
-
"@finos/legend-code-editor": "2.0.
|
|
50
|
-
"@finos/legend-cube-builder": "0.0.
|
|
51
|
-
"@finos/legend-data-cube": "0.3.
|
|
52
|
-
"@finos/legend-extension-dsl-data-space": "10.4.
|
|
53
|
-
"@finos/legend-graph": "32.8.
|
|
54
|
-
"@finos/legend-lego": "2.0.
|
|
55
|
-
"@finos/legend-query-builder": "4.19.
|
|
49
|
+
"@finos/legend-code-editor": "2.0.212",
|
|
50
|
+
"@finos/legend-cube-builder": "0.0.7",
|
|
51
|
+
"@finos/legend-data-cube": "0.3.130",
|
|
52
|
+
"@finos/legend-extension-dsl-data-space": "10.4.266",
|
|
53
|
+
"@finos/legend-graph": "32.8.1",
|
|
54
|
+
"@finos/legend-lego": "2.0.232",
|
|
55
|
+
"@finos/legend-query-builder": "4.19.21",
|
|
56
56
|
"@finos/legend-server-depot": "6.1.24",
|
|
57
|
-
"@finos/legend-server-lakehouse": "0.4.
|
|
58
|
-
"@finos/legend-server-marketplace": "0.2.18",
|
|
57
|
+
"@finos/legend-server-lakehouse": "0.4.1",
|
|
59
58
|
"@finos/legend-shared": "11.0.32",
|
|
60
59
|
"@finos/legend-storage": "3.0.154",
|
|
61
60
|
"@testing-library/dom": "10.4.0",
|
|
@@ -72,7 +71,7 @@
|
|
|
72
71
|
"serializr": "3.0.3"
|
|
73
72
|
},
|
|
74
73
|
"devDependencies": {
|
|
75
|
-
"@finos/legend-dev-utils": "2.2.
|
|
74
|
+
"@finos/legend-dev-utils": "2.2.10",
|
|
76
75
|
"@jest/globals": "29.7.0",
|
|
77
76
|
"cross-env": "7.0.3",
|
|
78
77
|
"eslint": "9.22.0",
|
|
@@ -69,6 +69,22 @@ export class ServiceRegistrationEnvironmentConfig {
|
|
|
69
69
|
);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* The producers of data products, as Legend Marketplace configures them:
|
|
74
|
+
* Query reads only the engine path of the Legend user service naming
|
|
75
|
+
* producer deployments, which Legend Cube's Ingest tab labels its producers
|
|
76
|
+
* with
|
|
77
|
+
*/
|
|
78
|
+
export class LegendQueryDataProductProducerConfig {
|
|
79
|
+
deploymentLegendServiceUrl: string | undefined;
|
|
80
|
+
|
|
81
|
+
static readonly serialization = new SerializationFactory(
|
|
82
|
+
createModelSchema(LegendQueryDataProductProducerConfig, {
|
|
83
|
+
deploymentLegendServiceUrl: optional(primitive()),
|
|
84
|
+
}),
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
72
88
|
/**
|
|
73
89
|
* Data products, as Legend Studio and Legend Marketplace configure them:
|
|
74
90
|
* Query reads only the stereotype that marks access point groups open to
|
|
@@ -76,12 +92,18 @@ export class ServiceRegistrationEnvironmentConfig {
|
|
|
76
92
|
*/
|
|
77
93
|
export class LegendQueryDataProductConfig {
|
|
78
94
|
publicStereotype: StereotypeConfig | undefined;
|
|
95
|
+
producer: LegendQueryDataProductProducerConfig | undefined;
|
|
79
96
|
|
|
80
97
|
static readonly serialization = new SerializationFactory(
|
|
81
98
|
createModelSchema(LegendQueryDataProductConfig, {
|
|
82
99
|
publicStereotype: optional(
|
|
83
100
|
usingModelSchema(StereotypeConfig.serialization.schema),
|
|
84
101
|
),
|
|
102
|
+
producer: optional(
|
|
103
|
+
usingModelSchema(
|
|
104
|
+
LegendQueryDataProductProducerConfig.serialization.schema,
|
|
105
|
+
),
|
|
106
|
+
),
|
|
85
107
|
}),
|
|
86
108
|
);
|
|
87
109
|
}
|
|
@@ -15,35 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
buildCubeEngine,
|
|
21
|
-
buildCubeIngestCatalog,
|
|
22
|
-
buildCubeLakehouseEnvironment,
|
|
23
|
-
buildCubeProjectCatalog,
|
|
24
|
-
buildCubeServiceCatalog,
|
|
25
|
-
CubeDataProductEnvironmentType,
|
|
26
|
-
CubeEngineClientSettings,
|
|
27
|
-
getCubeRememberedWarehouse,
|
|
18
|
+
buildLegendCubeLakehouseServices,
|
|
19
|
+
LegendCubeHost,
|
|
28
20
|
type CubeConnectionExplorer,
|
|
29
|
-
type CubeDataProductCatalog,
|
|
30
21
|
type CubeEngine,
|
|
31
|
-
type
|
|
22
|
+
type CubeEngineConfig,
|
|
32
23
|
type CubeLakehouseServices,
|
|
33
24
|
type CubeProjectCatalog,
|
|
34
|
-
type
|
|
35
|
-
type CubeEngineConfig,
|
|
36
|
-
type CubeHost,
|
|
37
|
-
LocalModelCatalog,
|
|
25
|
+
type LegendCubeHostConfig,
|
|
38
26
|
} from '@finos/legend-cube-builder';
|
|
39
|
-
import { DepotServerClient } from '@finos/legend-server-depot';
|
|
40
|
-
import {
|
|
41
|
-
LakehouseContractServerClient,
|
|
42
|
-
LakehouseIngestServerClient,
|
|
43
|
-
LakehousePlatformServerClient,
|
|
44
|
-
} from '@finos/legend-server-lakehouse';
|
|
45
|
-
import { MarketplaceServerClient } from '@finos/legend-server-marketplace';
|
|
46
|
-
import { EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl } from '../../__lib__/LegendQueryNavigation.js';
|
|
47
27
|
import { LegendQueryUserDataHelper } from '../../__lib__/LegendQueryUserDataHelper.js';
|
|
48
28
|
import type { LegendQueryApplicationConfig } from '../../application/LegendQueryApplicationConfig.js';
|
|
49
29
|
import type { LegendQueryApplicationStore } from '../LegendQueryBaseStore.js';
|
|
@@ -60,60 +40,24 @@ export const buildLegendQueryCubeEngineConfig = (
|
|
|
60
40
|
});
|
|
61
41
|
|
|
62
42
|
/**
|
|
63
|
-
*
|
|
64
|
-
* lakehouse and
|
|
65
|
-
* lakehouse
|
|
66
|
-
* products. With a marketplace server too, its search is used
|
|
43
|
+
* Query's servers, as Cube's host reads them (PLAN §11.18): Query's engine,
|
|
44
|
+
* depot, lakehouse and marketplace, configured as Query's own, and the
|
|
45
|
+
* lakehouse environment Query remembers for the viewer
|
|
67
46
|
*/
|
|
68
|
-
export const
|
|
47
|
+
export const buildLegendQueryCubeHostConfig = (
|
|
69
48
|
applicationStore: LegendQueryApplicationStore,
|
|
70
|
-
):
|
|
71
|
-
const { config
|
|
72
|
-
if (!config.lakehouseContractUrl || !config.depotServerUrl) {
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
const contractServerClient = new LakehouseContractServerClient({
|
|
76
|
-
baseUrl: config.lakehouseContractUrl,
|
|
77
|
-
});
|
|
78
|
-
contractServerClient.setTracerService(tracerService);
|
|
79
|
-
const depotServerClient = new DepotServerClient({
|
|
80
|
-
serverUrl: config.depotServerUrl,
|
|
81
|
-
});
|
|
82
|
-
depotServerClient.setTracerService(tracerService);
|
|
83
|
-
let marketplaceServerClient: MarketplaceServerClient | undefined;
|
|
84
|
-
if (config.marketplaceServerUrl) {
|
|
85
|
-
marketplaceServerClient = new MarketplaceServerClient({
|
|
86
|
-
serverUrl: config.marketplaceServerUrl,
|
|
87
|
-
// the client only stores it, never reading it, and Cube calls no subscription route
|
|
88
|
-
subscriptionUrl: '',
|
|
89
|
-
});
|
|
90
|
-
marketplaceServerClient.setTracerService(tracerService);
|
|
91
|
-
}
|
|
92
|
-
// ingest data sets need the platform, which names the ingest servers; the
|
|
93
|
-
// ingest client has no server of its own: each call names one
|
|
94
|
-
let platformServerClient: LakehousePlatformServerClient | undefined;
|
|
95
|
-
let ingestServerClient: LakehouseIngestServerClient | undefined;
|
|
96
|
-
if (config.lakehousePlatformUrl) {
|
|
97
|
-
platformServerClient = new LakehousePlatformServerClient(
|
|
98
|
-
config.lakehousePlatformUrl,
|
|
99
|
-
);
|
|
100
|
-
platformServerClient.setTracerService(tracerService);
|
|
101
|
-
ingestServerClient = new LakehouseIngestServerClient(undefined);
|
|
102
|
-
ingestServerClient.setTracerService(tracerService);
|
|
103
|
-
}
|
|
49
|
+
): LegendCubeHostConfig => {
|
|
50
|
+
const { config } = applicationStore;
|
|
104
51
|
return {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
LegendQueryUserDataHelper.getLakehouseUserInfo(
|
|
115
|
-
applicationStore.userDataService,
|
|
116
|
-
)?.env,
|
|
52
|
+
engine: buildLegendQueryCubeEngineConfig(config),
|
|
53
|
+
depotServerUrl: config.depotServerUrl,
|
|
54
|
+
lakehouseContractUrl: config.lakehouseContractUrl,
|
|
55
|
+
lakehousePlatformUrl: config.lakehousePlatformUrl,
|
|
56
|
+
marketplaceServerUrl: config.marketplaceServerUrl,
|
|
57
|
+
// a data product links to the marketplace of its deployment's class;
|
|
58
|
+
// Query's own links choose by a SNAPSHOT version instead
|
|
59
|
+
marketplaceApplicationUrl: config.marketplaceApplicationUrl,
|
|
60
|
+
marketplaceProductionParallelUrl: config.marketplaceProductionParallelUrl,
|
|
117
61
|
// the stereotype Studio and Marketplace mark groups open to everyone with
|
|
118
62
|
enterpriseStereotype: config.options.dataProductConfig?.publicStereotype
|
|
119
63
|
? {
|
|
@@ -121,59 +65,36 @@ export const buildLegendQueryCubeLakehouseServices = (
|
|
|
121
65
|
value: config.options.dataProductConfig.publicStereotype.stereotype,
|
|
122
66
|
}
|
|
123
67
|
: undefined,
|
|
124
|
-
// the
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return marketplaceUrl
|
|
133
|
-
? EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl(
|
|
134
|
-
marketplaceUrl,
|
|
135
|
-
target.dataProductId,
|
|
136
|
-
target.deploymentId,
|
|
137
|
-
target.accessPointGroup,
|
|
138
|
-
)
|
|
139
|
-
: undefined;
|
|
140
|
-
},
|
|
68
|
+
// the deployment directory Marketplace's producer info reads
|
|
69
|
+
deploymentNameServiceUrl:
|
|
70
|
+
config.options.dataProductConfig?.producer?.deploymentLegendServiceUrl,
|
|
71
|
+
// the environment Query remembers for the viewer, as Query's editor uses it
|
|
72
|
+
getPreferredEnvironment: () =>
|
|
73
|
+
LegendQueryUserDataHelper.getLakehouseUserInfo(
|
|
74
|
+
applicationStore.userDataService,
|
|
75
|
+
)?.env,
|
|
141
76
|
};
|
|
142
77
|
};
|
|
143
78
|
|
|
144
|
-
/**
|
|
145
|
-
|
|
79
|
+
/**
|
|
80
|
+
* What Cube needs to read and run data products (PLAN §6.8), with Query's
|
|
81
|
+
* lakehouse and depot: none when Query has no lakehouse, so an open-source
|
|
82
|
+
* deployment without one offers no data products
|
|
83
|
+
*/
|
|
84
|
+
export const buildLegendQueryCubeLakehouseServices = (
|
|
146
85
|
applicationStore: LegendQueryApplicationStore,
|
|
147
|
-
):
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const depotServerClient = new DepotServerClient({
|
|
153
|
-
serverUrl: config.depotServerUrl,
|
|
154
|
-
});
|
|
155
|
-
depotServerClient.setTracerService(tracerService);
|
|
156
|
-
return buildCubeProjectCatalog(depotServerClient);
|
|
157
|
-
};
|
|
86
|
+
): CubeLakehouseServices | undefined =>
|
|
87
|
+
buildLegendCubeLakehouseServices(
|
|
88
|
+
applicationStore,
|
|
89
|
+
buildLegendQueryCubeHostConfig(applicationStore),
|
|
90
|
+
);
|
|
158
91
|
|
|
159
92
|
/**
|
|
160
|
-
* Legend Query as the host of the Cube page (PLAN §3.5):
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* products (PLAN §6.8). One per visit to the page.
|
|
93
|
+
* Legend Query as the host of the Cube page (PLAN §3.5): the host a Legend
|
|
94
|
+
* deployment gives Cube (PLAN §11.18), from Query's config. One per visit to
|
|
95
|
+
* the page.
|
|
164
96
|
*/
|
|
165
|
-
export class LegendQueryCubeHost
|
|
166
|
-
readonly applicationStore: LegendQueryApplicationStore;
|
|
167
|
-
readonly engine: CubeEngine;
|
|
168
|
-
readonly modelCatalog: LocalModelCatalog;
|
|
169
|
-
readonly connectionExplorer: CubeConnectionExplorer;
|
|
170
|
-
readonly dataProductCatalog: CubeDataProductCatalog | undefined;
|
|
171
|
-
readonly ingestCatalog: CubeIngestCatalog | undefined;
|
|
172
|
-
readonly projectCatalog: CubeProjectCatalog | undefined;
|
|
173
|
-
readonly serviceCatalog: CubeServiceCatalog;
|
|
174
|
-
/** The engine URL and compression Cube's engine clients share, which Dev Settings changes */
|
|
175
|
-
readonly engineClientSettings: CubeEngineClientSettings;
|
|
176
|
-
|
|
97
|
+
export class LegendQueryCubeHost extends LegendCubeHost {
|
|
177
98
|
/**
|
|
178
99
|
* Tests give an engine, an explorer and a project catalog; otherwise each
|
|
179
100
|
* is built from Query's config
|
|
@@ -184,51 +105,10 @@ export class LegendQueryCubeHost implements CubeHost {
|
|
|
184
105
|
connectionExplorer?: CubeConnectionExplorer,
|
|
185
106
|
projectCatalog?: CubeProjectCatalog,
|
|
186
107
|
) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
? buildCubeIngestCatalog(
|
|
193
|
-
config,
|
|
194
|
-
applicationStore.tracerService,
|
|
195
|
-
lakehouse,
|
|
196
|
-
this.engineClientSettings,
|
|
197
|
-
)
|
|
198
|
-
: undefined;
|
|
199
|
-
this.engine =
|
|
200
|
-
engine ??
|
|
201
|
-
buildCubeEngine(config, applicationStore.tracerService, {
|
|
202
|
-
ingestCatalog: this.ingestCatalog,
|
|
203
|
-
lakehouseEnvironment: lakehouse
|
|
204
|
-
? buildCubeLakehouseEnvironment(lakehouse)
|
|
205
|
-
: undefined,
|
|
206
|
-
getRememberedWarehouse: () =>
|
|
207
|
-
getCubeRememberedWarehouse(applicationStore.userDataService),
|
|
208
|
-
clientSettings: this.engineClientSettings,
|
|
209
|
-
});
|
|
210
|
-
this.dataProductCatalog = lakehouse
|
|
211
|
-
? buildCubeDataProductCatalog(lakehouse)
|
|
212
|
-
: undefined;
|
|
213
|
-
this.modelCatalog = new LocalModelCatalog(this.engine);
|
|
214
|
-
// its own client, configured as the engine's
|
|
215
|
-
this.connectionExplorer =
|
|
216
|
-
connectionExplorer ??
|
|
217
|
-
buildCubeConnectionExplorer(
|
|
218
|
-
config,
|
|
219
|
-
applicationStore.tracerService,
|
|
220
|
-
this.engineClientSettings,
|
|
221
|
-
);
|
|
222
|
-
// the published projects in Query's depot (PLAN §6.3); it reads nothing
|
|
223
|
-
// until the source dialog's Project tab opens
|
|
224
|
-
this.projectCatalog =
|
|
225
|
-
projectCatalog ?? buildLegendQueryCubeProjectCatalog(applicationStore);
|
|
226
|
-
// the services in the registry of Query's engine (PLAN §6.4), in
|
|
227
|
-
// progress; it reads nothing until the source dialog's Service tab opens
|
|
228
|
-
this.serviceCatalog = buildCubeServiceCatalog(
|
|
229
|
-
config,
|
|
230
|
-
applicationStore.tracerService,
|
|
231
|
-
this.engineClientSettings,
|
|
232
|
-
);
|
|
108
|
+
super(applicationStore, buildLegendQueryCubeHostConfig(applicationStore), {
|
|
109
|
+
engine,
|
|
110
|
+
connectionExplorer,
|
|
111
|
+
projectCatalog,
|
|
112
|
+
});
|
|
233
113
|
}
|
|
234
114
|
}
|