zcash-grant-system/backend/grant/email/views.py

31 lines
897 B
Python
Raw Normal View History

from flask import Blueprint
2019-01-23 07:00:30 -08:00
from flask_yoloapi import endpoint
2019-01-23 07:00:30 -08:00
from .models import EmailVerification, db
blueprint = Blueprint("email", __name__, url_prefix="/api/v1/email")
@blueprint.route("/<code>/verify", methods=["POST"])
@endpoint.api()
def verify_email(code):
ev = EmailVerification.query.filter_by(code=code).first()
if ev:
ev.has_verified = True
db.session.commit()
return {"message": "Email verified"}, 200
else:
return {"message": "Invalid email code"}, 400
@blueprint.route("/<code>/unsubscribe", methods=["POST"])
@endpoint.api()
2018-12-17 10:33:33 -08:00
def unsubscribe_email(code):
ev = EmailVerification.query.filter_by(code=code).first()
if ev:
ev.user.settings.unsubscribe_emails()
db.session.commit()
return {"message": "Unsubscribed from all emails"}, 200
else:
return {"message": "Invalid email code"}, 400