UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

76 lines 10.5 kB
/** * @packageDocumentation * @module utils */ import { InjectionToken } from '@angular/core'; 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) { try { const response = await fetch('/console/api/v1/envs'); if (!response.ok) { throw new Error('Network response was not ok'); } const envs = await response.json(); initGlobalEnvironments(envs); callback?.(envs); return envs; } catch (error) { console.error('Failed to load environments.', error); } } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCLEVBQUUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0FBRTlELE1BQU0sbUJBQW1CLEdBQWlCO0lBQ3hDLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsVUFBVTtDQUM5QixDQUFDO0FBRUYsSUFBSSwrQkFBK0IsR0FBRyxLQUFLLENBQUM7QUFFNUMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEdBQWlCO0lBQ3RELElBQ0UsK0JBQStCO1FBQy9CLHVDQUF1QztRQUN2QyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ1gsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsK0JBQStCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLFFBQXVDO0lBRXZDLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFpQixNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQztBQU1ELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxJQUF5QjtJQUM3RCxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7QUFDaEUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsMENBQTBDLEVBQzFDO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWE7Q0FDN0IsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQ2pELDhFQUE4RSxFQUM5RTtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQztDQUMxRCxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQseURBQXlELEVBQ3pEO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDO0NBQ3pELENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUU7SUFDM0QsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztDQUNqRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDMUQsNkJBQTZCLEVBQzdCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQjtDQUNuQyxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQy9DLG9CQUFvQixFQUNwQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUM1RCx3QkFBd0IsRUFDeEI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztDQUNyQixDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLGNBQWMsQ0FDcEUsZ0ZBQWdGLEVBQ2hGO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDbEIsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBLOHNSZXNvdXJjZURlZmluaXRpb25zIH0gZnJvbSAnLi4vLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVudmlyb25tZW50cyB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbnMnO1xuaW1wb3J0IHsgZ2V0QmFzZUhyZWYgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IGFub255bW91c0FwaXM6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4gPSBbXTtcblxuZXhwb3J0IGNvbnN0IHJlc291cmNlRGVmaW5pdGlvbnM6IEs4c1Jlc291cmNlRGVmaW5pdGlvbnMgPSB7fTtcblxuY29uc3QgR0xPQkFMX0VOVklST05NRU5UUzogRW52aXJvbm1lbnRzID0ge1xuICBHTE9CQUxfTkFNRVNQQUNFOiAnY3BhYXMtc3lzdGVtJyxcbiAgTEFCRUxfQkFTRV9ET01BSU46ICdjcGFhcy5pbycsXG59O1xuXG5sZXQgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnY6IEVudmlyb25tZW50cyk6IHZvaWQge1xuICBpZiAoXG4gICAgR0xPQkFMX0VOVklST05NRU5UU19JTklUSUFMSVpFRCAmJlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gd2VicGFjayBzcGVjaWZpY1xuICAgICFtb2R1bGUuaG90XG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIGVudmlyb25tZW50cyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIEdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQgPSB0cnVlO1xuICBPYmplY3QuYXNzaWduKEdMT0JBTF9FTlZJUk9OTUVOVFMsIGVudik7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEdsb2JhbEVudmlyb25tZW50cyhcbiAgY2FsbGJhY2s/OiAoZW52czogRW52aXJvbm1lbnRzKSA9PiB2b2lkLFxuKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2NvbnNvbGUvYXBpL3YxL2VudnMnKTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgcmVzcG9uc2Ugd2FzIG5vdCBvaycpO1xuICAgIH1cbiAgICBjb25zdCBlbnZzOiBFbnZpcm9ubWVudHMgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgaW5pdEdsb2JhbEVudmlyb25tZW50cyhlbnZzKTtcbiAgICBjYWxsYmFjaz8uKGVudnMpO1xuICAgIHJldHVybiBlbnZzO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGVudmlyb25tZW50cy4nLCBlcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50cygpOiBSZWFkb25seTxFbnZpcm9ubWVudHM+O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbEVudmlyb25tZW50czxUIGV4dGVuZHMga2V5b2YgRW52aXJvbm1lbnRzPihcbiAgbmFtZTogVCxcbik6IEVudmlyb25tZW50c1tUXTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxFbnZpcm9ubWVudHMobmFtZT86IGtleW9mIEVudmlyb25tZW50cykge1xuICBpZiAoIUdMT0JBTF9FTlZJUk9OTUVOVFNfSU5JVElBTElaRUQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbCBlbnZpcm9ubWVudHMgaGF2ZSBub3QgYmVlbiBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUgPyBHTE9CQUxfRU5WSVJPTk1FTlRTW25hbWVdIDogR0xPQkFMX0VOVklST05NRU5UUztcbn1cblxuZXhwb3J0IGNvbnN0IEFOT05ZTU9VU19BUElTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnYW5vbnltb3VzIGFwaXMgbm8gbmVlZCBmb3IgYXV0aG9yaXphdGlvbicsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gYW5vbnltb3VzQXBpcyxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9CQVNFX0RPTUFJTiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ2RlZmF1bHQgYmFzZSBkb21haW4gc3RyaW5nIGZvciBhbm5vdGF0aW9ucyBhbmQgbGFiZWxzIG9mIGt1YmVybmV0ZXMgcmVzb3VyY2UnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnTEFCRUxfQkFTRV9ET01BSU4nKSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9HTE9CQUxfTkFNRVNQQUNFID0gbmV3IEluamVjdGlvblRva2VuKFxuICAnZGVmYXVsdCBnbG9iYWwgbmFtZXNwYWNlIGZvciBuYW1lc3BhY2VkIGdsb2JhbCByZXNvdXJjZScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gZ2V0R2xvYmFsRW52aXJvbm1lbnRzKCdHTE9CQUxfTkFNRVNQQUNFJyksXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fTE9HT19VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0xPR09fVVJMJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGdldEdsb2JhbEVudmlyb25tZW50cygnTE9HT19VUkwnKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdjdXN0b20gcmVzb3VyY2UgZGVmaW5pdGlvbnMnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHJlc291cmNlRGVmaW5pdGlvbnMsXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fQkFTRV9IUkVGID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdiYXNlIGhyZWYgZnJvbSBET00nLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IGdldEJhc2VIcmVmLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0RJU0FCTEVfU0VTU0lPTl9NQU5BR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdkaXNhYmxlIHNlc3Npb24gbWFuYWdlJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBmYWxzZSxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9DUllQVE9fSU5URVJDRVBUT1JfVVJMX1JFR0VYUFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICdDb25maWd1cmUgdGhlIGRlZmF1bHQgZW5jcnlwdGlvbi1lbmFibGVkIFVSTCBtYXRjaGluZyByZWd1bGFyIGV4cHJlc3Npb24gYXJyYXknLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxuICB9LFxuKTtcbiJdfQ==