Files
eveAI/eveai_app/utils/middleware.py
2024-04-30 22:47:44 +02:00

31 lines
702 B
Python

"""Middleware for the API
for handling tenant requests
"""
from flask_security import current_user
from flask import session
from ..models.user import User, Tenant
from .database import Database
from ..views.document_views import document_bp
def mw_before_request():
"""Before request
switch tenant schema
"""
tenant_id = session['tenant']['id']
if not tenant_id:
return {"message": "You are not logged into any tenant"}, 403
user = User.get_by_id(current_user.id)
if user.has_roles(['Super User']) or user.tenant_id == tenant_id:
Database(tenant_id).switch_schema()
else:
return {"message": "You are not a member of this tenant"}, 403