Skip to content

Commit

Permalink
Merge pull request #2 from blue-shoes/dev
Browse files Browse the repository at this point in the history
v2.0 Release
  • Loading branch information
blue-shoes authored Aug 2, 2024
2 parents 4411ef1 + 132d250 commit 812fa03
Show file tree
Hide file tree
Showing 18 changed files with 1,052 additions and 169 deletions.
2 changes: 2 additions & 0 deletions src/lambda_functions/otto-bot-player-load/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*/
deployment.zip
88 changes: 88 additions & 0 deletions src/lambda_functions/otto-bot-player-load/lambda_function.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
from urllib import parse as urlparse
import base64
import json
import os
import requests
import boto3

client = boto3.client('lambda')

def lambda_handler(event, context):

print(event)

msg_map = dict(urlparse.parse_qsl(base64.b64decode(str(event['body'])).decode('ascii')))

print(event['requestContext'])

msg_map['stage'] = event['requestContext']['stage']

print(msg_map)

payload_json = msg_map.get('payload', None)
if payload_json:
payload = json.loads(msg_map['payload'])
search_value = payload.get('value', None)
if search_value:
search_parameters = {
"search_name" : search_value,
"stage" : msg_map['stage']
}

search_version = os.environ[f'{msg_map["stage"]}_search_version']

response = client.invoke(
FunctionName = os.environ['player_search_lambda_arn'],
InvocationType = 'RequestResponse',
Payload = json.dumps(search_parameters),
Qualifier = search_version
)

lambda_response = json.load(response['Payload'])

if 'body' in lambda_response:
player_list = json.loads(lambda_response['body'])
options = list()
for player_dict in player_list:
name = f"{', '.join([player_dict['name'], player_dict['positions'], player_dict.get('org', 'FA')])}"
value = int(player_dict['_id'])

options.append(
{
'text': {
'type': 'plain_text',
'text': name
},
'value': str(value)
}
)

response = {
'options': options
}

print(json.dumps(response))
return {
'statusCode': 200,
'body': json.dumps(response),
"headers": {
'Content-Type': 'application/json',
}
}


return {
'statusCode': 200
}



return {
'statusCode': 404,
'body': json.dumps('No search value provided')
}

return {
'statusCode': 404,
'body': json.dumps('No payload provided')
}
Loading

0 comments on commit 812fa03

Please sign in to comment.