Pārlūkot izejas kodu

enhance: include workspace name in create-tenant command (#7834)

Zhi 7 mēneši atpakaļ
vecāks
revīzija
ceb2b150ff
2 mainītis faili ar 10 papildinājumiem un 4 dzēšanām
  1. 5 2
      api/commands.py
  2. 5 2
      api/services/account_service.py

+ 5 - 2
api/commands.py

@@ -559,8 +559,9 @@ def add_qdrant_doc_id_index(field: str):
 
 @click.command("create-tenant", help="Create account and tenant.")
 @click.option("--email", prompt=True, help="The email address of the tenant account.")
+@click.option("--name", prompt=True, help="The workspace name of the tenant account.")
 @click.option("--language", prompt=True, help="Account language, default: en-US.")
-def create_tenant(email: str, language: Optional[str] = None):
+def create_tenant(email: str, language: Optional[str] = None, name: Optional[str] = None):
     """
     Create tenant account
     """
@@ -580,13 +581,15 @@ def create_tenant(email: str, language: Optional[str] = None):
     if language not in languages:
         language = "en-US"
 
+    name = name.strip()
+
     # generate random password
     new_password = secrets.token_urlsafe(16)
 
     # register account
     account = RegisterService.register(email=email, name=account_name, password=new_password, language=language)
 
-    TenantService.create_owner_tenant_if_not_exist(account)
+    TenantService.create_owner_tenant_if_not_exist(account, name)
 
     click.echo(
         click.style(

+ 5 - 2
api/services/account_service.py

@@ -265,7 +265,7 @@ class TenantService:
         return tenant
 
     @staticmethod
-    def create_owner_tenant_if_not_exist(account: Account):
+    def create_owner_tenant_if_not_exist(account: Account, name: Optional[str] = None):
         """Create owner tenant if not exist"""
         available_ta = (
             TenantAccountJoin.query.filter_by(account_id=account.id).order_by(TenantAccountJoin.id.asc()).first()
@@ -274,7 +274,10 @@ class TenantService:
         if available_ta:
             return
 
-        tenant = TenantService.create_tenant(f"{account.name}'s Workspace")
+        if name:
+            tenant = TenantService.create_tenant(name)
+        else:
+            tenant = TenantService.create_tenant(f"{account.name}'s Workspace")
         TenantService.create_tenant_member(tenant, account, role="owner")
         account.current_tenant = tenant
         db.session.commit()