def lambda_handler()

in lambdas/api_post_rides/index.py [0:0]


def lambda_handler(event, context):
  status_code = 400
  try:
    # print("[DEBUG] Received event: " + json.dumps(event, indent=2))
    user_id = event['requestContext']['identity']['cognitoIdentityId']
    input = json.loads(event['body'])
    sql = '''
          INSERT INTO	rideTransactions
          (
            userId
            ,stationId
            ,stationName
            ,duration
            ,price
          )
          VALUES
          (
            "{}"
            ,{}
            ,"{}"
            ,{}
            ,{}
          );
          '''.format(user_id, input['station_id'], input['station_name'], input['duration'], input['price'])

    print('[INFO] Connecting...')
    conn_info = connection_info(DB_CREDS)
    conn = pymysql.connect(host=conn_info['host'], user=conn_info['username'], password=conn_info['password'], database=conn_info['dbname'], connect_timeout=30)
    with conn.cursor() as cur:
      print('[INFO] Executing SQL: {}'.format(sql))
      cur.execute(sql)
    conn.commit()
    conn.close()
    status_code = 200
    output = '[SUCCESS] Executed insert query successfully.'

  except Exception as e:
    print('[ERROR] ', e)
    output = '{}'.format(e)

  # Construct API response
  response = {
    'statusCode': status_code,
    'headers': {
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Credentials': True,
      'Access-Control-Allow-Headers': 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent',
      'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE,OPTIONS,HEAD,PATCH',
      'Content-Type': 'application/json'
    },
    'body': output
  }

  print('[INFO] Query response: {}'.format(json.dumps(response)))

  return response