from internal.helpers import get_schema_id, get_user_id 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): # check for schema: try: user_id = get_user_id(event) schema_id = get_schema_id(event) stripe_customer_id(user_id, schema_id) # If we succeed, all is ok except Exception as e: log.exception(e) # create user records 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