48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""
|
|
发现/搜索路由
|
|
"""
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
|
|
from database import get_db
|
|
from models import User
|
|
from schemas import SearchRequest, SearchResult, CompanyDetailRequest
|
|
from auth import get_current_user
|
|
from fumamx_cli import search_companies, get_company_detail, get_countries
|
|
|
|
router = APIRouter(prefix="/discover", tags=["发现"])
|
|
|
|
|
|
@router.post("/search")
|
|
def search(
|
|
req: SearchRequest,
|
|
current_user: User = Depends(get_current_user)
|
|
):
|
|
"""搜索公司"""
|
|
result = search_companies(req.keyword, page=req.page, page_size=req.page_size)
|
|
return {
|
|
"keyword": result["keyword"],
|
|
"results": result["results"],
|
|
"total": result["total"],
|
|
"page": req.page,
|
|
"page_size": req.page_size
|
|
}
|
|
|
|
|
|
@router.post("/detail")
|
|
def detail(
|
|
req: CompanyDetailRequest,
|
|
current_user: User = Depends(get_current_user)
|
|
):
|
|
"""获取公司详情"""
|
|
detail = get_company_detail(req.name, req.country or "")
|
|
return detail
|
|
|
|
|
|
@router.get("/countries")
|
|
def countries(current_user: User = Depends(get_current_user)):
|
|
"""获取国家列表"""
|
|
countries = get_countries()
|
|
return {"countries": countries}
|