mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 00:25:46 -06:00
32 lines
932 B
TypeScript
32 lines
932 B
TypeScript
import { CurrentUserDTO } from '@grafana/data';
|
|
import { attachDebugger, createLogger } from '@grafana/ui';
|
|
|
|
/**
|
|
* Returns an opaque identifier for a user, for reporting purposes.
|
|
* Because this is for use when reporting across multiple Grafana installations
|
|
* It cannot simply be user.id because that's not unique across two installations.
|
|
*/
|
|
export function getUserIdentifier(user: CurrentUserDTO) {
|
|
if (user.externalUserId.length) {
|
|
return user.externalUserId;
|
|
}
|
|
|
|
return user.email;
|
|
}
|
|
|
|
export function loadScript(url: string, async = false) {
|
|
return new Promise((resolve) => {
|
|
const script = document.createElement('script');
|
|
script.onload = resolve;
|
|
script.src = url;
|
|
script.async = async;
|
|
document.head.appendChild(script);
|
|
});
|
|
}
|
|
|
|
/** @internal */
|
|
export const echoLogger = createLogger('EchoSrv');
|
|
export const echoLog = echoLogger.logger;
|
|
|
|
attachDebugger('echo', undefined, echoLogger);
|