Repository URL to install this package:
|
Version:
0.0.44 ▾
|
# Python
from functools import wraps
# Third
from flask.wrappers import Response as FlaskResponse
from flask_jwt_extended import get_jwt_identity
# Apps
from apps.admins.repositories import AdminRepo
from apps.employees.repositories import EmployeeRepo
from apps.messages import Messages
from apps.responses import Response
def check_admin(f):
@wraps(f)
def wrap(*args, **kwargs):
jwt_user = get_jwt_identity() or None
if jwt_user:
admin = AdminRepo().get_admin_by_email(jwt_user)
if isinstance(admin, FlaskResponse):
return admin
if not admin.is_active():
return Response("Auth").notallowed_user(Messages.USER_INACTIVE.value)
kwargs["admin_id"] = f"{admin.id}"
kwargs["admin_name"] = f"{admin.name}"
kwargs["company_id"] = f"{admin.company_id}"
kwargs["active"] = admin.is_active()
kwargs["jwt_user"] = jwt_user
return f(*args, **kwargs)
return wrap
def check_employee(f):
@wraps(f)
def wrap(*args, **kwargs):
jwt_user = get_jwt_identity() or None
if jwt_user:
employee = EmployeeRepo().get_employee_by_email(jwt_user)
if isinstance(employee, FlaskResponse):
return employee
if not employee.is_active():
return Response("Auth").notallowed_user(Messages.USER_INACTIVE.value)
kwargs["employee_id"] = f"{employee.id}"
kwargs["employee_name"] = f"{employee.name}"
kwargs["store_id"] = f"{employee.store_id}"
kwargs["active"] = employee.is_active()
kwargs["jwt_user"] = jwt_user
return f(*args, **kwargs)
return wrap