2015-12-10 14:48:01 +00:00
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
|
|
|
|
from app import db
|
|
|
|
|
from app.main.encryption import hashpw
|
|
|
|
|
from app.models import VerifyCodes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def add_code(user_id, code, code_type):
|
|
|
|
|
code = VerifyCodes(user_id=user_id,
|
|
|
|
|
code=hashpw(code),
|
|
|
|
|
code_type=code_type,
|
|
|
|
|
expiry_datetime=datetime.now() + timedelta(hours=1))
|
|
|
|
|
|
|
|
|
|
db.session.add(code)
|
|
|
|
|
db.session.commit()
|
2015-12-16 12:20:25 +00:00
|
|
|
return code.id
|
2015-12-10 14:48:01 +00:00
|
|
|
|
|
|
|
|
|
2015-12-16 12:20:25 +00:00
|
|
|
def get_codes(user_id, code_type):
|
|
|
|
|
return VerifyCodes.query.filter_by(user_id=user_id, code_type=code_type, code_used=False).all()
|
2015-12-10 14:48:01 +00:00
|
|
|
|
|
|
|
|
|
2015-12-15 15:35:30 +00:00
|
|
|
def get_code_by_code(user_id, code, code_type):
|
|
|
|
|
return VerifyCodes.query.filter_by(user_id=user_id, code=code, code_type=code_type).first()
|
2015-12-10 14:48:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def use_code(id):
|
2015-12-10 15:21:06 +00:00
|
|
|
verify_code = VerifyCodes.query.get(id)
|
2015-12-10 14:48:01 +00:00
|
|
|
verify_code.code_used = True
|
|
|
|
|
db.session.add(verify_code)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
2015-12-10 16:34:29 +00:00
|
|
|
def use_code_for_user_and_type(user_id, code_type):
|
2015-12-16 12:20:25 +00:00
|
|
|
codes = VerifyCodes.query.filter_by(user_id=user_id, code_type=code_type, code_used=False).all()
|
|
|
|
|
for verify_code in codes:
|
|
|
|
|
verify_code.code_used = True
|
|
|
|
|
db.session.add(verify_code)
|
2015-12-10 16:34:29 +00:00
|
|
|
db.session.commit()
|
|
|
|
|
|
|
|
|
|
|
2015-12-17 14:25:03 +00:00
|
|
|
def get_code_by_id(id):
|
|
|
|
|
return VerifyCodes.query.get(id)
|
|
|
|
|
|
|
|
|
|
|
2015-12-10 14:48:01 +00:00
|
|
|
def add_code_with_expiry(user_id, code, code_type, expiry):
|
|
|
|
|
code = VerifyCodes(user_id=user_id,
|
2015-12-17 14:25:03 +00:00
|
|
|
code=hashpw(code),
|
2015-12-10 14:48:01 +00:00
|
|
|
code_type=code_type,
|
|
|
|
|
expiry_datetime=expiry)
|
|
|
|
|
|
|
|
|
|
db.session.add(code)
|
|
|
|
|
db.session.commit()
|