Files
dify/api/services/account_profile_service.py
Byron.wang b4e13ec83e refactor(api): add account profile application service (#40436)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-20 05:03:08 +00:00

27 lines
1.0 KiB
Python

"""Application service for reading and updating the current account profile."""
from machinery.context import RequestContext
from services.account_errors import AccountNotFoundError
from services.account_ports import AccountRepository
from services.entities.account_entities import AccountProfileChanges, AccountSnapshot
class AccountProfileService:
def __init__(self, *, accounts: AccountRepository) -> None:
self._accounts = accounts
def get(self, context: RequestContext) -> AccountSnapshot:
account = self._accounts.get(context.account_id)
if account is None:
raise AccountNotFoundError
return account
def update(self, context: RequestContext, changes: AccountProfileChanges) -> AccountSnapshot:
if changes.has_changes():
account = self._accounts.update_profile(context.account_id, changes)
else:
account = self._accounts.get(context.account_id)
if account is None:
raise AccountNotFoundError
return account