"""admin 设备维度新手引导管理 schemas。

force_onboarding(按用户)废弃后改用「按设备」:直接操作 onboarding_completion(设备+账号 维度),
客户端任何版本都按它判断是否走引导,故可靠。
"""
from __future__ import annotations

from datetime import datetime

from pydantic import BaseModel, Field


class DeviceOnboardingItem(BaseModel):
    """一台设备(ANDROID_ID)的引导聚合:在该设备走过引导的账号数 + 最近完成时间。"""

    device_id: str
    account_count: int
    last_completed_at: datetime


class ResetAllRequest(BaseModel):
    confirm: bool = Field(
        False, description="必须 true 才清空全部设备的引导记录(防误调接口;前端另有二次确认弹窗)"
    )
