from internal.queries import exec_endpoint, http_query from internal.pre_request_filters import make_user_id_param, \ make_company_schema_param, generate_clientid_param from management.subscriptions import stripe_customer_id from internal.commons import DP_URL import logging log = logging.getLogger() log.setLevel(logging.INFO) # DP_URL = "http://172.31.36.151:12345/" # for "live" local testing through test-thing. endpoints = [{"url": DP_URL + "initialize_new_user", "method": "POST", "pre_filters": [make_user_id_param, make_company_schema_param], "query": http_query }, ] def lambda_handler(event, context): if 'triggerSource' in event and event['triggerSource'] == 'PostConfirmation_ConfirmSignUp': # avoiding PostConfirmation_ConfirmForgotPassword trigger source. req = generate_clientid_param(event, {}) req['email'] = event['request']['userAttributes']['email'] for endpoint in endpoints: try: exec_endpoint(endpoint, event, req) except Exception as e: log.exception(f"Endpoint: {endpoint}", exc_info=e) stripe_customer_id(req['user_id'], req['management_schema']) return event