UNPKG

@finos/legend-application-marketplace

Version:
87 lines 5.18 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { generatePath, matchPath } from '@finos/legend-application/browser'; import { addQueryParametersToUrl, stringifyQueryParams, } from '@finos/legend-shared'; export var LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN; (function (LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN) { LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["VENDOR_NAME"] = "vendorName"; LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["GAV"] = "gav"; LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["DATA_PRODUCT_PATH"] = "path"; LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["TASK_ID"] = "taskId"; LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["CONTRACT_ID"] = "contractId"; LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN["ingestEnvironmentUrn"] = "ingestEnvironmentUrn"; })(LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN || (LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN = {})); export var LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN; (function (LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN) { LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN["PROVIDER"] = "provider"; LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN["QUERY"] = "query"; })(LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN || (LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN = {})); export const LEGEND_MARKETPLACE_ROUTE_PATTERN = Object.freeze({ DEFAULT: '/', OAUTH_CALLBACK: '/callback', SEARCH_RESULTS: '/results', VENDOR_DATA: '/vendordata', VENDOR_DETAILS: `/vendor/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.VENDOR_NAME}`, LAKEHOUSE: '/lakehouse', LAKEHOUSE_ENTITLEMENTS: '/lakehouse/entitlements', LAKEHOUSE_ENTITLEMENTS_CONTRACTS: `/lakehouse/entitlements/contracts/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.CONTRACT_ID}`, LAKEHOUSE_PRODUCT: `/lakehouse/dataProduct/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.GAV}/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.DATA_PRODUCT_PATH}`, LAKEHOUSE_SANDBOX_PRODUCT: `/lakehouse/dataProduct/sandbox/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.ingestEnvironmentUrn}/:${LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.DATA_PRODUCT_PATH}`, SUBSCRIPTIONS: '/subscriptions', ORDERS: '/orders', LAKEHOUSE_ADMIN: '/lakehouse/admin', }); export const LAKEHOUSE_ROUTES = Object.freeze([ LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE, LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_ENTITLEMENTS, LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_ENTITLEMENTS_CONTRACTS, LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_PRODUCT, LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_SANDBOX_PRODUCT, LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_ADMIN, ]); export const isLakehouseRoute = (pathName) => LAKEHOUSE_ROUTES.some((route) => matchPath(route, pathName) !== null); export const generateLakehouseDataProductPath = (gav, path) => generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_PRODUCT, { gav, path, }); export const generateLakehouseSandboxDataProductPath = (ingestEnvironmentUrn, path) => generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_SANDBOX_PRODUCT, { ingestEnvironmentUrn, path, }); export const generateLakehouseTaskPath = (taskId) => `${LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_ENTITLEMENTS}?selectedTasks=${taskId}`; export const generateLakehouseContractPath = (contractId) => generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.LAKEHOUSE_ENTITLEMENTS_CONTRACTS, { contractId, }); export const generateSearchResultsRoute = (provider, query) => addQueryParametersToUrl(LEGEND_MARKETPLACE_ROUTE_PATTERN.SEARCH_RESULTS, stringifyQueryParams({ [LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN.PROVIDER]: provider ? provider : undefined, [LEGEND_MARKETPLACE_SEARCH_RESULTS_QUERY_PARAM_TOKEN.QUERY]: query ? query : undefined, })); export const generateVendorDetailsRoute = (vendorName) => generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.VENDOR_DETAILS, { vendorName, }); /** * @external_application_navigation This depends on Legend Studio routing and is hardcoded so it's potentially brittle */ export const EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl = (studioApplicationUrl, projectId, versionId, entityPath) => `${studioApplicationUrl}/view/${projectId}${versionId ? `/version/${versionId}` : ''}${entityPath ? `/entity/${entityPath}` : ''}`; /** * @external_application_navigation This depends on Ingest Environment swagger URL and is hardcoded so it's potentially brittle */ export const EXTERNAL_APPLICATION_NAVIGATION__generateIngestEnvironemntUrl = (baseUrl) => `${baseUrl}/data-product/swagger-ui`; //# sourceMappingURL=LegendMarketplaceNavigation.js.map