mirror of https://github.com/kortix-ai/suna.git
16 lines
681 B
Python
16 lines
681 B
Python
import time
|
|
import random
|
|
import string
|
|
from ..protocols import ExternalUserIdGeneratorService
|
|
from ..domain.value_objects import ExternalUserId, AppSlug, ProfileName
|
|
|
|
|
|
class ExternalUserIdService:
|
|
def generate(self, account_id: str, app_slug: AppSlug, profile_name: ProfileName) -> ExternalUserId:
|
|
timestamp = int(time.time() * 1000)
|
|
random_suffix = ''.join(random.choices(string.ascii_lowercase + string.digits, k=8))
|
|
|
|
safe_profile_name = profile_name.value.lower().replace(' ', '_')
|
|
external_id = f"{account_id[:8]}_{app_slug.value}_{safe_profile_name}_{timestamp}_{random_suffix}"
|
|
|
|
return ExternalUserId(external_id) |