baoxiang/backend/app/routers/announcement.py
2025-12-16 18:06:50 +08:00

35 lines
998 B
Python

"""
公告相关路由(前台)
"""
from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session
from typing import List
from ..core.database import get_db
from ..schemas.announcement import AnnouncementResponse
from ..services.announcement_service import AnnouncementService
router = APIRouter(prefix="/api/announcements", tags=["announcements"])
@router.get("/", response_model=List[AnnouncementResponse])
def get_announcements(
page: int = Query(1, ge=1),
size: int = Query(10, ge=1, le=100),
db: Session = Depends(get_db)
):
"""
获取公告列表(前台)
"""
skip = (page - 1) * size
return AnnouncementService.get_announcements(db, skip, size)
@router.get("/active", response_model=List[AnnouncementResponse])
def get_active_announcements(
limit: int = Query(5, le=20),
db: Session = Depends(get_db)
):
"""
获取活跃公告(前台)
"""
return AnnouncementService.get_active_announcements(db, limit)