Files
portfolio-hub/app/cli/core/output.py
T
2026-04-23 09:56:08 +00:00

31 lines
917 B
Python

"""Output helpers dedicated to auth/bot CLI flows."""
from __future__ import annotations
from typing import Any
from rich.console import Console
from app.cli.core.utils import render_output
from app.core.security import mask_secret
def mask_token_text(raw_token: str) -> str:
return mask_secret(raw_token, prefix=6, suffix=4)
def _mask_payload(payload: dict[str, Any]) -> dict[str, Any]:
masked = dict(payload)
token = masked.get("token")
if isinstance(token, str) and token:
masked["token"] = mask_token_text(token)
return masked
def render_service_token_result(console: Console, output_format: str, payload: Any) -> None:
plain = payload.model_dump(mode="json") if hasattr(payload, "model_dump") else payload
if isinstance(plain, dict):
render_output(console, output_format, _mask_payload(plain))
return
render_output(console, output_format, plain)