baoxiang/backend/app/routers/announcement.py

35 lines
998 B
Python
Raw Normal View History

2025-12-16 18:06:50 +08:00
"""
公告相关路由前台
"""
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)