UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

76 lines 11 kB
/** * @packageDocumentation * @module utils */ import { InjectionToken } from '@angular/core'; import { fetchAuthorizedResource } from '../../authorization/token-client'; import { getBaseHref } from '../utils/public-api'; export const anonymousApis = []; export const resourceDefinitions = {}; const GLOBAL_ENVIRONMENTS = { GLOBAL_NAMESPACE: 'cpaas-system', LABEL_BASE_DOMAIN: 'cpaas.io', }; let GLOBAL_ENVIRONMENTS_INITIALIZED = false; export function initGlobalEnvironments(env) { if (GLOBAL_ENVIRONMENTS_INITIALIZED && // @ts-expect-error -- webpack specific !module.hot) { throw new Error('Global environments have been initialized'); } GLOBAL_ENVIRONMENTS_INITIALIZED = true; Object.assign(GLOBAL_ENVIRONMENTS, env); } export async function fetchGlobalEnvironments(callback) { if (GLOBAL_ENVIRONMENTS_INITIALIZED) { callback?.(GLOBAL_ENVIRONMENTS); return GLOBAL_ENVIRONMENTS; } const response = await fetchAuthorizedResource('/console/api/v1/envs'); if (!response.ok) { throw new Error(`Failed to load environments: ${response.status} ${response.statusText}`); } const envs = await response.json(); initGlobalEnvironments(envs); callback?.(envs); return envs; } export function getGlobalEnvironments(name) { if (!GLOBAL_ENVIRONMENTS_INITIALIZED) { throw new Error('Global environments have not been initialized'); } return name ? GLOBAL_ENVIRONMENTS[name] : GLOBAL_ENVIRONMENTS; } export const ANONYMOUS_APIS = new InjectionToken('anonymous apis no need for authorization', { providedIn: 'root', factory: () => anonymousApis, }); export const TOKEN_BASE_DOMAIN = new InjectionToken('default base domain string for annotations and labels of kubernetes resource', { providedIn: 'root', factory: () => getGlobalEnvironments('LABEL_BASE_DOMAIN'), }); export const TOKEN_GLOBAL_NAMESPACE = new InjectionToken('default global namespace for namespaced global resource', { providedIn: 'root', factory: () => getGlobalEnvironments('GLOBAL_NAMESPACE'), }); export const TOKEN_LOGO_URL = new InjectionToken('LOGO_URL', { providedIn: 'root', factory: () => getGlobalEnvironments('LOGO_URL'), }); export const TOKEN_RESOURCE_DEFINITIONS = new InjectionToken('custom resource definitions', { providedIn: 'root', factory: () => resourceDefinitions, }); export const TOKEN_BASE_HREF = new InjectionToken('base href from DOM', { providedIn: 'root', factory: getBaseHref, }); export const TOKEN_DISABLE_SESSION_MANAGE = new InjectionToken('disable session manage', { providedIn: 'root', factory: () => false, }); export const TOKEN_CRYPTO_INTERCEPTOR_URL_REGEXPS = new InjectionToken('Configure the default encryption-enabled URL matching regular expression array', { providedIn: 'root', factory: () => [], }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCLEVBQUUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRTlELE1BQU0sbUJBQW1CLEdBQWlCO0lBQ3hDLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsVUFBVTtDQUM5QixDQUFDO0FBRUYsSUFBSSwrQkFBK0IsR0FBRyxLQUFLLENBQUM7QUFFNUMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQWlCO0lBQ3RELElBQ0UsK0JBQStCO1FBQy9CLHVDQUF1QztRQUN2QyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ1gsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsK0JBQStCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLFFBQXVDO0lBRXZDLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUNwQyxRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUV2RSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0NBQWdDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFpQixNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFNRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBeUI7SUFDN0QsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQzlDLDBDQUEwQyxFQUMxQztJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhO0NBQzdCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCw4RUFBOEUsRUFDOUU7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUM7Q0FDMUQsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHlEQUF5RCxFQUN6RDtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQztDQUN6RCxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFO0lBQzNELFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7Q0FDakQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELDZCQUE2QixFQUM3QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUI7Q0FDbkMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUMvQyxvQkFBb0IsRUFDcEI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsV0FBVztDQUNyQixDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsd0JBQXdCLEVBQ3hCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUs7Q0FDckIsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsSUFBSSxjQUFjLENBQ3BFLGdGQUFnRixFQUNoRjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ2xCLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSzhzUmVzb3VyY2VEZWZpbml0aW9ucyB9IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBmZXRjaEF1dGhvcml6ZWRSZXNvdXJjZSB9IGZyb20gJy4uLy4uL2F1dGhvcml6YXRpb24vdG9rZW4tY2xpZW50JztcbmltcG9ydCB7IEVudmlyb25tZW50cyB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbnMnO1xuaW1wb3J0IHsgZ2V0QmFzZUhyZWYgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IGFub255bW91c0FwaXM6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4gPSBbXTtcblxuZXhwb3J0IGNvbnN0IHJlc291cmNlRGVmaW5pdGlvbnM6IEs4c1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7fTtcblxuY29uc3QgR0xPQkFMX0VOVklST05NRU5UUzogRW52aXJvbm1lbnRzID0ge1xuICBHTE9CQUxfTkFNRVNQQUNFOiAnY3BhYXMtc3lzdGVtJyxcbiAgTEFCRUxfQkFTRV9ET01BSU46ICdjcGFhcy5pbycsXG59O1xuXG5sZXQgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnY6IEVudmlyb25tZW50cyk6IHZvaWQge1xuICBpZiAoXG4gICAgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCAmJlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gd2VicGFjayBzcGVjaWZpY1xuICAgICFtb2R1bGUuaG90XG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIGVudmlyb25tZW50cyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQgPSB0cnVlO1xuICBPYmplY3QuYXNzaWduKEdMT0JBTF9FTlZJUk9OTUVOVFMsIGVudik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEdsb2JhbEVudmlyb25tZW50cyhcbiAgY2FsbGJhY2s/OiAoZW52czogRW52aXJvbm1lbnRzKSA9PiB2b2lkLFxuKSB7XG4gIGlmIChHTE9CQUxfRU5WSVJPTk1FTlRTX0lOSVRJQUxJWkVEKSB7XG4gICAgY2FsbGJhY2s/LihHTE9CQUxfRU5WSVJPTk1FTlRTKTtcbiAgICByZXR1cm4gR0xPQkFMX0VOVklST05NRU5UUztcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hBdXRob3JpemVkUmVzb3VyY2UoJy9jb25zb2xlL2FwaS92MS9lbnZzJyk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBGYWlsZWQgdG8gbG9hZCBlbnZpcm9ubWVudHM6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZW52czogRW52aXJvbm1lbnRzID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICBpbml0R2xvYmFsRW52aXJvbm1lbnRzKGVudnMpO1xuICBjYWxsYmFjaz8uKGVudnMpO1xuICByZXR1cm4gZW52cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50cygpOiBSZWFkb25seTxFbnZpcm9ubWVudHM+O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50czxUIGV4dGVuZHMga2V5b2YgRW52aXJvbm1lbnRzPihcbiAgbmFtZTogVCxcbik6IEVudmlyb25tZW50c1tUXTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxFbnZpcm9ubWVudHMobmFtZT86IGtleW9mIEVudmlyb25tZW50cykge1xuICBpZiAoIUdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbCBlbnZpcm9ubWVudHMgaGF2ZSBub3QgYmVlbiBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUgPyBHTE9CQUxfRU5WSVJPTk1FTlRTW25hbWVdIDogR0xPQkFMX0VOVklST05NRU5UUztcbn1cblxuZXhwb3J0IGNvbnN0IEFOT05ZTU9VU19BUElTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYW5vbnltb3VzIGFwaXMgbm8gbmVlZCBmb3IgYXV0aG9yaXphdGlvbicsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gYW5vbnltb3VzQXBpcyxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9CQVNFX0RPTUFJTiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgYmFzZSBkb21haW4gc3RyaW5nIGZvciBhbm5vdGF0aW9ucyBhbmQgbGFiZWxzIG9mIGt1YmVybmV0ZXMgcmVzb3VyY2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnTEFCRUxfQkFTRV9ET01BSU4nKSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9HTE9CQUxfTkFNRVNQQUNFID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnZGVmYXVsdCBnbG9iYWwgbmFtZXNwYWNlIGZvciBuYW1lc3BhY2VkIGdsb2JhbCByZXNvdXJjZScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gZ2V0R2xvYmFsRW52aXJvbm1lbnRzKCdHTE9CQUxfTkFNRVNQQUNFJyksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fTE9HT19VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0xPR09fVVJMJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnTE9HT19VUkwnKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdjdXN0b20gcmVzb3VyY2UgZGVmaW5pdGlvbnMnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHJlc291cmNlRGVmaW5pdGlvbnMsXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQkFTRV9IUkVGID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdiYXNlIGhyZWYgZnJvbSBET00nLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IGdldEJhc2VIcmVmLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0RJU0FCTEVfU0VTU0lPTl9NQU5BR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdkaXNhYmxlIHNlc3Npb24gbWFuYWdlJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBmYWxzZSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9DUllQVE9fSU5URVJDRVBUT1JfVVJMX1JFR0VYUFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdDb25maWd1cmUgdGhlIGRlZmF1bHQgZW5jcnlwdGlvbi1lbmFibGVkIFVSTCBtYXRjaGluZyByZWd1bGFyIGV4cHJlc3Npb24gYXJyYXknLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxuICB9LFxuKTtcbiJdfQ==