exports.myHandler = function()

in server/server.js [6:39]


exports.myHandler = function(event, context, callback) {

	var widgetDefinition = { MetricWidget: {} } ;

    widgetDefinition.MetricWidget = event.queryStringParameters.widgetDefinition ; 

    let accountId = event.queryStringParameters.accountId ;

    console.log('accountId: ' + accountId);
    console.log('widgetDefinition: ' + JSON.stringify(widgetDefinition));

    let role = event.queryStringParameters.role ;
    let thisAcctId = context.invokedFunctionArn.split(":")[4] ;

    if (accountId !== null && accountId !== '' && accountId != thisAcctId) {

        let roleArn = `arn:aws:iam::${accountId}:role/${role}`;
        console.log("Assuming role: "+roleArn);

        let sts = new AWS.STS() ;
        sts.assumeRole({RoleArn: roleArn, RoleSessionName: 'SnapshotGraphs'}, function(err, data) {
            if (err) console.log(err, err.stack); // an error occurred
            else {           // successful response
                console.log(JSON.stringify(data))
                let tempCredentials = new AWS.Credentials(data.Credentials.AccessKeyId, 
                                                          data.Credentials.SecretAccessKey, 
                                                          data.Credentials.SessionToken)
                getWidget(widgetDefinition, callback, tempCredentials);
            }
        });
    } else 
        getWidget(widgetDefinition, callback);
  
}