trying to convert bulletin to new db system.
This commit is contained in:
@@ -5,6 +5,7 @@ from pydantic import BaseModel, Field, constr
|
||||
from datetime import datetime
|
||||
import transaction
|
||||
from persistent.list import PersistentList
|
||||
from ZODB.Connection import Connection
|
||||
|
||||
from ..database import DbDependency, TransactionDependency
|
||||
from ..dependencies import get_current_http_user
|
||||
@@ -21,30 +22,29 @@ html_router = APIRouter(tags=["bulletins-html"])
|
||||
|
||||
# --- API Endpoints ---
|
||||
|
||||
async def list_bulletins(, limit: int = 50, since: Optional[datetime] = None) -> dict:
|
||||
with trans as conn:
|
||||
root = conn.root()
|
||||
bulletins_list: List[Bulletin] = root.get("bulletins", [])
|
||||
async def list_bulletins(connection: Connection, limit: int = 50, since: Optional[datetime] = None) -> dict:
|
||||
root = connection.root()
|
||||
bulletins_list: List[Bulletin] = root.get("bulletins", [])
|
||||
|
||||
# Newest first
|
||||
bulletins_list = sorted(bulletins_list, key=lambda b: b.created_at, reverse=True)
|
||||
# Newest first
|
||||
bulletins_list = sorted(bulletins_list, key=lambda b: b.created_at, reverse=True)
|
||||
|
||||
if since:
|
||||
bulletins_list = [b for b in bulletins_list if b.created_at > since]
|
||||
if since:
|
||||
bulletins_list = [b for b in bulletins_list if b.created_at > since]
|
||||
|
||||
bulletins = [
|
||||
{
|
||||
"id": b.id,
|
||||
"author": b.author,
|
||||
"subject": b.subject,
|
||||
"body": b.body,
|
||||
"created_at": b.created_at.isoformat() + "Z",
|
||||
"updated_at": b.updated_at.isoformat() + "Z",
|
||||
}
|
||||
for b in bulletins_list[:limit]
|
||||
]
|
||||
bulletins = [
|
||||
{
|
||||
"id": b.id,
|
||||
"author": b.author,
|
||||
"subject": b.subject,
|
||||
"body": b.body,
|
||||
"created_at": b.created_at.isoformat() + "Z",
|
||||
"updated_at": b.updated_at.isoformat() + "Z",
|
||||
}
|
||||
for b in bulletins_list[:limit]
|
||||
]
|
||||
|
||||
return {"bulletins": bulletins}
|
||||
return {"bulletins": bulletins}
|
||||
|
||||
@router.get("/bulletins")
|
||||
async def api_list_bulletins(
|
||||
|
||||
Reference in New Issue
Block a user