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