44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from hashlib import md5
|
|
from flask import session
|
|
from app import models
|
|
|
|
|
|
class ControllerAdministrators:
|
|
def __init__(self):
|
|
pass
|
|
|
|
def auth(self, email, password, status=1):
|
|
"""
|
|
|
|
:param email:
|
|
:param password:
|
|
:return:
|
|
"""
|
|
result = models.Admins.select().\
|
|
where(
|
|
models.Admins.email == email,
|
|
models.Admins.password == md5(password).hexdigest(),
|
|
models.Admins.status == status
|
|
).count()
|
|
|
|
if result == 0:
|
|
return False
|
|
return True
|
|
|
|
def get_id_by_email(self, email):
|
|
return models.Admins.get(models.Admins.email == email).id
|
|
|
|
def check_session(self):
|
|
"""
|
|
Check session for contain a required keys
|
|
:return: bool
|
|
"""
|
|
required = ['admin_email', 'admin_password', 'admin_id']
|
|
success = True
|
|
|
|
for r in required:
|
|
if r in session and success:
|
|
continue
|
|
else:
|
|
success = False
|
|
return success
|