|
|
|
@@ -31,6 +31,7 @@ from config import Config, CloudEditionConfig |
|
|
|
from commands import register_commands |
|
|
|
from models.account import TenantAccountJoin, AccountStatus |
|
|
|
from models.model import Account, EndUser, App |
|
|
|
from services.account_service import TenantService |
|
|
|
|
|
|
|
import warnings |
|
|
|
warnings.simplefilter("ignore", ResourceWarning) |
|
|
|
@@ -89,6 +90,15 @@ def initialize_extensions(app): |
|
|
|
ext_sentry.init_app(app) |
|
|
|
|
|
|
|
|
|
|
|
def _create_tenant_for_account(account): |
|
|
|
tenant = TenantService.create_tenant(f"{account.name}'s Workspace") |
|
|
|
|
|
|
|
TenantService.create_tenant_member(tenant, account, role='owner') |
|
|
|
account.current_tenant = tenant |
|
|
|
|
|
|
|
return tenant |
|
|
|
|
|
|
|
|
|
|
|
# Flask-Login configuration |
|
|
|
@login_manager.user_loader |
|
|
|
def load_user(user_id): |
|
|
|
@@ -119,7 +129,9 @@ def load_user(user_id): |
|
|
|
|
|
|
|
if tenant_account_join: |
|
|
|
account.current_tenant_id = tenant_account_join.tenant_id |
|
|
|
session['workspace_id'] = account.current_tenant_id |
|
|
|
else: |
|
|
|
_create_tenant_for_account(account) |
|
|
|
session['workspace_id'] = account.current_tenant_id |
|
|
|
else: |
|
|
|
account.current_tenant_id = workspace_id |
|
|
|
else: |
|
|
|
@@ -127,7 +139,9 @@ def load_user(user_id): |
|
|
|
TenantAccountJoin.account_id == account.id).first() |
|
|
|
if tenant_account_join: |
|
|
|
account.current_tenant_id = tenant_account_join.tenant_id |
|
|
|
session['workspace_id'] = account.current_tenant_id |
|
|
|
else: |
|
|
|
_create_tenant_for_account(account) |
|
|
|
session['workspace_id'] = account.current_tenant_id |
|
|
|
|
|
|
|
account.last_active_at = datetime.utcnow() |
|
|
|
db.session.commit() |