Skip to content

Commit

Permalink
enhance: include workspace name in create-tenant command (#7834)
Browse files Browse the repository at this point in the history
  • Loading branch information
erigo authored Aug 30, 2024
1 parent dc015c3 commit ceb2b15
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
7 changes: 5 additions & 2 deletions api/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
"""
Expand All @@ -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(
Expand Down
7 changes: 5 additions & 2 deletions api/services/account_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ def create_tenant(name: str) -> Tenant:
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()
Expand All @@ -274,7 +274,10 @@ def create_owner_tenant_if_not_exist(account: Account):
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()
Expand Down

0 comments on commit ceb2b15

Please sign in to comment.