UNPKG

@dxatscale/sfprofiles

Version:
29 lines (24 loc) 999 B
import { Org } from '@salesforce/core'; import { isNullOrUndefined } from 'util'; import SFPLogger, {LoggerLevel } from '@dxatscale/sfp-logger'; let retry = require('async-retry'); export async function getUserEmail(username: string, hubOrg: Org) { let hubConn = hubOrg.getConnection(); return await retry( async (bail) => { if (isNullOrUndefined(username)) { bail(new Error('username cannot be null. provide a valid username')); return; } let query = `SELECT email FROM user WHERE username='${username}'`; SFPLogger.log('QUERY:' + query, LoggerLevel.TRACE); const results = (await hubConn.query(query)) as any; if (results.records.size < 1) { bail(new Error(`No user found with username ${username} in devhub.`)); return; } return results.records[0].Email; }, { retries: 3, minTimeout: 3000 } ); }