diff options
| author | Max Nanis | 2026-09-11 11:27:58 -0700 |
|---|---|---|
| committer | Max Nanis | 2026-09-11 11:27:58 -0700 |
| commit | edff9381275d90d7be5f078430554ae592a27f5d (patch) | |
| tree | a2efa8e83a11c810349ad1a7c50e44f55a127fa4 /jb/managers | |
| parent | cb5e40f9b5fb0ae4bb9a769dd7a9c83c2af18a65 (diff) | |
| download | amt-jb-edff9381275d90d7be5f078430554ae592a27f5d.tar.gz amt-jb-edff9381275d90d7be5f078430554ae592a27f5d.zip | |
Current jb flask testing state.
Diffstat (limited to 'jb/managers')
| -rw-r--r-- | jb/managers/email_manager.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/jb/managers/email_manager.py b/jb/managers/email_manager.py index 78acc9d..7298c60 100644 --- a/jb/managers/email_manager.py +++ b/jb/managers/email_manager.py @@ -10,8 +10,7 @@ assert settings.mautic_api_key auth_headers = {"Authorization": f"Basic {settings.mautic_api_key.get_secret_value()}"} -def get_or_create_contact(email: str, amt_worker_id: str | None = None): - # amt_worker_id = "A2Z2FRA128FNW" +def get_or_create_contact(email: str, amt_worker_id: str | None = None) -> int: body = {"email": email} if amt_worker_id: body["amt_worker_id"] = amt_worker_id @@ -20,8 +19,7 @@ def get_or_create_contact(email: str, amt_worker_id: str | None = None): json=body, headers=auth_headers, ).json() - contact_id = res["contact"]["id"] - return contact_id + return int(res["contact"]["id"]) def send_login_email_from_url(mautic_url: str, magic_link: str) -> None: @@ -34,6 +32,7 @@ def send_login_email_from_url(mautic_url: str, magic_link: str) -> None: } body = {"tokens": email_tokens} response = requests.post(url=mautic_url, json=body, headers=auth_headers) + try: response.raise_for_status() except requests.exceptions.HTTPError: @@ -41,20 +40,21 @@ def send_login_email_from_url(mautic_url: str, magic_link: str) -> None: print(response.text) raise d = response.json() + assert d.get("success"), f"Failed to send email: {d.get('failed')}" print("Email sent successfully") -def send_login_email(email: str, magic_token: str): +def send_login_email(email: str, magic_token: str) -> None: contact_id = get_or_create_contact(email=email) mautic_url = ( f"{MAUTIC_BASE_URL}/api/emails/{EMAIL_TEMPLATE_ID}/contact/{contact_id}/send" ) magic_link = f"{settings.base_url}auth/magic-link/?token={magic_token}" - return send_login_email_from_url(mautic_url, magic_link) + send_login_email_from_url(mautic_url, magic_link) -def send_amt_link_email(email: str, magic_token: str): +def send_amt_link_email(email: str, magic_token: str) -> None: # Don't actually associate the email with the worker ID # until they click the link contact_id = get_or_create_contact(email=email) @@ -62,4 +62,4 @@ def send_amt_link_email(email: str, magic_token: str): f"{MAUTIC_BASE_URL}/api/emails/{EMAIL_TEMPLATE_ID}/contact/{contact_id}/send" ) magic_link = f"{settings.base_url}auth/link-amt/?token={magic_token}" - return send_login_email_from_url(mautic_url, magic_link) + send_login_email_from_url(mautic_url, magic_link) |
