@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):