Always use `sendEmail` mutation for sending mail

This unifies all email sending in meta in the new `sendEmail` mutation.
However, the `sendEmailNotification` and `sendEmailExternal` mutations
need to stay around until some external callers have been updated as
well.
This commit is contained in:
Conrad Hoffmann 2023-02-24 15:32:22 +01:00 committed by Drew DeVault
parent ce053f93c2
commit 3dd3ddc4af
6 changed files with 15 additions and 24 deletions

View File

@ -8,7 +8,7 @@ db.init()
import sys
import time
from metasrht.audit import expire_audit_logs
from metasrht.email import send_email_notification
from metasrht.email import send_email
from datetime import datetime, timedelta
from string import Template
@ -61,7 +61,7 @@ $site_name
'reason': error,
'root': origin
})
send_email_notification(user.username, rendered)
send_email(user.email, rendered)
elif result == ChargeResult.success:
amount = user.payment_cents
if user.payment_interval == PaymentInterval.yearly:
@ -92,7 +92,7 @@ $site_name
'amount': "${:.2f}".format(amount / 100),
'root': origin
})
send_email_notification(user.username, rendered)
send_email(user.email, rendered)
ncharges += 1
# XXX: Temporary hack to try and please Stripe
time.sleep(3)
@ -146,7 +146,7 @@ $site_name
'owner_email': owner_email,
'username': user.username
})
send_email_notification(user.username, rendered)
send_email(user.email, rendered)
except:
print("Failed!")
user.welcome_emails += 1

View File

@ -1,7 +1,7 @@
from datetime import datetime, timedelta
from flask import request
from ipaddress import ip_address
from metasrht.email import send_email_notification
from metasrht.email import send_email
from metasrht.types import AuditLogEntry
from srht.config import cfg
from srht.database import db
@ -47,7 +47,7 @@ $owner_name
'email_details': email_details,
'owner_name': owner_name
})
send_email_notification(user.username, rendered)
send_email(user.email, rendered)
def expire_audit_logs():
cutoff = datetime.now() - timedelta(days=14)

View File

@ -8,7 +8,7 @@ from metasrht.auth import is_external_auth, set_user_password, set_user_email
from metasrht.auth.builtin import hash_password, check_password
from metasrht.auth_validation import validate_password
from metasrht.blueprints.security import metrics as security_metrics
from metasrht.email import send_email_notification
from metasrht.email import send_email
from metasrht.totp import totp
from metasrht.types import User, UserType
from metasrht.types import UserAuthFactor, FactorType, PGPKey
@ -101,7 +101,7 @@ $site_name
'root': origin,
'username': user.username
})
send_email_notification(user.username, rendered)
send_email(user.email, rendered)
audit_log("password reset requested", user=user)
return render_template("forgot.html", done=True)

View File

@ -1,6 +1,6 @@
from flask import Blueprint, Response, render_template, request, redirect
from metasrht.audit import audit_log
from metasrht.email import send_email_notification
from metasrht.email import send_email
from metasrht.types import User, PGPKey
from srht.config import cfg
from srht.database import db
@ -81,5 +81,5 @@ $site_name
'site_key': site_key_id,
'root': origin
})
send_email_notification(current_user.username, rendered)
send_email(current_user.email, rendered)
return redirect("/privacy")

View File

@ -3,7 +3,7 @@ from datetime import datetime, timedelta
from flask import Blueprint, render_template, request, redirect, url_for, abort
from flask import session
from metasrht.decorators import adminrequired
from metasrht.email import send_email_external
from metasrht.email import send_email
from metasrht.types import Invoice
from metasrht.types import User, UserAuthFactor, FactorType, AuditLogEntry
from metasrht.types import UserNote, PaymentInterval
@ -283,7 +283,7 @@ $reason""")
'target_user': user.canonical_name,
'reason': reason,
})
send_email_external(security_addr, rendered)
send_email(security_addr, rendered)
note = UserNote()
note.user_id = user.id

View File

@ -1,19 +1,10 @@
from srht.crypto import internal_anon
from srht.graphql import exec_gql
def send_email_notification(username, msg):
def send_email(address, msg):
email_mutation = """
mutation SendEmail($username: String!, $msg: String!) {
sendEmailNotification(username: $username, message: $msg)
}
"""
r = exec_gql("meta.sr.ht", email_mutation, user=internal_anon,
username=username, msg=msg)
def send_email_external(address, msg):
email_mutation = """
mutation SendEmailExt($address: String!, $msg: String!) {
sendEmailExternal(address: $address, message: $msg)
mutation SendEmail($address: String!, $msg: String!) {
sendEmail(address: $address, message: $msg)
}
"""
r = exec_gql("meta.sr.ht", email_mutation, user=internal_anon,