Skip to content
Snippets Groups Projects
Commit 91415c73 authored by kaiyou's avatar kaiyou
Browse files

Make the email resolution api more generic

parent 9cdb8861
No related branches found
No related tags found
No related merge requests found
......@@ -4,16 +4,13 @@ from hiboo.api import blueprint
import flask
@blueprint.route("/mail/resolve/<email>")
def resolve_mail(email):
@blueprint.route("/profile/<profile_uuid>/email")
def profile_email(profile_uuid):
""" This API endpoint behaves as a podop/postfis alias map
"""
flask.request.args["token"] == flask.current_app.config["PODOP_API_TOKEN"] or flask.abort(403)
localpart, domain = email.split("@", 1)
if domain != flask.current_app.config["MAIL_DOMAIN"]:
flask.abort(404)
user = models.User.query.filter_by(uuid=localpart).first() or flask.abort(404)
if "email" in user.contact:
return flask.jsonify(user.contact["email"])
flask.request.args["token"] == flask.current_app.config["API_TOKEN"] or flask.abort(403)
profile = models.Profile.query.get(profile_uuid) or flask.abort(404)
if "email" in profile.user.contact:
return flask.jsonify(profile.user.contact["email"])
else:
flask.abort(404)
......@@ -14,7 +14,7 @@ DEFAULT_CONFIG = {
'TEMPLATES_AUTO_RELOAD': False,
'MAIL_DOMAIN': 'tedomum.net',
'WEBSITE_NAME': 'Hiboo',
'PODOP_API_TOKEN': 'changeMe'
'API_TOKEN': 'changeMe'
}
class ConfigManager(dict):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment