diff --git a/api/services/account_service.py b/api/services/account_service.py index 4649462760..7316b18cce 100644 --- a/api/services/account_service.py +++ b/api/services/account_service.py @@ -421,9 +421,14 @@ class TenantService: if TenantService.has_roles(tenant, [TenantAccountJoinRole.OWNER]): logging.error(f"Tenant {tenant.id} has already an owner.") raise Exception("Tenant already has an owner.") + + ta = db.session.query(TenantAccountJoin).filter_by(tenant_id=tenant.id, account_id=account.id).first() + if ta: + ta.role = role + else: + ta = TenantAccountJoin(tenant_id=tenant.id, account_id=account.id, role=role) + db.session.add(ta) - ta = TenantAccountJoin(tenant_id=tenant.id, account_id=account.id, role=role) - db.session.add(ta) db.session.commit() return ta