text: const AWS = require('aws-sdk');
  
  const ddb = new AWS.DynamoDB.DocumentClient();
  
  exports.handler = (event, context, callback) => {
      if (!event.requestContext.authorizer) {
        errorResponse('Authorization not configured', context.awsRequestId, callback);
        return;
      }
  
      console.log('Received event: ', event);
  
      // if we don't have the unicorn scope, we will not let the request through
      if (!event.requestContext.authorizer["unicorn"]) {
          errorResponse('Only unicorns can call this method', context.awsRequestId, callback);
          return;
      }
  
      listRides(event.requestContext.authorizer.principalId).then((data) => {
          // You can use the callback function to provide a return value from your Node.js
          // Lambda functions. The first parameter is used for failed invocations. The
          // second parameter specifies the result data of the invocation.
  
          // Because this Lambda function is called by an API Gateway proxy integration
          // the result object must use the following structure.
          callback(null, {
              statusCode: 200,
              body: JSON.stringify(data.Items),
              headers: {
                  'Access-Control-Allow-Origin': '*',
              },
          });
      }).catch((err) => {
          console.error(err);
  
          // If there is an error during processing, catch it and return
          // from the Lambda function successfully. Specify a 500 HTTP status
          // code and provide an error message in the body. This will provide a
          // more meaningful error response to the end client.
          errorResponse(err.message, context.awsRequestId, callback)
      });
  };
  
  function listRides(username) {
      return ddb.scan({
          ExpressionAttributeValues: {
              ":u": username
          },
          FilterExpression: 'UnicornName = :u',
          TableName: 'Rides',
      }).promise();
  }
  
  function errorResponse(errorMessage, awsRequestId, callback) {
    callback(null, {
      statusCode: 500,
      body: JSON.stringify({
        Error: errorMessage,
        Reference: awsRequestId,
      }),
      headers: {
        'Access-Control-Allow-Origin': '*',
      },
    });
  }
  