@router.get("/me")
async def me(user=Depends(get_current_user)):
    return {"id": user.id, "email": user.email, "full_name": user.full_name,
            "is_admin": user.is_admin}


# ---------------------------------------------------------------------------
# Google OAuth 2.0 (authorization code flow with state verification)
# ---------------------------------------------------------------------------
62:@router.post("/lists")
63:async def create_list(payload: ListCreate, user: User = Depends(get_current_user),
71:@router.post("/import-preview")
116:@router.post("/import")
167:@router.post("/manual")
243:@router.post("/lists/{list_id}/clear")
@router.get("/lists")
async def list_lists(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)):
    rows = (await db.execute(select(RecipientList).where(
        RecipientList.user_id == user.id).order_by(RecipientList.id.desc()))).scalars().all()
    return {"lists": [{"id": l.id, "name": l.name, "description": l.description,
                       "source": l.source, "row_count": l.row_count,
                       "created_at": l.created_at.isoformat()} for l in rows]}


@router.post("/lists")
async def create_list(payload: ListCreate, user: User = Depends(get_current_user),
                      db: AsyncSession = Depends(get_db)):
    rl = RecipientList(user_id=user.id, name=payload.name, description=payload.description)
    db.add(rl)
    await db.commit()
    return {"id": rl.id, "name": rl.name}


31:class ManualIn(BaseModel):
