in api/wheel_participant.py [0:0]
def select_participant(event):
"""
Indicates selection of a participant by the wheel. This will cause updates to the weights for all participants
or removal of rigging if the wheel is rigged.
:param event: Lambda event containing the API Gateway request path parameters wheel_id and participant_id
{
"pathParameters":
{
"wheel_id": string ID of the wheel to rig (DDB Hash Key)
"participant_id": string ID of the participant to rig (DDB Hash Key)
},
}
:return: response dictionary
"""
wheel_id = event['pathParameters']['wheel_id']
participant_id = event['pathParameters']['participant_id']
wheel = Wheel.get_existing_item(Key={'id': wheel_id})
participant = WheelParticipant.get_existing_item(Key={'id': participant_id, 'wheel_id': wheel_id})
choice_algorithm.select_participant(wheel, participant)
# Undo any rigging that has been set up
Wheel.update_item(Key={'id': wheel['id']}, UpdateExpression='remove rigging')